Mercurial > repos > imgteam > imagej2_bunwarpj_align
changeset 0:ab54024c0a88 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit b08f0e6d1546caaf627b21f8c94044285d5d5b9c-dirty"
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_adjust_threshold_binary.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,63 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--threshold_min', dest='threshold_min', type=float, help='Minimum threshold value' ) +parser.add_argument( '--threshold_max', dest='threshold_max', type=float, help='Maximum threshold value' ) +parser.add_argument( '--method', dest='method', help='Threshold method' ) +parser.add_argument( '--display', dest='display', help='Display mode' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--stack_histogram', dest='stack_histogram', help='Stack histogram' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %.3f' % args.threshold_min +cmd += ' %.3f' % args.threshold_max +cmd += ' %s' % args.method +cmd += ' %s' % args.display +cmd += ' %s' % args.black_background +cmd += ' %s' % args.stack_histogram +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_adjust_threshold_binary_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,49 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -10 ] +input = sys.argv[ -9 ] +threshold_min = float( sys.argv[ -8 ] ) +threshold_max = float( sys.argv[ -7 ] ) +method = sys.argv[ -6 ] +display = sys.argv[ -5 ] +black_background = jython_utils.asbool( sys.argv[ -4 ] ) +# TODO: this is not being used. +stack_histogram = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Convert image to binary if necessary. + if not image_processor_copy.isBinary(): + # Convert the image to binary grayscale. + IJ.run( input_image_plus_copy, "Make Binary","iterations=1 count=1 edm=Overwrite do=Nothing" ) + # Set the options. + if black_background: + method_str = "%s dark" % method + else: + method_str = method + IJ.setAutoThreshold( input_image_plus_copy, method_str ) + if display == "red": + display_mode = "Red" + elif display == "bw": + display_mode = "Black & White" + elif display == "over_under": + display_mode = "Over/Under" + IJ.setThreshold( input_image_plus_copy, threshold_min, threshold_max, display_mode ) + # Run the command. + IJ.run( input_image_plus_copy, "threshold", "" ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_analyze_particles_binary.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,81 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--size', dest='size', help='Size (pixel^2)' ) +parser.add_argument( '--circularity_min', dest='circularity_min', type=float, help='Circularity minimum' ) +parser.add_argument( '--circularity_max', dest='circularity_max', type=float, help='Circularity maximum' ) +parser.add_argument( '--show', dest='show', help='Show' ) +parser.add_argument( '--display_results', dest='display_results', help='Display results' ) +parser.add_argument( '--all_results', dest='all_results', help='All results' ) +parser.add_argument( '--exclude_edges', dest='exclude_edges', help='Exclude edges' ) +parser.add_argument( '--include_holes', dest='include_holes', help='Include holes' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--results', dest='results', default=None, help='Path to the output results file' ) +parser.add_argument( '--output', dest='output', default=None, help='Path to the output image file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', default='data', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +if args.output is None: + tmp_output_path = None +else: + tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.black_background +cmd += ' %s' % args.size +cmd += ' %.3f' % args.circularity_min +cmd += ' %.3f' % args.circularity_max +cmd += ' %s' % args.show +cmd += ' %s' % args.display_results +cmd += '%s' % imagej2_base_utils.handle_none_type( args.all_results, val_type='str' ) +cmd += ' %s' % args.exclude_edges +cmd += ' %s' % args.include_holes +cmd += '%s' % imagej2_base_utils.handle_none_type( tmp_output_path, val_type='str' ) +cmd += ' %s' % args.output_datatype +cmd += '%s' % imagej2_base_utils.handle_none_type( args.results, val_type='str' ) + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +if tmp_output_path is not None: + # Save the output image. + shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_analyze_particles_binary_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,72 @@ +import jython_utils +import sys +from ij import IJ +from ij.plugin.filter import Analyzer + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -14 ] +input = sys.argv[ -13 ] +black_background = jython_utils.asbool( sys.argv[ -12 ] ) +size = sys.argv[ -11 ] +circularity_min = float( sys.argv[ -10 ] ) +circularity_max = float( sys.argv[ -9 ] ) +show = sys.argv[ -8 ] +display_results = jython_utils.asbool( sys.argv[ -7 ] ) +all_results = jython_utils.asbool( sys.argv[ -6 ] ) +exclude_edges = jython_utils.asbool( sys.argv[ -5 ] ) +include_holes = jython_utils.asbool( sys.argv[ -4 ] ) +tmp_output_path = sys.argv[ -3 ] +output_datatype = sys.argv[ -2 ] +results_path = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() +analyzer = Analyzer( input_image_plus_copy ) + +try: + # Set binary options. + options = jython_utils.get_binary_options( black_background=black_background ) + IJ.run( input_image_plus_copy, "Options...", options ) + + # Convert image to binary if necessary. + if not image_processor_copy.isBinary(): + # Convert the image to binary grayscale. + IJ.run( input_image_plus_copy, "Make Binary", "" ) + + # Set the options. + options = [ 'size=%s' % size ] + circularity_str = '%.3f-%.3f' % ( circularity_min, circularity_max ) + options.append( 'circularity=%s' % circularity_str ) + if show.find( '_' ) >= 0: + show_str = '[%s]' % show.replace( '_', ' ' ) + else: + show_str = show + options.append( 'show=%s' % show_str ) + if display_results: + options.append( 'display' ) + if not all_results: + options.append( 'summarize' ) + if exclude_edges: + options.append( 'exclude' ) + if include_holes: + options.append( 'include' ) + # Always run "in_situ". + options.append( 'in_situ' ) + + # Run the command. + IJ.run( input_image_plus_copy, "Analyze Particles...", " ".join( options ) ) + + # Save outputs. + if tmp_output_path not in [ None, 'None' ]: + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) + if display_results and results_path not in [ None, 'None' ]: + results_table = analyzer.getResultsTable() + results_table.saveAs( results_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_analyze_skeleton.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,61 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--prune_cycle_method', dest='prune_cycle_method', default='none', help='Prune cycle method' ) +parser.add_argument( '--prune_ends', dest='prune_ends', default='no', help='Prune ends' ) +parser.add_argument( '--calculate_largest_shortest_path', dest='calculate_largest_shortest_path', default='no', help='Calculate largest shortest path' ) +parser.add_argument( '--show_detailed_info', dest='show_detailed_info', default='no', help='Show detailed info' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.black_background +cmd += ' %s' % args.prune_cycle_method +cmd += ' %s' % args.prune_ends +cmd += ' %s' % args.calculate_largest_shortest_path +cmd += ' %s' % args.show_detailed_info +cmd += ' %s' % args.output + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_analyze_skeleton_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,147 @@ +import jython_utils +import math +import sys +from ij import IJ +from sc.fiji.analyzeSkeleton import AnalyzeSkeleton_ + +BASIC_NAMES = [ 'Branches', 'Junctions', 'End-point Voxels', + 'Junction Voxels', 'Slab Voxels', 'Average branch length', + 'Triple Points', 'Quadruple Points', 'Maximum Branch Length' ] +DETAIL_NAMES = [ 'Skeleton ID', 'Branch length', 'V1 x', 'V1 y', 'V1 z', 'V2 x', + 'V2 y', 'V2 z', 'Euclidean distance' ] + +def get_euclidean_distance( vertex1, vertex2 ): + x1, y1, z1 = get_points( vertex1 ) + x2, y2, z2 = get_points( vertex2 ) + return math.sqrt( math.pow( ( x2 - x1 ), 2 ) + + math.pow( ( y2 - y1 ), 2 ) + + math.pow( ( z2 - z1 ), 2 ) ) + +def get_graph_length( graph ): + length = 0 + for edge in graph.getEdges(): + length = length + edge.getLength() + return length + +def get_points( vertex ): + # An array of Point, which has attributes x,y,z. + point = vertex.getPoints()[ 0 ] + return point.x, point.y, point.z + +def get_sorted_edge_lengths( graph ): + # Return graph edges sorted from longest to shortest. + edges = graph.getEdges() + edges = sorted( edges, key=lambda edge: edge.getLength(), reverse=True ) + return edges + +def get_sorted_graph_lengths( result ): + # Get the separate graphs (skeletons). + graphs = result.getGraph() + # Sort graphs from longest to shortest. + graphs = sorted( graphs, key=lambda g: get_graph_length( g ), reverse=True ) + return graphs + +def save( result, output, show_detailed_info, calculate_largest_shortest_path, sep='\t' ): + num_trees = int( result.getNumOfTrees() ) + outf = open( output, 'wb' ) + outf.write( '# %s\n' % sep.join( BASIC_NAMES ) ) + for index in range( num_trees ): + outf.write( '%d%s' % ( result.getBranches()[ index ], sep ) ) + outf.write( '%d%s' % ( result.getJunctions()[ index ], sep ) ) + outf.write( '%d%s' % ( result.getEndPoints()[ index ], sep ) ) + outf.write( '%d%s' % ( result.getJunctionVoxels()[ index ], sep ) ) + outf.write( '%d%s' % ( result.getSlabs()[ index ], sep ) ) + outf.write( '%.3f%s' % ( result.getAverageBranchLength()[ index ], sep ) ) + outf.write( '%d%s' % ( result.getTriples()[ index ], sep ) ) + outf.write( '%d%s' % ( result.getQuadruples()[ index ], sep ) ) + outf.write( '%.3f' % result.getMaximumBranchLength()[ index ] ) + if calculate_largest_shortest_path: + outf.write( '%s%.3f%s' % ( sep, result.shortestPathList.get( index ), sep ) ) + outf.write( '%d%s' % ( result.spStartPosition[ index ][ 0 ], sep ) ) + outf.write( '%d%s' % ( result.spStartPosition[ index ][ 1 ], sep ) ) + outf.write( '%d\n' % result.spStartPosition[ index ][ 2 ] ) + else: + outf.write( '\n' ) + if show_detailed_info: + outf.write( '# %s\n' % sep.join( DETAIL_NAMES ) ) + # The following index is a placeholder for the skeleton ID. + # The terms "graph" and "skeleton" refer to the same thing. + # Also, the SkeletonResult.java code states that the + # private Graph[] graph object is an array of graphs (one + # per tree). + for index, graph in enumerate( get_sorted_graph_lengths( result ) ): + for edge in get_sorted_edge_lengths( graph ): + vertex1 = edge.getV1() + x1, y1, z1 = get_points( vertex1 ) + vertex2 = edge.getV2() + x2, y2, z2 = get_points( vertex2 ) + outf.write( '%d%s' % ( index+1, sep ) ) + outf.write( '%.3f%s' % ( edge.getLength(), sep ) ) + outf.write( '%d%s' % ( x1, sep ) ) + outf.write( '%d%s' % ( y1, sep ) ) + outf.write( '%d%s' % ( z1, sep ) ) + outf.write( '%d%s' % ( x2, sep ) ) + outf.write( '%d%s' % ( y2, sep ) ) + outf.write( '%d%s' % ( z2, sep ) ) + outf.write( '%.3f' % get_euclidean_distance( vertex1, vertex2 ) ) + if calculate_largest_shortest_path: + # Keep number of separated items the same for each line. + outf.write( '%s %s' % ( sep, sep ) ) + outf.write( ' %s' % sep ) + outf.write( ' %s' % sep ) + outf.write( ' \n' ) + else: + outf.write( '\n' ) + outf.close() + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -8 ] +input = sys.argv[ -7 ] +black_background = jython_utils.asbool( sys.argv[ -6 ] ) +prune_cycle_method = sys.argv[ -5 ] +prune_ends = jython_utils.asbool( sys.argv[ -4 ] ) +calculate_largest_shortest_path = jython_utils.asbool( sys.argv[ -3 ] ) +if calculate_largest_shortest_path: + BASIC_NAMES.extend( [ 'Longest Shortest Path', 'spx', 'spy', 'spz' ] ) + DETAIL_NAMES.extend( [ ' ', ' ', ' ', ' ' ] ) +show_detailed_info = jython_utils.asbool( sys.argv[ -2 ] ) +output = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Set binary options. + options = jython_utils.get_binary_options( black_background=black_background ) + IJ.run( input_image_plus_copy, "Options...", options ) + + # Convert image to binary if necessary. + if not image_processor_copy.isBinary(): + IJ.run( input_image_plus_copy, "Make Binary", "" ) + + # Run AnalyzeSkeleton + analyze_skeleton = AnalyzeSkeleton_() + analyze_skeleton.setup( "", input_image_plus_copy ) + if prune_cycle_method == 'none': + prune_index = analyze_skeleton.NONE + elif prune_cycle_method == 'shortest_branch': + prune_index = analyze_skeleton.SHORTEST_BRANCH + elif prune_cycle_method == 'lowest_intensity_voxel': + prune_index = analyze_skeleton.LOWEST_INTENSITY_VOXEL + elif prune_cycle_method == 'lowest_intensity_branch': + prune_index = analyze_skeleton.LOWEST_INTENSITY_BRANCH + result = analyze_skeleton.run( prune_index, + prune_ends, + calculate_largest_shortest_path, + input_image_plus_copy, + True, + True ) + # Save the results. + save( result, output, show_detailed_info, calculate_largest_shortest_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_base_utils.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,169 @@ +import os +import shutil +import sys +import tempfile + +BUFF_SIZE = 1048576 + + +def cleanup_before_exit(tmp_dir): + """ + Remove temporary files and directories prior to tool exit. + """ + if tmp_dir and os.path.exists(tmp_dir): + shutil.rmtree(tmp_dir) + + +def get_base_cmd_bunwarpj(jvm_memory): + if jvm_memory in [None, 'None']: + jvm_memory_str = '' + else: + jvm_memory_str = '-Xmx%s' % jvm_memory + # The following bunwarpj_base_cmd string will look something like this: + # "java %s -cp $JAR_DIR/ij-1.49k.jar:$PLUGINS_DIR/bUnwarpJ_-2.6.1.jar \ + # bunwarpj.bUnwarpJ_" % (jvm_memory_str) + # See the bunwarpj.sh script for the fiji 20151222 + # bioconda recipe in github. + bunwarpj_base_cmd = "bunwarpj %s" % jvm_memory_str + return bunwarpj_base_cmd + + +def get_base_command_imagej2(memory_size=None, macro=None, jython_script=None): + imagej2_executable = get_imagej2_executable() + if imagej2_executable is None: + return None + cmd = '%s --ij2 --headless --debug' % imagej2_executable + if memory_size is not None: + memory_size_cmd = ' -DXms=%s -DXmx=%s' % (memory_size, memory_size) + cmd += memory_size_cmd + if macro is not None: + cmd += ' --macro %s' % os.path.abspath(macro) + if jython_script is not None: + cmd += ' --jython %s' % os.path.abspath(jython_script) + return cmd + + +def get_file_extension(image_format): + """ + Return a valid bioformats file extension based on the received + value of image_format(e.g., "gif" is returned as ".gif". + """ + return '.%s' % image_format + + +def get_file_name_without_extension(file_path): + """ + Eliminate the .ext from the received file name, assuming that + the file name consists of only a single '.'. + """ + if os.path.exists(file_path): + path, name = os.path.split(file_path) + name_items = name.split('.') + return name_items[0] + return None + + +def get_imagej2_executable(): + """ + Fiji names the ImageJ executable different names for different + architectures, but our bioconda recipe allows us to do this. + """ + return 'ImageJ' + + +def get_input_image_path(tmp_dir, input_file, image_format): + """ + Bioformats uses file extensions (e.g., .job, .gif, etc) + when reading and writing image files, so the Galaxy dataset + naming convention of setting all file extensions as .dat + must be handled. + """ + image_path = get_temporary_image_path(tmp_dir, image_format) + # Remove the file so we can create a symlink. + os.remove(image_path) + os.symlink(input_file, image_path) + return image_path + + +def get_platform_info_dict(): + '''Return a dict with information about the current platform.''' + platform_dict = {} + sysname, nodename, release, version, machine = os.uname() + platform_dict['os'] = sysname.lower() + platform_dict['architecture'] = machine.lower() + return platform_dict + + +def get_stderr_exception(tmp_err, tmp_stderr, tmp_out, tmp_stdout, include_stdout=False): + tmp_stderr.close() + """ + Return a stderr string of reasonable size. + """ + # Get stderr, allowing for case where it's very large. + tmp_stderr = open(tmp_err, 'rb') + stderr_str = '' + buffsize = BUFF_SIZE + try: + while True: + stderr_str += tmp_stderr.read(buffsize) + if not stderr_str or len(stderr_str) % buffsize != 0: + break + except OverflowError: + pass + tmp_stderr.close() + if include_stdout: + tmp_stdout = open(tmp_out, 'rb') + stdout_str = '' + buffsize = BUFF_SIZE + try: + while True: + stdout_str += tmp_stdout.read(buffsize) + if not stdout_str or len(stdout_str) % buffsize != 0: + break + except OverflowError: + pass + tmp_stdout.close() + if include_stdout: + return 'STDOUT\n%s\n\nSTDERR\n%s\n' % (stdout_str, stderr_str) + return stderr_str + + +def get_temp_dir(prefix='tmp-imagej-', dir=None): + """ + Return a temporary directory. + """ + return tempfile.mkdtemp(prefix=prefix, dir=dir) + + +def get_tempfilename(dir=None, suffix=None): + """ + Return a temporary file name. + """ + fd, name = tempfile.mkstemp(suffix=suffix, dir=dir) + os.close(fd) + return name + + +def get_temporary_image_path(tmp_dir, image_format): + """ + Return the path to a temporary file with a valid image format + file extension that can be used with bioformats. + """ + file_extension = get_file_extension(image_format) + return get_tempfilename(tmp_dir, file_extension) + + +def handle_none_type(val, val_type='float'): + if val is None: + return ' None' + else: + if val_type == 'float': + return ' %.3f' % val + elif val_type == 'int': + return ' %d' % val + return ' %s' % val + + +def stop_err(msg): + sys.stderr.write(msg) + sys.exit(1)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_binary_to_edm.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,65 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--iterations', dest='iterations', type=int, help='Iterations' ) +parser.add_argument( '--count', dest='count', type=int, help='Count' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--pad_edges_when_eroding', dest='pad_edges_when_eroding', help='Pad edges when eroding' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %d' % args.iterations +cmd += ' %d' % args.count +cmd += ' %s' % args.black_background +cmd += ' %s' % args.pad_edges_when_eroding +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_binary_to_edm_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,44 @@ +import jython_utils +import sys +from ij import IJ +from ij import ImagePlus +from ij.plugin.filter import Analyzer +from ij.plugin.filter import EDM + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -8 ] +input = sys.argv[ -7 ] +iterations = int( sys.argv[ -6 ] ) +count = int( sys.argv[ -5 ] ) +black_background = jython_utils.asbool( sys.argv[ -4 ] ) +pad_edges_when_eroding = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Set binary options. + options = jython_utils.get_binary_options( black_background=black_background, + iterations=iterations, + count=count, + pad_edges_when_eroding=pad_edges_when_eroding ) + IJ.run( input_image_plus_copy, "Options...", options ) + + # Convert image to binary if necessary. + if not image_processor_copy.isBinary(): + # Convert the image to binary grayscale. + IJ.run( input_image_plus_copy, "Make Binary", "" ) + + # Run the command. + IJ.run( input_image_plus_copy, "Distance Map", "" ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_adapt_transform.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,65 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--input_elastic_transformation', dest='input_elastic_transformation', help='Input elastic transformation matrix' ) +parser.add_argument( '--image_size_factor', dest='image_size_factor', type=float, help='Image size factor' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +input_elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input_elastic_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +def is_power2( val ): + if val < 0: + return False + if val < 1: + val = 1.0 / val + val = int( val ) + return ( ( val & ( val - 1 ) ) == 0 ) + +# Build the command line to adapt the transformation. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -adapt_transform' + +# Make sure the value of image_size_factor is a power of 2 (positive or negative). +if is_power2( args.image_size_factor ): + image_size_factor = args.image_size_factor +else: + msg = "Image size factor must be a positive or negative power of 2 (0.25, 0.5, 2, 4, 8, etc)." + imagej2_base_utils.stop_err( msg ) + +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % input_elastic_transformation_path +cmd += ' %s' % args.output +cmd += ' %2.f' % image_size_factor + +# Adapt the transformation based on the image size factor using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_align.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,178 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--source_mask', dest='source_mask', default=None, help='Source mask' ) +parser.add_argument( '--source_mask_format', dest='source_mask_format', default=None, help='Source mask image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--target_mask', dest='target_mask', default=None, help='Target mask' ) +parser.add_argument( '--target_mask_format', dest='target_mask_format', default=None, help='Target mask image format' ) +parser.add_argument( '--min_scale_def', dest='min_scale_def', type=int, help='Initial deformation' ) +parser.add_argument( '--max_scale_def', dest='max_scale_def', type=int, help='Final deformation' ) +parser.add_argument( '--max_subsamp_fact', dest='max_subsamp_fact', type=int, help='Image sub-sample factor' ) +parser.add_argument( '--divergence_weight', dest='divergence_weight', type=float, help='Divergence weight' ) +parser.add_argument( '--curl_weight', dest='curl_weight', type=float, help='Curl weight' ) +parser.add_argument( '--image_weight', dest='image_weight', type=float, help='Image weight' ) +parser.add_argument( '--consistency_weight', dest='consistency_weight', type=float, help='Consistency weight' ) +parser.add_argument( '--landmarks_weight', dest='landmarks_weight', type=float, help='Landmarks weight' ) +parser.add_argument( '--landmarks_file', dest='landmarks_file', default=None, help='Landmarks file' ) +parser.add_argument( '--source_affine_file', dest='source_affine_file', default=None, help='Initial source affine matrix transformation' ) +parser.add_argument( '--target_affine_file', dest='target_affine_file', default=None, help='Initial target affine matrix transformation' ) +parser.add_argument( '--mono', dest='mono', default=False, help='Unidirectional registration (source to target)' ) +parser.add_argument( '--source_trans_out', dest='source_trans_out', default=None, help='Direct source transformation matrix' ) +parser.add_argument( '--target_trans_out', dest='target_trans_out', default=None, help='Inverse target transformation matrix' ) +parser.add_argument( '--source_out', help='Output source image' ) +parser.add_argument( '--source_out_datatype', help='Output registered source image format' ) +parser.add_argument( '--target_out', default=None, help='Output target image' ) +parser.add_argument( '--target_out_datatype', default=None, help='Output registered target image format' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) + +args = parser.parse_args() + +if args.source_trans_out is not None and args.target_trans_out is not None: + save_transformation = True +else: + save_transformation = False + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +tmp_source_out_tiff_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, 'tiff' ) +tmp_source_out_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.source_out_datatype ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +if not args.mono: + tmp_target_out_tiff_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, 'tiff' ) + tmp_target_out_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.target_out_datatype ) +if args.source_mask is not None and args.target_mask is not None: + tmp_source_mask_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_mask, args.source_mask_format ) + tmp_target_mask_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_mask, args.target_mask_format ) +if save_transformation: + # bUnwarpJ automatically names the transformation files based on the names + # of the source and target image file names. We've defined symlinks to + # temporary files with valid image extensions since ImageJ does not handle + # the Galaxy "dataset.dat" file extensions. + source_file_name = imagej2_base_utils.get_file_name_without_extension( tmp_source_out_tiff_path ) + tmp_source_out_transf_path = os.path.join( tmp_dir, '%s_transf.txt' % source_file_name ) + target_file_name = imagej2_base_utils.get_file_name_without_extension( tmp_target_out_tiff_path ) + tmp_target_out_transf_path = os.path.join( tmp_dir, '%s_transf.txt' % target_file_name ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to align the two images. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -align' +# Target is sent before source. +cmd += ' %s' % target_image_path +if args.target_mask is None: + target_mask_str = ' NULL' +else: + target_mask_str = ' %s' % tmp_target_mask_path +cmd += target_mask_str +cmd += ' %s' % source_image_path +if args.source_mask is None: + source_mask_str = ' NULL' +else: + source_mask_str = ' %s' % tmp_source_mask_path +cmd += source_mask_str +cmd += ' %d' % args.min_scale_def +cmd += ' %d' % args.max_scale_def +cmd += ' %d' % args.max_subsamp_fact +cmd += ' %.1f' % args.divergence_weight +cmd += ' %.1f' % args.curl_weight +cmd += ' %.1f' % args.image_weight +cmd += ' %.1f' % args.consistency_weight +# Source is produced before target. +cmd += ' %s' % tmp_source_out_tiff_path +if not args.mono: + cmd += ' %s' % tmp_target_out_tiff_path +if args.landmarks_file is not None: + # We have to create a temporary file with a .txt extension here so that + # bUnwarpJ will not ignore the Galaxy "dataset.dat" file. + tmp_landmarks_file_path = imagej2_base_utils.get_input_image_path( tmp_dir, + args.landmarks_file, + 'txt' ) + cmd += ' -landmarks' + cmd += ' %.1f' % args.landmarks_weight + cmd += ' %s' % tmp_landmarks_file_path +if args.source_affine_file is not None and args.target_affine_file is not None: + # Target is sent before source. + cmd += ' -affine' + cmd += ' %s' % args.target_affine_file + cmd += ' %s' % args.source_affine_file +if args.mono: + cmd += ' -mono' +if save_transformation: + cmd += ' -save_transformation' + +# Align the two images using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# bUnwarpJ produces tiff image stacks consisting of 3 slices which can be viewed in ImageJ. +# The 3 slices are:: 1) the registered image, 2) the target image and 3) the black/white +# warp image. Galaxy supports only single-layered images, so we'll convert the images so they +# can be viewed in Galaxy. + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to handle the multi-slice tiff images. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +if args.mono: + # bUnwarpJ will produce only a registered source image. + cmd += ' %s %s %s %s' % ( tmp_source_out_tiff_path, + args.source_out_datatype, + tmp_source_out_path, + args.mono ) +else: + # bUnwarpJ will produce registered source and target images. + cmd += ' %s %s %s %s %s %s %s' % ( tmp_source_out_tiff_path, + args.source_out_datatype, + tmp_source_out_path, + tmp_target_out_tiff_path, + args.target_out_datatype, + tmp_target_out_path, + args.mono ) + +# Merge the multi-slice tiff layers into an image that can be viewed in Galaxy. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Save the Registered Source Image to the output dataset. +shutil.move( tmp_source_out_path, args.source_out ) +if not args.mono: + # Move the Registered Target Image to the output dataset. + shutil.move( tmp_target_out_path, args.target_out ) + +# If requested, save matrix transformations as additional datasets. +if save_transformation: + shutil.move( tmp_source_out_transf_path, args.source_trans_out ) + if not args.mono: + shutil.move( tmp_target_out_transf_path, args.target_trans_out ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_align.xml Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,247 @@ +<?xml version='1.0' encoding='UTF-8'?> +<tool id="imagej2_bunwarpj_align" name="Align two images" version="@WRAPPER_VERSION@.0"> + <description>with bUnwarpJ</description> + <macros> + <import>imagej2_macros.xml</import> + </macros> + <expand macro="fiji_requirements" /> + <command> +<![CDATA[ + python $__tool_directory__/imagej2_bunwarpj_align.py + --target_image "$target_image" + --target_image_format $target_image.ext + --source_image "$source_image" + --source_image_format $source_image.ext + #if $align_with_mask_cond.align_with_mask == 'yes': + --target_mask "$target_mask" + --target_mask_format $target_mask.ext + --source_mask "$source_mask" + --source_mask_format $source_mask.ext + #end if + --min_scale_def $min_scale_def + --max_scale_def $max_scale_def + --max_subsamp_fact $max_subsamp_fact + --divergence_weight $divergence_weight + --curl_weight $curl_weight + --image_weight $image_weight + --consistency_weight $consistency_weight + #if $advanced_options_cond.advanced_options == 'landmarks': + --landmarks_weight $advanced_options_cond.landmarks_weight + --landmarks_file "$advanced_options_cond.landmarks_file" + #else if $advanced_options_cond.advanced_options == 'affine': + --target_affine_file "$advanced_options_cond.target_affine_file" + --source_affine_file "$advanced_options_cond.source_affine_file" + #else if $advanced_options_cond.advanced_options == 'mono': + --mono "true" + #else if $advanced_options_cond.advanced_options == 'save_transformation': + --target_trans_out "$target_trans_out" + --source_trans_out "$source_trans_out" + #end if + --source_out "$source_out" + --source_out_datatype $source_out_datatype + #if $advanced_options_cond.advanced_options != 'mono': + --target_out "$target_out" + --target_out_datatype $target_out_datatype + #end if + --jython_script $__tool_directory__/imagej2_bunwarpj_align_jython_script.py +]]> + </command> + <inputs> + <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="target_image" type="data" label="Target image"/> + <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="source_image" type="data" label="Source image"/> + <conditional name="align_with_mask_cond"> + <param name="align_with_mask" type="select" label="Align with masks?" help="Source and target mask can be any image format."> + <option value="no" selected="True">No</option> + <option value="yes">Yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="target_mask" type="data" label="Target mask"/> + <param format="bmp,eps,gif,jpg,pcx,pgm,png,psd,tiff" name="source_mask" type="data" label="Source mask"/> + </when> + </conditional> + <param name="min_scale_def" type="select" label="Initial deformation"> + <option value="0" selected="True">Very Coarse</option> + <option value="1">Coarse</option> + <option value="2">Fine</option> + <option value="3">Very Fine</option> + </param> + <param name="max_scale_def" type="select" label="Final deformation"> + <option value="0">Very Coarse</option> + <option value="1">Coarse</option> + <option value="2" selected="True">Fine</option> + <option value="3">Very Fine</option> + </param> + <param name="max_subsamp_fact" type="integer" value="0" min="0" label="Image sub-sample factor" help="Power of 2: [0, 1, 2 .. 7]"/> + <param name="divergence_weight" type="float" value="0.0" label="Weight of the divergence term" help="Value is a floating point number"/> + <param name="curl_weight" type="float" label="Weight of the curl term" value="0.0" help="Value is a floating point number"/> + <param name="image_weight" type="float" label="Weight of the image term" value="1.0" help="Value is a floating point number"/> + <param name="consistency_weight" type="float" label="Weight of the deformation consistency" value="10.0" help="Value is a floating point number"/> + <param name="target_out_datatype" type="select" label="Save registered target image as format"> + <expand macro="image_datatypes" /> + </param> + <param name="source_out_datatype" type="select" label="Save registered source image as format"> + <expand macro="image_datatypes" /> + </param> + <!-- + The following additional options can be added to the advanced_options select + list as soon as appropriate. Their use is supported in the imagej2_bunwarp_align.py + wrapper. + + I invested heavily in working with landmarks, but could never get them to + produce the same results from both the ImageJ GUI and the command line. I'm + convinced this is not a result of using Galaxy as I tested using ImageJ in headless + mode outside of Galaxy and the results differed from using the ImageJ GUI. Until + we know the reasons for these differences, we will eliminate this option. + <option value="landmarks">Apply landmarks</option> + + A separate tool will be needed to create an affine matrix transformation file, + so we'll eliminate this option until we have that tool. + <option value="affine">Apply affine matrix transformation</option> + + Similar to landmarks, I could not get the ImageJ mono option to produce the same + results from the ImageJ GUI and in headless mode from the command line. + <option value="mono">Unidirectional registration (source to target)</option> + --> + <conditional name="advanced_options_cond"> + <param name="advanced_options" type="select" label="Advanced options" help="These are mutually exclusive for each execution"> + <option value="none" selected="True">None</option> + <option value="save_transformation">Save calculated transformations</option> + </param> + <when value="none" /> + <!-- + <when value="landmarks"> + <param name="landmarks_weight" type="float" label="Landmark weight" value="0.0" help="Value is a floating point number"/> + <param format="txt" name="landmarks_file" type="data" label="Landmark file"/> + </when> + <when value="affine"> + <param format="txt" name="target_affine_file" type="data" label="Initial target affine matrix transformation"/> + <param format="txt" name="source_affine_file" type="data" label="Initial source affine matrix transformation"/> + </when> + <when value="mono"/> + --> + <when value="save_transformation"/> + </conditional> + </inputs> + <outputs> + <data name="source_out" format="png" label="${tool.name} on ${on_string}: Registered source image"> + <actions> + <action type="format"> + <option type="from_param" name="source_out_datatype" /> + </action> + </actions> + </data> + <data name="target_out" format="png" label="${tool.name} on ${on_string}: Registered target image"> + <filter>advanced_options_cond['advanced_options'] != "mono"</filter> + <actions> + <action type="format"> + <option type="from_param" name="target_out_datatype" /> + </action> + </actions> + </data> + <data format="txt" name="source_trans_out" label="${tool.name} on ${on_string}: Direct source transformation matrix"> + <filter>advanced_options_cond['advanced_options'] == "save_transformation"</filter> + </data> + <data format="txt" name="target_trans_out" label="${tool.name} on ${on_string}: Inverse target transformation matrix"> + <filter>advanced_options_cond['advanced_options'] == "save_transformation"</filter> + </data> + </outputs> + <tests> + <test> + <!-- Align two images without landmarks or mask and not saving transformation matrices --> + <param name="target_image" value="dotblot.jpg" /> + <param name="source_image" value="blobs.gif" /> + <param name="min_scale_def" value="0" /> + <param name="max_scale_def" value="2" /> + <param name="max_subsamp_fact" value="1" /> + <param name="divergence_weight" value="0.0" /> + <param name="curl_weight" value="0.0" /> + <param name="image_weight" value="1.0" /> + <param name="consistency_weight" value="10.0" /> + <param name="target_out_datatype" value="png" /> + <param name="source_out_datatype" value="png" /> + <output name="source_out" file="registered_source1.png" compare="sim_size" /> + <output name="target_out" file="registered_target1.png" compare="sim_size" /> + </test> + <test> + <!-- Align two images without landmarks or mask, but saving transformation matrices --> + <param name="target_image" value="dotblot.jpg" /> + <param name="source_image" value="blobs.gif" /> + <param name="min_scale_def" value="0" /> + <param name="max_scale_def" value="2" /> + <param name="max_subsamp_fact" value="1" /> + <param name="divergence_weight" value="0.0" /> + <param name="curl_weight" value="0.0" /> + <param name="image_weight" value="1.0" /> + <param name="consistency_weight" value="10.0" /> + <param name="target_out_datatype" value="png" /> + <param name="source_out_datatype" value="png" /> + <param name="advanced_options" value="save_transformation" /> + <output name="source_out" file="registered_source1.png" compare="sim_size" /> + <output name="target_out" file="registered_target1.png" compare="sim_size" /> + <output name="source_trans_out" file="source_elastic_transformation.txt" /> + <output name="target_trans_out" file="target_elastic_transformation.txt" /> + </test> + <test> + <!-- Align two images without landmarks but with mask, not saving transformation matrices --> + <param name="target_image" value="dotblot.jpg" /> + <param name="source_image" value="blobs.gif" /> + <param name="target_mask" value="mask_white.png" /> + <param name="source_mask" value="mask_ramp.gif" /> + <param name="min_scale_def" value="0" /> + <param name="max_scale_def" value="2" /> + <param name="max_subsamp_fact" value="1" /> + <param name="divergence_weight" value="0.0" /> + <param name="curl_weight" value="0.0" /> + <param name="image_weight" value="1.0" /> + <param name="consistency_weight" value="10.0" /> + <param name="target_out_datatype" value="png" /> + <param name="source_out_datatype" value="png" /> + <output name="source_out" file="registered_source2.png" compare="sim_size" /> + <output name="target_out" file="registered_target2.png" compare="sim_size" /> + </test> + </tests> + <help> +**What it does** + +<![CDATA[ +Performs a simultaneous registration of two images, A and B. Image A is elastically deformed +in order to look as similar as possible to image B, and, at the same time, the "inverse" +transformation (from B to A) is also calculated so a pseudo-invertibility of the final deformation +could be guaranteed. RGB Color images will be converted to grayscale during the registration +process but the resulting transformations will be applied to the original color images. + +Two images are produced: the deformed versions of A and B images. + +.. image:: ./static/images/bunwarpj_scheme.png + +Both selected images will work simultaneously as source and target, their tags are there only for the sake +of clarification. The registration mode is currently restricted to "Fast" ("Mono" has been eliminated for now). +The registration mode "Mono" perfoms only unidirectional registration, i.e. from source to target. The +registration mode "Fast" involve performing bidirectional registration and affects the stopping criteria +internally used by the bUnwarpJ program. + +Using the **Align with masks** otion, masks are introduced together with the input images. In this mode, the +input images is treated as the first slice of the mask pair and the mask is treated as the second slice. In this +way, the mask can have any shape. + +The **Initial deformation** and **Final deformation** options allow you to select the coarsest and finest scale +of the spline deformation field. "Very coarse" corresponds to 4 splines (one in each corner of the image). As you +increase the deformation level, the number of splines is doubled in each direction (horizontal and vertical). + +The value of the **Image sub-sample factor** will enable the registration to be calculated using the subsampled +versions of the images but the results will be applied to the original ones. The image subsampling parameter can +be set from 0 and 7, i.e. the image dimensions can be reduced by a factor of 20 = 1 to 27 = 128. This is very +useful when registering large images. + +The different weights of the goal function control the relative weight of each one of the terms. These weights +are not restricted to be between 0 and 1, and they may take any value as long as it is non-negative=2E. + +If the **Advanced option - Save transformation** option is selected, two files are produced in addition to +the registerd source and target images: the direct transformation matrix of A and the inverse transformation +matrix of B. +]]> + + </help> + <expand macro="bunwarpj_citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_align_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,37 @@ +import sys +import jython_utils +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. + +if sys.argv[ -1 ].lower() in [ 'true' ]: + mono = True +else: + mono = False + +if mono: + # bUnwarpJ has been called with the -mono param. + source_tiff_path = sys.argv[ -4 ] + source_datatype = sys.argv[ -3 ] + source_path = sys.argv[ -2 ] +else: + source_tiff_path = sys.argv[ -7 ] + source_datatype = sys.argv[ -6 ] + source_path = sys.argv[ -5 ] + target_tiff_path = sys.argv[ -4 ] + target_datatype = sys.argv[ -3 ] + target_path = sys.argv[ -2 ] + +# Save the Registered Source Image. +registered_source_image = IJ.openImage( source_tiff_path ) +if source_datatype == 'tiff': + registered_source_image = jython_utils.convert_before_saving_as_tiff( registered_source_image ) +IJ.saveAs( registered_source_image, source_datatype, source_path ) + +if not mono: + # Save the Registered Target Image. + registered_target_image = IJ.openImage( target_tiff_path ) + if target_datatype == 'tiff': + registered_target_image = jython_utils.convert_before_saving_as_tiff( registered_target_image ) + IJ.saveAs( registered_target_image, target_datatype, target_path )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_compare_elastic.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,65 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--source_transformation', dest='source_transformation', help='Direct source transformation matrix' ) +parser.add_argument( '--target_transformation', dest='target_transformation', help='Inverse target transformation matrix' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +source_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_transformation, 'txt' ) +target_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_transformation, 'txt' ) +# bUnwarpJ produces several lines of output that we need to discard, so +# we'll use a temporary output file from which we'll read only the last line. +tmp_output_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.output, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to calculate the warping index. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -compare_elastic' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % target_transformation_path +cmd += ' %s' % source_transformation_path +cmd += ' > %s' % tmp_output_path + +# Calculate the warping index of two elastic transformations using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Example contents of tmp_output_path: +# ['Target image : ~/tmpKAYF1P.jpg\n', +# 'Source image : ~/tmpgQX0dy.gif\n', +# 'Target Transformation file : ~/tmpZJC_4B.txt\n', +# 'Source Transformation file : ~/tmphsSojl.txt\n', +# ' Warping index = 14.87777347388348\n'] +results = open( tmp_output_path, 'r' ).readlines() +warp_index = results[ -1 ].split( ' ' )[ -1 ] +outf = open( args.output, 'wb' ) +outf.write( '%s' % warp_index ) +outf.close() + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_compare_elastic_raw.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,64 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--target_elastic_transformation', dest='target_elastic_transformation', help='Target elastic transformation matrix' ) +parser.add_argument( '--source_raw_transformation', dest='source_raw_transformation', help='Source raw transformation matrix' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +target_elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_elastic_transformation, 'txt' ) +source_raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_raw_transformation, 'txt' ) +# bUnwarpJ produces several lines of output that we need to discard, so +# we'll use a temporary output file from which we'll read only the last line. +tmp_output_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.output, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to calculate the warping index. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -compare_elastic_raw' +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % target_elastic_transformation_path +cmd += ' %s' % source_raw_transformation_path +cmd += ' > %s' % tmp_output_path + +# Calculate the warping index of elastic and raw transformations using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Example contents of tmp_output_path: +# ['Target image : ~/tmpHdt9Cs.jpg\n', +# 'Source image : ~/tmpu6kyfc.gif\n', +# 'Elastic Transformation file : ~/tmp4vZurG.txt\n', +# 'Raw Transformation file : ~/tmp2PNQcT.txt\n', +# ' Warping index = 25.007467512204983\n'] +results = open( tmp_output_path, 'r' ).readlines() +warp_index = results[ -1 ].split( ' ' )[ -1 ] +outf = open( args.output, 'wb' ) +outf.write( '%s' % warp_index ) +outf.close() + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_compare_raw.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,64 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--target_raw_transformation', dest='target_raw_transformation', help='First raw transformation matrix' ) +parser.add_argument( '--source_raw_transformation', dest='source_raw_transformation', help='Second raw transformation matrix' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +target_raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_raw_transformation, 'txt' ) +source_raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_raw_transformation, 'txt' ) +# bUnwarpJ produces several lines of output that we need to discard, so +# we'll use a temporary output file from which we'll read only the last line. +tmp_output_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.output, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to calculate the warping index. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -compare_raw' +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % target_raw_transformation_path +cmd += ' %s' % source_raw_transformation_path +cmd += ' > %s' % tmp_output_path + +# Calculate the warping index of two raw transformations using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Example contents of tmp_output_path: +# ['Target image : ~/tmp5WmDku.jpg\n', +# 'Source image : ~/tmps74U40.gif\n', +# 'Target Transformation file : ~/tmpXofC1x.txt\n', +# 'Source Transformation file : ~/tmpFqNYe4.txt\n', +# ' Warping index = 24.111209027033937\n'] +results = open( tmp_output_path, 'r' ).readlines() +warp_index = results[ -1 ].split( ' ' )[ -1 ] +outf = open( args.output, 'wb' ) +outf.write( '%s' % warp_index ) +outf.close() + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_compose_elastic.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,50 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--source_elastic_transformation', dest='source_elastic_transformation', help='Direct source transformation matrix' ) +parser.add_argument( '--target_elastic_transformation', dest='target_elastic_transformation', help='Inverse target transformation matrix' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +source_elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_elastic_transformation, 'txt' ) +target_elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_elastic_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to compose the transformations. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -compose_elastic' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % target_elastic_transformation_path +cmd += ' %s' % source_elastic_transformation_path +cmd += ' %s' % args.output + +# Compose the two elastic transformations into a raw transformation using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_compose_raw.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,50 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--source_raw_transformation', dest='source_raw_transformation', help='Direct source transformation matrix' ) +parser.add_argument( '--target_raw_transformation', dest='target_raw_transformation', help='Inverse target transformation matrix' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +source_raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_raw_transformation, 'txt' ) +target_raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_raw_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to compose the two raw transformations. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -compose_raw' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % target_raw_transformation_path +cmd += ' %s' % source_raw_transformation_path +cmd += ' %s' % args.output + +# Compose the two raw transformations into another raw transformation using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_compose_raw_elastic.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,50 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--source_elastic_transformation', dest='source_elastic_transformation', help='Direct source transformation matrix' ) +parser.add_argument( '--target_raw_transformation', dest='target_raw_transformation', help='Inverse target transformation matrix' ) +parser.add_argument( '--output', dest='output', help='Warping index' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +source_elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_elastic_transformation, 'txt' ) +target_raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_raw_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to compose the raw and elastic transformations. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -compose_raw_elastic' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % target_raw_transformation_path +cmd += ' %s' % source_elastic_transformation_path +cmd += ' %s' % args.output + +# Compose the raw and elastic transformations into another raw transformation using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_convert_to_raw.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,47 @@ +#!/usr/bin/env python +import argparse +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--elastic_transformation', dest='elastic_transformation', help='Elastic transformation as saved by bUnwarpJ in elastic format' ) +parser.add_argument( '--raw_transformation', dest='raw_transformation', help='Raw transformation' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.elastic_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to convert the B-spline (i.e., elastic) transformation to raw. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -convert_to_raw' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % elastic_transformation_path +cmd += ' %s' % args.raw_transformation + +# Convert the elastic transformation to raw using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_elastic_transform.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,73 @@ +#!/usr/bin/env python +import argparse +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--elastic_transformation', dest='elastic_transformation', help='Elastic transformation as saved by bUnwarpJ in elastic format' ) +parser.add_argument( '--source_out', help='Output source image' ) +parser.add_argument( '--source_out_datatype', help='Output registered source image format' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +tmp_source_out_tiff_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, 'tiff' ) +tmp_source_out_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.source_out_datatype ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +elastic_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.elastic_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to apply the transformation. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -elastic_transform' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % elastic_transformation_path +cmd += ' %s' % tmp_source_out_tiff_path + +# Apply the elastic transformation using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Convert the registered image to the specified output format. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s %s %s' % ( tmp_source_out_tiff_path, + args.source_out_datatype, + tmp_source_out_path ) + +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Save the Registered Source Image to the defined output. +shutil.move( tmp_source_out_path, args.source_out ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_elastic_transform_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,16 @@ +import sys +import jython_utils +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. + +source_tiff_path = sys.argv[ -3 ] +source_datatype = sys.argv[ -2 ] +source_path = sys.argv[ -1 ] + +# Save the Registered Source Image. +registered_source_image = IJ.openImage( source_tiff_path ) +if source_datatype == 'tiff': + registered_source_image = jython_utils.convert_before_saving_as_tiff( registered_source_image ) +IJ.saveAs( registered_source_image, source_datatype, source_path )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_raw_transform.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,73 @@ +#!/usr/bin/env python +import argparse +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +# Parse Command Line. +parser = argparse.ArgumentParser() +parser.add_argument( '--source_image', dest='source_image', help='Source image' ) +parser.add_argument( '--source_image_format', dest='source_image_format', help='Source image format' ) +parser.add_argument( '--target_image', dest='target_image', help='Target image' ) +parser.add_argument( '--target_image_format', dest='target_image_format', help='Target image format' ) +parser.add_argument( '--raw_transformation', dest='raw_transformation', help='Raw transformation as saved by bUnwarpJ' ) +parser.add_argument( '--source_out', help='Output source image' ) +parser.add_argument( '--source_out_datatype', help='Output registered source image format' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) + +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +source_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.source_image, args.source_image_format ) +tmp_source_out_tiff_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, 'tiff' ) +tmp_source_out_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.source_out_datatype ) +target_image_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.target_image, args.target_image_format ) +raw_transformation_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.raw_transformation, 'txt' ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +# Build the command line to apply the raw transformation. +cmd = imagej2_base_utils.get_base_cmd_bunwarpj( None ) +if cmd is None: + imagej2_base_utils.stop_err( "bUnwarpJ not found!" ) +cmd += ' -raw_transform' +# Target is sent before source. +cmd += ' %s' % target_image_path +cmd += ' %s' % source_image_path +cmd += ' %s' % raw_transformation_path +cmd += ' %s' % tmp_source_out_tiff_path + +# Apply the raw transformation using bUnwarpJ. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Convert the registered image to the specified output format. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) + +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s %s %s' % ( tmp_source_out_tiff_path, + args.source_out_datatype, + tmp_source_out_path ) + +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Save the Registered Source Image to the defined output. +shutil.move( tmp_source_out_path, args.source_out ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_bunwarpj_raw_transform_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,16 @@ +import sys +import jython_utils +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. + +source_tiff_path = sys.argv[ -3 ] +source_datatype = sys.argv[ -2 ] +source_path = sys.argv[ -1 ] + +# Save the Registered Source Image. +registered_source_image = IJ.openImage( source_tiff_path ) +if source_datatype == 'tiff': + registered_source_image = jython_utils.convert_before_saving_as_tiff( registered_source_image ) +IJ.saveAs( registered_source_image, source_datatype, source_path )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_create_image.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,40 @@ +#!/usr/bin/env python +import argparse +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +if __name__=="__main__": + # Parse Command Line. + parser = argparse.ArgumentParser() + parser.add_argument( '--width', dest='width', type=int, help='Image width in pixels' ) + parser.add_argument( '--height', dest='height', type=int, help='Image height in pixels' ) + parser.add_argument( '--depth', dest='depth', type=int, help='Image depth (specifies the number of stack slices)' ) + parser.add_argument( '--image_type', dest='image_type', help='Image type' ) + parser.add_argument( '--image_title', dest='image_title', default='', help='Image title' ) + parser.add_argument( '--output_datatype', dest='output_datatype', help='Output image format' ) + parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) + parser.add_argument( '--out_fname', help='Path to the output file' ) + args = parser.parse_args() + + tmp_dir = imagej2_base_utils.get_temp_dir() + tmp_image_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + + # Define command response buffers. + tmp_out = tempfile.NamedTemporaryFile().name + tmp_stdout = open( tmp_out, 'wb' ) + tmp_err = tempfile.NamedTemporaryFile().name + tmp_stderr = open( tmp_err, 'wb' ) + # Build the command line. + cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) + if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) + cmd += ' %s %d %d %d %s %s' % ( args.image_title, args.width, args.height, args.depth, args.image_type, tmp_image_path ) + proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) + rc = proc.wait() + if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + shutil.move( tmp_image_path, args.out_fname ) + imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_create_image_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,14 @@ +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +title = sys.argv[ -6 ] +width = int( sys.argv[ -5 ] ) +height = int( sys.argv[ -4 ] ) +depth = int( sys.argv[ -3 ] ) +type = sys.argv[ -2 ].replace( '_', ' ' ) +tmp_image_path = sys.argv[ -1 ] + +imp = IJ.newImage( title, type, width, height, depth ) +IJ.save( imp, "%s" % tmp_image_path )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_enhance_contrast.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,63 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--equalize_histogram', dest='equalize_histogram', help='Equalize_histogram' ) +parser.add_argument( '--saturated_pixels', dest='saturated_pixels', type=float, default=None, help='Saturated pixel pct' ) +parser.add_argument( '--normalize', dest='normalize', help='Normalize' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.equalize_histogram +cmd += imagej2_base_utils.handle_none_type( args.saturated_pixels ) +cmd += ' %s' % args.normalize +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_enhance_contrast_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,42 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -7 ] +input = sys.argv[ -6 ] +equalize_histogram = jython_utils.asbool( sys.argv[ -5 ] ) +saturated_pixels = sys.argv[ -4 ] +normalize = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() +bit_depth = image_processor_copy.getBitDepth() + +# Set the options +options = [] +# If equalize_histogram, saturated_pixels and normalize are ignored. +if equalize_histogram: + options.append( 'equalize' ) +else: + if saturated_pixels not in [ None, 'None' ]: + # Fiji allows only a single decimal place for this value. + options.append( 'saturated=%.3f' % float( saturated_pixels ) ) + # Normalization of RGB images is not supported. + if bit_depth != 24 and normalize: + options.append( 'normalize' ) +try: + # Run the command. + options = "%s" % ' '.join( options ) + IJ.run( input_image_plus_copy, "Enhance Contrast...", options ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_find_edges.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_find_edges_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,25 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -4 ] +input = sys.argv[ -3 ] +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Run the command. + IJ.run( input_image_plus_copy, "Find Edges", "" ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_find_maxima.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--scale_when_converting', dest='scale_when_converting', help='Scale when converting RGB image' ) +parser.add_argument( '--weighted_rgb_conversions', dest='weighted_rgb_conversions', help='Weighted RGB conversions for RGB image' ) +parser.add_argument( '--noise_tolerance', dest='noise_tolerance', type=int, help='Noise tolerance' ) +parser.add_argument( '--output_type', dest='output_type', help='Output type' ) +parser.add_argument( '--exclude_edge_maxima', dest='exclude_edge_maxima', help='Exclude edge maxima' ) +parser.add_argument( '--light_background', dest='light_background', help='Light background' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.scale_when_converting +cmd += ' %s' % args.weighted_rgb_conversions +cmd += ' %d' % args.noise_tolerance +cmd += ' %s' % args.output_type +cmd += ' %s' % args.exclude_edge_maxima +cmd += ' %s' % args.light_background +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_find_maxima_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,94 @@ +import sys +import jython_utils +from ij import ImagePlus, IJ +from ij.plugin.filter import Analyzer, MaximumFinder +from ij.process import ImageProcessor +from jarray import array + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -10 ] +input = sys.argv[ -9 ] +scale_when_converting = jython_utils.asbool( sys.argv[ -8 ] ) +weighted_rgb_conversions = jython_utils.asbool( sys.argv[ -7 ] ) +noise_tolerance = int( sys.argv[ -6 ] ) +output_type = sys.argv[ -5 ] +exclude_edge_maxima = jython_utils.asbool( sys.argv[ -4 ] ) +light_background = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() +bit_depth = image_processor_copy.getBitDepth() +analyzer = Analyzer( input_image_plus_copy ) + +try: + # Set the conversion options. + options = [] + # The following 2 options are applicable only to RGB images. + if bit_depth == 24: + if scale_when_converting: + option.append( "scale" ) + if weighted_rgb_conversions: + options.append( "weighted" ) + # Perform conversion - must happen even if no options are set. + IJ.run( input_image_plus_copy, "Conversions...", "%s" % " ".join( options ) ) + if output_type in [ 'List', 'Count' ]: + # W're generating a tabular file for the output. + # Set the Find Maxima options. + options = [ 'noise=%d' % noise_tolerance ] + if output_type.find( '_' ) > 0: + output_type_str = 'output=[%s]' % output_type.replace( '_', ' ' ) + else: + output_type_str = 'output=%s' % output_type + options.append( output_type_str ) + if exclude_edge_maxima: + options.append( 'exclude' ) + if light_background: + options.append( 'light' ) + # Run the command. + IJ.run( input_image_plus_copy, "Find Maxima...", "%s" % " ".join( options ) ) + results_table = analyzer.getResultsTable() + results_table.saveAs( tmp_output_path ) + else: + # Find the maxima of an image (does not find minima). + # LIMITATIONS: With output_type=Segmented_Particles + # (watershed segmentation), some segmentation lines + # may be improperly placed if local maxima are suppressed + # by the tolerance. + mf = MaximumFinder() + if output_type == 'Single_Points': + output_type_param = mf.SINGLE_POINTS + elif output_type == 'Maxima_Within_Tolerance': + output_type_param = mf.IN_TOLERANCE + elif output_type == 'Segmented_Particles': + output_type_param = mf.SEGMENTED + elif output_type == 'List': + output_type_param = mf.LIST + elif output_type == 'Count': + output_type_param = mf.COUNT + # Get a new byteProcessor with a normal (uninverted) LUT where + # the marked points are set to 255 (Background 0). Pixels outside + # of the roi of the input image_processor_copy are not set. No + # output image is created for output types POINT_SELECTION, LIST + # and COUNT. In these cases findMaxima returns null. + byte_processor = mf.findMaxima( image_processor_copy, + noise_tolerance, + ImageProcessor.NO_THRESHOLD, + output_type_param, + exclude_edge_maxima, + False ) + # Invert the image or ROI. + byte_processor.invert() + if output_type == 'Segmented_Particles' and not light_background: + # Invert the values in this image's LUT (indexed color model). + byte_processor.invertLut() + image_plus = ImagePlus( "output", byte_processor ) + IJ.saveAs( image_plus, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_macros.xml Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,106 @@ +<?xml version='1.0' encoding='UTF-8'?> +<macros> + <token name="@WRAPPER_VERSION@">3.0</token> + <xml name="fiji_requirements"> + <requirements> + <requirement type="package" version="20170530">fiji</requirement> + </requirements> + </xml> + <xml name="stdio"> + <stdio> + <exit_code range="1:"/> + <exit_code range=":-1"/> + <regex match="Error:"/> + <regex match="Exception:"/> + </stdio> + </xml> + <xml name="image_type"> + <param name="image_type" type="select" label="Image type"> + <option value="8-bit_white" selected="True">8-bit white</option> + <option value="8-bit_black">8-bit black</option> + <option value="8-bit_random">8-bit random</option> + <option value="8-bit_ramp">8-bit ramp</option> + <option value="16-bit_white">16-bit white</option> + <option value="16-bit_black">16-bit black</option> + <option value="16-bit_random">16-bit random</option> + <option value="16-bit_ramp">16-bit ramp</option> + <option value="32-bit_white">32-bit white</option> + <option value="32-bit_black">32-bit black</option> + <option value="32-bit_random">32-bit random</option> + <option value="32-bit_ramp">32-bit ramp</option> + <option value="RGB_white">RGB white</option> + <option value="RGB_black">RGB black</option> + <option value="RGB_random">RGB random</option> + <option value="RGB_ramp">RGB ramp</option> + </param> + </xml> + <xml name="make_binary_params"> + <param name="iterations" type="integer" value="1" min="1" max="100" label="Iterations" help="The number of times (1-100) erosion, dilation, opening, and closing are performed."/> + <param name="count" type="integer" value="1" min="1" max="8" label="Count" help="The number of adjacent background pixels necessary (1-8) for erosion or dilation."/> + <param name="black_background" type="select" label="Black background" help="If Yes, the background is black and the foreground is white (no implies the opposite)."> + <option value="no" selected="True">No</option> + <option value="yes">Yes</option> + </param> + <param name="pad_edges_when_eroding" type="select" label="Pad edges when eroding" help="If Yes, eroding does not erode from the edges of the image."> + <option value="no" selected="True">No</option> + <option value="yes">Yes</option> + </param> + </xml> + <xml name="black_background_param"> + <param name="black_background" type="select" label="Black background" help="If Yes, the background is black and the foreground is white (no implies the opposite)."> + <option value="no" selected="True">No</option> + <option value="yes">Yes</option> + </param> + </xml> + <token name="@make_binary_args@"> + --iterations $iterations + --count $count + --black_background $black_background + --pad_edges_when_eroding $pad_edges_when_eroding + </token> + <token name="@requires_binary_input@"> +.. class:: warningmark + +This tool works on binary images, so other image types will automatically be converted to binary +before they are analyzed. This step is performed using the ImageJ2 **Make Binary** command with +the following settings: **Iterations:** 1, **Count:** 1, **Pad edges when eroding:** No. The tool +allows you to choose the **Black background** setting. If these settings are not appropriate, +first manually convert the image to binary using the **Convert to binary (black and white)** +tool, which allows you to change them. + </token> + <xml name="image_datatypes"> + <option value="bmp">bmp</option> + <option value="gif">gif</option> + <option value="jpg">jpg</option> + <option value="png" selected="true">png</option> + <option value="tiff">tiff</option> + </xml> + <xml name="bunwarpj_citations"> + <citations> + <citation type="bibtex"> + @InProceedings(Arganda-Carreras2006, + author = "Ignacio Arganda-Carreras and + Carlos Oscar S{\'a}nchez Sorzano and + Roberto Marabini and + Jos{\'e} Mar\'{\i}a Carazo and + Carlos Ortiz-de-Solorzano and + Jan Kybic", + title = "Consistent and Elastic Registration of Histological Sections Using Vector-Spline Regularization", + publisher = "Springer Berlin / Heidelberg", + booktitle = "Computer Vision Approaches to Medical Image Analysis", + series = "Lecture Notes in Computer Science", + year = "2006", + volume = "4241", + pages = "85-95", + month = "May", + city = "Graz, Austria") + </citation> + <citation type="doi">10.1038/nmeth.2019</citation> + </citations> + </xml> + <xml name="fiji_headless_citations"> + <citations> + <citation type="doi">10.1038/nmeth.2102</citation> + </citations> + </xml> +</macros>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_make_binary.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,59 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--iterations', dest='iterations', type=int, help='Iterations' ) +parser.add_argument( '--count', dest='count', type=int, help='Count' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--pad_edges_when_eroding', dest='pad_edges_when_eroding', help='Pad edges when eroding' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %d' % args.iterations +cmd += ' %d' % args.count +cmd += ' %s' % args.black_background +cmd += ' %s' % args.pad_edges_when_eroding +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_make_binary_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,37 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -8 ] +input = sys.argv[ -7 ] +iterations = int( sys.argv[ -6 ] ) +count = int( sys.argv[ -5 ] ) +black_background = jython_utils.asbool( sys.argv[ -4 ] ) +pad_edges_when_eroding = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Set binary options. + options = jython_utils.get_binary_options( black_background=black_background, + iterations=iterations, + count=count, + pad_edges_when_eroding=pad_edges_when_eroding ) + IJ.run( input_image_plus_copy, "Options...", options ) + + # Run the command. + IJ.run( input_image_plus_copy, "Make Binary", "" ) + + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_math.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--operation', dest='operation', help='Operation' ) +parser.add_argument( '--expression', dest='expression', default=None, help='Expression' ) +parser.add_argument( '--bin_constant', dest='bin_constant', type=int, default=None, help='Constant of type binary integer' ) +parser.add_argument( '--float_constant', dest='float_constant', type=float, default=None, help='Constant of type float' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.operation +# Handle the expression, which must be enclosed in " if not None. +if args.expression in [ None, 'None' ]: + cmd += ' None' +else: + cmd += ' "%s"' % args.expression +cmd += imagej2_base_utils.handle_none_type( args.bin_constant, val_type='int' ) +cmd += imagej2_base_utils.handle_none_type( args.float_constant ) +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_math_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,78 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -8 ] +input = sys.argv[ -7 ] +operation = sys.argv[ -6 ] +expression = sys.argv[ -5 ] +if sys.argv[ -4 ] in [ None, 'None' ]: + bin_constant = None +else: + bin_constant = int( sys.argv[ -4 ] ) +if sys.argv[ -3 ] in [ None, 'None' ]: + float_constant = None +else: + float_constant = float( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() +bit_depth = image_processor_copy.getBitDepth() + +try: + if operation.find( '_' ) > 0: + # Square_Root. + new_operation = operation.replace( '_', ' ' ) + elif operation in [ 'Square', 'Log', 'Exp', 'Abs', 'Reciprocal' ]: + # Unfortunately some ImageJ commands require a "..." ending + # while others do not. There seems to be no pattern. + new_operation = '%s' % operation + else: + new_operation = '%s...' % operation + + if operation == 'Macro': + # Apply the macro code to the image via a call to it's + # ImageProcessor since this option does not work using + # the IJ.run() method. + new_expression = expression.lstrip( '"' ).rstrip( '"' ) + options = 'code=%s' % new_expression + image_processor_copy.applyMacro( new_expression ) + elif operation == 'Min': + # Min does not work without using the ImageProcessor. + image_processor_copy.min( float_constant ) + elif operation == 'Max': + # Max does not work without using the ImageProcessor. + image_processor_copy.max( float_constant ) + elif operation == 'Abs': + if bit_depth not in [ 16, 32 ]: + # Convert the image to 32-bit. + IJ.run( input_image_plus_copy, "32-bit", "" ) + IJ.run( input_image_plus_copy, new_operation, "" ) + elif operation == 'Reciprocal': + if bit_depth != 32: + # Convert the image to 32 bit. + IJ.run( input_image_plus_copy, "32-bit", "" ) + IJ.run( input_image_plus_copy, new_operation, "" ) + else: + if operation in [ 'AND', 'OR', 'XOR' ]: + # Value is a binary number. + options = 'value=%d' % bin_constant + elif operation in [ 'Log', 'Exp', 'Square', 'Square_Root' ]: + # No constant value. + options = '' + else: + # Value is a floating point number. + options = 'value=%.3f' % float_constant + IJ.run( input_image_plus_copy, "%s" % new_operation, "%s" % options ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_noise.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,84 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +if __name__=="__main__": + # Parse Command Line. + parser = argparse.ArgumentParser() + parser.add_argument( '--input', dest='input', help='Path to the input file' ) + parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) + parser.add_argument( '--noise', dest='noise', help='Specified noise to add to or remove from the image' ) + parser.add_argument( '--standard_deviation', dest='standard_deviation', type=float, default=None, help='Standard deviation' ) + parser.add_argument( '--radius', dest='radius', type=float, default=None, help='Radius' ) + parser.add_argument( '--threshold', dest='threshold', type=float, default=None, help='Threshold' ) + parser.add_argument( '--which_outliers', dest='which_outliers', default=None, help='Which outliers' ) + parser.add_argument( '--randomj', dest='randomj', default=None, help='RandomJ' ) + parser.add_argument( '--trials', dest='trials', type=float, default=None, help='Trials' ) + parser.add_argument( '--probability', dest='probability', type=float, default=None, help='Probability' ) + parser.add_argument( '--lammbda', dest='lammbda', type=float, default=None, help='Lambda' ) + parser.add_argument( '--order', dest='order', type=int, default=None, help='Order' ) + parser.add_argument( '--mean', dest='mean', type=float, default=None, help='Mean' ) + parser.add_argument( '--sigma', dest='sigma', type=float, default=None, help='Sigma' ) + parser.add_argument( '--min', dest='min', type=float, default=None, help='Min' ) + parser.add_argument( '--max', dest='max', type=float, default=None, help='Max' ) + parser.add_argument( '--insertion', dest='insertion', default=None, help='Insertion' ) + parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) + parser.add_argument( '--output', dest='output', help='Path to the output file' ) + args = parser.parse_args() + + tmp_dir = imagej2_base_utils.get_temp_dir() + # ImageJ expects valid image file extensions, so the Galaxy .dat extension does not + # work for some features. The following creates a symlink with an appropriate file + # extension that points to the Galaxy dataset. This symlink is used by ImageJ. + tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) + tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.input_datatype ) + + # Define command response buffers. + tmp_out = tempfile.NamedTemporaryFile().name + tmp_stdout = open( tmp_out, 'wb' ) + tmp_err = tempfile.NamedTemporaryFile().name + tmp_stderr = open( tmp_err, 'wb' ) + # Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. + error_log = tempfile.NamedTemporaryFile( delete=False ).name + # Build the command line. + cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) + if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) + cmd += ' %s' % error_log + cmd += ' %s' % tmp_input_path + cmd += ' %s' % args.input_datatype + cmd += ' %s ' % args.noise + cmd += imagej2_base_utils.handle_none_type( args.standard_deviation ) + cmd += imagej2_base_utils.handle_none_type( args.radius ) + cmd += imagej2_base_utils.handle_none_type( args.threshold ) + cmd += ' %s' % args.which_outliers + cmd += ' %s' % args.randomj + cmd += imagej2_base_utils.handle_none_type( args.trials ) + cmd += imagej2_base_utils.handle_none_type( args.probability ) + cmd += imagej2_base_utils.handle_none_type( args.lammbda ) + cmd += imagej2_base_utils.handle_none_type( args.order, val_type='int' ) + cmd += imagej2_base_utils.handle_none_type( args.mean ) + cmd += imagej2_base_utils.handle_none_type( args.sigma ) + cmd += imagej2_base_utils.handle_none_type( args.min ) + cmd += imagej2_base_utils.handle_none_type( args.max ) + cmd += ' %s' % args.insertion + cmd += ' %s' % tmp_output_path + + proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) + rc = proc.wait() + + # Handle execution errors. + if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + # Handle processing errors. + if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + # Save the output image. + shutil.move( tmp_output_path, args.output ) + imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_noise_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,84 @@ +import sys +from ij import IJ +from ij import ImagePlus +import jython_utils + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -19 ] +input = sys.argv[ -18 ] +image_datatype = sys.argv[ -17 ] +noise = sys.argv[ -16 ] +standard_deviation = sys.argv[ -15 ] +radius = sys.argv[ -14 ] +threshold = sys.argv[ -13 ] +which_outliers = sys.argv[ -12 ] +randomj = sys.argv[ -11 ] +trials = sys.argv[ -10 ] +probability = sys.argv[ -9 ] +# Note the spelling - so things don't get confused due to Python lambda function. +lammbda = sys.argv[ -8 ] +order = sys.argv[ -7 ] +mean = sys.argv[ -6 ] +sigma = sys.argv[ -5 ] +min = sys.argv[ -4 ] +max = sys.argv[ -3 ] +insertion = sys.argv[ -2 ] +tmp_output_path = sys.argv[ -1 ] + +error = False + +# Open the input image file. +image_plus = IJ.openImage( input ) +bit_depth = image_plus.getBitDepth() +image_type = image_plus.getType() +# Create an ImagePlus object for the image. +image_plus_copy = image_plus.duplicate() +# Make a copy of the image. +image_processor_copy = image_plus_copy.getProcessor() + +# Perform the analysis on the ImagePlus object. +if noise == 'add_noise': + IJ.run( image_plus_copy, "Add Noise", "" ) +elif noise == 'add_specified_noise': + IJ.run( image_plus_copy, "Add Specified Noise", "standard=&standard_deviation" ) +elif noise == 'salt_and_pepper': + IJ.run( image_plus_copy, "Salt and Pepper", "" ) +elif noise == 'despeckle': + IJ.run( image_plus_copy, "Despeckle", "" ) +elif noise == 'remove_outliers': + IJ.run( image_plus_copy, "Remove Outliers", "radius=&radius threshold=&threshold which=&which_outliers" ) +elif noise == 'remove_nans': + if bit_depth == 32: + IJ.run( image_plus_copy, "Remove NaNs", "" ) + else: + # When Galaxy metadata for images is enhanced to include information like this, + # we'll be able to write tool validators rather than having to stop the job in + # an error state. + msg = "Remove NaNs requires a 32-bit image, the selected image is %d-bit" % bit_depth + jython_utils.handle_error( error_log, msg ) + error = True +elif noise == 'rof_denoise': + if image_type == ImagePlus.GRAY32: + IJ.run( image_plus_copy, "ROF Denoise", "" ) + else: + msg = "ROF Denoise requires an image of type 32-bit grayscale, the selected image is %d-bit" % ( bit_depth ) + jython_utils.handle_error( error_log, msg ) + error = True +elif noise == 'randomj': + if randomj == 'randomj_binomial': + IJ.run( image_plus_copy, "RandomJ Binomial", "trials=&trials probability=&probability insertion=&insertion" ) + elif randomj == 'randomj_exponential': + IJ.run( image_plus_copy, "RandomJ Exponential", "lambda=&lammbda insertion=&insertion" ) + elif randomj == 'randomj_gamma': + IJ.run( image_plus_copy, "RandomJ Gamma", "order=&order insertion=&insertion" ) + elif randomj == 'randomj_gaussian': + IJ.run( image_plus_copy, "RandomJ Gaussian", "mean=&mean sigma=&sigma insertion=&insertion" ) + elif randomj == 'randomj_poisson': + IJ.run( image_plus_copy, "RandomJ Poisson", "mean=&mean insertion=&insertion" ) + elif randomj == 'randomj_uniform': + IJ.run( image_plus_copy, "RandomJ Uniform", "min=&min max=&max insertion=&insertion" ) + +if not error: + # Save the ImagePlus object as a new image. + IJ.saveAs( image_plus_copy, image_datatype, tmp_output_path )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_shadows.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,59 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--direction', dest='direction', help='Direction' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.direction +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_shadows_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,26 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -5 ] +input = sys.argv[ -4 ] +direction = sys.argv[ -3 ] +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Run the command. + IJ.run( input_image_plus_copy, direction, "" ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_sharpen.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_sharpen_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,25 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -4 ] +input = sys.argv[ -3 ] +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Run the command. + IJ.run( input_image_plus_copy, "Sharpen", "" ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_skeletonize3d.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,53 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.black_background +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_skeletonize3d_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,36 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -5 ] +input = sys.argv[ -4 ] +black_background = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Set binary options. + options = jython_utils.get_binary_options( black_background=black_background ) + IJ.run( input_image_plus_copy, "Options...", options ) + + # Convert image to binary if necessary. + if not image_processor_copy.isBinary(): + # Convert the image to binary grayscale. + IJ.run( input_image_plus_copy, "Make Binary", "" ) + + # Run the command. + IJ.run( input_image_plus_copy, "Skeletonize (2D/3D)", "" ) + + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_smooth.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,57 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) + +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name + +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype + +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() + +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) + +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) + +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_smooth_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,25 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -4 ] +input = sys.argv[ -3 ] +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Run the command. + IJ.run( input_image_plus_copy, "Smooth", "" ) + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_watershed_binary.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,53 @@ +#!/usr/bin/env python +import argparse +import os +import shutil +import subprocess +import tempfile +import imagej2_base_utils + +parser = argparse.ArgumentParser() +parser.add_argument( '--input', dest='input', help='Path to the input file' ) +parser.add_argument( '--input_datatype', dest='input_datatype', help='Datatype of the input image' ) +parser.add_argument( '--black_background', dest='black_background', help='Black background' ) +parser.add_argument( '--jython_script', dest='jython_script', help='Path to the Jython script' ) +parser.add_argument( '--output', dest='output', help='Path to the output file' ) +parser.add_argument( '--output_datatype', dest='output_datatype', help='Datatype of the output image' ) +args = parser.parse_args() + +tmp_dir = imagej2_base_utils.get_temp_dir() +# ImageJ expects valid image file extensions, so the Galaxy .dat extension does not +# work for some features. The following creates a symlink with an appropriate file +# extension that points to the Galaxy dataset. This symlink is used by ImageJ. +tmp_input_path = imagej2_base_utils.get_input_image_path( tmp_dir, args.input, args.input_datatype ) +tmp_output_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, args.output_datatype ) +# Define command response buffers. +tmp_out = tempfile.NamedTemporaryFile().name +tmp_stdout = open( tmp_out, 'wb' ) +tmp_err = tempfile.NamedTemporaryFile().name +tmp_stderr = open( tmp_err, 'wb' ) +# Java writes a lot of stuff to stderr, so we'll specify a file for handling actual errors. +error_log = tempfile.NamedTemporaryFile( delete=False ).name +# Build the command line. +cmd = imagej2_base_utils.get_base_command_imagej2( None, jython_script=args.jython_script ) +if cmd is None: + imagej2_base_utils.stop_err( "ImageJ not found!" ) +cmd += ' %s' % error_log +cmd += ' %s' % tmp_input_path +cmd += ' %s' % args.black_background +cmd += ' %s' % tmp_output_path +cmd += ' %s' % args.output_datatype +# Run the command. +proc = subprocess.Popen( args=cmd, stderr=tmp_stderr, stdout=tmp_stdout, shell=True ) +rc = proc.wait() +# Handle execution errors. +if rc != 0: + error_message = imagej2_base_utils.get_stderr_exception( tmp_err, tmp_stderr, tmp_out, tmp_stdout ) + imagej2_base_utils.stop_err( error_message ) +# Handle processing errors. +if os.path.getsize( error_log ) > 0: + error_message = open( error_log, 'r' ).read() + imagej2_base_utils.stop_err( error_message ) +# Save the output image. +shutil.move( tmp_output_path, args.output ) +imagej2_base_utils.cleanup_before_exit( tmp_dir )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_watershed_binary_jython_script.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,36 @@ +import jython_utils +import sys +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +error_log = sys.argv[ -5 ] +input = sys.argv[ -4 ] +black_background = jython_utils.asbool( sys.argv[ -3 ] ) +tmp_output_path = sys.argv[ -2 ] +output_datatype = sys.argv[ -1 ] + +# Open the input image file. +input_image_plus = IJ.openImage( input ) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() + +try: + # Set binary options. + options = jython_utils.get_binary_options( black_background=black_background ) + IJ.run( input_image_plus_copy, "Options...", options ) + + # Convert image to binary if necessary. + if not image_processor_copy.isBinary(): + # Convert the image to binary grayscale. + IJ.run( input_image_plus_copy, "Make Binary", "" ) + + # Run the command. + IJ.run( input_image_plus_copy, "Watershed", "" ) + + # Save the ImagePlus object as a new image. + IJ.saveAs( input_image_plus_copy, output_datatype, tmp_output_path ) +except Exception, e: + jython_utils.handle_error( error_log, str( e ) )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jython_utils.py Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,48 @@ +import imagej2_base_utils +from ij import IJ + +IMAGE_PLUS_IMAGE_TYPE_FIELD_VALUES = { '0':'GRAY8', '1':'GRAY16', '2':'GRAY32', + '3':'COLOR_256', '4':'COLOR_RGB' } + +def asbool( val ): + return str( val ).lower() in [ 'yes', 'true' ] + +def convert_before_saving_as_tiff( image_plus ): + # The bUnwarpJ plug-in produces TIFF image stacks consisting of 3 + # slices which can be viewed in ImageJ. The 3 slices are: 1) the + # registered image, 2) the target image and 3) the black/white warp + # image. When running bUnwarpJ from the command line (as these + # Galaxy wrappers do) the initial call to IJ.openImage() (to open the + # registered source and target images produced by bUnwarpJ) in the + # tool's jython_script.py returns an ImagePlus object with a single + # slice which is the "generally undesired" slice 3 discussed above. + # However, a call to IJ.saveAs() will convert the single-slice TIFF + # into a 3-slice TIFF image stack (as described above) if the selected + # format for saving is TIFF. Galaxy supports only single-layered + # images, so to work around this behavior, we have to convert the + # image to something other than TIFF so that slices are eliminated. + # We can then convert back to TIFF for saving. There might be a way + # to do this without converting twice, but I spent a lot of time looking + # and I have yet to discover it. + tmp_dir = imagej2_base_utils.get_temp_dir() + tmp_out_png_path = imagej2_base_utils.get_temporary_image_path( tmp_dir, 'png' ) + IJ.saveAs( image_plus, 'png', tmp_out_png_path ) + return IJ.openImage( tmp_out_png_path ) + +def get_binary_options( black_background, iterations=1, count=1, pad_edges_when_eroding='no' ): + options = [ 'edm=Overwrite', 'iterations=%d' % iterations, 'count=%d' % count ] + if asbool( pad_edges_when_eroding ): + options.append( 'pad' ) + if asbool( black_background ): + options.append( "black" ) + return " ".join( options ) + +def get_display_image_type( image_type ): + return IMAGE_PLUS_IMAGE_TYPE_FIELD_VALUES.get( str( image_type ), None ) + +def handle_error( error_log, msg ): + # Java writes a lot of stuff to stderr, so the received error_log + # will log actual errors. + elh = open( error_log, 'wb' ) + elh.write( msg ) + elh.close()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/readme.md Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,120 @@ +Galaxy wrappers for ImageJ2 tools +================================== + +ImageJ2 is a new version of ImageJ for the next generation of multidimensional image data, with a focus on scientific imaging. Its central goal is to broaden the paradigm of ImageJ beyond the limitations of ImageJ 1.x, to support the next generation of multidimensional scientific imaging. + +Fiji is an image processing package. It can be described as a "batteries-included" distribution of ImageJ (and ImageJ2), bundling Java, Java3D and a lot of plugins organized into a coherent menu structure. Fiji compares to ImageJ as Ubuntu compares to Linux. + +More informations is available at: + +* [http://fiji.sc/ImageJ2](http://fiji.sc/ImageJ2) +* [http://fiji.sc/Fiji](http://fiji.sc/Fiji) + + +Installation +============ + +Galaxy tool wrappers use specified Fiji Lifeline versions available from [http://fiji.sc/Downloads](http://fiji.sc/Downloads). Galaxy should be able to automatically install this package. + +The wrappers are available at [https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2](https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2). + + +Use Docker +========== + +A docker image that installs Galaxy with these imaging tools is available at [https://github.com/bgruening/galaxy-imaging](https://github.com/bgruening/galaxy-imaging). + + +Using Fiji with Galaxy tools +============================ + +Galaxy ImageJ2 tool wrappers generate a command line that calls a Python script, passing it a series of arguments including a Jython script named jython_script.py that resides in the same directory as the tool wrapper. During tool execution, the Python script will call ImageJ2 with the --headless argument to run without the ImageJ2 GUI. The Jython script is also passed to ImageJ2 along with all command line arguments that it expects. ImageJ2 will execute the Jython script, passing the expected arguments. The command line to run ImageJ2 from a Galaxy tool wrapper looks something like this: + +`ImageJ2 --ij2 --headless --jython ~jython_script.py arg1, arg2, ...` + +Each tool execution starts the ImageJ2 application within a Java virtual machine (JVM). When ImageJ2 is finished processing the Jython script, the results are either written to a file or returned to the calling Galaxy process. The JVM is shut down, and the Galaxy job terminates. This approach provides the ability to run ImageJ2 tools from Galaxy on any supported HPC environment. + +Of course, eliminating the ImageJ2 GUI restricts us to wrapping only those ImageJ2 plugins that do not require any GUI components (i.e., the ImageJ2 window manager). Plugins are written by an open community, so not all of them are written in such a way that they can be executed from the command line and produce useful results. For example, some plugins create one or more images that can only be accessed via calls to the ImageJ2 window manager, and running in headless mode eliminates the window manager as well as other GUI components. + +Those familiar with ImageJ2 will find differences with this general pattern for executing ImageJ2 tools within Galaxy. ImageJ2 accounts for user defined global preferences which are available to tools throughout the session, and an image can be uploaded and run through any number of available tools, saving only the final image. While Galaxy currently does not account for user preferences defined in ImageJ2, enhancements to the Galaxy framework are planned that will accomodate these kinds of settings (e.g., binary image options). Also, since Galaxy initiates a new ImageJ2 session with each tool execution, initial images are uploaded to ImageJ2 and resulting images are saved for each tool execution. + +The Galaxy ImageJ2 tools currently fall into the following categories. Additional tools will be added at a steady pace. + +Working with Pixels +=================== +These Galaxy tools wrap the ImageJ2 plugins that are available in the ImageJ2 Process → Math menu. + +* **Operate on pixels** - Applies a mathematical expression (add, subtract, multiply, etc.) to each pixel in the image. When the resulting pixel value overflows/underflows the legal range of the image's data type, the value is reset to the maximum/minimum value. + +Filters and Effects +=================== +These Galaxy tools wrap the ImageJ2 plugins that are available in the ImageJ2 Process menu. + +* **Smooth** - Blurs the image by replacing each pixel with the average of its 3x3 neighborhood. +* **Sharpen** - Increases contrast and accentuates detail in the image, but may also accentuate noise. +* **Find Edges** - Uses a Sobel edge detector to highlight sharp changes in intensity in the active image. +* **Add shadow effect** - Produces a shadow effect, with light appearing to come from the selected direction (East, North, Northeast, Northwest, South, Southeast, Southwest and West). +* **Find Maxima** - Determines the local maxima in an image and creates a binary (mask-like) image of the same size with the maxima (or one segmented particle per maximum) marked. +* **Enhance contrast** - Enhances image contrast by using either normalization (contrast stretching) or histogram equalization. +* **Add or remove noise** - Adds specified noise to or removes noise from images. + +Binary Image Tools +================== +These Galaxy tools wrap the ImageJ2 plugins that are available in the ImageJ2 Process → Binary menu. + +* **Convert to binary** - Converts an image into a binary (black and white) image. +* **Adjust threshold** - Sets lower and upper threshold values, segmenting grayscale images into +features of interest and background. +* **Watershed segmentation** - Automatically separates or cuts apart particles that touch. +* **Analyze particles** - Analyzes the particles in a segmented binary image, providing information about +each particle in the image. +* **Skeletonize images** - Uses the Skeletonize3D plugin to find the centerlines (”skeleton”) of objects in the input image. Skeletonize3d is a plugin written by Ignacio Arganda-Carreras that offers several advantages over the legacy skeletonization algorithm of ImageJ available in the Process → Binary → Skeletonize menu item. Skeletonize works only with binary 2D images. Skeletonize3D works with 8-bit 2D images and stacks, expecting the image to be binary. If not, Skeletonize3D considers all pixel values above 0 to be white (255). While Skeletonize↑ relies on Black background value, the output of Skeletonize3D always has a value of 255 at the skeleton and 0 at background pixels, independently of the Black background option. +* **Analyze skeleton** - Tags all pixel/voxels in a skeleton image and then counts all its junctions, +triple and quadruple points and branches, and measures their average and maximum length. +* **Convert binary image to EDM** - Converts a binary image into a 8-bit grayscale Euclidean Distance Map (EDM). Each foreground (nonzero) pixel in the binary image is assigned a value equal to its distance from the nearest background (zero) pixel. + +**Interpreting binary Images in ImageJ2** + +Binary images are thresholded to only two values, typically 0 and 1, but often — as with ImageJ — 0 and 255, that represent black and white on an 8-bit scale. + +The interpretation of binary images is not universal. While some software packages will always perform binary operations on 255 values (or 1, or any non-zero value), ImageJ takes into account the foreground and background colors of the binary image. + +In ImageJ, the **Black background** global preference setting defines not only how new binary images will be created, but also how previously created images are interpreted. This means objects will be inferred on a image-per-image basis. As such, inverting the LUT (i.e., pixels with a value of zero are white and pixels with a value 255 are black) of a binary image without updating the black background option may lead to unexpected results. This issue can currently be avoided by properly selecting the **Black background** option available on all Galaxy binary image tools. + +BunwarpJ Plugin Tools +===================== +These Galaxy tools wrap the bUnwarpJ plugin [http://fiji.sc/BUnwarpJ](http://fiji.sc/BUnwarpJ). + +* **Adapt an elastic transformation** - Adapts an elastic transformation to a new image size by transforming the +coefficients of a specified elastic transformation according to a real image factor. +* **Align two images** - Performs a simultaneous registration of two images, A and B. Image A is elastically deformed +in order to look as similar as possible to image B, and, at the same time, the "inverse" +transformation (from B to A) is also calculated so a pseudo-invertibility of the final deformation +could be guaranteed. Two images are produced: the deformed versions of A and B images. +* **Compare opposite elastic deformations** - Calculates the warping index of two opposite elast transformations, i.e. the average of the geometrical distance between every pixel and its version after applying both transformations (direct and inverse). +* **Compare elastic and raw deformation** - Calculates the warping index of an elastic transformation and a raw transformation. +* **Compare two raw deformations** - Calculates the warping index of two raw transformations (same direction). +* **Compose two elastic transformations** - Composes two elastic transformations into a raw transformation. +* **Compose two raw transformations** - Composes two raw transformations into another raw transformation. +* **Compose a raw and an elastic transformation** - Composes a raw transformation and an elastic transformation +into a raw transformation. +* **Convert elastic transformation to raw** - Converts an elastic (i.e., B-spline ) transformation file into a raw transformation file. +* **Apply elastic transformation** - Applies an elastic transformation to an image, producing another image which is elastically +deformed according to the transformation. +* **Apply raw transformation** - Applies a raw transformation to an image, producing another image which is deformed according +to the transformation. + +Other Tools +=========== +* **Create new image** - Creates a new image of a selected type, size, depth and format. +* **Convert image format** - Converts the format of an input image file, producing an output image. + +Licence +======= + +Fiji is released as open source under the GNU General Public License: [http://www.gnu.org/licenses/gpl.html](http://www.gnu.org/licenses/gpl.html) + +Fiji builds on top of the ImageJ2 core, which is licensed under the permissive BSD 2-Clause license: [http://opensource.org/licenses/BSD-2-Clause](http://opensource.org/licenses/BSD-2-Clause) + +Plugins and other components have their own licenses. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/adapted_transformation.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,19 @@ +Intervals=4 + +X Coeffs ----------------------------------- + -71.22261496228916 -0.35442767924191093 70.55477101478836 141.48046330114607 212.39813136117553 283.36374640208885 354.43327963109795 + -71.28352256238495 -37.226230944094716 76.34084941944606 160.02208968373813 273.55343187174 254.79291915021662 354.2799811586804 + -71.2426429370489 -32.71748193741429 177.9000599691838 128.29850224500663 140.92089517714993 258.80790676143397 354.12912297861186 + -71.16592771634139 -5.2361603551610765 200.1952417342254 250.67440518610016 175.9632721236523 269.8182348834141 354.05647262505533 + -71.11932853032275 -11.878550966054844 225.55781625788134 230.48529336480044 258.5284090366016 303.9164005876728 354.13779763217406 + -71.08970622730098 20.302646615516533 74.38994929885534 150.94855292599084 233.92703879457446 303.27842533983653 354.2944484209131 + -71.06392165558401 -0.1475022444872089 70.71553999200232 141.56589696490104 212.44426058522552 283.3913227639922 354.44777541221777 + +Y Coeffs ----------------------------------- + -71.0 -70.97352968109173 -70.89411872436696 -70.84117808655046 -70.89411872436696 -70.97352968109173 -71.0 + 0.0 0.0397054783623835 14.202191039012094 119.43281261970162 -64.7898912338142 -78.07610697398358 0.0 + 71.0 41.99965358343721 48.801650399807585 -4.96831542657184 65.92550026202618 52.529005249001116 71.0 + 142.0 42.71037318260199 -10.45958071265268 137.6637735153788 13.689619340755756 126.62467245361297 142.0004344305075 + 212.99999999999997 214.58667057999367 290.49952942694233 211.47733987307876 213.00310018836666 242.7605654138609 213.00173772203004 + 284.0 284.0005109248762 324.2670965032303 296.04807329727873 307.46661221661003 309.9351077964876 284.00260658304506 + 354.99999999999994 355.0003406165841 355.00136246633656 355.0024781300123 353.49851662901756 355.0029471996293 355.00173772203
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/analyze_particles_nothing.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,66 @@ + Area Mean Min Max +1 136 255 255 255 +2 60 255 255 255 +3 206 255 255 255 +4 139 255 255 255 +5 152 255 255 255 +6 86 255 255 255 +7 72 255 255 255 +8 25 255 255 255 +9 85 255 255 255 +10 9 255 255 255 +11 157 255 255 255 +12 207 255 255 255 +13 29 255 255 255 +14 73 255 255 255 +15 143 255 255 255 +16 125 255 255 255 +17 159 255 255 255 +18 133 255 255 255 +19 85 255 255 255 +20 109 255 255 255 +21 51 255 255 255 +22 133 255 255 255 +23 133 255 255 255 +24 81 255 255 255 +25 162 255 255 255 +26 88 255 255 255 +27 212 255 255 255 +28 55 255 255 255 +29 116 255 255 255 +30 172 255 255 255 +31 103 255 255 255 +32 4 255 255 255 +33 60 255 255 255 +34 198 255 255 255 +35 187 255 255 255 +36 7 255 255 255 +37 85 255 255 255 +38 80 255 255 255 +39 75 255 255 255 +40 103 255 255 255 +41 151 255 255 255 +42 52 255 255 255 +43 122 255 255 255 +44 129 255 255 255 +45 77 255 255 255 +46 171 255 255 255 +47 117 255 255 255 +48 207 255 255 255 +49 119 255 255 255 +50 181 255 255 255 +51 22 255 255 255 +52 49 255 255 255 +53 150 255 255 255 +54 191 255 255 255 +55 170 255 255 255 +56 64 255 255 255 +57 174 255 255 255 +58 270 255 255 255 +59 87 255 255 255 +60 69 255 255 255 +61 1 255 255 255 +62 29 255 255 255 +63 25 255 255 255 +64 16 255 255 255 +65 15 255 255 255
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/basic.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,2 @@ +# Branches Junctions End-point Voxels Junction Voxels Slab Voxels Average branch length Triple Points Quadruple Points Maximum Branch Length +96 60 7 120 1246 17.344 56 3 70.882
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blobs_count.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,2 @@ + Count +1 112
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blobs_direct_transf.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,19 @@ +Intervals=4 + +X Coeffs ----------------------------------- + -34.14981674286569 3.144052189417975 44.74398427283767 72.62900018057132 111.3348086331012 134.27021754923854 171.74048996962574 + -46.475609806523806 -28.37507243951631 71.19906566193379 30.10778479539863 122.71885776990422 109.9563576074076 171.94005579124322 + -57.04494430952696 1.8032931596380026 61.404945193416715 42.75919945626539 148.2715738833391 126.39195563069309 116.8758739961032 + -26.50696765072751 24.133275156317662 45.18779137671111 49.91727740928712 130.5425749032711 160.35055773949284 186.2385413131219 + 30.36695633747302 -3.333376652604397 35.957597759623795 86.8060703274396 102.5208634329241 126.298277744805 243.1342175649626 + -2.831201175463878 -4.836159041803193 36.263197544298954 77.65977608215381 98.47306066697166 149.98143182373533 193.72941653859635 + -33.88117649278133 7.9003473752729985 41.603347919804314 72.11109321021485 111.05849721622616 148.16049042863358 181.51669289966162 + +Y Coeffs ----------------------------------- + -32.99874935645494 -10.853014366833959 -18.11337422707787 120.45933796140201 -11.717505555260894 -42.65980408275417 -41.34878020779432 + 11.306632136922623 42.01572254879719 -18.137465736571315 41.67904406737918 -9.059457409112 -63.14804168936847 -7.646807909694754 + 20.638424092275454 35.302620259132304 1.8587715711200654 2.065183621887666 13.47064662534885 8.966817348422527 65.74329336525717 + 79.92027086396175 117.61262084713007 78.2409336472003 102.3526144171297 97.29273111510625 48.80095761073018 89.32772899111102 + 121.0699654326738 114.38154300759474 23.57251043213103 101.87328690674049 115.94282218472065 106.18526585145909 111.14979545782822 + 140.58687592247674 130.54971240393465 177.05271414686374 150.48052118800214 150.41722526235608 156.3116913517668 146.21075369002716 + 175.51191703543347 174.9228152249439 173.31675176966468 181.87538254503764 170.81399893021742 186.14994867024973 185.85560874061068
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blobs_list.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,113 @@ + X Y +1 95 8 +2 107 24 +3 10 25 +4 34 16 +5 2 20 +6 118 11 +7 19 10 +8 132 0 +9 124 143 +10 130 139 +11 142 126 +12 140 108 +13 125 99 +14 133 80 +15 30 65 +16 46 52 +17 42 41 +18 116 34 +19 24 36 +20 136 33 +21 50 29 +22 86 29 +23 125 23 +24 143 23 +25 71 10 +26 39 8 +27 105 5 +28 5 3 +29 23 0 +30 2 0 +31 114 141 +32 31 140 +33 112 136 +34 20 133 +35 125 122 +36 28 116 +37 110 109 +38 54 105 +39 15 101 +40 142 95 +41 96 93 +42 4 88 +43 112 91 +44 86 91 +45 58 90 +46 42 90 +47 76 77 +48 102 84 +49 44 81 +50 29 75 +51 41 73 +52 57 73 +53 0 72 +54 118 66 +55 44 68 +56 16 60 +57 67 64 +58 125 63 +59 85 63 +60 108 62 +61 88 49 +62 122 47 +63 97 48 +64 64 43 +65 143 47 +66 28 44 +67 85 46 +68 1 44 +69 14 42 +70 127 40 +71 63 36 +72 93 28 +73 60 28 +74 23 26 +75 73 23 +76 62 24 +77 142 18 +78 49 15 +79 77 3 +80 101 1 +81 95 1 +82 95 140 +83 83 138 +84 69 139 +85 68 126 +86 6 133 +87 70 135 +88 52 135 +89 90 124 +90 88 116 +91 1 114 +92 51 112 +93 8 113 +94 83 112 +95 62 109 +96 31 105 +97 81 99 +98 33 99 +99 31 92 +100 59 85 +101 51 70 +102 79 57 +103 109 54 +104 112 50 +105 104 48 +106 12 48 +107 94 64 +108 43 24 +109 98 22 +110 67 78 +111 143 7 +112 143 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/composed_raw_elastic_transformation.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,5 @@ +Width=144 +Height=144 + +X Trans ----------------------------------- + -8.356784649818302 -7.197224454983437 -6.007291128456463 -4.78857035976083 -3.542648755368276 -2.27111292175059 -0.9755494653795207 0.34245500727314293 1.6813138897356357 3.0394405755361955 4.415248458203067 5.807150931264452 7.21356138824859 6.722616523231703 7.982832965851492 9.241901922762699 10.500157904929564 11.755439850906992 13.007881998138114 14.257818796273467 15.503597042436024 16.7441831444607 17.979203521782882 19.209729191621175 20.434924351265607 21.653927817871562 22.868018271403987 24.077212618583225 25.28220858222662 26.482822213238034 27.68108269563495 28.876976885081163 30.071735843481154 31.267312088467172 32.461884574486334 33.6540253250871 34.84451070010306 36.032159052340404 37.21731193936262 38.40098887470948 39.58514301848773 40.7697991777691 41.95621659878733 43.14336916337468 44.332762755666245 45.52368427263207 46.71616063628192 47.9102587132078 49.10447011578231 50.29945996745416 51.49280946178481 52.68452392595436 53.87243480117253 55.0558589967881 56.23259866253449 57.40168688627666 58.560586048253406 59.70814582308569 60.842020356312204 61.96028478681958 63.06129999594824 64.14282865164152 65.20294849643733 66.23977708520655 67.251514074432 68.2364787499741 69.19379132689076 70.12368273237351 71.02688237947935 71.90443109666018 72.75759402782955 73.58797464576547 74.39754123580246 75.18880500856693 75.96371546546276 76.7252296396663 77.47583769656181 78.21957975177521 78.95905016293707 79.69712587468834 80.4370485162662 81.18210364892593 81.93429837927215 82.69597230924478 83.4691472921311 84.25544962565074 85.05614376573314 85.87215879473054 86.70392313153135 87.55146827026859 88.41445157658053 89.29218897542948 90.18369572122522 91.08773317913175 102.68235537543303 103.7042131782845 104.71196201385267 105.70449758967617 106.68071561329351 107.63951179224333 108.57978183406415 109.50042144629455 110.40032633647319 111.2783922121385 112.13351478082917 112.96458975008372 113.77051282744074 114.55017972043879 115.30267699164074 116.02873972512184 116.72995672023089 117.40792272643284 118.0642324931926 118.70048076997512 119.31826230624539 119.91917185146836 120.50480415510899 121.07675396663221 121.63661603550297 122.18598511118623 122.72645594314696 123.2596232808501 123.78708187376054 124.31042647134338 124.83125182306345 125.35115267838574 125.87172378677525 126.39455989769684 126.92125576061551 127.45340612499622 127.99260574030393 128.54044935600356 129.0985317215601 129.66844758643848 130.25179170010364 130.85015881202057 131.4651436716542 132.0983410284695 132.75134563193137 133.42575223150482 134.12315557665482 134.84515041684625 135.5933315015441 136.36929118355562
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/composed_raw_transformation.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,5 @@ +Width=144 +Height=144 + +X Trans ----------------------------------- + -8.356784649818302 -7.197224454983437 -6.007291128456463 -4.78857035976083 -3.542648755368276 -2.27111292175059 -0.9755494653795207 0.34245500727314293 1.6813138897356357 3.0394405755361955 4.415248458203067 5.807150931264452 7.21356138824859 6.722616523231703 7.982832965851492 9.241901922762699 10.500157904929564 11.755439850906992 13.007881998138114 14.257818796273467 15.503597042436024 16.7441831444607 17.979203521782882 19.209729191621175 20.434924351265607 21.653927817871562 22.868018271403987 24.077212618583225 25.28220858222662 26.482822213238034 27.68108269563495 28.876976885081163 30.071735843481154 31.267312088467172 32.461884574486334 33.6540253250871 34.84451070010306 36.032159052340404 37.21731193936262 38.40098887470948 39.58514301848773 40.7697991777691 41.95621659878733 43.14336916337468 44.332762755666245 45.52368427263207 46.71616063628192 47.9102587132078 49.10447011578231 50.29945996745416 51.49280946178481 52.68452392595436 53.87243480117253 55.0558589967881 56.23259866253449 57.40168688627666 58.560586048253406 59.70814582308569 60.842020356312204 61.96028478681958 63.06129999594824 64.14282865164152 65.20294849643733 66.23977708520655 67.251514074432 68.2364787499741 69.19379132689076 70.12368273237351 71.02688237947935 71.90443109666018 72.75759402782955 73.58797464576547 74.39754123580246 75.18880500856693 75.96371546546276 76.7252296396663 77.47583769656181 78.21957975177521 78.95905016293707 79.69712587468834 80.4370485162662 81.18210364892593 81.93429837927215 82.69597230924478 83.4691472921311 84.25544962565074 85.05614376573314 85.87215879473054 86.70392313153135 87.55146827026859 88.41445157658053 89.29218897542948 90.18369572122522 91.08773317913175 102.68235537543303 103.7042131782845 104.71196201385267 105.70449758967617 106.68071561329351 107.63951179224333 108.57978183406415 109.50042144629455 110.40032633647319 111.2783922121385 112.13351478082917 112.96458975008372 113.77051282744074 114.55017972043879 115.30267699164074 116.02873972512184 116.72995672023089 117.40792272643284 118.0642324931926 118.70048076997512 119.31826230624539 119.91917185146836 120.50480415510899 121.07675396663221 121.63661603550297 122.18598511118623 122.72645594314696 123.2596232808501 123.78708187376054 124.31042647134338 124.83125182306345 125.35115267838574 125.87172378677525 126.39455989769684 126.92125576061551 127.45340612499622 127.99260574030393 128.54044935600356 129.0985317215601 129.66844758643848 130.25179170010364 130.85015881202057 131.4651436716542 132.0983410284695 132.75134563193137 133.42575223150482 134.12315557665482 134.84515041684625 135.5933315015441 136.36929118355562
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/detailed.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,2 @@ +# Branches Junctions End-point Voxels Junction Voxels Slab Voxels Average branch length Triple Points Quadruple Points Maximum Branch Length +96 60 7 120 1246 17.344 56 3 70.882
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/largest_shortest_path_basic.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,2 @@ +# Branches Junctions End-point Voxels Junction Voxels Slab Voxels Average branch length Triple Points Quadruple Points Maximum Branch Length Longest Shortest Path spx spy spz +96 60 7 120 1246 17.344 56 3 70.882 207.380 135 137 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/raw_transformation.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,5 @@ +Width=144 +Height=144 + +X Trans ----------------------------------- + 4.176715938136983 5.028059425766952 5.848163112344083 6.625286081420434 7.346949869450837 7.999993504600507 8.570638908853306 9.044622789513964 9.413506255387968 9.681218421492703 9.854312101993061 9.940614113498254 9.949133680349874 9.889960336823316 9.774150445497835 9.613603978540679 9.420928827203937 9.209297594621251 8.99229520815497 8.783758029488393 8.597605040212112 8.447661785513965 8.347477892926463 8.310139148227263 8.348075306899938 8.472865046334638 8.695039719264653 9.02388784955587 9.467262612735961 10.031394859423866 10.720714562420634 11.537683888429232 12.482635931423559 13.548553680644847 14.713909933407903 15.955437681044362 17.250615997032845 18.57910317041673 19.924588848162042 21.273131961240793 22.61287165006273 23.933978509626925 25.228599373795102 26.49079330268239 27.7164571781934 28.90324005022652 30.050446065539795 31.15892642005994 32.23096128077027 33.27013301056534 34.28119229030748 35.269918863348025 36.24297862912084 37.20777868670669 38.172321680760554 39.14506043617836 40.134753390327724 41.15032074914446 42.20070061327572 43.29470355140843 44.44086325080732 45.64727996412613 46.921452516062644 48.27009365995084 49.69892261951472 51.21242468486518 52.81308002996115 54.5006890705208 56.27295866194047 58.12547164246331 60.05155284704986 62.042126167374654 64.0853963435782 66.16300087019144 68.25096023630147 70.32434810515224 72.35799991286407 74.32708587789452 76.20772360258024 77.97761366869307 79.61667819048832 81.10767966466686 82.43679584207585 83.59412588149885 84.57410381192264 85.37579734320398 86.0030732794589 86.46461509691974 86.77378348443933 86.94831659732299 87.00987319114694 86.98342840026854 86.89653840770765 86.77849631690853 86.65940540750502 86.56678652831073 86.51894680093264 86.52962234401939 86.6091568313555 86.76444343256262 86.99795950541491 87.30767458029689 87.6887773859162 88.1343150744824 88.63573469192004 89.18339795340363 89.76705660855026 90.37627810648544 91.00098259921862 91.63313750582321 92.26649727091988 92.89592945322954 93.51736271382487 94.12771798912087 94.72482575123138 95.30733544608778 95.87462173881887 96.42669102951422 96.9640907767786 97.48782343666693 97.99926625358638 98.50009769694455 98.99223099750193 99.47775497987517 99.95888219552717 100.43790422009906 100.91715387889398 101.39897409567641 101.8856930154123 102.37960502529904 102.88295728576551 103.39794138037603 103.92668969786209 104.47127616862906 105.03372099039578 105.61599899198129 106.2200512999695 106.84779998979062 107.50116542083198 108.1820859751434 108.89253994223978 109.63456932007529 110.41030533674008 111.22199287092927
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/shortest_branch_all_yes.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,205 @@ +# Branches Junctions End-point Voxels Junction Voxels Slab Voxels Average branch length Triple Points Quadruple Points Maximum Branch Length Longest Shortest Path spx spy spz +1 0 2 0 1 2.414 0 0 2.414 2.414 1 59 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 4 91 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 5 43 0 +143 75 40 144 918 9.176 61 9 96.113 277.930 161 0 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 5 80 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 6 53 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 6 67 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 8 64 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 7 75 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 9 66 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 9 76 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 11 81 0 +1 0 2 0 0 1.414 0 0 1.414 1.414 15 65 0 +1 0 2 0 3 4.000 0 0 4.000 4.000 27 84 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 27 93 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 26 99 0 +1 0 2 0 3 4.414 0 0 4.414 4.414 38 91 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 39 88 0 +1 0 2 0 3 5.657 0 0 5.657 5.657 49 111 0 +5 2 4 2 97 23.182 2 0 58.385 100.770 92 174 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 65 31 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 66 175 0 +1 0 2 0 4 5.828 0 0 5.828 5.828 88 42 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 89 177 0 +1 0 2 0 4 5.828 0 0 5.828 5.828 97 51 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 95 44 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 105 14 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 104 20 0 +262 117 105 266 957 5.803 65 37 34.142 352.779 279 50 0 +96 43 31 104 373 6.437 25 11 34.142 212.675 192 110 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 121 35 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 132 54 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 135 53 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 138 116 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 138 124 0 +22 11 10 24 151 9.834 10 1 20.728 116.633 207 123 0 +5 2 4 2 44 12.285 2 0 26.799 52.184 176 174 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 156 54 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 162 61 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 163 56 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 163 59 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 166 58 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 168 59 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 168 154 0 +1 0 2 0 0 1.414 0 0 1.414 1.414 173 183 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 175 0 0 +1 0 2 0 0 1.414 0 0 1.414 1.414 176 170 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 176 182 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 177 172 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 179 0 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 179 175 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 178 179 0 +4 1 4 4 6 4.282 0 1 5.650 10.479 182 195 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 179 183 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 180 2 0 +1 0 2 0 2 3.000 0 0 3.000 3.000 184 0 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 186 53 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 190 53 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 189 71 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 192 3 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 190 50 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 193 64 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 192 66 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 195 102 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 196 68 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 196 66 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 199 102 0 +1 0 2 0 0 1.414 0 0 1.414 1.414 205 71 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 206 129 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 208 6 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 210 72 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 210 80 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 211 83 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 211 63 0 +1 0 2 0 6 8.657 0 0 8.657 8.657 216 74 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 212 65 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 212 99 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 215 65 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 214 67 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 214 69 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 214 86 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 214 97 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 216 9 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 218 91 0 +1 0 2 0 2 3.414 0 0 3.414 3.414 222 8 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 224 94 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 225 55 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 225 7 0 +3 1 3 1 8 4.219 1 0 6.414 9.828 234 11 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 229 61 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 229 104 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 229 109 0 +3 1 3 1 3 3.162 1 0 4.243 7.071 234 58 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 231 102 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 235 5 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 236 41 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 236 60 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 237 111 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 239 56 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 240 111 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 240 19 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 240 109 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 242 107 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 244 9 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 246 108 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 247 27 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 248 108 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 251 109 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 250 61 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 253 31 0 +1 0 2 0 2 3.000 0 0 3.000 3.000 253 36 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 253 63 0 +1 0 2 0 0 1.414 0 0 1.414 1.414 254 67 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 254 71 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 255 57 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 257 45 0 +1 0 2 0 6 7.414 0 0 7.414 7.414 265 70 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 260 61 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 262 67 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 263 60 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 267 48 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 268 60 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 271 70 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 273 64 0 +1 0 2 0 11 13.243 0 0 13.243 13.243 277 7 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 277 47 0 +1 0 2 0 3 4.828 0 0 4.828 4.828 277 58 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 279 52 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 279 15 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 281 63 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 280 11 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 280 31 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 280 60 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 282 52 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 281 67 0 +1 0 2 0 2 3.000 0 0 3.000 3.000 285 47 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 283 54 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 283 77 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 283 11 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 285 66 0 +3 1 3 3 12 6.495 1 0 7.828 14.657 297 56 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 284 64 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 286 17 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 287 28 0 +1 0 2 0 2 3.414 0 0 3.414 3.414 286 110 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 286 57 0 +1 0 2 0 3 4.414 0 0 4.414 4.414 289 86 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 288 36 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 287 108 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 289 122 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 287 134 0 +13 6 8 10 55 5.956 6 0 20.899 68.184 309 78 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 288 69 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 288 75 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 288 92 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 293 46 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 291 78 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 292 71 0 +1 0 2 0 7 8.828 0 0 8.828 8.828 300 119 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 293 135 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 296 22 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 296 30 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 296 145 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 298 27 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 297 75 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 298 157 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 298 24 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 301 88 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 301 98 0 +5 1 5 3 15 5.994 0 0 12.243 18.899 313 82 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 303 35 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 303 104 0 +1 0 2 0 2 3.000 0 0 3.000 3.000 306 75 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 303 118 0 +1 0 2 0 1 2.414 0 0 2.414 2.414 305 123 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 304 52 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 305 73 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 304 115 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 306 32 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 306 87 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 306 94 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 306 127 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 308 89 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 309 39 0 +1 0 2 0 5 6.000 0 0 6.000 6.000 315 94 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 309 99 0 +1 0 2 0 4 6.243 0 0 6.243 6.243 315 48 0 +1 0 2 0 8 10.657 0 0 10.657 10.657 312 50 0 +1 0 2 0 4 5.000 0 0 5.000 5.000 315 57 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 311 141 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 312 4 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 313 27 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 313 55 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 313 84 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 314 75 0 +1 0 2 0 0 1.414 0 0 1.414 1.414 316 9 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 316 30 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 316 79 0 +1 0 2 0 2 3.000 0 0 3.000 3.000 319 27 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 317 55 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 318 63 0 +0 0 1 0 0 0.000 0 0 0.000 0.000 317 23 0 +1 0 2 0 1 2.000 0 0 2.000 2.000 319 83 0 +1 0 2 0 0 1.000 0 0 1.000 1.000 319 58 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/shortest_branch_basic.tabular Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,205 @@ +# Branches Junctions End-point Voxels Junction Voxels Slab Voxels Average branch length Triple Points Quadruple Points Maximum Branch Length +1 0 2 0 1 2.414 0 0 2.414 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +143 75 40 144 918 9.176 61 9 96.113 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.414 0 0 1.414 +1 0 2 0 3 4.000 0 0 4.000 +1 0 2 0 1 2.000 0 0 2.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 3 4.414 0 0 4.414 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 3 5.657 0 0 5.657 +5 2 4 2 97 23.182 2 0 58.385 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 4 5.828 0 0 5.828 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 4 5.828 0 0 5.828 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +262 117 105 266 957 5.803 65 37 34.142 +96 43 31 104 373 6.437 25 11 34.142 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +22 11 10 24 151 9.834 10 1 20.728 +5 2 4 2 44 12.285 2 0 26.799 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.414 0 0 1.414 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 0 1.414 0 0 1.414 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +4 1 4 4 6 4.282 0 1 5.650 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 2 3.000 0 0 3.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.414 0 0 2.414 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 1 2.414 0 0 2.414 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.414 0 0 1.414 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 6 8.657 0 0 8.657 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 2 3.414 0 0 3.414 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +3 1 3 1 8 4.219 1 0 6.414 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +3 1 3 1 3 3.162 1 0 4.243 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.000 0 0 2.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.414 0 0 2.414 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 2 3.000 0 0 3.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.414 0 0 1.414 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 6 7.414 0 0 7.414 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 11 13.243 0 0 13.243 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 3 4.828 0 0 4.828 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.000 0 0 2.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 2 3.000 0 0 3.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.000 0 0 2.000 +3 1 3 3 12 6.495 1 0 7.828 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.414 0 0 2.414 +1 0 2 0 2 3.414 0 0 3.414 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 3 4.414 0 0 4.414 +1 0 2 0 1 2.414 0 0 2.414 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.414 0 0 2.414 +0 0 1 0 0 0.000 0 0 0.000 +13 6 8 10 55 5.956 6 0 20.899 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.000 0 0 2.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 7 8.828 0 0 8.828 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 1 2.000 0 0 2.000 +5 1 5 3 15 5.994 0 0 12.243 +1 0 2 0 1 2.414 0 0 2.414 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 2 3.000 0 0 3.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.414 0 0 2.414 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 5 6.000 0 0 6.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 4 6.243 0 0 6.243 +1 0 2 0 8 10.657 0 0 10.657 +1 0 2 0 4 5.000 0 0 5.000 +0 0 1 0 0 0.000 0 0 0.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 0 1.414 0 0 1.414 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 2 3.000 0 0 3.000 +1 0 2 0 0 1.000 0 0 1.000 +1 0 2 0 1 2.000 0 0 2.000 +0 0 1 0 0 0.000 0 0 0.000 +1 0 2 0 1 2.000 0 0 2.000 +1 0 2 0 0 1.000 0 0 1.000
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/source_elastic_transformation.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,19 @@ +Intervals=4 + +X Coeffs ----------------------------------- + -35.61130748114458 -0.17721383962095547 35.27738550739418 70.74023165057304 106.19906568058776 141.68187320104443 177.21663981554897 + -35.64176128119247 -18.613115472047358 38.17042470972303 80.01104484186907 136.77671593587 127.39645957510831 177.1399905793402 + -35.62132146852445 -16.358740968707146 88.9500299845919 64.14925112250332 70.46044758857497 129.40395338071698 177.06456148930593 + -35.58296385817069 -2.6180801775805382 100.0976208671127 125.33720259305008 87.98163606182615 134.90911744170705 177.02823631252767 + -35.55966426516137 -5.939275483027422 112.77890812894067 115.24264668240022 129.2642045183008 151.9582002938364 177.06889881608703 + -35.54485311365049 10.151323307758267 37.19497464942767 75.47427646299542 116.96351939728723 151.63921266991827 177.14722421045656 + -35.531960827792005 -0.07375112224360444 35.35776999600116 70.78294848245052 106.22213029261276 141.6956613819961 177.22388770610888 + +Y Coeffs ----------------------------------- + -35.5 -35.48676484054587 -35.44705936218348 -35.42058904327523 -35.44705936218348 -35.48676484054587 -35.5 + 0.0 0.01985273918119175 7.101095519506047 59.71640630985081 -32.3949456169071 -39.03805348699179 0.0 + 35.5 20.999826791718604 24.400825199903792 -2.48415771328592 32.96275013101309 26.264502624500558 35.5 + 71.0 21.355186591300996 -5.22979035632634 68.8318867576894 6.844809670377878 63.31233622680649 71.00021721525376 + 106.49999999999999 107.29333528999683 145.24976471347117 105.73866993653938 106.50155009418333 121.38028270693044 106.50086886101502 + 142.0 142.0002554624381 162.13354825161514 148.02403664863937 153.73330610830502 154.9675538982438 142.00130329152253 + 177.49999999999997 177.50017030829204 177.50068123316828 177.50123906500616 176.74925831450878 177.50147359981466 177.500868861015
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/source_raw_transformation.txt Tue Sep 17 17:02:18 2019 -0400 @@ -0,0 +1,294 @@ +Width=144 +Height=144 + +X Trans ----------------------------------- + -8.356784649818302 -7.197224454983437 -6.007291128456463 -4.78857035976083 -3.542648755368276 -2.27111292175059 -0.9755494653795207 0.34245500727314293 1.6813138897356357 3.0394405755361955 4.415248458203067 5.807150931264452 7.21356138824859 8.632893222683734 10.063559828098088 11.503974598019894 12.952550925977388 14.407702205498786 15.867841830112352 17.331383193346277 18.796739688728827 20.262324709788203 21.726551650052656 23.187833903050404 24.64458486230968 26.09521792135873 27.53814647372579 28.971783912939053 30.39454363252679 31.80483902601722 33.20108348693856 34.58169040881904 35.94507318518693 37.28964520957042 38.613819875497754 39.91601057649718 41.19463931189525 42.44894522166797 43.67977041049533 44.8881387226239 46.07507400230021 47.24160009377076 48.38874084128215 49.51752008908086 50.62896168141348 51.724089462526514 52.803927276666506 53.86949896808 54.92182838101353 55.961939359713675 56.990855748426895 58.009601391399784 59.01920013287888 60.02067581711069 61.015052288341764 62.00335339081867 62.98660296878793 63.96582486649604 64.94204292818961 65.91628099811513 66.88956292051915 67.86291253964822 68.83735369974886 69.81391024506763 70.79360601985103 71.77746486834566 72.76651063479801 73.76176716345464 74.76425829856204 75.7750078843668 76.79503976511549 77.82537778505457 78.86700293195861 79.91987202230135 80.98292657951217 82.05506231112969 83.13517492469245 84.22216012773899 85.31491362780798 86.41233113243788 87.51330834916736 88.61674098553493 89.72152474907921 90.82655534733871 91.93072848785208 93.03293987815786 94.13208522579464 95.22706023830095 96.3167606232154 97.40008208807656 98.47592034042299 99.54317108779328 100.60073003772601 101.64749289775975 102.68235537543303 103.7042131782845 104.71196201385267 105.70449758967617 106.68071561329351 107.63951179224333 108.57978183406415 109.50042144629455 110.40032633647319 111.2783922121385 112.13351478082917 112.96458975008372 113.77051282744074 114.55017972043879 115.30267699164074 116.02873972512184 116.72995672023089 117.40792272643284 118.0642324931926 118.70048076997512 119.31826230624539 119.91917185146836 120.50480415510899 121.07675396663221 121.63661603550297 122.18598511118623 122.72645594314696 123.2596232808501 123.78708187376054 124.31042647134338 124.83125182306345 125.35115267838574 125.87172378677525 126.39455989769684 126.92125576061551 127.45340612499622 127.99260574030393 128.54044935600356 129.0985317215601 129.66844758643848 130.25179170010364 130.85015881202057 131.4651436716542 132.0983410284695 132.75134563193137 133.42575223150482 134.12315557665482 134.84515041684625 135.5933315015441 136.36929118355562 + -8.374127336215409 -7.203348638731092 -6.0013206733761475 -4.7696961635913855 -3.5101287650461663 -2.2242721334099076 -0.9137799243519846 0.41969420645818767 1.7744966033512157 3.1489736106577126 4.541471572708295 5.950336833833539 7.373915738364056 8.810554630630472 10.258599854963366 11.716397755693352 13.182294677151042 14.654636963667025 16.13177095957193 17.612043009196334 19.09379945687087 20.575386646926102 22.05515092369267 23.53143863150116 25.002596114682184 26.466969717566347 27.92290578448427 29.36875065976652 30.802850687743735 32.223552212746505 33.62920157910542 35.01814513115111 36.38872921321416 37.7393001696252 39.068204344714815 40.37378808281361 41.65440664168441 42.90926935614159 44.13926028214121 45.34545345644705 46.528922915822875 47.690742697032405 48.83198683683946 49.953729372007764 51.057044339301115 52.143005775483246 53.21268771731792 54.267164201568924 55.307509265 56.33479694437496 57.35010127645748 58.35449629801139 59.34905604580045 60.334854556588404 61.312965867139 62.28446401421604 63.25042303458329 64.21191696500446 65.17001984224338 66.12580570306376 67.0803485842294 68.03472252250404 68.99000155465146 69.94725971743541 70.90757104761965 71.87200958196799 72.84164935724412 73.81756441021187 74.80082877763496 75.79251649627716 76.79370160290226 77.80545813427396 78.82881636861389 79.86376233996042 80.9092465607177 81.96417287723142 83.02744513584726 84.09796718291082 85.17464286476785 86.25637602776392 87.34207051824474 88.43063018255596 89.52095886704322 90.61196041805218 91.70253868192852 92.7915975050179 93.87804073366597 94.9607722142184 96.0386957930208 97.11071531641889 98.1757346307583 99.2326575823847 100.28038801764376 101.3178297828811 102.3438867244424 103.35746268867334 104.35746152191956 105.34278707052673 106.31234318084046 107.2650336992065 108.19976247197042 109.1154333454779 110.01095016607468 110.88521678010629 111.73713703391849 112.56561477385691 113.3695538462672 114.14785809749499 114.89962009253804 115.62556233838013 116.32725148504248 117.00626005485124 117.66416057013244 118.30252555321215 118.92292752641654 119.52693901207168 120.11613253250368 120.6920806100386 121.25635576700257 121.81053052572165 122.35617740852197 122.89486893772957 123.42817763567058 123.95767602467114 124.4849366270573 125.01153196515514 125.5390345612908 126.06901693779034 126.60305161697981 127.14271112118541 127.68956797273322 128.24519469394923 128.81116380715963 129.38904783469047 129.9804192988679 130.58685072201794 131.20991462646674 131.8511835345404 132.51222996856495 133.1946264508666 133.89994550377136 134.6297596496053 135.38564141069455 136.1691609233785 + -8.37487983824661 -7.192384807318466 -5.97776320986915 -4.732736469479521 -3.4590269579456354 -2.158357047063599 -0.8324491086294795 0.5169744855606161 1.8881913637106047 3.279479154024406 4.689115484705945 6.1153779839591085 7.556544279987815 9.010892000996 10.47669877518755 11.95224223076639 13.435799995936435 14.925649698901587 16.420068967865785 17.91733543103291 19.415726716606905 20.91352045279165 22.408994267791083 23.900425789809102 25.38609264704963 26.86427246771658 28.333242880013884 29.791281512145403 31.236665992315096 32.667673948726865 34.08258300958461 35.47967080309225 36.857214957453714 38.21349310087291 39.546782861553716 40.8553618677001 42.13751697631131 43.392427075410275 44.62101950101135 45.82442003845832 47.00375447309498 48.16014859026505 49.29472817531238 50.40861901358067 51.50294689041377 52.5788375911554 53.637416901149365 54.67981060573941 55.707144490269336 56.72054434008295 57.72113594052394 58.710045076936176 59.68839753466339 60.65731909904933 61.61793555543781 62.571372689172605 63.51875628559749 64.46121213005621 65.39986600789258 66.33584370445037 67.27027100507334 68.20427369510527 69.13897755988992 70.07550838477113 71.01499195509257 71.95855405619811 72.90732047343148 73.8624169921365 74.82496939765687 75.79610347533641 76.7769450105189 77.76861978854811 78.77220896353114 79.78773010363744 80.81414574513586 81.85037094171292 82.89532074705514 83.94791021484895 85.00705439878095 86.07166835253757 87.14066712980534 88.21296578427075 89.28747936962033 90.36312293954052 91.43881154771786 92.51346024783888 93.58598409359004 94.65529813865786 95.72031743672882 96.77995704148942 97.8331320066262 98.87875738582564 99.91574823277422 100.9430196011585 101.9594865446649 102.96406411697998 103.95566737179021 104.93321136278213 105.8956111436422 106.84178176805698 107.77063828971288 108.68109576229644 109.57206923949423 110.44247377499265 111.29122442247825 112.11723623563753 112.91942426815702 113.69670357372314 114.44817521066173 115.17454656519331 115.87735700477423 116.55815166934431 117.2184756988432 117.85987423321072 118.48389241238658 119.09207537631056 119.68596826492241 120.26711621816185 120.83706437596862 121.39735787828248 121.9495418650432 122.4951614761905 123.03576185166412 123.57288813140389 124.10808545534942 124.64289896344057 125.17887379561706 125.71755509181861 126.26048799198499 126.80921763605593 127.36528916397123 127.93024771567056 128.50563843109373 129.09300645018044 129.69389691287046 130.30985495910357 130.94242572881947 131.59315436195797 132.2635859984587 132.9552657782615 133.66973884130618 134.4085503275323 135.17324537687975 135.9653667554002 + -8.359495812867628 -7.16481396234657 -5.937128106695716 -4.678229874394478 -3.3899118587924004 -2.0739666532390886 -0.7321868510841018 0.6336349543229587 2.0217061696325134 3.43023420149499 4.857426456560818 6.30149034148039 7.760633262904129 9.233062627482479 10.716985841865831 12.21061031270461 13.712143446649247 15.219792650350142 16.731765330457744 18.246268893622435 19.761510746494668 21.275698295724823 22.787038947963357 24.293740109860657 25.794009188067157 27.28605358923328 28.768080720009458 30.238297987046067 31.69491279699357 33.13613255650236 34.56016467222285 35.96521655080548 37.34949559890065 38.71120922315881 40.04856483023033 41.359769826765685 42.64304117045796 43.897526713299854 45.1241982426962 46.32423466700895 47.49881489460008 48.64911783383147 49.7763223930651 50.88160748066289 51.966152004986824 53.031134874398795 54.07773499726077 55.10713128193468 56.12050263678247 57.1190279701661 58.103886190447454 59.07625620598854 60.03731692515129 60.98824725629759 61.93022610778942 62.86443238798874 63.79204500525749 64.71424286795755 65.63220488445094 66.54710996309956 67.46013701226535 68.37246494031027 69.28527265559623 70.19973906648522 71.11704308133913 72.03836360851996 72.96487955638958 73.89776983331001 74.8382133476431 75.78738900775086 76.74647572199522 77.7166523987381 78.69905247408069 79.69372723730223 80.69965420428099 81.71576262749412 82.74098175941886 83.77424085253232 84.81446915931173 85.86059593223423 86.91155042377703 87.96626188641729 89.02365957263218 90.08267273489889 91.14223062569461 92.20126249749651 93.25869760278177 94.31346519402757 95.36449452371106 96.41071484430944 97.45105540829992 98.48444546815962 99.50981427636576 100.52609108539552 101.53220514772605 102.52708571583452 103.50966204219816 104.4788633792941 105.43361897959956 106.37285809559171 107.29550997974766 108.20050388454464 109.08676906245991 109.9532347659705 110.7988302475537 111.62248475968661 112.4231275548465 113.19968788551044 113.9512777386253 114.67858696795074 115.3831227534681 116.06639792665823 116.72992531900188 117.37521776197978 118.00378808707282 118.61714912576173 119.21681370952732 119.80429466985035 120.3811048382116 120.94875704609187 121.50876412497196 122.06263890633262 122.61189422165462 123.15804290241886 123.70259778010599 124.24707168619689 124.7929774521723 125.341827909513 125.89513588969976 126.45441422421344 127.02117574453477 127.59693328214453 128.1831996685235 128.78148773515252 129.39331031351233 130.02018023508373 130.66361033134746 131.3251134337844 132.00620237387523 132.7083899831008 133.43318909294194 134.1821125348793 134.95667314039375 135.75838138052578 + -8.328428917034193 -7.121117105416411 -5.879924732616097 -4.606714975305491 -3.3033519923121784 -1.9716999424637978 -0.6136229845879412 0.7690147224877493 2.1743490199356623 3.6005157489281876 5.045650750637722 6.507889866236619 7.98536893689727 9.476223803792081 10.978590308093407 12.490604290973641 14.010401593605174 15.536118057160373 17.06588952281165 18.597851831731347 20.130140825091893 21.660892344065626 23.18824222982496 24.710326323542258 26.225280466389922 27.731240499540327 29.22634226416587 30.708721601438896 32.17651435253183 33.62785635861704 35.06088346086689 36.47373150045378 37.864536318550115 39.23143375632826 40.572559654960564 41.88604985561946 43.170050078806405 44.42367660363621 45.647946682786284 46.84409354045026 48.013350400821786 49.156950488094445 50.276127026461914 51.37211324011777 52.4461423532557 53.49944759006928 54.53326217475217 55.54881933149797 56.54735228450031 57.53009425795286 58.49827847604919 59.45313816298296 60.39590654294779 61.32781684013731 62.250102278745125 63.16399608296491 64.07073147699025 64.97154168501477 65.86765993123214 66.76031943983595 67.65075343501982 68.54019514097742 69.42987778190235 70.32103458198823 71.21489876542869 72.11270355641739 73.01568217914792 73.92506785781391 74.842093816609 75.7679932797268 76.70399947136097 77.6513456157051 78.61121865763286 79.5837056649246 80.56780200966737 81.56245405749499 82.56660817404125 83.57921072493986 84.59920807582462 85.6255465923293 86.65717264008767 87.69303258473346 88.73207279190048 89.77323962722248 90.81547945633325 91.85773864486653 92.89896355845609 93.93810056273576 94.97409602333919 96.00589630590024 97.03244777605268 98.05269679943021 99.06558974166668 100.0700729683958 101.06509284525136 102.04959573786712 103.02252801187686 103.98283603291434 104.92946616661334 105.86136477860762 106.77747823453092 107.67675290001705 108.55813514069978 109.42057132221282 110.26300781019005 111.0843909702651 111.88366716807185 112.659782769244 113.41186306904237 114.14057810904184 114.84739820516609 115.5337991835392 116.20125687028529 116.85124709152834 117.48524567339251 118.1047284420019 118.71117122348053 119.30604984395254 119.89084012954196 120.46701790637286 121.03605900056942 121.59943923825564 122.15863444555559 122.71512044859341 123.27037307349315 123.8258681463789 124.38308149337472 124.94348894060472 125.50856631419296 126.07978944026355 126.65863414494056 127.24657625434804 127.84509159461012 128.45565599185085 129.07974527219432 129.7188352617646 130.37440178668584 131.04792067308202 131.74086774707726 132.45471883479567 133.19094976236136 133.95103635589828 134.7364544415306 135.5486774996604 + -8.28213280770203 -7.0617752381290035 -5.806662456390542 -4.518730369181802 -3.1999158832306875 -1.852155905265148 -0.4773873420130955 0.9224528997975185 2.3454279134387637 3.7896007921827177 5.2530346293014585 6.73379251806703 8.229937551751503 9.73953282362697 11.260641426965474 12.791326455039092 14.329651001119895 15.87367815847994 17.421471020391323 18.971092680126077 20.5206062309563 22.068074766154034 23.61156137899136 25.149129162740348 26.67884121067306 28.198760616061566 29.706950472177958 31.201473872294258 32.68039390968257 34.14177367761496 35.583676269363465 37.00416477820018 38.40130229739717 39.77315192022652 41.117776739960256 42.43323984987049 43.71761455603866 44.969985080245195 46.19141499687206 47.383192857133494 48.54660721224368 49.68294661341676 50.793499611867034 51.879554758808624 52.942400605455795 53.98332570302267 55.00361860272352 56.00456785577249 56.987462013383805 57.953589626771695 58.90423924715029 59.840699425733845 60.76425871373655 61.67620566237259 62.57782882285615 63.47041674640146 64.35525798422275 65.23364108753412 66.10685460754986 66.97618709548415 67.84292710255116 68.70836317996512 69.5737838789402 70.44047775069066 71.30973334643062 72.18283921737432 73.06108391473597 73.94575598972976 74.83814399356987 75.73953647747052 76.65122199264593 77.57448909031022 78.510579271558 79.4596173104743 80.42061923280934 81.39255135463549 82.37437999202511 83.36507146105052 84.36359207778409 85.36890815829815 86.3799860186651 87.3957919749572 88.41529234324688 89.43745343960641 90.46124158010822 91.48562308082462 92.50956425782795 93.5320314271906 94.55199090498485 95.56840900728312 96.5802520501577 97.58648634968097 98.58607822192528 99.57799398296298 100.56119994886637 101.53466243570789 102.49734775955982 103.44822223649453 104.38625218258434 105.31040391390167 106.21964374651878 107.11293799650807 107.98925297994191 108.84755501289257 109.68681041143248 110.50598549163395 111.30404656956932 112.07995996131098 112.83286659452646 113.56341455085602 114.27303283391018 114.96315579673345 115.63521779237033 116.29065317386531 116.93089629426292 117.55738150660774 118.1715431639442 118.77481561931683 119.36863322577014 119.95443033634862 120.53364130409685 121.10770048205927 121.67804222328039 122.24610088080482 122.81331080767696 123.38110635694137 123.95092188164259 124.52419173482505 125.10235026953333 125.68683183881191 126.27907079570534 126.88050149325805 127.49255828451464 128.11667552251956 128.75428756031738 129.40682875095257 130.07573344746964 130.76243600291312 131.46837077032748 132.19497210275728 132.94367435324708 133.7159118748412 134.51311902058436 135.3367278137091 + -8.22106114182687 -6.987269362085354 -5.717850646779297 -4.414814652992651 -3.080172056273643 -1.7159335321705638 -0.3241097562316537 1.0932885959947998 2.5342508489605367 3.9967663271172995 5.478824354916836 6.978414256810854 8.493525357251094 10.02214698068932 11.562268451577234 13.11187909436658 14.668968233509105 16.23152519345653 17.797539298660613 19.36499987357306 20.931896242645635 22.49621773033004 24.05595366107804 25.60909335934135 27.153626149571725 28.687541356220883 30.20882830374059 31.71547631658253 33.205474719198484 34.67681283604018 36.12747999155931 37.55546551020767 38.958758716436954 40.335348934698935 41.6832254894453 43.00037770512783 44.28480545683676 45.53556047695269 46.753753360544046 47.94072881540992 49.09783154934932 50.22640627016122 51.32779768564472 52.40335050359879 53.454409431822484 54.48231917811482 55.48842445027481 56.474069956101495 57.440600403393894 58.38936049995106 59.321694953571956 60.23894847205566 61.142465763201194 62.03359153480754 62.91367049467375 63.78404735059888 64.64606681038194 65.5010735818219 66.35041237271784 67.19542789086879 68.03746484407374 68.87786794013174 69.7179818868418 70.55915139200297 71.40272116341423 72.25003590887468 73.10244033618325 73.96127915313906 74.82789706754104 75.7036387871883 76.58984901987981 77.48787247341461 78.39900607322645 79.32341409792116 80.2601359452212 81.20816064183556 82.16647721447326 83.13407468984325 84.1099420946546 85.09306845561623 86.08244279943719 87.07705415282645 88.07589154249303 89.07794399514589 90.08220053749406 91.08765019624651 92.09328199811229 93.09808496980035 94.10104813801969 95.10116052947932 96.09741117088825 97.08878908895544 98.0742833103899 99.05288286190066 100.02357677019667 100.98535406198698 101.93720376398052 102.87811490288637 103.80707650541342 104.72307759827079 105.62510720816738 106.51215436181221 107.38320808591432 108.23725740718267 109.07329135232627 109.89029894805408 110.68726922107517 111.46319119809849 112.21722370769116 112.94999085578269 113.66287611374234 114.35726812298711 115.03455552493394 115.69612696099969 116.34337107260139 116.977676501156 117.60043188808042 118.21302587479165 118.81684710270659 119.41328421324219 120.00372584781545 120.58956064784324 121.17217725474255 121.75296430993038 122.33331045482358 122.91460433083917 123.4982345793941 124.08558984190526 124.67805875978961 125.27702997446416 125.8838921273458 126.50003385985148 127.1268438133982 127.76571062940283 128.4180229492824 129.0851694144538 129.768538666334 130.46951934633995 131.18950009588858 131.92986955639685 132.69201636928176 133.47732917596014 134.28719661784902 135.12300502357698 + -8.145667576364438 -6.898080478886477 -5.613998672542618 -4.295506423707273 -2.944689036166766 -1.5636318137074694 -0.15442006011571385 1.2808609208221227 2.7401258253196925 4.22128934959065 5.722266189848654 7.240971042307323 8.775318603180311 10.32322356868129 11.882600635023874 13.451364498421722 15.027429855088489 16.6087114012378 18.193123833083344 19.77858184683872 21.363000138717613 22.94429340493363 24.520376341700455 26.089163645231707 27.648570011741054 29.196510137442132 30.730898718548605 32.24965045127408 33.750680031832246 35.23190215643674 36.69123152130118 38.12658282263923 39.53587075666456 40.9170100195908 42.267915307631576 43.58650131700056 44.87069363588273 46.11951112758452 47.33411194939273 48.51589761363084 49.66626963262231 50.786629518690596 51.87837878415921 52.94291894135157 53.9816515025912 54.99597798020152 55.987299886506044 56.9570187338282 57.90653603449149 58.837253300819405 59.75057204513534 60.647893779762825 61.530620017025335 62.40015226924629 63.25789204874921 64.10524086785755 64.94360023889477 65.77437167418434 66.59895668604976 67.41875678681447 68.23517348880193 69.04960830433565 69.86346274573907 70.67813832533568 71.49503655544893 72.31555894840231 73.14110701651927 73.97308227212332 74.81288622753786 75.66192039508641 76.52158628709246 77.39328541587942 78.27837082000852 79.17704795123497 80.08838221841724 81.01138804201514 81.94507984248848 82.88847204029702 83.84057905590058 84.8004153097589 85.76699522233183 86.73933321407914 87.71644370546062 88.69734111693603 89.68103986896521 90.66655438200796 91.65289907652404 92.63908837297325 93.62413669181537 94.6070584535102 95.58686807851753 96.56257998729716 97.53320860030888 98.49776833801248 99.45527362086774 100.4047388693345 101.34517850387248 102.27560694494152 103.1950386130014 104.1024879285119 104.99696931193284 105.87749718372396 106.74308596434514 107.59275007425607 108.42550393391662 109.24036196378653 110.03633858432562 110.81244821599367 111.56786980115001 112.30320158621122 113.01977751870459 113.71893651904642 114.40201750765296 115.07035940494043 115.72530113132514 116.36818160722339 117.0003397530514 117.62311448922546 118.23784473616179 118.8458694142767 119.44852744398646 120.04715774570731 120.64309923985552 121.2376908468474 121.83227148709918 122.42818008102712 123.02675554904752 123.6293368115766 124.23726278903062 124.85187240182593 125.47450457037874 126.10649821510529 126.7491922564219 127.40392561474481 128.0720372104903 128.7548659640746 129.453750795914 130.17003062642482 130.90504437602323 131.66013096512557 132.43662931414812 133.23587834350704 134.05921697361867 134.90798183016915 + -8.056405768270462 -6.794689590133383 -5.495615902440749 -4.161344278294912 -2.7940353476357713 -1.3958497404032857 0.031051913462631087 1.4845089840220203 2.962360841334949 4.46244685546149 5.98260639646172 7.520678834395673 9.07450353932342 10.641919881305048 12.220767230400593 13.80888495667013 15.404112430173733 17.004289020971438 18.607254099123356 20.2108470346895 21.812907197729967 23.411273958304797 25.00378668647408 26.588284752297856 28.162607525836197 29.724594377149174 31.27208467629686 32.80291779333928 34.31493309833655 35.805969961348694 37.273867752435784 38.716465841657886 40.13160359907508 41.517120394747415 42.87085559873495 44.190648581097754 45.47434994785858 46.720945365966585 47.93164093900859 49.107895450147495 50.251167682546246 51.36291641936767 52.44460044377474 53.497678538930316 54.52360948799732 55.52385207413864 56.499865080517175 57.45310729029584 58.38503748663753 59.29711445270517 60.1907969716616 61.067543826669784 61.92881380089261 62.776065677492966 63.61075823963374 64.43435027047788 65.24830055318824 66.05406787092775 66.85311100685931 67.64688874414581 68.43685986595015 69.22448315543525 70.01121739576399 70.7985213700993 71.58785386160403 72.38067365344115 73.17843952877351 73.98261027076406 74.79464466257562 75.61600148737116 76.44813952831358 77.29251756856576 78.15054526927457 79.02247079438553 79.9073881239118 80.80433967809421 81.71236787717359 82.63051514139075 83.55782389098647 84.49333654620156 85.43609552727688 86.38514325445318 87.3395221479713 88.29827462807204 89.2604431149962 90.22507002898465 91.19119779027811 92.15786881911747 93.12412553574347 94.08901036039698 95.0515657133188 96.01083401474969 96.96585768493051 97.91567914410207 98.85934081250514 99.7958851103806 100.72435445796917 101.64379127551173 102.55323798324908 103.45173700142199 104.33833075027133 105.21206165003781 106.0719721209624 106.91710458328573 107.74650145724875 108.55920516309219 109.35425812105692 110.1307027513837 110.88774026751659 111.62594130453103 112.34658652283889 113.05096134165757 113.74035118020434 114.41604145769651 115.0793175933515 115.73146500638663 116.37376911601923 117.00751534146664 117.63398910194621 118.25447581667525 118.87026090487115 119.4826297857512 120.09286787853274 120.7022606024332 121.31209337666982 121.92365162045999 122.53822075302105 123.15708619357032 123.78153336132513 124.41284767550287 125.05231455532085 125.70121941999636 126.36084768874689 127.03248478078959 127.71741611534195 128.41692711162125 129.13230318884482 129.86482976623 130.61579226299418 131.38647609835465 132.17816669152882 132.9921494617339 133.82970982818733 134.6921309343907 + -7.95372937450067 -6.677577697427079 -5.363211705233943 -4.012866813724803 -2.628779515406376 -1.213186302785436 0.23167633163128876 1.7035718953370234 3.200263895825021 4.719515840588539 6.259091237120836 7.816753592915132 9.390266415464684 10.977393212262765 12.57589749080259 14.183542758577424 15.798092523080522 17.41731029180511 19.038959572244472 20.66080387189182 22.28060669824043 23.896131558783527 25.505141961014374 27.105401412426215 28.694673420512295 30.27072149276588 31.83130913668022 33.374199859748515 34.89715716946407 36.39794457332012 37.87432557880988 39.32406369342664 40.74492242466362 42.134665280014104 43.49105576697129 44.811857393028475 46.09484524744636 47.33897152592471 48.5454905049821 49.71591852331118 50.85177191960469 51.954567032555225 53.02582020085556 54.067047763198325 55.07976605827624 56.06549142478197 57.025740201408205 57.96202872684763 58.87587333979293 59.768790378936814 60.642296182971926 61.497907090590985 62.33713944048667 63.16150957135166 63.97253382187863 64.77172853076029 65.56061003668933 66.34069467835837 67.1134987944602 67.88053872368744 68.64333080473276 69.4033913762889 70.1622367770485 70.92138334570429 71.68234742094891 72.44664534147509 73.21579344597548 73.99130807314278 74.77470556166966 75.56750225024882 76.37121447757298 77.18735858233475 78.0174011783949 78.86163455134259 79.71918373321914 80.5891216729927 81.4705213196314 82.36245562210337 83.26399752937674 84.17421999041962 85.09219595420016 86.0169983696865 86.94770018584674 87.88337435164902 88.82309381606149 89.76593152805225 90.71096043658946 91.65725349064125 92.6038836391757 93.549923831161 94.49444701556524 95.43652614135657 96.37523415750313 97.30964401297302 98.23882865673438 99.16186103775537 100.07781410500408 100.98576080744867 101.88477409405724 102.77392691379795 103.65229221563891 104.51894294854822 105.3729520614941 106.21339250344458 107.03933722336788 107.84985917023205 108.6440312930053 109.42092654065567 110.17977049940443 110.92110457313153 111.64615260018725 112.35614294756674 113.05230398226495 113.73586407127691 114.4080515815977 115.07009488022243 115.72322233414606 116.36866231036365 117.00764317587027 117.6413932976609 118.27114104273069 118.89811477807461 119.52354287068769 120.14865368756504 120.77467559570167 121.40283696209264 122.03436615373298 122.67049153761769 123.3124414807419 123.9614443501006 124.61872851268888 125.28552233550168 125.96305418553419 126.65255242978135 127.35524543523826 128.07236156889994 128.80512919776143 129.55477668881778 130.32253240906402 131.10962472549525 131.9172820051065 132.74673261489272 133.59920492184904 134.47592503714668 + -7.838092052010786 -6.547225802368578 -5.217295449682448 -3.8506126269661856 -2.449490064204297 -1.0162404913813419 0.4468233615181676 1.9373887645096683 3.4531429876086284 4.991773300830517 6.55096697419081 8.128411277704942 9.721793481388376 11.328800855256608 12.947120669325065 14.574440193609224 16.20844669812455 17.846827452886494 19.48726972791054 21.127460793212126 22.765087918806742 24.39783837470981 26.02339943093683 27.63945835750324 29.243702424424512 30.833818901716118 32.407495059393526 33.96241816747215 35.49627549596752 37.00675431489505 38.49154189427021 39.94832550410848 41.37479241442531 42.768629895236174 44.127525216556506 45.44916564840181 46.73125038932807 47.9726979412848 49.174810822903765 50.339163031473184 51.46732856428124 52.56088141861606 53.62139559176592 54.65044508101895 55.64960388366338 56.62044599698737 57.564545418279124 58.48347614482682 59.37881217391864 60.252127502842825 61.104996128887485 61.93899204934087 62.75568926149115 63.5566617626265 64.34348355003512 65.11772862100521 65.88097097282495 66.63478460278252 67.38074350816612 68.12042168626395 68.85539313436416 69.587231849755 70.31751182972461 71.0478070715612 71.77969157255292 72.51473932998803 73.25452434115466 74.00062060334105 74.7546021138353 75.51804286992571 76.2925168689004 77.07959810804756 77.8808103047399 78.69649114607601 79.52579911785362 80.36784014963058 81.22172017096473 82.08654511141387 82.96142090053584 83.84545346788846 84.7377487430296 85.63741265551704 86.54355113490863 87.45527011076217 88.37167551263556 89.29187327008655 90.21496931267305 91.1400695699528 92.0662799714837 92.99270644682352 93.91845492553016 94.84263133716138 95.76434161127504 96.68269167742899 97.59678746518102 98.505734904089 99.40863992371071 100.30460845360405 101.19274642332675 102.07215976243673 102.94195440049177 103.80123626704969 104.64911129166839 105.48468540390562 106.30706453331925 107.1153546094671 107.90866156190698 108.68609132019677 109.44689588942713 110.19158595440209 110.92132522479166 111.63728169352012 112.34062335351167 113.03251819769055 113.71413421898107 114.38663941030748 115.05120176459401 115.70898927476492 116.36116993374443 117.0089117344568 117.65338266982636 118.29575073277726 118.93718391623379 119.57885021312026 120.22191761636084 120.86755411887984 121.51692771360148 122.17120639345 122.83155815134968 123.49915098022478 124.17515287299955 124.86073182259818 125.55705582194503 126.26529286396425 126.98661094158017 127.72217804771702 128.473162175299 129.24073131725046 130.02605346649557 130.83029661595862 131.6546287585639 132.50021788723552 133.36823199489788 134.25983683934226 + -7.709947457756541 -6.40411490655889 -5.058376504546511 -3.675120314988302 -2.256735518755255 -0.8056112967184286 0.675863170251169 2.1852987012824805 3.7203061155044788 5.278496232046139 6.857479870036442 8.454867848604323 10.068270986878758 11.69530010398874 13.333566019063204 14.980679551231136 16.6342515196215 18.291892743363245 19.951214041585388 21.60982623341684 23.26534013798661 24.915366574423626 26.557516361856887 28.18940031941535 29.80862926622797 31.412814021423742 32.99956540413163 34.56649423348056 36.111211328599545 37.631327508617545 39.1244535926635 40.5882003998664 42.02017874935522 43.41799946025891 44.77927335170644 46.1016112428268 47.382636228185746 48.621232945872684 49.81875206836408 50.976825172984746 52.09708383705946 53.18115963791295 54.23068415287005 55.247288959255506 56.232605634394126 57.18826575561066 58.115900900229896 59.017142645576605 59.89362256897557 60.746972247751614 61.578823259229424 62.390807180733844 63.18455558958965 63.96170006312158 64.72387217865445 65.47270351351303 66.2098256450221 66.93687015050641 67.65546860729077 68.36725259269997 69.07385368405875 69.77690345869189 70.47803349392422 71.17887536708047 71.8810606554854 72.58622093646385 73.29598778734055 74.01199278544034 74.73586750808789 75.46924353260806 76.21375243632562 76.97102579656531 77.74264440567985 78.52899250255554 79.32926434932952 80.1426012309278 80.96814443227635 81.80503523830116 82.65241493392821 83.5094248040835 84.37520613369301 85.24890020768271 86.12964831097861 87.01659172850667 87.90887174519288 88.80562964596324 89.70600671574374 90.60914423946035 91.51418350203907 92.42026578840586 93.32653238348671 94.23212457220764 95.13618363949459 96.03785087027359 96.93626754947059 97.83057496201157 98.71991439282255 99.6034271268295 100.4802544489584 101.34953764413527 102.21041799728603 103.06203679333669 103.90353531721328 104.73405485384173 105.55273668814806 106.35872210505823 107.15115238949825 107.92916882639408 108.69205183019821 109.44028001073212 110.17495387069407 110.8971779362639 111.60805673362141 112.30869478894644 113.00019662841885 113.68366677821851 114.36020976452524 115.03093011351882 115.69693235137917 116.35932100428603 117.01920059841936 117.67767565995891 118.33585071508453 118.99483028997614 119.65571891081345 120.31962110377641 120.98764139504482 121.66088431079848 122.34045437721726 123.02745612048102 123.72299406676959 124.42817274226275 125.14409667314044 125.8718703855824 126.61259840576855 127.36738525987869 128.13733547409265 128.92355357459027 129.7271440875514 130.5492115391559 131.3908604555836 132.25319536301427 133.13732078762783 134.04433904188244 + -7.56974924869366 -6.248726011599026 -4.886964238586387 -3.4869284747603877 -2.051084403784965 -0.5818977093241194 0.9181659249582008 2.4466408153979944 4.001061278331292 5.578961630094127 7.177876187022535 8.795339265452515 10.428885181720096 12.076048252161328 13.73436279311221 15.401363120908776 17.074583551887056 18.751558402383058 20.429821988732844 22.106908627272396 23.780352634337774 25.44768832626497 27.10645001939003 28.754172030048974 30.388388674577826 32.00663426931261 33.60644313058938 35.18534957474411 36.74088791811286 38.27059247703166 39.77199756783649 41.242637506863424 42.680046610448464 44.081759194927656 45.44530957663699 46.76823207191252 48.04807361870142 49.283684873514225 50.476464416953526 51.62810114619716 52.74028395842295 53.81470175080867 54.8530434205322 55.856997864771316 56.82825398070387 57.768500665507666 58.679426816360525 59.56272133044025 60.420073104924676 61.253171036991645 62.06370402381892 62.85336096258438 63.62383075046583 64.37680228464106 65.1139644622879 65.83700618058418 66.54761633670775 67.24748382783635 67.93829755114787 68.62174640382013 69.29951928303089 69.97330508595802 70.64479270977932 71.31567105167264 71.98762900881572 72.66235547838649 73.34153935756268 74.02686954352217 74.72003493344272 75.42272442450218 76.13662691387842 76.86343129874918 77.6047752385851 78.361090544751 79.13160949916116 79.9155110398043 80.7119741046691 81.52017763174419 82.33930055901833 83.16852182448012 84.00702036611828 84.85397512192147 85.70856502987837 86.56996902797763 87.43736605420797 88.30993504655804 89.18685494301654 90.06730468157214 90.95046320021348 91.83550943692927 92.7216223297082 93.6079808165389 94.49376383541008 95.37815032431041 96.26031922122858 97.13944946415324 98.0147199910731 98.8853097399768 99.75039764885302 100.6091626556905 101.46078369847781 102.3044397152037 103.13930964385688 103.96457242242589 104.77940698889955 105.58299228126646 106.37450723751532 107.1531307956348 107.91817371433127 108.67008130451107 109.4098880119365 110.1386320325443 110.8573515622711 111.56708479705355 112.26886993282835 112.96374516553227 113.65274869110186 114.33691870547385 115.0172934045849 115.6949109843717 116.37080964077093 117.04602756971927 117.72160296715337 118.39857402900995 119.07797895122567 119.76085592973719 120.44824316048121 121.14117883939441 121.84070116241344 122.547848325475 123.26365852451575 123.98916995547235 124.72542081428156 125.47344929687996 126.2342935992043 127.00899191719122 127.7985824467774 128.60410338389954 129.42659292449426 130.2670892644983 131.12663059984837 132.006255126481 132.90700104033297 133.8299043456724 + -7.41795108177787 -6.081540119089996 -4.703568020562321 -3.2865757032516814 -1.833105244019144 -0.34569871972583316 1.1731017927671723 2.7207542165987446 4.294716474907785 5.892446490833201 7.511402187513901 9.149041488088754 10.802822315696663 12.470202593476548 14.148640244567282 15.835593192107769 17.528519359236917 19.224876669093604 20.922123044816754 22.61771640954523 24.30911468641797 25.993775798573832 27.669157669151733 29.33271822129057 30.981915378129226 32.61420706280662 34.22705119846165 35.81790570823319 37.38422851526016 38.923477542681454 40.433110713635934 41.91058595126254 43.353361178700155 44.7588943190877 46.12464329556402 47.448066031268056 48.72663341555711 49.95916205803529 51.14709804426259 52.2921871494617 53.3961751488553 54.46080781766602 55.48783093111661 56.478990264429726 57.43603159282804 58.36070069153422 59.25474333577098 60.119905300760955 60.95793236172686 61.77057029389139 62.55956487247716 63.32666187270691 64.07360706980332 64.80214623898901 65.5140251554867 66.21098959451909 66.89478533130884 67.56715814107861 68.2298537990511 68.884618080449 69.53319676049497 70.1773356144117 70.81878041742186 71.45927694474817 72.10057097161322 72.7444082732398 73.39253462485051 74.0466958016681 74.70863757891513 75.38010573181438 76.06284603558855 76.75860426546022 77.46907456082602 78.19473719663216 78.93486463886282 79.68867569918004 80.45538918924575 81.23422392072194 82.02439870527061 82.82513235455372 83.63564368023326 84.4551514939712 85.28287460742953 86.11803183227023 86.95984198015529 87.80752386274666 88.66029629170636 89.51737807869634 90.37798803537858 91.24134497341508 92.1066677044678 92.97317504019873 93.84008579226985 94.70661877234313 95.57199279208056 96.43542666314414 97.29613919719583 98.15334920589761 99.00627550091144 99.85413689389935 100.69615219652329 101.53154022044521 102.35951977732718 103.17930967883106 103.99012873661891 104.7911957623527 105.58172956769442 106.36094896430602 107.12819693443986 107.88388439812826 108.62897712256091 109.3644443391075 110.09125527913757 110.81037917402081 111.52278525512685 112.22944275382538 112.93132090148603 113.62938892947838 114.32461606917212 115.01797155193688 115.71042460914232 116.40294447215807 117.09650037235374 117.79206154109905 118.49059720976356 119.193076609717 119.90046897232894 120.61374352896904 121.33386951100692 122.0618161498123 122.79855267675475 123.54504832320394 124.30227232052953 125.0711939001011 125.85278229328836 126.64800673146091 127.4578364459884 128.28324066824052 129.12518862958686 129.98464956139705 130.8625926950408 131.75998726188766 132.67780249330735 133.61700545161716 + -7.255006613964903 -5.903038230632811 -4.508697219234565 -3.0746005974314268 -1.6033665641835113 -0.0976133184509975 1.4400409408059858 3.0069780146272573 4.60057970405267 6.218227810122078 7.857304133875337 9.515190476352267 11.189268638592715 12.876920421636557 14.575527626523607 16.282472054293724 17.99513550598676 19.710899782642535 21.42714668530094 23.141258015001775 24.85061557278492 26.55260115969019 28.244596576757456 29.923983625026548 31.588144105537314 33.23445981932961 34.860312567443295 36.46308415091816 38.04015637079411 39.588911028110964 41.10672992390856 42.590994859226754 44.0390876351054 45.448390052584344 46.81628391270341 48.140151016502465 49.417386473434846 50.64677283326175 51.82980312588176 52.968279381129626 54.06400362884008 55.11877789884779 56.13440422098754 57.112684625094026 58.05542114100201 58.96441579854616 59.84147062756125 60.68838765788197 61.506968919343066 62.299016441779294 63.0663322550253 63.810718388915866 64.53397687328572 65.23790973796957 65.92431901280213 66.59500672761816 67.25177491225236 67.89642559653944 68.53076081031418 69.15658258341125 69.7756929456654 70.38989392691136 71.00098755698383 71.61077586571759 72.22106088294728 72.8336446385077 73.45032916223356 74.07291648395959 74.70320863352045 75.34300764075093 75.99411553548575 76.65833434755962 77.33741412977291 78.03188438216884 78.74105983994885 79.46420133197496 80.20056968710912 80.9494257342133 81.71003030214953 82.4816442197797 83.26352831596583 84.05494341956988 84.85515035945384 85.66340996447967 86.47898306350933 87.30113048540481 88.12911305902813 88.9621916132412 89.79962697690601 90.64067997888453 91.48461144803878 92.33068221323065 93.17815310332219 94.02628494717536 94.8743385736521 95.72157481161442 96.56725448992425 97.41063843744362 98.25098748303448 99.0875624555588 99.91962418387855 100.7464334968557 101.56725122335229 102.38133819223017 103.18795523235143 103.98636317257797 104.77582284177184 105.55559506879491 106.32505688313749 107.08458385397314 107.83507067660932 108.57741521269968 109.31251532389777 110.04126887185724 110.76457371823165 111.48332772467465 112.19842875283986 112.91077466438088 113.6212633209513 114.33079258420467 115.04026031579474 115.75056437737503 116.46260263059912 117.17727293712068 117.8954731585933 118.61810115667062 119.3460547930062 120.08023192925363 120.82153042706656 121.57084814809862 122.32908295400335 123.09713270643441 123.87589526704541 124.66626849748991 125.46915025942158 126.28543841449401 127.11603082436076 127.96182535067551 128.82371985509184 129.7026121992633 130.59940024484365 131.51498185348632 132.450254886845 133.40611506062186 + -7.081369502210481 -5.713701347828481 -4.302861203363369 -2.851541754268858 -1.3624368890037823 0.16175950397296762 1.7183535362025497 3.3046513192260685 4.917958964584665 6.555582583819477 8.21482828847165 9.893002190082289 11.587410400192525 13.295359030343525 15.014154192076388 16.741101996932258 18.47350855645227 20.208679982177543 21.94392238564924 23.67654187840846 25.40384457199636 27.123136577954043 28.831724007822665 30.52691297314335 32.20600958545723 33.866319956305446 35.50515019722914 37.11980641976939 38.707594735467396 40.26582125586425 41.7917920925011 43.282813356919064 44.73619116065929 46.14923161526292 47.51924083227104 48.84352492322483 50.119403647016654 51.34562553301945 52.52372983740153 53.655574039552235 54.74301561886087 55.78791205471675 56.79212082650921 57.75749941362757 58.68590529546117 59.57919595139931 60.43922886083132 61.26786150314651 62.06695135773422 62.838355903983796 63.5839326212845 64.30553898902569 65.00503248659672 65.68427059338684 66.34511078878543 66.9894105521818 67.61902736296526 68.23581870052514 68.84164204425078 69.43835487353148 70.02781466775654 70.61187890631534 71.19240506859718 71.77125063399139 72.35027308188724 72.93132989167412 73.5162785427413 74.10697651447818 74.70528128627399 75.31305033751809 75.93214114759985 76.5644111959085 77.2116657027961 77.8744840253308 78.55222517393354 79.24419406110903 79.94969559936206 80.66803470119729 81.39851627911953 82.14044524563346 82.89312651324383 83.65586499445541 84.4279656017729 85.20873324770103 85.99747284474458 86.79348930540823 87.59608754219678 88.40457246761493 89.2182489941674 90.03642203435896 90.85839650069433 91.68347730567825 92.51096936181546 93.34017758161067 94.17040687756867 95.00096216219414 95.83114834799186 96.66027034746654 97.48763307312292 98.31254143746575 99.13430035299976 99.95221473222965 100.76558948766026 101.57372953179619 102.37593977714228 103.17152513620321 103.95979052148375 104.74004084548861 105.51168895303779 106.27507423443511 107.0310181481237 107.78034501006705 108.5238791362286 109.26244484257174 109.99686644505998 110.72796825965675 111.45657460232553 112.18350978902973 112.90959813573282 113.63566395839821 114.36253157298943 115.09102529546986 115.82196944180296 116.5561883279522 117.29450626988103 118.03774758355289 118.7867365849312 119.54229758997948 120.30525491466106 121.07643287493953 121.85665578677828 122.64674796614071 123.44753372899035 124.25983739129057 125.08448326900489 125.92229567809675 126.77409893452955 127.64071735426678 128.52297525327188 129.42169694750828 130.3377067529395 131.27182898552888 132.22488796123994 133.19770587359156 + -6.897493403470332 -5.514010472278018 -4.086569341708979 -2.6179377707332168 -1.1108847432056759 0.43182075701863837 2.007409746084769 3.6131132401377086 5.246162255322484 6.903787807784118 8.583220913667644 10.281692589118052 11.996433850280361 13.724675713299622 15.463649194320821 17.210585309488987 18.962715074949145 20.717269506846296 22.471479621325493 24.222576434531714 25.96779096261001 27.704354221705373 29.42949722796284 31.14045099752741 32.83444654654413 34.50871489115799 36.16048704751405 37.78699403175727 39.385466860032714 40.95313654848539 42.48723411326029 43.98499057050247 45.443636936356924 46.8604042269687 48.23252345848277 49.55722564704419 50.83175579098455 52.05482849113426 53.22802835441238 54.35326732308077 55.432457339401275 56.467510345635674 57.460338284045875 58.41285309689368 59.32696672644095 60.20459111494949 61.047638204681164 61.85801993789781 62.63764825686125 63.38843510383336 64.11229242107592 64.81113215085082 65.4868662354199 66.14140661704495 66.77666523798783 67.39455404051043 67.99698496687452 68.58586995934196 69.1631209601746 69.73064991163427 70.29036875598281 70.84418943548204 71.39402389239385 71.94178406898004 72.48938190750243 73.03872935022291 73.59173833940328 74.15032081730541 74.7163887261911 75.29185400832219 75.87862860596056 76.47862446136803 77.09370103726593 77.72448805008787 78.37039071233119 79.03076000950222 79.7049469271073 80.39230245065279 81.09217756564504 81.80392325759038 82.52689051199515 83.2604303143657 84.0038936502084 84.75663150502953 85.51799486433549 86.28733471363263 87.06400203842726 87.84734782422575 88.63672305653442 89.43147872085963 90.23096580270773 91.03453528758504 91.84153816099794 92.65132540845275 93.46324801545582 94.2766569675135 95.0909032501321 95.90533784881806 96.71931174907762 97.53217593641715 98.34328139634302 99.15197911436154 99.95762007597914 100.75955526670205 101.55713567203668 102.34971227748935 103.13663606856645 103.91725803077425 104.69102853675432 105.45825010190356 106.21966901114602 106.97603408795581 107.7280941558069 108.4765980381733 109.22229455852913 109.96593254034842 110.70826080710516 111.4500281822734 112.19198348932723 112.93487555174059 113.67945319298762 114.42646523654233 115.1766605058787 115.93078782447087 116.6895960157928 117.45383390331857 118.22425031052225 119.00159406087778 119.78661397785926 120.58005888494074 121.38267760559623 122.19521896329978 123.01843178152544 123.85306488374722 124.69986709343921 125.55958723407542 126.43297412912986 127.32077660207662 128.22374347638973 129.14262357554318 130.0781657230111 131.0311187422674 132.00223145678623 132.9922505914314 + -6.703831974700185 -5.304446605582432 -3.8603310030316482 -2.3743272437937417 -0.8492786515149089 0.7119714501585905 2.3065797375805506 3.931702887104712 5.584497575084843 7.262120477874721 8.961728271828122 10.680477633298787 12.415525238640484 14.16402776420701 15.923141886352099 17.690024281429526 19.461831625793064 21.235720595796465 23.008847867793527 24.778370118137975 26.54144402318361 28.295226259284167 30.036873502793433 31.763542430065172 33.47238971745314 35.16057204131112 36.82524607799289 38.46356850385215 40.072695995242746 41.649785228518404 43.19199288003288 44.696475626139964 46.16039014319342 47.58089310754701 48.955141195554496 50.28029108356966 51.553513760020564 52.77349004143205 53.94184885250481 55.06055543006653 56.13157501094486 57.15687283196738 58.138414129961774 59.078164141755664 59.97808810417671 60.84015125405254 61.666318828210784 62.45855606347909 63.21882819668509 63.94910046465645 64.65133810422077 65.3275063522057 65.97957044543891 66.60949562074802 67.21924711496065 67.81079016490445 68.38609000740709 68.94711187929617 69.49582101739935 70.03418265854428 70.56416203955855 71.08772439726985 71.60683496850581 72.12345899009406 72.63956169886224 73.15710833163799 73.67806412524895 74.20439431652277 74.73806414228706 75.28103883936947 75.83528364459768 76.40276379479927 76.98539189055273 77.58384838040985 78.19758652665612 78.82600530007444 79.4685036714477 80.12448061155877 80.79333509119054 81.47446608112587 82.16727255214762 82.87115347503871 83.585507820582 84.30973455956031 85.0432326627566 85.78540110095369 86.53563884493451 87.29334486548187 88.05791813337869 88.82875761940784 89.60526229435219 90.3868311289946 91.17286309411799 91.96275716050518 92.7559122989391 93.55172748020259 94.34960167507855 95.14893385434985 95.94912298879935 96.74956804920994 97.54966800636448 98.34882183104588 99.146428494037 99.94188696612069 100.73459621807987 101.52395522069737 102.30936294475612 103.09021836103896 103.8660110269006 104.63700601876788 105.40387273971831 106.16728280311214 106.9279078223096 107.68641941067094 108.44348918155642 109.1997887483263 109.95598972434087 110.71276372296032 111.4707823575449 112.23071724145488 112.99323998805055 113.75902221069212 114.52873552273982 115.303051537554 116.0826418684948 116.86817812892258 117.66033193219751 118.45977489167984 119.26717862072984 120.08321473270782 120.90855484097398 121.74387055888855 122.58983349981183 123.447115277104 124.31638750412542 125.19832179423628 126.09358976079682 127.00286301716733 127.92681317670802 128.8661118527792 129.8214306587411 130.7934412079539 131.78281511377793 132.7902219150464 + -6.500838872855765 -5.08549074934273 -3.624655556091622 -2.121248770419668 -0.5781871386571963 1.0016125928654065 2.6152336778178045 4.259759369869608 5.93227292269046 7.6298575899500065 9.349596625317895 11.088573282463738 12.843870815057171 14.612572476767866 16.391761521265423 18.178521202219496 19.969934773299727 21.76308548817573 23.55505660051718 25.342931363993678 27.123793032274897 28.894724859030426 30.65281009792994 32.39513200264307 34.11877382683944 35.8208188241887 37.498350248360495 39.148451353024434 40.76820539185019 42.35469561850737 43.90500528666561 45.41621764999458 46.88541596216389 48.30968347684319 49.686103447702095 51.011759128410276 52.283748408806744 53.50071851773867 54.66434150726931 55.77663455886079 56.83961485397523 57.855299574074635 58.82570590062116 59.75285101507688 60.6387520989039 61.48542633356429 62.29489090052016 63.06916298123359 63.81025975716667 64.52019840978151 65.20099612054018 65.85467007090477 66.48323744233741 67.08871541630013 67.67312117425509 68.23847189766431 68.78678476798996 69.32007696669406 69.84036567523874 70.3496680750861 70.8500013476982 71.34338267453714 71.83182923706504 72.31735821674397 72.801986795036 73.28773215340327 73.77661147330782 74.2706419362118 74.77184072357724 75.28222501686626 75.80381199754098 76.33861884706343 76.88861002002689 77.45451694026649 78.0358426884226 78.63203605574566 79.24254583348606 79.86682081289418 80.50430978522049 81.15446154171534 81.81672487362917 82.49054857221236 83.17538142871535 83.87067223438854 84.57586978048234 85.29042285824718 86.01378025893344 86.74539077379153 87.48470319407187 88.23116631102486 88.98422891590093 89.74333979995046 90.5079477544239 91.2775015705716 92.05145003964402 92.82924195289156 93.61032610156462 94.39415127691363 95.18016627018896 95.96781987264106 96.7565608755203 97.54583807007708 98.33510024756191 99.12379619922508 99.91137471631706 100.69728459008826 101.48097461178907 102.2618935726699 103.03957181609019 103.81423654741747 104.58647880788251 105.35689151228225 106.1260675754136 106.89459991207355 107.66308143705909 108.43210506516718 109.20226371119477 109.97415028993886 110.74835771619632 111.52547890476419 112.30610677043943 113.09083422801899 113.8802541922998 114.67495957807888 115.47554330015315 116.28259827331964 117.09671741237524 117.91849363211692 118.74851984734167 119.58738897284647 120.43569392342823 121.29402761388394 122.16298295901058 123.04315287360508 123.93513027246442 124.83950807038559 125.7568791821655 126.68783652260115 127.6329730064895 128.5928815486275 129.56815506381218 130.55938646684035 131.56716867250907 132.59209254534167 + -6.288967754892803 -4.857623905159929 -3.3800523696491553 -1.8592409475802416 -0.2981787293582612 1.3001451946116565 2.9327417339244306 4.596621798174929 6.288796296958046 8.006276139868689 9.74607223650176 11.50519549645212 13.280656829314674 15.069467144684344 16.868637352155986 18.675178361324505 20.4861010817848 22.29841642313175 24.109135294960282 25.915268606865247 27.713827268441573 29.501822189284123 31.27626427898781 33.03416444714752 34.77253360335814 36.48838265721458 38.17872251831174 39.840564096244464 41.47091830060771 43.06679604099634 44.62520822700522 46.14316576822928 47.617679574263406 49.045760554702504 50.42441961914144 51.750667677175116 53.02153059202509 54.23562225387998 55.39465649429636 56.500700907814824 57.55582308897594 58.56209063232021 59.52157113238827 60.43633218372062 61.308441380857886 62.13996631834057 62.93297459070928 63.68953379250452 64.4117115182669 65.101575362537 65.76119291985532 66.39263178476246 66.99795955179898 67.57924381550545 68.1385521704224 68.67795221109043 69.19951153205007 69.7052977278419 70.19737839300646 70.67782112208435 71.14869350961611 71.6120631501423 72.06999763820347 72.52456456834022 72.97783153509307 73.43186613300263 73.8887359566094 74.35050860045402 74.81925165907694 75.29703272701883 75.78591939882021 76.28797926902163 76.80522718305866 77.33844565362762 77.88718926914501 78.45095839943586 79.02925341432518 79.62157468363797 80.22742257719929 80.84629746483415 81.47769971636758 82.12112970162457 82.77608779043017 83.44207435260938 84.11858975798724 84.80513437638878 85.501208577639 86.20631273156295 86.91994720798562 87.64161237673201 88.37080860762723 89.10703627049621 89.849795735164 90.59858737145566 91.35291154919618 92.11226863821057 92.87615900832387 93.64408302936111 94.41554107114727 95.19003350350744 95.96706069626657 96.74612301924971 97.52672084228193 98.30835453518816 99.0905244677935 99.87273100992293 100.6544745314015 101.4352554020542 102.21464629693669 102.99283625024178 103.77033668968062 104.5476605722123 105.32532085479579 106.10383049439014 106.88370244795445 107.66544967244776 108.44958512482908 109.23662176205747 110.027072541092 110.82145041889163 111.62026835241551 112.42403929862266 113.23327621447207 114.04849205692284 114.87019978293398 115.6989123494646 116.5351427134737 117.3794038319203 118.23220866176347 119.09407015996229 119.96550128347576 120.84701498926292 121.73912423428285 122.64234197549457 123.55718116985715 124.48415477432962 125.42377574587101 126.3765570414404 127.34301161799681 128.3236524324993 129.31899244190697 130.32954460317873 131.3558218732737 132.39833518322237 + -6.068672277767022 -4.621327074635034 -3.127030812464491 -1.5888423722446952 -0.009821948343813974 1.6069702648699236 3.258474073028341 4.941629281763207 6.6533756967063225 8.390653123489493 10.150401367744527 11.929560235103187 13.725069531197276 15.533869061658624 17.352898632118986 19.179098048210175 21.00940711556399 22.84076563981222 24.670113426586678 26.494390281519124 28.310536010241403 30.11549041838526 31.90619331158252 33.679584495464965 35.43260377566441 37.16219095781264 38.86528584754147 40.538828250482645 42.179757972268014 43.785014818529355 45.351538594898436 46.8762691070071 48.356146160487114 49.78810956097029 51.16909911408839 52.49605462547325 53.76593116435763 54.97730958368185 56.131943989176456 57.2319506752799 58.27944593643059 59.27654606706693 60.22536736162735 61.12802611455025 61.986638620274086 62.80332117323722 63.58019006787811 64.31936159863514 65.02295205994676 65.69307774625139 66.3318549519874 66.94139997159324 67.52382909950732 68.08125863016807 68.61580485801387 69.12958407748317 69.6247125830144 70.10330666904595 70.56748263001623 71.01935676036368 71.46104535452669 71.89466470694369 72.3223311120531 72.74616086429336 73.16827025810284 73.59077558791998 74.01579314818319 74.44543923333093 74.88183013780151 75.32708215603346 75.78331158246515 76.25263471153498 76.73711513701844 77.23758644446303 77.75365634033761 78.28487845406495 78.83080641506785 79.39099385276907 79.96499439659148 80.55236167595774 81.15264932029076 81.76541095901328 82.3902002215481 83.02657073731798 83.67407613574578 84.33227004625424 85.00070609826616 85.67893792120432 86.36651914449153 87.06300339755057 87.76794430980424 88.48089551067534 89.20141062958665 89.92904329596094 90.66334713922102 91.40387578878969 92.15018287408972 92.90182202454395 93.6583468695751 94.41931103860601 95.18426816105945 95.95277186635819 96.72437578392513 97.49863354318289 98.27509877355439 99.05332510446237 99.83286616532965 100.61327558557899 101.39416986205364 102.17569968963015 102.95829585915465 103.7423903396485 104.52841510013307 105.31680210962969 106.10798333715978 106.90239075174473 107.70045632240588 108.50261201816463 109.30928980804231 110.1209216610603 110.93793954624003 111.76077543260284 112.58986128917006 113.42562908496315 114.26851078900341 115.11893837031229 115.9773437979111 116.84415904082122 117.71981606806402 118.60474684866092 119.49938335163326 120.4041575460024 121.31950140078973 122.24584688501662 123.18362596770447 124.13327061787463 125.09521280454845 126.06988449674736 127.0577176634927 128.05914427380586 129.07459629670822 130.10450570122106 131.14930445636583 132.2094225295935 + -5.840406098434153 -4.377081259369059 -2.8661002532978843 -1.3105916413822725 0.28631467966042173 1.9214888131127799 3.591800862257437 5.294120930376972 7.025319120753998 8.782265536671131 10.56183028141099 12.360883458256152 14.17629517048923 16.00493552139286 17.84367461424961 19.689382552342117 21.538929438952973 23.389185377364782 25.23702047086018 27.07930482272173 28.91290853623208 30.734701714673804 32.541554461329525 34.33033687948184 36.09791907241338 37.84117114340673 39.55696319574452 41.24216533270931 42.89364765758377 44.50828027365047 46.082933284192 47.614476792491 49.099780901830066 50.53571571549182 51.91915133675883 53.24695786891375 54.516020980486395 55.724888840970124 56.87535416750007 57.969580059607274 59.00972961682277 59.99796593867753 60.936452124702626 61.827351274429056 62.67282648738786 63.47504086311004 64.23615750112664 64.95833950096865 65.6437499621671 66.29455198425308 66.91290866675752 67.50098310921149 68.06093841114601 68.59493767209206 69.10514399158073 69.593720469143 70.0628302043099 70.51463629661245 70.9513018455817 71.37498995074864 71.78786371164429 72.19208622779968 72.58982059874587 72.98322992401384 73.37447730313458 73.76572583563922 74.15913862105866 74.55687875892401 74.96110934876624 75.3739934901164 75.79769428250553 76.23437482546461 76.6861456392765 77.15389123674251 77.63727397351472 78.13590234255291 78.64938483681689 79.17732994926644 79.7193461728614 80.2750420005615 80.84402592532656 81.42590644011639 82.02029203789078 82.62679121160951 83.2450124542324 83.8745642587192 84.51505511802979 85.16609352512387 85.82728797296127 86.49824695450182 87.17857896270527 87.86789249053142 88.56579603094009 89.27189807689106 89.98580712134414 90.70713165725908 91.43548017759572 92.17046117531385 92.91168314337324 93.6587545747337 94.41128396235506 95.16887979919703 95.9311505782195 96.69770479238218 97.46815093464495 98.24209749796753 99.01915297530977 99.79892585963142 100.5810779040546 101.36572142797202 102.15320579034656 102.94388117133707 103.73809775110233 104.53620570980112 105.33855522759234 106.1454964846348 106.95737966108732 107.77455493710869 108.59737249285774 109.42618250849328 110.26133516417418 111.10318064005925 111.95206911630726 112.8083507730771 113.67237579052755 114.54449434881748 115.42505662810566 116.31441280855091 117.21291307031206 118.12090759354798 119.03874655841746 119.96678014507928 120.90535853369234 121.85483190441536 122.8155504374073 123.78786431282688 124.77212371083291 125.76867881158428 126.77787979523977 127.80007684195823 128.8356201318985 129.88485984521932 130.94814616207955 132.0258272853602 + -5.604622873849922 -4.125367460963013 -2.5977700609095833 -1.0250273519622108 0.5896626299287313 2.2431018488128043 3.932092268739628 5.653435853758757 7.403934567919791 9.180390375272328 10.97960523986596 12.798381125750257 14.633519996974803 16.481823817589227 18.34009455164307 20.205134163185946 22.073744616267444 23.942727874937134 25.808885903244636 27.669020665239508 29.519934124971364 31.35842824648976 33.181304993844314 34.9853663310846 36.76741422226021 38.52425063142073 40.25267752261577 41.949496859894865 43.61151060730768 45.23552072890375 46.81832918873265 48.356737950844014 49.84754897928741 51.28756423811244 52.67358569136866 54.00241530310569 55.27087089509342 56.477468359570686 57.6240372048577 58.71278525914825 59.745920350636055 60.72565030751483 61.654182957978364 62.53372613022038 63.36648765243466 64.15467535281489 64.90049705955487 65.60616060084827 66.27387380488894 66.90584449987057 67.5042805139869 68.07138967543167 68.60937981239869 69.1204587530816 69.60683432567423 70.07071435837031 70.51430667936356 70.93981911684774 71.3494594990166 71.74543565406388 72.12995541018334 72.5052265955687 72.87345703841373 73.23685456691216 73.59762700925774 73.95798219364423 74.32012794826535 74.68627210131487 75.0586224809865 75.43938691547403 75.83077323297117 76.23498926167167 76.65419044720323 77.08931195443586 77.54007224019064 78.00613618781969 78.48716868067511 78.98283460210902 79.49279883547356 80.01672626412079 80.55428177140286 81.10513024067187 81.66893655527991 82.24536559857914 82.83408225392162 83.43475140465948 84.04703793414487 84.67060672572984 85.30512266276652 85.95025062860705 86.60565550660353 87.27100218010804 87.94595553247272 88.63018044704968 89.32334180719104 90.02510449624889 90.73513339757532 91.45309339452254 92.17864937044254 92.9114662086875 93.65120879260952 94.39754200556071 95.15013073089318 95.90863985195904 96.6727342521104 97.44207881469939 98.2163384230781 98.99517796059862 99.77830581555311 100.56579602765676 101.35791595729835 102.15493342402418 102.95711624738047 103.76473224691345 104.57804924216943 105.39733505269471 106.22285749803552 107.0548843977381 107.89368357134876 108.73952283841369 109.59267001847925 110.45339293109166 111.32195939579714 112.19863723214203 113.08369425967255 113.97739829793501 114.88001716647567 115.79181868484069 116.71307067257644 117.64404094922918 118.58499733434515 119.53620764747055 120.49793970815178 121.470461335935 122.45404035036654 123.44894457099262 124.4554418173595 125.47379990901348 126.5042866655008 127.54716990636774 128.6027174511606 129.67119711942553 130.75287673070886 131.8480221514276 + -5.361776260970057 -3.8666666810179087 -2.3225496040598377 -0.7326881009537493 0.8996533777353966 2.5712103814425746 4.278718459602817 6.018913161651095 7.788530037022418 9.584304635151796 11.402972505474242 13.241269197424735 15.09593026043827 16.96369124394989 18.841287697394556 20.725455170207283 22.612929211823083 24.500445371676935 26.384739199203885 28.26254624383888 30.13060205501697 31.98564218217311 33.82440217474234 35.64361758215964 37.44002395386002 39.21035683927849 40.95135178785006 42.65974434900968 44.33227007219242 45.965664506833235 47.55666320236714 49.10200170822913 50.59841557385423 52.04264034867744 53.43141158213373 54.76146482365813 56.029551762860706 57.23415647330938 58.377143276839845 59.46076247225408 60.487264358354025 61.45889923394161 62.3779173978188 63.24656914878756 64.06710478564983 64.84177460720757 65.57282891226275 66.26251799961727 66.91309216807313 67.52680171643232 68.10589694349669 68.65262814806826 69.16924562894897 69.65799968494079 70.12114061484564 70.56091871746551 70.97958429160232 71.37938763605804 71.76257904963464 72.13140883113404 72.4881272793582 72.83498469310908 73.17423137118865 73.50811761239885 73.83889371554162 74.16880997941892 74.50011670283271 74.83506418458497 75.17590272347758 75.52488261831253 75.88425416789183 76.25626767101733 76.64312131816897 77.04580052151287 77.46408121187969 77.89768611278522 78.34633794774533 78.80975944027577 79.28767331389241 79.77980229211104 80.2858690984475 80.8055964564176 81.33870708953717 81.88492372132198 82.44396907528791 83.01556587495074 83.59943684382631 84.19530470543043 84.8028921832789 85.42192200088756 86.05211688177222 86.6931995494487 87.34489272743284 88.00691913924041 88.67900150838727 89.36086255838921 90.05222501276207 90.75281159502167 91.4623450286838 92.18054803726433 92.90714334427902 93.64185367324369 94.38440174767425 95.13451029108637 95.891902026996 96.65629967891888 97.42742597037088 98.20500362486777 98.98878898916277 99.77881805107378 100.57527583405202 101.37834745445603 102.18821802864437 103.0050726729756 103.82909650380834 104.66047463750117 105.49939219041265 106.34603427890133 107.20058601932581 108.06323252804461 108.93415892141644 109.81355031579974 110.70159182755313 111.59846857303523 112.50436566860455 113.41946823061971 114.34396137543929 115.2780302194218 116.22185987892587 117.17563547031007 118.139542109933 119.11376491415315 120.09848899932918 121.09389948181962 122.10018147798309 123.11752010417811 124.1461004767633 125.18610771209723 126.23772692653844 127.30114323644551 128.37654175817713 129.46410760809167 130.56402590254783 131.6764798287007 + -5.112319916750282 -3.601459921134754 -2.040948251508895 -0.43411248532612584 1.2157183983547009 2.9052154204746676 4.631049601974913 6.389891963796516 8.178413526880595 9.993285312168261 11.83117834060064 13.688763633118814 15.562712210663891 17.449695094177017 19.346383304599257 21.24944786287174 23.15555978993558 25.061390106731864 26.963609834201748 28.858889993286287 30.743901604926627 32.615315690063845 34.46980326963908 36.30403536459342 38.11468299586798 39.898417184403876 41.65190895114224 43.371829317024115 45.054849302990675 46.69763992998299 48.296872218942184 49.849217190809355 51.351345866525634 52.79992926703213 54.191638413269914 55.52314432618012 56.79113443847029 57.99406151601209 59.133822559036986 60.21270789727605 61.233007860460276 62.19701277832063 63.107012980588166 63.96529879699389 64.77416055726883 65.53588859114394 66.25277322835029 66.92710479861886 67.56117363168066 68.15727005726673 68.71768440510806 69.24470700493565 69.74062818648056 70.20773827947374 70.6483276136462 71.06468651872903 71.45910532445318 71.83387436054966 72.1912839567495 72.5336244427837 72.86318614838326 73.18225940327925 73.4931345372026 73.79810187988438 74.09945176105558 74.39947451044719 74.70046045779027 75.00469993281583 75.3144832652548 75.63210078483826 75.95984282129722 76.29999970436268 76.65481000954402 77.02530886194333 77.41133096009615 77.81265824036947 78.22907263913032 78.6603560927456 79.10629053758241 79.56665791000765 80.04124014638836 80.52981918309156 81.0321769564842 81.54809540293326 82.07735645880577 82.6197420604687 83.17503414428907 83.74301464663385 84.32346550387003 84.91616865236463 85.5209060284846 86.13745956859698 86.76561120906874 87.40514288626684 88.05583653655836 88.7174740963102 89.3898375018894 90.07270868966296 90.76586959599784 91.46910215726108 92.18218830981962 92.90490999004047 93.63704913429066 94.37838767893713 95.12870756034691 95.88779071488699 96.65541907892433 97.43137458882595 98.21546281749713 99.0076820606125 99.80813489464953 100.61692361937881 101.43415053457095 102.25991793999657 103.09432813542632 103.93748342063085 104.7894860953808 105.65043845944675 106.52044281259934 107.39960145460917 108.28801668524694 109.18579080428326 110.0930261114887 111.00982490663397 111.93628948948964 112.87252215982637 113.81862521741479 114.77470096202548 115.74085169342912 116.71717971139634 117.70378731569777 118.70077680610396 119.70825048238564 120.72631064431337 121.75505959165785 122.79459962418966 123.84503304167941 124.90646214389778 125.97898923061535 127.06271660160277 128.15774655663074 129.26418139546973 130.38212341789048 131.51167301808468 + -4.85670749814633 -3.3302281829145612 -1.7534753720170069 -0.1298391020485811 1.537289167060926 3.244517975381661 4.988455862983823 6.765711369937555 8.572893036313033 10.406609402180441 12.263469007609961 14.140080392671733 16.033052097435938 17.938992661972776 19.85451062635238 21.77621453064494 23.700712914920626 25.624614319249602 27.54452728370207 29.457060348348158 31.358822053258073 33.246420938501956 35.116465544149996 36.96556441027237 38.79032607693924 40.58735908422078 42.35327197218718 44.084673280908554 45.77817155045514 47.430375320897085 49.03789313230453 50.5973335247477 52.10530503829673 53.55841621302182 54.95327558899311 56.28649170628079 57.55468977660421 58.75629182150465 59.893225227039615 60.96781773256543 61.982397077438385 62.939291001014716 63.84082724265074 64.68933354170272 65.48713763752701 66.23656726947982 66.93995017691749 67.59961409919624 68.21788677567244 68.79709594570232 69.33956934864219 69.84763472384832 70.32361981067703 70.76985234848455 71.18866007662722 71.58237073446129 71.95331206134308 72.30381179662884 72.6361976796749 72.95279744983749 73.25593884647296 73.54794960893753 73.83115747658755 74.10789018877927 74.38047548486898 74.65124110421297 74.92251478616754 75.19662427008898 75.47589729533351 75.76266160125748 76.05924492721718 76.36797501256888 76.69112827869873 77.02978889969707 77.38385155635439 77.75315869349242 78.13755275593292 78.53687618849752 78.95097143600799 79.37968094328602 79.82284715515333 80.28031251643165 80.75191947194267 81.2375104665081 81.73692794494967 82.2500143520891 82.77661213274808 83.31656373174835 83.8697115939116 84.43589816405957 85.01496588701393 85.60675720759643 86.21111457062877 86.82788042093266 87.45689720332986 88.098007362642 88.75105334369084 89.41587759129811 90.09232255028552 90.78023066547475 91.47944438168753 92.18980614374554 92.9111583964706 93.64334358468429 94.38620415320841 95.13958254686467 95.90332121047474 96.67726258886036 97.46126269316974 98.25528261866232 99.05934261313288 99.8734622755387 100.69766120483712 101.53195899998532 102.3763752599407 103.23092958366055 104.09564157010215 104.97053081822283 105.85561692697983 106.75091949533046 107.65645812223208 108.57225240664194 109.49832194751733 110.43468634381559 111.38136519449397 112.33837809850982 113.30574465482044 114.28348446238306 115.27161712015503 116.27016222709364 117.2791393821562 118.29856818429998 119.32846823248231 120.36885912566045 121.41976046279174 122.48119184283351 123.55317286474295 124.63572312747746 125.72886222999428 126.83260977125076 127.94698535020419 129.07200856581176 130.2076990170309 131.3540744204846 + -4.59539266211392 -3.0534524679583366 -1.4606403343444185 0.17959345190965023 1.8637971591283595 3.5885190556361333 5.3503074097574554 7.145710489816742 8.971276564138456 10.823553901047058 12.69909076886701 14.59443543592273 16.506136170538678 18.430741241039332 20.364798915749116 22.304857462992494 24.247465151093913 26.18917024837781 28.126521023168685 30.056065743790935 31.974352678569044 33.87793009582743 35.76334626389058 37.62714945108293 39.46588792572893 41.276109956153036 43.05436381067972 44.79719775763337 46.5011600653385 48.16279900211954 49.77866283630093 51.34529983620715 52.85925827016262 54.317086406491825 55.715332513519186 57.05054485956915 58.31928863194448 59.51995572361294 60.654501456438226 61.725288176473505 62.73467822977194 63.68503396238662 64.57871772037073 65.4180918497774 66.2055186966598 66.94336060707104 67.6339799270643 68.2797390026927 68.88300018000938 69.44612580506752 69.97147822392024 70.46141978262068 70.91831282722202 71.34451970377737 71.74240275833986 72.11432433696271 72.46264678569898 72.78973245060187 73.09794367772449 73.38964281312003 73.6671922028416 73.93295419294235 74.18929112947544 74.438565358494 74.68313922605118 74.92537507820012 75.16763526099398 75.41228212048591 75.66167800272902 75.91818525377647 76.18416621968144 76.46198324649704 76.75394788300342 77.06119255874381 77.38367307216865 77.72129359507399 78.0739582992559 78.44157135651041 78.8240369386336 79.2212592174215 79.63314236467022 80.05959055217578 80.50050795173424 80.95579873514167 81.42536707419409 81.90911714068761 82.40695310641827 82.91877914318212 83.44449942277521 83.98401811699362 84.53723939763339 85.10406743649057 85.68440640536124 86.27816047604144 86.88523382032726 87.50553061001472 88.13895501689987 88.78541121277883 89.44480336944758 90.11703565870222 90.80201225233881 91.49963732215338 92.20981503994203 92.93244957750076 93.66744510662569 94.41470579911284 95.1741358267583 95.94563936135809 96.72912400879416 97.52451428761262 98.33174846354405 99.15076377968192 99.98149747911971 100.82388680495079 101.6778690002687 102.5433813081669 103.42036097173883 104.30874523407795 105.20847133827772 106.11947652743154 107.04169804463301 107.9750731329755 108.91953903555243 109.87503299545735 110.84149225578365 111.81885405962485 112.80705565007442 113.80603427022572 114.81572716317227 115.83607157200754 116.867004739825 117.90846390971808 118.96038632478026 120.02270922810496 121.09536986278569 122.17830547191589 123.27145329858901 124.37475058589854 125.48813457693788 126.61154251480058 127.74491164258008 128.88817920336973 130.04128244026305 131.20415673680554 + -4.328829065608786 -2.7716137778670973 -1.1629525072513855 0.4936465795793224 2.1946738498312754 3.9366196707106567 5.7159744094237075 7.5292284331766055 9.372872109175573 11.243395804626822 13.137289886736578 15.051044722711021 16.981150679756364 18.924098125078853 20.87637742588466 22.834478949380006 24.79489306277111 26.754110133264163 28.708620528065413 30.654914614381024 32.589482759417244 34.508815330380244 36.40940269447627 38.28773521891151 40.14030327089218 41.96359721762451 43.7541074263147 45.50832426416892 47.22273809839344 48.89383929619443 50.518118224778114 52.09206525135069 53.6121707431184 55.07492506728744 56.47681859106398 57.8143416816543 59.084001859173114 60.2841615561628 61.416801422823276 62.48431542735152 63.4890975379445 64.43354172279912 65.32004195011238 66.15099218808119 66.92878640490257 67.65581856877341 68.33448264789071 68.96717261045137 69.55628242465242 70.10420605869078 70.61333748076336 71.08607065906716 71.52479956179916 71.93191815715626 72.30982041333543 72.66090029853366 72.98755178094785 73.29216882877499 73.57714541021203 73.84487549345592 74.0977530467036 74.33817203815205 74.56852643599821 74.79121020843905 75.00861732367152 75.22314174989253 75.43717745529909 75.65311840808818 75.87335857645664 76.10029192860152 76.33631243271977 76.5838140570083 76.84514057982844 77.12147176305339 77.41282557905326 77.71916906803412 78.0404692702021 78.37669322576322 78.72780797492369 79.09378055788954 79.4745780148669 79.8701673860619 80.28051571168058 80.7055900319291 81.14535738701352 81.59978481713998 82.06883936251457 82.55248806334338 83.05069795983252 83.5634360921881 84.09066950061622 84.63236522532296 85.18849030651447 85.75901178439682 86.34389669917611 86.94311209105845 87.55662500024997 88.18440246695673 88.82641153138485 89.48261923374045 90.15299261422962 90.83749871305842 91.53610457043305 92.24877722655951 92.97548372164397 93.71619109589253 94.47086638951126 95.23947664270628 96.02198215698392 96.81827162985277 97.62820191992502 98.45162848855466 99.28840679709566 100.13839230690196 101.00144047932761 101.87740677572663 102.76614665745295 103.66751558586056 104.58136902230343 105.50756242813554 106.44595126471097 107.3963909933836 108.35873707550748 109.33284497243655 110.31857014552484 111.3157680561263 112.32429416559495 113.34400393528475 114.37475282654964 115.41639630074376 116.46878981922092 117.53178884333518 118.60524883444057 119.689025253891 120.7829735630405 121.88694922324309 123.00080769585264 124.12440444222324 125.25759492370887 126.40023460166344 127.55217893744106 128.71328339239557 129.88340342788103 131.06239266795254 + -4.057470365586653 -2.4851931142418486 -0.8609212594981526 0.811781683991202 2.529350714443964 4.288220830077815 6.084827029110496 7.9156043097596855 9.776987670243104 11.66541210877846 13.577312623583484 15.509124212875856 17.457281874873285 19.41822060779351 21.388375409854216 23.364181279273115 25.342073214267927 27.31848621305634 29.289855273856105 31.252615394884884 33.20320157436043 35.1380488105004 37.05359210152256 38.946266445644575 40.81250684108418 42.64874828605908 44.451425778787 46.216974317485594 47.94182890037264 49.622424525665814 51.25519619158281 52.836578896341365 54.363007638159175 55.83091741525398 57.23674322584344 58.57692006814529 59.84790031297218 61.04801765298013 62.179275301785296 63.244095683550796 64.2449012224397 65.18411434261505 66.06415746823994 66.88745302347749 67.65642343249075 68.37349111944279 69.04107850849674 69.66160802381559 70.2375020895625 70.77118312990055 71.26507356899276 71.72159583100223 72.14317234009211 72.53222552042538 72.8911777961652 73.22245159147458 73.52846933051667 73.81165343745451 74.07442633645118 74.31921045166979 74.54842820727336 74.76450202742502 74.96985433628788 75.16690755802495 75.35808411679933 75.54580643677414 75.73249694211242 75.92057805697726 76.11247220553172 76.31060181193892 76.51738930036194 76.73525709496383 76.96657812654412 77.21257843659563 77.47333914852256 77.74889123529279 78.03926566987428 78.34449342523494 78.66460547434272 78.99963279016553 79.34960634567126 79.71455711382794 80.0945160676034 80.4895141799656 80.89958242388246 81.32475177232192 81.76505319825192 82.22051767464036 82.69117617445518 83.1770596706643 83.67819913623566 84.19462554413718 84.72636986733677 85.2734630788024 85.83593615150198 86.41382005840342 87.00714577247463 87.6159442666836 88.2402465139982 88.88008348738641 89.5354861598161 90.20648550425523 90.89311249367174 91.5953981010335 92.31337329930851 93.04706906146465 93.79651636046987 94.56174616929209 95.34277253035268 96.13944920777224 96.9515524563178 97.77885675890309 98.62113659844186 99.4781664578478 100.34972082003476 101.23557416791648 102.13550098440666 103.04927575241908 103.97667295486747 104.91746707466558 105.87143259472721 106.83834399796609 107.81797576729593 108.81010238563054 109.81449833588361 110.830938100969 111.85919616380035 112.89904700729141 113.950265114356 115.01262496790784 116.08590105086073 117.16986784612831 118.26429983662443 119.36897150526278 120.4836573349572 121.60813180862135 122.74216940916902 123.88554461951394 125.03803192256987 126.19940580125059 127.36944073846988 128.54791121714138 129.73459172017888 130.9292549148308 + -3.781770219003251 -2.1946714786836057 -0.5550559598449735 1.1334601681760457 2.8672592282407017 4.642723543210179 6.456235435945722 8.304177229308506 10.182931246159756 12.088879809360689 14.018405241772529 15.967889866256456 17.933716005673684 19.912265982885465 21.899922120752965 23.893066742137417 25.888082169900027 27.881350726902003 29.86925473600458 31.84817652006894 33.814498401956314 35.764602704527896 37.6948717506449 39.601687863168536 41.48143336496004 43.33049057888061 45.14524182779146 46.92206943455376 48.657355722028804 50.347483013077735 51.98883363056177 53.57778989734215 55.11073413628007 56.58404867023676 57.994115822073404 59.33731791465121 60.61005484802365 61.81063234789076 62.94107326891475 64.00382514342256 65.00133550374106 65.93605188219713 66.81042181111768 67.62689282282959 68.38791244965972 69.095928223935 69.75338767798233 70.36273834412853 70.92642775470055 71.44690344202529 71.92661293842957 72.36800377624033 72.77352348778447 73.14561960538886 73.48673966138038 73.79933118808593 74.08584171783241 74.34871878294669 74.59040991575567 74.81336264858624 75.0200245137653 75.21284304361971 75.39426577047638 75.56674022666219 75.73271394450406 75.89463445632882 76.05494929446341 76.21610599123474 76.3805520789696 76.55073508999496 76.72910255663774 76.91810201122473 77.1201322805208 77.33646450334032 77.56724385209083 77.81256621976995 78.07252749937533 78.3472235839045 78.63675036635516 78.94120373972484 79.26067959701119 79.59527383121181 79.94508233532432 80.3102010023463 80.69072572527537 81.08675239710917 81.49837691084527 81.9256951594813 82.36880303601484 82.82779643344354 83.30277124476497 83.79382336297677 84.30104868107652 84.82454309206186 85.36440248893038 85.92072276467967 86.49359981230738 87.0831295248111 87.68940779518844 88.31253051643701 88.9525935815544 89.60969288353822 90.28392431538613 90.97538377009568 91.6841671406645 92.4103703200902 93.15408920137038 93.91541967750267 94.69443052151392 95.4909415837604 96.30464954676437 97.13524894747344 97.98243432283523 98.84590020979734 99.72534114530741 100.62045166631316 101.53092630976214 102.45645961260198 103.39674611178032 104.35148034424475 105.32035684694299 106.30307015682263 107.29931481083128 108.30878534591656 109.33117629902617 110.3661822071077 111.41349760710878 112.472817035977 113.54383503066003 114.62624612810554 115.71974486526112 116.82402577907435 117.93878340649293 119.06371228446446 120.1985069499366 121.342861939857 122.49647179117318 123.65903104083289 124.83023422578368 126.00977588297326 127.19735054934921 128.39265276185913 129.59537705745063 130.80521617834535 + -3.5021822828143034 -1.900529872793375 -0.24586597705209468 1.4581434351646168 3.207830866495774 4.99952881958033 6.829569797057291 8.694286301565601 10.590010835744252 12.513075902232226 14.459814003668509 16.42655764269206 18.409639321941842 20.405391544056886 22.410146811676118 24.420237627438535 26.43199649398312 28.441755913948832 30.445848389974685 32.44060642469962 34.42236252076263 36.38744918080268 38.33219890745876 40.25294420336985 42.146017571174916 44.00775151351295 45.83447853302293 47.6225311323438 49.36824181411458 51.06794308097424 52.717967435561725 54.314647380516035 55.85431541847616 57.33330405208107 58.747945783969726 60.09457311678112 61.36953631900958 62.57111397472055 63.70134549980214 64.76270000531811 65.75764660233223 66.68865440190821 67.55819251510981 68.36873005300077 69.1227361266449 69.82267984710586 70.47103032544747 71.0702566727334 71.62282800002748 72.13121341839341 72.59788203889497 73.02530297259588 73.4159453305599 73.77227822385076 74.09677076353223 74.39189206066806 74.660111226322 74.90389737155778 75.12571960743918 75.3280470450299 75.51334879539374 75.68409396959439 75.84275167869565 75.99179103376127 76.13368114585495 76.27089112604048 76.40589008538159 76.54114713494205 76.67913138578555 76.82231194897594 76.97315793557686 77.13413845665214 77.30767479912882 77.49508188725719 77.69656976127237 77.91230014438555 78.14243475980797 78.38713533075084 78.64656358042542 78.9208812320429 79.2102500088145 79.51483163395147 79.83478783066502 80.17028032216636 80.52147083166675 80.8885210823774 81.27159279750954 81.67084770027438 82.08644751388313 82.51855396154706 82.96732876647735 83.43293365188525 83.91553034098197 84.41528055697876 84.93234602308685 85.46688846251739 86.01906959848168 86.58905115419094 87.17699485285635 87.7830624176892 88.40741557190063 89.0502160387019 89.71162554130431 90.39180580291895 91.09091854675715 91.8091254960301 92.54658837394904 93.30346890372515 94.0798915230812 94.87564332020665 95.6903426653067 96.52360541101187 97.37504740995264 98.24428451475946 99.13093257806285 100.03460745249336 100.95492499068145 101.89150104525761 102.84395146885235 103.81189211409611 104.7949388336195 105.79270748005295 106.80481390602692 107.83087396417197 108.87050350711858 109.92331838749726 110.98893445793851 112.06696757107275 113.15703357953055 114.2587483359424 115.3717276929388 116.4955875031502 117.62994361920718 118.77441189374015 119.92860817937965 121.09214832875621 122.26464819450025 123.44572362924232 124.63499048561292 125.83206461624252 127.03656187376167 128.24809811080075 129.46628917999035 130.69074915940126 + -3.2191602139755404 -1.603249298172171 0.06613932012023292 1.7852928879876746 3.5504971044834637 5.358037668660841 7.204200279573109 9.085270636273505 10.997534437815306 12.937277383251791 14.900785171636239 16.884343502021892 18.884238073462026 20.896754585009937 22.91817873571886 24.94479622464209 26.97289275083288 28.9987540133445 31.01866571123025 33.02891354354335 35.02578320933712 37.00556040766478 38.96453083757962 40.898980198134936 42.80519418838395 44.67945850737997 46.518058854176275 48.317280927826076 50.0734104273827 51.78273305189939 53.44153450042941 55.04610047202604 56.592716665742564 58.077668780632244 59.497242515748326 60.8477235701441 62.12541558061199 63.328570867295376 64.45924217003794 65.51991646758871 66.51308073869676 67.44122196211103 68.30682711658058 69.11238318085445 69.86037713368167 70.5532959538112 71.19362661999214 71.78385611097347 72.32647140550425 72.82395948233345 73.27880732021012 73.6935018978833 74.070530194102 74.41237918761524 74.72153585717204 75.00048718152144 75.25172013941243 75.47772170959409 75.6809788708154 75.8639786018254 76.02920788137308 76.1791536882075 76.3163030010777 76.44314279873267 76.56216005992142 76.67584176339301 76.78667488789645 76.89714641218077 77.00974331499496 77.1269525750881 77.25126117120918 77.38515608210722 77.53107743973848 77.6903825123161 77.86334694758149 78.05019913205952 78.25116745227506 78.46648029475291 78.69636604601797 78.94105309259507 79.20076982100906 79.4757446177848 79.76620586944716 80.07238196252096 80.39450128353108 80.73279221900235 81.08748315545965 81.45880247942782 81.8469785774317 82.25223983599615 82.67481464164604 83.1149313809062 83.57281844030149 84.04870420635675 84.54281706559688 85.0553854045467 85.58663760973103 86.1368020676748 86.70610716490278 87.29478128793988 87.90305282331092 88.53115015754076 89.17930167715431 89.84773576867633 90.53668081863172 91.24636521354535 91.97701733994204 92.72886558434665 93.5020909276681 94.2964489795004 95.11148128598683 95.94672650626458 96.80172329947099 97.67601032474313 98.56912624121834 99.48060970803381 100.40999938432678 101.35683392923445 102.32065200189406 103.30099226144281 104.297393367018 105.30939397775677 106.33653275279636 107.37834835127403 108.434379432327 109.50416465509251 110.58724267870775 111.68315216230992 112.7914317650363 113.91162014602409 115.04325596441055 116.18587787933286 117.33902454992828 118.50223463533396 119.67504679468725 120.85699968712531 122.04763197178534 123.24648230780458 124.45308935432028 125.66699177046966 126.88772821538996 128.11483734821832 129.34785782809206 130.5863265589037 + -2.9331576694426875 -1.303310756421001 0.380450562911761 2.1143699296759824 3.894689417478053 5.717651099924294 7.579497050621086 9.476469343174744 11.404810051191632 13.360761248278102 15.340565008040517 17.3404634040852 19.356698510018493 21.385512399446796 23.423147145976397 25.46584482321369 27.509847504765002 29.55139726423668 31.5867361752351 33.61210631136658 35.623749746237486 37.617908553454164 39.590824806622955 41.53874057935022 43.457897945242294 45.34453897790555 47.19490575094634 49.00524033797096 50.77178481258582 52.49078124839725 54.15847171901157 55.77109829803516 57.32490305907437 58.816128075735556 60.241015421625036 61.5958071703492 62.87676348751291 64.0821113594411 65.21391345521263 66.27467072858565 67.26688413331821 68.19305462316838 69.05568315189426 69.8572706732539 70.60031814100542 71.28732650890687 71.92079673071636 72.50322976019194 73.03712655109173 73.5249880571738 73.96931523219622 74.37260902991706 74.73737040409443 75.0661003084864 75.36129969685102 75.62546952294645 75.86111074053069 76.07072430336186 76.25681116519804 76.4218722797973 76.56840860091775 76.69892108231743 76.81591067775445 76.9218783409869 77.01932502577282 77.11075168587031 77.19865927503749 77.28554874703241 77.37392105561311 77.46627715453775 77.56511799756437 77.67294453845106 77.79221195972016 77.92431830248682 78.06960548253252 78.22836930571187 78.40090557787939 78.58751010488965 78.78847869259727 79.00410714685677 79.23469127352274 79.4805268784498 79.74190976749243 80.01913574650526 80.31250062134283 80.62230019785974 80.94883028191057 81.29238667934986 81.65326519603218 82.03176163781212 82.42817181054427 82.84279152008314 83.27591657228336 83.72784277299948 84.19886592808606 84.68928184339768 85.19938632478893 85.72947517811436 86.27984420922853 86.85078922398604 87.44260602824143 88.05559042784928 88.69003822866422 89.34624523654071 90.02450725733343 90.72512009689687 91.44837956108566 92.19458145575433 92.9639641278882 93.75625312403102 94.57091488284665 95.40741258997781 96.26520943106716 97.14376859175735 98.04255325769113 98.96102661451121 99.89865184786025 100.85489214338094 101.82921068671594 102.82107066350791 103.82993525939966 104.85526766003382 105.89653105105303 106.95318861810004 108.02470354681753 109.11053902284822 110.21015823183473 111.32302435941976 112.44860059124605 113.58635011295628 114.7357361101931 115.8962217685992 117.06727027381733 118.24834481149011 119.43890856726028 120.63842472677054 121.84635647566348 123.06216699958192 124.28531948416845 125.51527711506586 126.75150307791677 127.99346055836382 129.2406127420498 130.49242107775768 + -2.6446283061714704 -1.0011952491408738 0.6965583825622413 2.444835963260302 4.239839280753826 6.077770122843264 7.954830277329129 9.867221532011861 11.81114567469195 13.782804493169886 15.778399775246156 17.794133308721207 19.826206881395525 21.87082228106962 23.924181295543928 25.98248571261895 28.04193732009517 30.09873790577304 32.14908925745308 34.18919316293572 36.215251410021494 38.22346578651082 40.210038080204214 42.17117007890215 44.1030635704051 46.00192034251354 47.86394218302798 49.68533087974883 51.46228822047665 53.19101599301187 54.86771598515495 56.48858998470641 58.049839779466716 59.547667157236354 60.97827390581578 62.33786181300549 63.62265089439436 64.83084378498357 65.96450953091674 67.0261589866602 68.01830300668023 68.94345244544307 69.80411815741503 70.60281099706245 71.34204181885157 72.02432147724868 72.65216082672009 73.22807072173207 73.75456201675094 74.23414556624296 74.66933222467442 75.0626328465116 75.41655828622083 75.73361939826835 76.01632703712048 76.2671920572435 76.48872531310371 76.68343765916738 76.85383994990082 77.00244303977028 77.1317577832421 77.24429503478252 77.34256564885787 77.42908047993443 77.50635038247847 77.5768862109563 77.6431988198342 77.70779906357846 77.77319779665534 77.84190587353119 77.91643414867227 77.99929347654482 78.09295011644417 78.19884118173914 78.31737543763975 78.44891678826247 78.59382913772374 78.75247639014 78.92522244962775 79.11243122030339 79.31446660628342 79.53169251168431 79.76447284062246 80.01317149721437 80.2781523855765 80.5597794098253 80.85841647407722 81.1744274824487 81.50817633905626 81.86002694801628 82.23034321344527 82.61948903945967 83.02782833017594 83.45572498971052 83.90354292217991 84.37164603170052 84.86039822238882 85.37016339836131 85.90130546373442 86.45418832262457 87.02917587914826 87.62663203742191 88.24692070156206 88.89040577568507 89.55745116390744 90.24842077034565 90.96367849911613 91.70358825433532 92.46844651635503 93.25795031618793 94.07149292992821 94.90846401889767 95.76825324441806 96.65025026781109 97.55384475039857 98.4784263535023 99.42338473844401 100.38810956654542 101.37199049912836 102.37441719751453 103.39477932302579 104.43246653698384 105.4868685007104 106.55737487552733 107.64337532275633 108.74425950371922 109.85941707973772 110.98823771213358 112.1301110622286 113.28442679134454 114.45057456080318 115.62794403192622 116.81592486603547 118.01390672445268 119.22127926849967 120.43743215949816 121.66175505876987 122.89363762763662 124.13246952742016 125.37764041944226 126.62853996502474 127.88455782548922 129.14508366215756 130.40950541686834 + -2.3540257811176204 -0.6973837779328056 1.0139534103114205 2.776152391771391 4.585378169585064 6.437795746890328 8.329570126825136 10.256866312527373 12.21584930713497 14.202684113785851 16.21353573561795 18.244569175769143 20.29194943737737 22.351841523580575 24.420410437516637 26.493821182323494 28.568238761139067 30.639828177101258 32.70475443334802 34.75918253301723 36.79927747924685 38.82120427517476 40.82112792393889 42.79521342867716 44.73962579252749 46.65053001862781 48.524091110116046 50.35647407013006 52.14384390180785 53.88236560828729 55.568204192706276 57.19752465820277 58.766492007914664 60.27127124497992 61.70802737253641 63.07292539372205 64.36214865593837 65.57387647774867 66.71018057274073 67.7735774401636 68.76658357926632 69.69171548929785 70.5514896695072 71.34842261914342 72.08503083745552 72.76383082369246 73.38733907710333 73.95807209693706 74.47854638244273 74.95127843286934 75.37878474746586 75.76358182548132 76.1081861661648 76.41511426876522 76.68688263253162 76.92600775671303 77.13500614055845 77.3163942833169 77.47268868423738 77.60640584256892 77.72006225756051 77.81617442846118 77.89725885451995 77.9658320349858 78.02441046910776 78.07551065613485 78.12164909531607 78.16534228590046 78.20910672713698 78.25545891827468 78.30691535856258 78.36599254724966 78.43516366728083 78.51590307404287 78.60868688441751 78.71394770263133 78.83211813291095 78.96363077948293 79.10891824657388 79.26841313841034 79.44254805921895 79.6317556132263 79.83646840465896 80.0571190377435 80.29414011670656 80.54796424577471 80.81902402917453 81.1077520711326 81.41458097587552 81.73994334762989 82.08427179062228 82.44799890907929 82.8315573072275 83.23537958929354 83.65989835950396 84.10554622208534 84.57275578126429 85.0619596412674 85.57359040632126 86.10808068065245 86.66586306848755 87.24737017405316 87.85303460157594 88.48328895528235 89.13856583939905 89.81929785815264 90.52591761576969 91.25885771647675 92.01847348568216 92.80443511836054 93.6160649012735 94.45268114977044 95.3136021792006 96.1981463049133 97.1056318422579 98.03537710658375 98.98670041324014 99.95892007757641 100.95135441494186 101.96332174068577 102.99414037015757 104.04312861870653 105.10960480168193 106.19288723443313 107.29229423230952 108.40714411066034 109.53675518483496 110.6804457701826 111.83753418205268 113.00733873579456 114.1891777467575 115.38236953029079 116.5862324017438 117.80008467646584 119.02324466980629 120.25503069711442 121.49476107373951 122.74175411503094 123.99532813633807 125.25480145301015 126.51949238039656 127.78871923384655 129.06180032870947 130.33805227714075 + -2.061803751236861 -0.392357344397802 1.3321262773990536 3.1077806182400134 4.930737559246049 6.797128981538064 8.703086766237025 10.644742794463827 12.618228947339412 14.619677105984724 16.645219151520703 18.69098696506825 20.75311242774831 22.827727420681835 24.91096382498973 26.998953521792934 29.08782839221239 31.173720317369003 33.25276117838376 35.32108285637753 37.37481723247129 39.41009618778594 41.42305160344243 43.40981536056168 45.36651934026464 47.28929542367223 49.174275491905405 51.01759142608503 52.815375107332116 54.56375841676757 56.2588732355123 57.89685144468725 59.47382492541336 60.98592555881157 62.4292852260028 63.800035808107964 65.09432762682697 66.31031777156223 67.4500767562751 68.51612228744719 69.51097207156013 70.43714381509551 71.29715522453499 72.09352400636016 72.82876786705265 73.50540451309406 74.12595165096603 74.69292698715016 75.20884822812808 75.67623308038142 76.09759925039177 76.47546444464074 76.81234636961 77.11076273178112 77.37323123763572 77.60226959365544 77.8003955063219 77.9701266821167 78.1139808275215 78.23447564901785 78.33412885308742 78.41545814621178 78.48098123487262 78.53321582555148 78.57467962473002 78.60789033888989 78.63536567451263 78.65962333807992 78.68318103607334 78.70855647497451 78.7382673612651 78.77483140142668 78.82072436960053 78.87745590336779 78.94556989438007 79.0255681717384 79.11795256454383 79.22322490189735 79.3418870129001 79.47444072665301 79.62138787225719 79.7832302788137 79.96046977542358 80.15360819118781 80.36314735520753 80.5895890965837 80.83343524441743 81.09518762780972 81.37534807586164 81.67441841767423 81.99290048234852 82.33129609898556 82.69010709668642 83.06983530455213 83.47098255168372 83.89405066718224 84.33954148014874 84.80795681968429 85.29979851488989 85.8155683948666 86.35576828871548 86.92090002553753 87.51146543443387 88.12796634450548 88.77090458485343 89.44078198457879 90.13810037278255 90.8633615785658 91.61698042848316 92.39860209293822 93.2074802709245 94.04286433934224 94.90400367509166 95.79014765507297 96.70054565618642 97.63444705533233 98.59110122941087 99.5697575553223 100.56966540996685 101.59007417024472 102.63023321305626 103.68939191530164 104.76679965388108 105.86170580569483 106.9733597476432 108.10101085662636 109.2439085095446 110.4013020832981 111.57244095478713 112.75657450091195 113.95295209857278 115.16082312466988 116.37943695610348 117.60804296977375 118.84589054258106 120.09222905142562 121.34630787320756 122.60737638482722 123.87468396318484 125.14747998518065 126.4250138277149 127.70653486768778 128.99129248199955 130.27853435948 + -1.7684149689799984 -0.08659592204652777 1.6505687737641248 3.4391833411219923 5.275350362372204 7.155172419859815 9.074752095929949 11.030191972927657 13.017594633198037 15.03306265908618 17.072698632937193 19.132605137096125 21.20888475390807 23.297640065718152 25.39497365487141 27.496988103712958 29.59978599458788 31.699469909841245 33.79214243181818 35.87390614286373 37.940863625323026 39.98911746154109 42.01477023386307 44.013924524634014 45.98268291619903 47.9171479909032 49.813422331091644 51.66760851910937 53.47580913730154 55.234126768013205 56.938663993589444 58.58552339637537 60.17080755871606 61.69061906295661 63.141060491442076 64.51823442651758 65.81826196642265 67.03927911080983 68.1833511504856 69.25299238112578 70.25071709840613 71.17903959800233 72.0404741755902 72.8375351268455 73.57273674744398 74.24859333306136 74.86761917937346 75.432328582056 75.94523583678473 76.40885523923546 76.8257010850839 77.19828767000581 77.52912928967699 77.82074023977313 78.07563481597005 78.29632731394348 78.48533202936918 78.64516325792292 78.77833529528044 78.88736243711752 78.97475897910991 79.04303921693335 79.09471744626363 79.13230796277648 79.15832506214768 79.17528304005297 79.18569619216812 79.19207881416891 79.19694520173101 79.2028096505303 79.21218645624246 79.22758991454327 79.25149388009766 79.28544118380341 79.33004383598774 79.38587333823476 79.4535011921287 79.53349889925364 79.62643796119387 79.73288987953346 79.85342615585662 79.98861829174751 80.13903778879035 80.30525614856924 80.4878448726684 80.68737546267198 80.90441942016417 81.1395482467291 81.39333344395101 81.66634651341401 81.95915895670228 82.2723422754 82.60646797109136 82.9621075453605 83.33983249979163 83.74021433596889 84.16382455547642 84.61123465989847 85.08301615081916 85.57974052982267 86.10197929849318 86.65030395841484 87.22528601117185 87.82749695834835 88.45750830152853 89.11589154229657 89.80321818223663 90.52005972293287 91.26689109245632 92.0433343795385 92.84857732453878 93.68180300184665 94.5421944858516 95.42893485094311 96.34120717151076 97.2781945219441 98.23907997663258 99.22304660996573 100.22927749633308 101.2569557101241 102.30526432572839 103.37338641753543 104.46050505993469 105.56580332731573 106.68846429406808 107.82767103458127 108.98260662324478 110.1524541344481 111.33639664258078 112.53361722203239 113.74329894719234 114.9646248924502 116.19677813219553 117.43894174081777 118.69029879270649 119.95003236225122 121.21732552384137 122.49136135186656 123.77132292071629 125.05639330478007 126.34575557844745 127.63859281610785 128.93408809215083 130.23142280677493 + -1.4742544646289688 0.21949103174847173 1.9688567964625052 3.769921649275242 5.61876275287203 7.511457269938149 9.444082363158941 11.412715195219677 13.413432928805681 15.442312726602264 17.495431751294745 19.56886716556841 21.658696132108556 23.760995813600548 25.871843372729636 27.987315972181147 30.103490774640395 32.21644494279268 34.32225563932333 36.41700002691762 38.4967552682609 40.55759852603844 42.595606962935555 44.606857741637555 46.58742802482976 48.53339497519748 50.44083575542603 52.305827528200666 54.12444745620676 55.8927727021296 57.606880428654456 59.26284779846669 60.856751974251566 62.384670118694444 63.842679394480584 65.22685696429532 66.53329856079516 67.76012025797975 68.90937806469441 69.98357820558088 70.98522690528092 71.91683038843625 72.78089487968863 73.57992660367981 74.31643178505156 74.99291664844557 75.61188741850366 76.17585031986751 76.6873115771789 77.14877741507962 77.56275405821133 77.93174773121582 78.25826465873486 78.54481106541016 78.7938931758835 79.0080172147966 79.18968940679122 79.34141597650911 79.46570314859201 79.56505714768167 79.64198419841986 79.69899052544828 79.73858235340873 79.76326590694292 79.77554741069261 79.77793308929955 79.77292916740548 79.76304186965218 79.75077742068133 79.73864204513474 79.72914196765416 79.72478341288128 79.72803376204268 79.74046688018575 79.762763143324 79.79556407500728 79.83951119878549 79.89524603820846 79.9634101168261 80.04464495818826 80.13959208584484 80.2488930233457 80.37318929424072 80.51312242207976 80.66933393041269 80.84246534278941 81.03315818275978 81.24205397387365 81.46979423968094 81.71702050373148 81.98437428957517 82.27249712076187 82.58203052084144 82.91361601336381 83.26789512187881 83.64550936993629 84.04710028108616 84.47330937887833 84.92477818686258 85.40214822858886 85.906061027607 86.43715810746687 86.99608099171842 87.58347120391142 88.1999702675958 88.84621970632145 89.52286104363819 90.23053580309593 90.96977953382121 91.74019325562071 92.54090152672873 93.37102390299103 94.22967994025339 95.11598919436157 96.02907122116143 96.96804557649875 97.93203181621934 98.92014949616896 99.93151817219344 100.9652574001385 102.02048673585004 103.0963257351738 104.1918939539556 105.30631094804119 106.4386962732764 107.58816948550707 108.75385014057895 109.93485779433779 111.13031200262941 112.33933232129968 113.56103830619435 114.79454951315917 116.03898549803998 117.29346581668256 118.55711002493274 119.82903767863631 121.10836833363899 122.39422154578665 123.68571687092509 124.9819738649001 126.28211208355748 127.58525108274293 128.89051041830234 130.19700798448048 + -1.1796014817363834 0.5256348478770401 2.286733584017027 4.099751874196821 5.9607451926947785 7.865769013789182 9.810878811758379 11.792130060880652 13.80557823543432 15.847278809697707 17.91328725794914 19.9996590544669 22.102449673529307 24.217714589414715 26.341509276401382 28.469889208767654 30.59890986079184 32.72462670675224 34.8430952209272 36.950370877595 39.04250915103398 41.11556551552242 43.16559544533867 45.18865441476102 47.180797898067794 49.13808136953731 51.05656030344789 52.9322901740778 54.761326455705415 56.53972462260902 58.26354014906691 59.92882850935743 61.531645177758875 63.068045628549584 64.53408533600785 65.92581977441199 67.23932302177903 68.47269236166996 69.627970662155 70.7076516429631 71.71422902382326 72.65019652446439 73.51804786461544 74.32027676400538 75.05937694236319 75.73784211941776 76.3581660148981 76.92284234853314 77.43436484005186 77.89522720918319 78.30792317565607 78.67494645919949 78.99879077954239 79.28194985641372 79.52691740954243 79.7361871586575 79.91225282348785 80.05760812376246 80.17474677921028 80.26616250956026 80.33434903454136 80.3818000738825 80.41100934731269 80.42447057456084 80.42467747535595 80.41412376942692 80.39530317650274 80.37070941631237 80.34283620858471 80.3141772730488 80.28722632943354 80.26447709746787 80.24838614970439 80.24055627042372 80.24173631791496 80.2526380491973 80.27397322129 80.30645359121228 80.35079091598337 80.4076969526225 80.47788345814888 80.56206218958177 80.66094490394042 80.775243358244 80.90566930951177 81.05293451476295 81.21775073101682 81.40082971529255 81.60288322460937 81.82462301598656 82.0667608464433 82.33000847299886 82.61507765267241 82.92268014248326 83.2535276994506 83.60833208059363 83.98780504293163 84.39265834348382 84.8236037392694 85.28135298730763 85.76661784461773 86.2801100682189 86.82254141513044 87.39462364237153 87.9970685069614 88.6305877659193 89.29589317626446 89.99369649501608 90.72459428305089 91.488168453958 92.28348315116293 93.10959718701835 93.965569373877 94.85045852409155 95.7633234500148 96.70322296399942 97.6692158783982 98.66036100556379 99.67571715784891 100.71434314760627 101.77529778718869 102.85763988894881 103.96042826523936 105.08272172841306 106.22357909082265 107.38205916482089 108.55722076276044 109.748122696994 110.95382377987431 112.17338282375421 113.40585864098624 114.65031004392323 115.90579584491788 117.17137485632287 118.44610589049103 119.72904775977497 121.01925927652744 122.31579925310118 123.61772650184892 124.92409983512337 126.23397806527727 127.54642000466325 128.86048446563413 130.17522861026094 + -0.8847225215925043 0.8315824485859009 2.603960993106191 4.4284521466923055 6.301093255250992 8.217921664688927 10.174974720912852 12.168289769829443 14.193904157345411 16.247855229367474 18.326180331802348 20.424916810556713 22.54010201153728 24.66777328065079 26.8039679638039 28.944723406903353 31.086076955855837 33.22406595656807 35.35472775494677 37.47409969689861 39.57821912833033 41.66312339514861 43.72484984326017 45.75943581857172 47.76291866698995 49.73133573442159 51.660724366773366 53.54712190995191 55.38656570986401 57.17509311241632 58.90874146351557 60.583548109068445 62.19555039498168 63.74078566716198 65.21529127151604 66.61510455395054 67.93628147863284 69.17690163890164 70.3389911302738 71.42502699089827 72.43748625892403 73.3788459724999 74.2515831697749 75.05817488889794 75.80109816801797 76.48283004528389 77.10584755884466 77.67262774684917 78.18564764744643 78.64738429878535 79.06031473901481 79.4269160062838 79.74966513874124 80.03103917453603 80.27351515181715 80.4795701087335 80.65168108343406 80.79232511406771 80.9039792387834 80.9891204957301 81.0502259230567 81.08977255891213 81.11023744144536 81.1140976088053 81.10383009914088 81.08191195060105 81.05082020133474 81.0130318894909 80.97102405321839 80.92727373066623 80.88425795998332 80.8444537793186 80.81030286615125 80.78343486642717 80.76466710289647 80.75478163486034 80.75456052161998 80.7647858224766 80.78623959673138 80.81970390368551 80.86596080264019 80.92579235289666 80.99998061375605 81.08930764451958 81.19455550448848 81.31650625296389 81.45594194924706 81.61364465263915 81.79039642244138 81.98697931795492 82.20417539848097 82.44276672332076 82.70353535177543 82.98726334314624 83.29473275673436 83.62672565184096 83.98402408776725 84.36741012381447 84.77766581928377 85.21557323347635 85.6819144256934 86.17747145523614 86.70302638140578 87.25936126350345 87.8472581608304 88.46749913268783 89.12086623837695 89.80814153719888 90.52998285799914 91.2859549070852 92.07506415333339 92.89631141383103 93.74869750566539 94.63122324592375 95.54288945169345 96.48269694006183 97.44964652811615 98.44273903294366 99.46097527163172 100.50335606126758 101.56888221893863 102.65655456173212 103.76537390673532 104.89434107103556 106.04245687172016 107.20872212587642 108.39213765059164 109.59170426295302 110.80642278004798 112.03529401896381 113.27731879678777 114.53149793060717 115.79683223750934 117.07232253458153 118.3569696389111 119.64977436758532 120.94973753769146 122.25585996631686 123.56714247054883 124.88258586747467 126.20119097418166 127.52195860775707 128.84388958528822 130.16598308365562 + -0.5898840854875909 1.137080756121781 2.920300880408501 4.75580059756727 6.639602513951216 8.567729235913403 10.536203369806955 12.541047521984925 14.578284298800416 16.643936306606523 18.734026151756353 20.844576440602953 22.97160977949943 25.111148774798917 27.259216032854443 29.411834160019122 31.565025762646055 33.71481344708831 35.857219819699004 37.988267486831205 40.10397905483803 42.200377130072525 44.27348431888781 46.31932322763697 48.333916462673095 50.31328663034928 52.25345633701863 54.15044818903417 56.00028479274908 57.79898875451639 59.54258268068919 61.2270891776206 62.84853085166369 64.40293030917158 65.88631015649732 67.29469299999401 68.62412006061518 69.87265430669603 71.04230165645728 72.1355185470122 73.15476141547401 74.10248669895597 74.98115083457128 75.79321025943321 76.54112141065501 77.22734072534992 77.85432464063115 78.42452959361194 78.94041202140556 79.40442836112524 79.81903504988422 80.18668852479573 80.50984522297303 80.79096158152934 81.03249403757792 81.23689902823197 81.40663299060478 81.54415236180957 81.65191357895958 81.73237307916804 81.78798729954822 81.82121267721331 81.83450564927661 81.83032265285132 81.81112012505069 81.77935450298796 81.73748222377637 81.68795972452918 81.63324344235957 81.57578981438084 81.51805527770624 81.46249626944896 81.41153573445172 81.36682818010591 81.32925924140439 81.29968120605189 81.27894636175317 81.26790699621289 81.26741539713586 81.27832385222673 81.30148464919026 81.33775007573121 81.38797241955426 81.45300396836417 81.53369700986566 81.63090383176345 81.74547672176227 81.87826796756687 82.03012985688193 82.20191467741222 82.39447471686248 82.60866226293739 82.8453296033417 83.10532902578015 83.38951281795747 83.69873326757835 84.03384266234755 84.39569328996981 84.78513743814983 85.20302739459237 85.65021544700211 86.1275538830838 86.63589499054223 87.176091057082 87.74899437040796 88.35545721822479 88.9963318882372 89.67247066814993 90.38459277651968 91.13224754753708 91.91438648873216 92.72995514333147 93.57789905456154 94.45716376564889 95.36669481982008 96.30543776030166 97.27233813032021 98.26634147310217 99.28639333187415 100.33143924986263 101.40042477029424 102.49229543639547 103.60599679139284 104.74047437851291 105.89467374098226 107.06754042202738 108.25801996487486 109.46505791275112 110.68759980888282 111.9245911964965 113.17497761881863 114.43770461907579 115.7117177404945 116.99596252630131 118.28938451972283 119.5909292639855 120.89954230231588 122.2141691779405 123.53375543408598 124.85724661397879 126.18358826084553 127.51172591791263 128.84060512840668 130.16916980420388 + -0.29535267471192017 1.4418766927313886 3.2355151026024433 5.081575357627273 6.976068542205983 8.915005740738609 10.894398037625256 12.91025651726595 14.958592264060774 17.035416362409798 19.136739896713106 21.258573951370717 23.396929610782724 25.547817959349217 27.707250081470225 29.871237061545827 32.035789983976095 34.19691993316108 36.35063799350088 38.49295524939553 40.61988278524511 42.72743168544969 44.81161303440931 46.86843791652407 48.89391741619402 50.88406261781923 52.8348846057998 54.74239446453571 56.60260327842711 58.41152213187404 60.165162109276544 61.8595342950347 63.49064977354859 65.05451962921829 66.54715494644384 67.9645668096253 69.30278489698463 70.55985658207435 71.73776442811186 72.83894060893064 73.86581729836414 74.82082667024572 75.70640089840884 76.52497215668694 77.27897261891346 77.9708344589218 78.6029898505454 79.17787096761766 79.69790998397207 80.16553907344203 80.58319040986093 80.95329616706226 81.27828851887944 81.56059963914586 81.80266170169496 82.00690688036019 82.17576734897497 82.31167528137274 82.41706285138692 82.49436223285093 82.5460055995982 82.57442512546218 82.58205298427626 82.57132134987393 82.54466239608855 82.50450829675358 82.45329122570246 82.39344335676864 82.32739686378547 82.25758392058643 82.18643670100498 82.1163873788745 82.04983657767426 81.98846172336977 81.93321647657457 81.88502313682747 81.84480400366724 81.81348137663264 81.79197755526249 81.78121483909553 81.78211552767053 81.79560192052634 81.82259631720169 81.86402101723536 81.92079832016616 81.99385052553284 82.08409993287422 82.19246884172904 82.31987955163609 82.4672543621342 82.63551557276206 82.82558548305853 83.03838639256236 83.27484060081233 83.53587040734725 83.82239811170587 84.13534601342697 84.47563641204934 84.84419160711175 85.24193389815302 85.66978558471189 86.12866896632714 86.61950634253762 87.143220012882 87.70073227689915 88.29296543412782 88.92084178410678 89.58528362637485 90.28707155646633 91.02574130784849 91.8001921128513 92.60931693542211 93.45200873950844 94.32716048905766 95.23366514801727 96.17041568033471 97.13630504995741 98.13022622083285 99.15107215690844 100.19773582213159 101.26911018044984 102.36408819581062 103.48156283216129 104.62042705344936 105.77957382362229 106.95789610662752 108.15428686641249 109.36763906692458 110.59684567211133 111.84079964592019 113.09839395229852 114.36852155519382 115.65007541855356 116.9419485063251 118.24303378245601 119.55222421089366 120.86841275558548 122.19049238047891 123.5173560495215 124.84789672666061 126.18100737584372 127.5155809610182 128.85051044613155 130.18468717144498 +-0.001394790555736325 1.7457171806614664 3.5493655163665387 5.405554557677909 7.310286913425851 9.259565192440576 11.249392003552364 13.27576995559141 15.334701657387967 17.42218971777228 19.534236745574603 21.666845349625138 23.81601813875413 25.97775772179186 28.14806670756851 30.322947704914355 32.49840332265962 34.670436169634534 36.835048854669374 38.988243986594334 41.126024174239696 43.244392026435655 45.339350152012464 47.40690115980036 49.4430476586296 51.44379225733042 53.40513756473306 55.323086189667706 57.19364074096467 59.01280382745416 60.7765780579664 62.48096604133164 64.12197038638011 65.6955937019421 67.19783859684779 68.62470767992744 69.97222211699977 71.23841468205781 72.42524163264399 73.53510747427946 74.57041671248524 75.53357385278234 76.42698340069188 77.25304986173488 78.01417774143242 78.71277154530551 79.35123577887528 79.93197494766268 80.45739355718887 80.92989611297483 81.35188712054166 81.7257710854104 82.0539525131021 82.33883590913781 82.58282577903861 82.78832662832554 82.95774296251963 83.09347928714199 83.19794010771363 83.27352992975561 83.322653258789 83.34771460033485 83.35111845991422 83.33526934304817 83.30257175525773 83.25543020206396 83.19624918898793 83.12743322155072 83.05138680527331 82.97051444567681 82.88722064828228 82.80390991861076 82.72295721888736 82.6460610081286 82.57424255154291 82.5084938012426 82.44980670933998 82.39917322794733 82.357585309177 82.32603490514128 82.30551396795249 82.29701444972294 82.30152830256493 82.32004747859078 82.35356392991281 82.40306960864332 82.46955646689464 82.55401645677905 82.65744153040887 82.78082363989645 82.92515473735405 83.091426774894 83.28063170462862 83.4937614786702 83.73180804913109 83.99576336812356 84.28661938775994 84.60536806015254 84.95300133741368 85.33051117165566 85.73888951499077 86.17912831953137 86.65221953738975 87.15915512067821 87.70092702150906 88.27852719199464 88.89294758424724 89.54518015037915 90.23606671569277 90.96513112055428 91.73122298118281 92.53318535000538 93.36986127944904 94.24009382194076 95.14272602990759 96.07660095577661 97.0405616519748 98.03345117092918 99.0541125650668 100.10138888681462 101.17412318859976 102.27115852284922 103.39133794198997 104.53350449844909 105.69650124465359 106.87917123303053 108.08035751600688 109.29890314600968 110.53365117546595 111.7834446568028 113.04712664244715 114.32354018482606 115.61152833636656 116.90993414949565 118.21760067664046 119.5333709702279 120.85608808268502 122.18459506643883 123.51773497391643 124.85435085754483 126.19328576975104 127.53338276296199 128.8734848896048 130.21243358491824 + 0.29172306569067974 2.0483491421587203 3.86161397837927 5.727516328524729 7.642053201021348 9.601221604295306 11.60101854677285 13.637441036880151 15.706486083043435 17.80415069368891 19.926431877242806 22.069326642131298 24.228831996780595 26.400944949616957 28.581662509066536 30.766981683555564 32.95289948151026 35.13541291135681 37.31051898152146 39.47421470043038 41.622497076509816 43.75136311818594 45.85680983388499 47.934834232033154 49.981433321056656 51.992604109381716 53.96434360543454 55.89264881764129 57.77351675442825 59.60294442422158 61.3769288354475 63.09146699653222 64.74255591590195 66.32619260198294 67.83837406320131 69.27509730798334 70.6323778499192 71.90823482366763 73.10459545746012 74.2238334406844 75.26832246272815 76.240436212979 77.14254838082464 77.97703265565272 78.74626272685101 79.45261228380704 80.0984550159086 80.68616461254328 81.21811476309882 81.69667915696286 82.12423148352306 82.50314543216712 82.83579469228269 83.12455295325746 83.37179390447912 83.5798912353353 83.75121863521369 83.88814979350198 83.99305839958784 84.06831814285893 84.11630271270293 84.13938579850748 84.13994108966031 84.12034227554908 84.08296304556143 84.03017708908504 83.96435809550763 83.88787975421684 83.8031157546003 83.71243978604573 83.61822553794083 83.52284669967324 83.42864948115945 83.33735154629223 83.25004120944524 83.16777957335277 83.09162774074908 83.02264681436843 82.96189789694513 82.91044209121343 82.86934049990757 82.83965422576189 82.82244437151064 82.81877203988807 82.82969833362847 82.85628435546613 82.89959120813532 82.9606799943703 83.04061181690533 83.14044777847471 83.2612489818127 83.4040765296536 83.56999152473165 83.76005506978113 83.97532826753634 84.21687222073153 84.48574803210099 84.78301680437897 85.10973964029976 85.46697764259764 85.85579191400687 86.27724355726173 86.73239367509652 87.22230337024544 87.74803374544284 88.31064590342298 88.91120094692009 89.55075997866851 90.23022577205285 90.94911191818925 91.70622104921877 92.5003489469837 93.33029139332633 94.19484417008891 95.09280305911375 96.02296384224316 96.98412230131942 97.97507421818477 98.99461537468152 100.04154155265192 101.11464853393838 102.21273210038306 103.33458803382828 104.47901211611635 105.64480012908953 106.83074785459016 108.03565107446046 109.2583055705427 110.49750712467923 111.75205151871234 113.02073453448426 114.30235195383729 115.59569955861373 116.89957313065585 118.21276845180601 119.53408130390642 120.86230746879933 122.19624272832709 123.534682864332 124.87642365865634 126.22026089314238 127.56499034963232 128.90940780996857 130.25230744416308 + 0.5837343927370819 2.3495194994698894 4.172022345319153 6.047238800973329 7.971162978403035 9.939788989578826 11.94911094647132 13.995122961051065 16.073819145288645 18.18119361115467 20.313240470619707 22.46595383565432 24.635327818229104 26.81735653031467 29.00803408388155 31.203354590900357 33.39931216334166 35.59190091317604 37.77711495237411 39.95094839290642 42.10939534674357 44.24844992585611 46.36410624221465 48.452358407789774 50.50920053455204 52.53062673447206 54.51263111952042 56.45120780166765 58.3423508928844 60.18205450514121 61.966312750408655 63.691119740657335 65.35246958785783 66.94635640398073 68.46877430099663 69.91571739087607 71.28319822500148 72.56922322392504 73.77568808996669 74.90493280577132 75.95929735398379 76.94112171724885 77.85274587821142 78.6965098195163 79.47475352380835 80.18981697373236 80.84404015193326 81.43976304105577 81.97932562374483 82.46506788264523 82.89932980040182 83.2844513596594 83.62277254306291 83.91663333325705 84.16837371288676 84.38033366459683 84.55485317103215 84.6942722148375 84.80093077865776 84.87716884513773 84.92532639692229 84.94774341665624 84.94675988698442 84.92471579055172 84.88395111000291 84.82680582798287 84.75561992713641 84.67273339010845 84.58048619954367 84.48121833808705 84.37726978838339 84.2709805330775 84.16466518755902 84.0600588497705 83.95831619341745 83.8605668272135 83.76794035987231 83.68156640010744 83.60257455663259 83.53209443816134 83.47125565340728 83.42118781108412 83.38302051990544 83.35788338858485 83.346906025836 83.35121804037252 83.37194904090804 83.41022863615612 83.46718643483047 83.54395204564466 83.64165507731234 83.76142513854711 83.90439183806262 84.07168478457251 84.26443358679037 84.48376785342984 84.73081719320454 85.00671121482812 85.31257952701415 85.64955173847632 86.0187574579282 86.42132629408343 86.85838785565568 87.3310717513585 87.84050758990557 88.38782498001052 88.97415353038693 89.60062284974845 90.26819624340027 90.9763786332882 91.72392827245122 92.5095962862595 93.3321338000833 94.19029193929282 95.08282182925831 96.00847459535005 96.96600136293824 97.95415325739309 98.97168140408483 100.01733692838368 101.08987095565999 102.18803461128388 103.31057902062557 104.45625530905535 105.62381460194345 106.81200802466009 108.01958670257554 109.24530176105992 110.48790432548356 111.74614552121668 113.01877647362953 114.30454830809225 115.60221214997517 116.91051912464849 118.22822035748246 119.5540669738473 120.8868100991132 122.22520085865044 123.56799037782926 124.91392978201988 126.26177019659255 127.61026274691744 128.95815855836483 130.30420714871872 + 0.8743726892931949 2.6489751748416843 4.480352473864678 6.364500105829264 8.297411818981438 10.275081361567135 12.293502481832345 14.348668928022997 16.436574448385056 18.553212791164484 20.694577704607262 22.85666293695931 25.035462236466596 27.22696935137512 29.427178029930783 31.632082020379574 33.83767507096746 36.03995092994037 38.2349033455443 40.41852606602519 42.586812839629 44.73575741460167 46.861353539189196 48.9595949616375 51.02647543019257 53.057988693100356 55.05012849860683 56.998888594957904 58.9002627303996 60.75024465317784 62.544828111538585 64.2800068537278 65.95177462799143 67.55612518257546 69.08905226572584 70.54654962568851 71.92462937150522 73.22128609985124 74.43838171757014 75.57821986716598 76.64310419114294 77.63533833200505 78.55722593225644 79.41107063440123 80.19917608094353 80.92384591438741 81.58738377723702 82.19209331199642 82.74027816116974 83.2342419672611 83.67628837277456 84.06872102021426 84.41384355208432 84.71395961088878 84.97137283913182 85.1883868793175 85.36730537394995 85.51043196553324 85.62007029657153 85.69852400956886 85.7480967470294 85.77109215145718 85.7698138653564 85.7465655312311 85.70365079158537 85.64337328892337 85.56803666574919 85.4799445645669 85.38140062788064 85.2747084981945 85.16217181801261 85.04609422983906 84.92875616115457 84.81190843047322 84.69677124659536 84.5845419368803 84.47641782868735 84.37359624937582 84.27727452630508 84.18864998683438 84.10891995832307 84.03928176813048 83.98093274361594 83.93507021213874 83.90289150105822 83.8855939377337 83.8843748495245 83.90043156378991 83.93496140788929 83.98916170918194 84.06422979502719 84.16136299278435 84.28175862981274 84.42661403347168 84.59712653112054 84.79449345011855 85.01991211782509 85.27457986159948 85.559694008801 85.876451886789 86.22605082292282 86.60968814456173 87.0285611790651 87.48386725379218 87.97680369610238 88.50856783335496 89.08035699290924 89.6933685021246 90.3486256475888 91.045626198386 91.78308660637215 92.55971592773517 93.3742232186629 94.22531753534318 95.1117079339639 96.03210347071301 96.98521320177831 97.96974618334767 98.984411471609 100.02791812275008 101.09897519295892 102.19629173842334 103.31857681533117 104.46453947987033 105.63288878822866 106.82233379659408 108.03158356115446 109.25934713809758 110.5043335836114 111.76525195388382 113.04081130510264 114.32972069345573 115.63068917513104 116.94242580631635 118.26363964319964 119.5930397419687 120.92933515881141 122.27123494991565 123.61744817146933 124.96668387966031 126.31765113067647 127.66905898070559 129.01961648593561 130.36803109812448 + 1.1633714540687592 2.9464630905208313 4.7863662206943465 6.679078373898112 8.620595296167108 10.606912733536253 12.634026432040523 14.697932137714824 16.79462559659411 18.920102554713335 21.070358758107457 23.241389952811375 25.42919188486005 27.629760300288453 29.83909094513149 32.053179565424124 34.26802190720129 36.47961371649792 38.68395073934901 40.877028721789436 43.054843409854186 45.213390549578186 47.348665886996365 49.456665168143694 51.533384139055094 53.574818545765524 55.57696413430994 57.53581665072322 59.44737184104041 61.307625451296374 63.11257322752606 64.85821091576446 66.54053426204646 68.15553901240705 69.69922091288115 71.1675757095037 72.556617418689 73.8643296684675 75.0925385276769 76.24350892249421 77.31950577909652 78.32279402366076 79.25563858236403 80.12030438138332 80.91905634689572 81.65415940507818 82.32787848210779 82.94247850416151 83.50022439741643 84.0033810880496 84.45421350223798 84.85498656615866 85.2079652059886 85.5154143479049 85.77959891808453 86.00278384270457 86.18723404794201 86.3352144599739 86.44899000497728 86.53082560912915 86.58298619860656 86.60773669958652 86.60734203824607 86.58406714076224 86.54017693331207 86.47793634207258 86.39961029322077 86.30746371293374 86.20376152738842 86.09076866276192 85.97075004523124 85.84597060097343 85.71867422501451 85.59062580031025 85.46311011211486 85.33739127640865 85.21473340917197 85.09640062638505 84.9836570440283 84.87776677808196 84.77999394452638 84.6916026593419 84.61385703850878 84.54802119800736 84.49535925381797 84.45713532192089 84.4346135182965 84.42905795892503 84.44173275978685 84.47390203686226 84.52682990613158 84.6017804835751 84.70001788517317 84.82280622690608 84.97140962475419 85.14709219469775 85.3511180527171 85.58475131479257 85.84925609690445 86.14589651503309 86.47593668515877 86.84064072326181 87.24127274532258 87.67909686732129 88.15537720523835 88.67137787505403 89.22836299274866 89.82759667430253 90.47016150247221 91.15554954601741 91.88243800647366 92.64949643131315 93.45539436800811 94.2988013640307 95.17838696685315 96.09282072394774 97.04077218278665 98.02091089084207 99.03190639558622 100.07242824449129 101.14114598502955 102.23672916467322 103.35784733089444 104.50317003116547 105.67136681295852 106.86110722374583 108.07106081099963 109.299897122192 110.54628570479525 111.80889610628167 113.08639787412335 114.37746055579252 115.68075369876145 116.9949468505023 118.31870955848734 119.65071137018877 120.98962183307876 122.33411049462951 123.68284690231332 125.0345006036024 126.3877411459689 127.741238076885 129.09366094382298 130.44367769191973 + 1.450464185773512 3.241730168754056 5.0898254424866645 6.990751735985451 8.94050898337059 10.935097118762195 12.970516076280434 15.042765790045413 17.147846194177284 19.281757222796177 21.440498810022255 23.62007088997562 25.816473396776413 28.025706264544812 30.243769427400906 32.46666281946485 34.69038637485679 36.91094002769685 39.124323712105195 41.326537362201925 43.51358091210721 45.68145429594116 47.82615744782392 49.943690301875634 52.03005279221644 54.08124485296647 56.09326641824589 58.062117422174765 59.983797798873326 61.85430748246165 63.66964640705988 65.42581450678816 67.11881171576663 68.74463796811543 70.2992931979547 71.77877733940457 73.17910849581138 74.49826014679499 75.73802070769344 76.90061426938182 77.98826492273534 79.00319675862916 79.94763386793842 80.82380034153829 81.63392027030399 82.3802177451106 83.06491685683336 83.69024169634737 84.25841635452784 84.77166492224994 85.23221149038878 85.64228014981957 86.00409499141747 86.31988010605762 86.59185958461522 86.82225751796541 87.01329799698337 87.16720511254424 87.28620295552324 87.37251561679545 87.42836718723612 87.45598175772034 87.45758341912332 87.43539626232024 87.39164437818621 87.32855185759644 87.24834279142607 87.1532412705503 87.04547138584422 86.92725722818307 86.80082288844199 86.66839245749614 86.53217120220734 86.3939364711914 86.2550365331118 86.11680121985411 85.98056036330387 85.84764379534661 85.71938134786801 85.59710285275351 85.48213814188873 85.37581704715923 85.27946940045061 85.19442503364836 85.12201377863809 85.0635654673054 85.02040993153581 84.99387700321488 84.98529651422818 84.9959982964613 85.02731218179977 85.08056800212918 85.15709558933509 85.25822477530305 85.38528539191869 85.53960727106747 85.72252024463504 85.9353541445069 86.17943880256867 86.45610405070589 86.76667972080413 87.11249564474895 87.49488165442595 87.91516758172062 88.37468325851859 88.87475851670543 89.41672318816663 90.00190710478783 90.63145132590425 91.30484360871732 92.02072442824777 92.77772635689588 93.57448196706191 94.40962383114608 95.28178452154869 96.18959661067001 97.13169267091031 98.10670527466982 99.1132669943488 100.15001040234748 101.21556807106622 102.30857257290522 103.42765648026474 104.57145236554503 105.7385928011464 106.92771035946907 108.13743761291337 109.36640713387943 110.61325149476761 111.87660326797817 113.15509502591134 114.44735934096737 115.75202878554657 117.06773593204913 118.39311335287545 119.72679362042565 121.06740930710001 122.41359298529883 123.76397722742237 125.11719460587094 126.47187769304475 127.82665906134395 129.18017128316896 130.53104532964375 + 1.7353843831171898 3.5345233317880775 5.390491995920125 7.299298322896846 9.256948454002423 11.25944853052097 13.302804693736674 15.383023084933637 17.49610984539602 19.638071116407968 21.80491303925364 23.992641755217157 26.197263405582657 28.41478413163433 30.64121007465627 32.872547375932655 35.10480217674761 37.333980618385276 39.556088842129846 41.7671329892654 43.96311920107613 46.140053618846146 48.2939423838596 50.42079163740066 52.51660752075344 54.57739617520212 56.59916374203083 58.57791636252368 60.509660177964875 62.39040132963853 64.21614595882876 65.98290020681976 67.68667021489563 69.32346212434057 70.88928207643868 72.3801362124741 73.79204873213097 75.12298375185499 76.37469044502616 77.54935020545456 78.64914442695029 79.67625450332336 80.63286182838387 81.52114779594187 82.34329379980747 83.10148123379066 83.7978914917016 84.43470596735027 85.01410605454679 85.53827314710121 86.0093886388236 86.429633923524 86.80119039501251 87.1262394470992 87.4069624735941 87.64554086830735 87.84415602504892 88.00498933762896 88.1302221998575 88.22203600554461 88.28261214850035 88.31413202253479 88.31877702145802 88.29872853908007 88.25616796921103 88.19327670566098 88.11223614223994 88.01522767275804 87.90443269102526 87.78203259085176 87.65020876604757 87.51114261042274 87.3669989158015 87.21956595502652 87.07025425272205 86.92045814127214 86.77157195306079 86.62499002047201 86.48210667588987 86.34431625169837 86.21301308028151 86.0895914940234 85.975445825308 85.87197040651934 85.78055957004146 85.70260764825841 85.63950897355417 85.59265787831279 85.56344869491829 85.55327575575471 85.56353339320606 85.59561593965638 85.65091772748967 85.73083308909 85.83675635684138 85.9700818631278 86.13220394033334 86.324516920842 86.54841513703781 86.80529292130478 87.09654460602695 87.42356452358834 87.78774700637302 88.19048638676497 88.63317699714821 89.11721316990682 89.64398923742475 90.21489953208611 90.8311426357387 91.4922033190205 92.19668782718651 92.94319426438575 93.73032073476726 94.55666534248004 95.42082619167309 96.32140138649552 97.25698903109627 98.22618722962441 99.22759408622895 100.25980770505883 101.32142619026324 102.41104764599109 103.5272701763914 104.66869188561323 105.83391087780561 107.02152525711755 108.23013312769808 109.45833259369616 110.70472175926086 111.96789872854127 113.24646160568632 114.53900849484505 115.84413750016651 117.1604467257997 118.48653427589369 119.82099825459746 121.16243676605998 122.50944791443035 123.8606298038576 125.21458053849075 126.5698982224788 127.92518095997073 129.27902685511557 130.6300324108359 + 2.0178655448095366 3.8245895018696285 5.68812773767324 7.604496265437882 9.569709281473157 11.579780982088607 13.630725563593831 15.718557222298365 17.839290154511787 19.988938556543673 22.163516624703597 24.359038555301098 26.57151854464575 28.796970789047165 31.03140948481485 33.2708488282584 35.51130301568739 37.748786243411374 39.979312707739936 42.19889660498263 44.40355213144903 46.58929348344869 48.752134857291196 50.888090449286096 52.99317445574297 55.063401072971395 57.094784497280955 59.083338924981135 61.0250785523816 62.91601757579188 64.75217019152151 66.52955059588011 68.2441729851772 69.8920515557224 71.46920050382525 72.97163402579532 74.39538425690634 75.73840670066865 77.00240992708154 78.18953102833831 79.30190709663226 80.3416752241566 81.31097250310471 82.21193602566983 83.04670288404533 83.81741017042438 84.52619497700036 85.17519439596651 85.76654551951619 86.30238543984261 86.7848512491391 87.21608003959894 87.59820890341545 87.93337493278189 88.22371521989155 88.47136685693772 88.67846693611371 88.84715254961282 88.97956078962831 89.07782874835348 89.14409351798164 89.18049219070605 89.18916185872001 89.17223961421685 89.1318625493898 89.07016775643218 88.98929232753727 88.89137335489842 88.7785479307088 88.65295314716181 88.5167260964507 88.37200387076878 88.22090918886553 88.06523976372547 87.9064670140815 87.74604841471827 87.58544144042047 87.4261035659727 87.26949226615967 87.11706501576596 86.9702792895763 86.8305925623753 86.69946230894763 86.57834600407796 86.46870112255091 86.37198513915116 86.28965552866339 86.22316976587217 86.17398532556223 86.14355968251822 86.13335031152474 86.1448146873665 86.17941028482812 86.23859457869429 86.32382504374965 86.43655915477885 86.57825438656653 86.75036821389736 86.95435811155599 87.1916815543271 87.46379601699529 87.77215897434527 88.11822790116169 88.50346027222915 88.92931356233235 89.39724524625595 89.90871279878459 90.46517369470293 91.06788294982933 91.7163236094618 92.40907015878193 93.14468871368523 93.92174539006719 94.73880630382328 95.59443757084904 96.48720530703999 97.41567562829164 98.37841465049944 99.37398848955893 100.40096326136558 101.45790508181494 102.54338006680257 103.65595433222381 104.79419399397428 105.9566651679495 107.14193397004493 108.34856651615611 109.57512892217845 110.82018730400756 112.08230777753893 113.36005645866804 114.65199946329035 115.95670290730145 117.2727329065968 118.59865557707194 119.93303703462234 121.27444339514348 122.6214407745309 123.97259528868011 125.32647305348665 126.68164018484599 128.03666279865354 129.39010701080494 130.74053733503544 + 2.297641169560272 4.1116756012454125 5.982494524424496 7.906123694414115 9.878587039193318 11.895908486741094 13.954111965036478 16.049221402058453 18.177260725786027 20.334253864198228 22.516224745274073 24.719197296992537 26.939195447332633 29.17224312427342 31.414364255793853 33.66158276987296 35.90992259448975 38.15540765762322 40.39406188725243 42.621909211356325 44.834973557913955 47.029278854904305 49.20084903030639 51.34570801209922 53.45987972826182 55.53938810677319 57.580257075612344 59.578510562758254 61.53017249618999 63.43126680388653 65.27781741382687 67.06584825399003 68.79138325235503 70.45044633690088 72.03906143560658 73.55325247645114 74.98906119939606 76.34443521025722 77.62104134126601 78.8209710356588 79.946315736672 80.99916688754199 81.98161593150513 82.89575431179787 83.74367347165659 84.52746485431764 85.24921990301746 85.91103006099239 86.51498677147885 87.06318147771326 87.55770562293195 88.00065065037137 88.39410800326787 88.74016912485786 89.04092545837773 89.29846844706384 89.51488953415264 89.69228016288048 89.83273177648378 89.93833581819887 90.01118373126224 90.05336695891019 90.06697694437915 90.05410513090553 90.01684296172567 89.95728188007601 89.87751332919291 89.7796287523128 89.66571959267199 89.53787729350697 89.39819329805408 89.24875904954972 89.0916538444678 88.92868340919802 88.76137856032592 88.59125841424799 88.41984208736062 88.24864869606013 88.07919735674305 87.91300718580568 87.75159729964443 87.59648681465579 87.44919484723613 87.3112405137818 87.18414293068926 87.0694212143549 86.96859448117516 86.88318184754638 86.814702429865 86.76467534452743 86.73461970793007 86.72605463646933 86.7404992465416 86.7794726545433 86.84449397687087 86.93708232992061 87.05875683008902 87.2110365937725 87.3954407373674 87.61348837727017 87.86669862987719 88.1565906115849 88.48468343878969 88.85249622788794 89.26154809527608 89.71335815735053 90.20944553050765 90.75132933114386 91.34031978602982 91.97589941257601 92.65661337852607 93.3809982646967 94.14759065190462 94.9549271209665 95.8015442526991 96.68597862791914 97.60676682744334 98.56244543208838 99.55155102267098 100.57262018000782 101.6241894849157 102.70479551821131 103.8129748607113 104.94726409323242 106.1061997965914 107.28831855160497 108.49215693908984 109.7162515398626 110.95913893474011 112.21935570453907 113.49543843007615 114.78592369216804 116.08934807163152 117.40424814928325 118.72916050594 120.06262172241844 121.40316837953526 122.74933705810723 124.09966433895104 125.45268680288343 126.80694103072112 128.1609636032807 129.51329110137897 130.86245850178173 + 2.5744447560791537 4.395528552162177 6.273354212852407 8.203958740631137 10.183377300573476 12.207645057754469 14.272797177249226 16.37486882413278 18.50989516348022 20.67391136036662 22.862952579867066 25.0730539870566 27.3002507470103 29.540578024803278 31.790070985510546 34.04476479420722 36.30069461596835 38.55389561586902 40.80040295898431 43.03625181038927 45.257477335159 47.46011469836854 49.64019906509297 51.79376560040739 53.91684946938685 56.00548583710643 58.055709868641216 60.063556729066214 62.02506158345659 63.93625959688737 65.79318593443361 67.5918757611704 69.32836424217281 70.99868654251594 72.59887782727482 74.12497326152456 75.57302568885875 76.94097549764196 78.23044687498601 79.44348452504187 80.58213315196048 81.64843745989269 82.64444215298947 83.57219193540175 84.43373151128046 85.23110558477646 85.96635886004076 86.64153604122417 87.25868183247775 87.81984093795234 88.32705806179888 88.78237790816827 89.18784518121149 89.54550458507939 89.85740082392296 90.12557860189308 90.35208262314069 90.53895759181673 90.68824821207208 90.80199918805768 90.88225522392447 90.93106102382339 90.9504612919053 90.94250073232118 90.90922404922192 90.85267594675848 90.77490112908173 90.67794430034266 90.5638501646921 90.43466342628106 90.29242878926043 90.13919095778115 89.97698470567687 89.80762240335405 89.6326926345913 89.45377451391687 89.272447155859 89.09028967494586 88.90888118570577 88.72980080266687 88.55462764035748 88.38494081330582 88.2223194360401 88.06834262308853 87.92458948897936 87.79263914824088 87.6740707154013 87.57046330498879 87.48339603153165 87.4144480095581 87.36519835359637 87.33722617817469 87.33211059782131 87.35143072706443 87.39676568043234 87.46969457245322 87.57179651765533 87.70465063056692 87.8698360257162 88.06893181763137 88.30351712084074 88.5751710498725 88.88547271925489 89.23600124351614 89.62833573718451 90.06405531478823 90.54473909085547 91.07196617991457 91.64710066219402 92.26962566089797 92.93805944191095 93.6509114773226 94.40669123922252 95.20390819970041 96.04107183084591 96.9166916047487 97.82927699349847 98.7773374691848 99.75938250389736 100.77392156972579 101.81946413875983 102.8945196830891 103.9975976748032 105.12720758599183 106.28185888874468 107.46006105515137 108.66032355730158 109.88115586728487 111.121067457191 112.37856779910965 113.65216636513038 114.94037262734287 116.24169605783683 117.55464612870188 118.87773231202769 120.20946407990391 121.54835090442013 122.89290225766612 124.24162761173147 125.5930364387059 126.945638210679 128.2979423997404 129.6484584779798 130.9956943106141 + 2.848009803075906 4.675895276866629 6.560468659635465 8.497779534894505 10.48387563902415 12.514804708404732 14.586614479416646 16.695352688440213 18.83706707185581 21.00780536604379 23.203615307384542 25.420544632258384 27.654641077045685 29.90195237812684 32.15852627188216 34.42041049469203 36.68365278293681 38.944300872996855 41.198402501252545 43.442005404084206 45.67115731787223 47.88190597899693 50.07029912383871 52.23238448877791 54.36420981019489 56.461822824470026 58.521271267983686 60.53860287711617 62.50986538824792 64.43110653775923 66.2983740620305 68.10771569744206 69.85517918037426 71.53681224720754 73.14866263432218 74.68677807809853 76.14722385455299 77.52793377984403 78.83048871564799 80.05688579411336 81.2091221473885 82.28919490762189 83.29910120696198 84.24083817755718 85.11640295155601 85.92779266110679 86.67700443835807 87.3660354154582 87.99688272455572 88.571543497799 89.09201486733649 89.56029396531665 89.9783779238879 90.34826387519871 90.67194895139751 90.95143028463272 91.18870500705283 91.38577025080622 91.54462314804138 91.6672608309067 91.7556804315507 91.81187908212176 91.83785391476833 91.83560206163885 91.80712065488179 91.75440682664558 91.6794577090786 91.58427043432943 91.47084213454633 91.34116994187788 91.19725098847249 91.04108240647857 90.87465359556113 90.69978225810337 90.51811298001343 90.33128308778035 90.1409299078933 89.94869076684131 89.75620299111353 89.56510390719902 89.37703084158687 89.19362112076622 89.01651207122615 88.84734101945574 88.6877452919441 88.53936221518032 88.40382911565355 88.28278331985278 88.17786215426719 88.09070294538587 88.02294301969789 87.97621970369237 87.95217032385838 87.95243220668506 87.97864267866147 88.03243906627671 88.1154586960199 88.2293388943801 88.37571698784649 88.55623030290805 88.77251616605395 89.02621190377327 89.31895484255514 89.65238230888858 90.02813162926277 90.44784013016677 90.91314513808967 91.42568397952057 91.98687309617566 92.59619728696254 93.25215030442865 93.95321691146535 94.69788187096393 95.48462994581573 96.3119458989121 97.17831449314441 98.08222049140402 99.0221486565822 99.99658375157031 101.00401053925965 102.04291378254169 103.11177824430767 104.20908868744891 105.33332987485679 106.48298656942268 107.65654353403788 108.85248553159374 110.06929732498155 111.30546367709272 112.55946935081859 113.82979910905046 115.11493771467966 116.41336993059757 117.7235805196955 119.04405424486482 120.37327586899686 121.7097301549829 123.05190186571434 124.39827576408254 125.74733661297884 127.09756917529455 128.44745821392092 129.7954884917494 131.14014316107182 + 3.118069809260267 4.952522697605493 6.843599721452171 8.787364208009802 10.779877627955894 12.817201451967902 14.89539715072333 17.010526194899615 19.15865005517425 21.335830202224702 23.53812810672848 25.761605239363 28.002323070805758 30.25634307173427 32.51972671282595 34.7885354647583 37.05883079820879 39.32667418385489 41.58812709237411 43.839250994443866 46.076107360741695 48.29475766194501 50.4912633687313 52.661685951778075 54.80208688176278 56.90852762936291 58.97706966525593 61.00377446011927 62.98470348463048 64.915918209467 66.79348010530629 68.61345064282582 70.37189129270308 72.06486352561559 73.68842881224076 75.23864862325607 76.71160182573733 78.10521627388468 79.4210290506584 80.66098914049897 81.82704552784693 82.92114719714274 83.9452431328269 84.90128231933993 85.79121374112236 86.61698638261461 87.38054922825725 88.08385126249074 88.72884146975562 89.31746883449237 89.85168234114148 90.33343097414347 90.76466371793883 91.14732955696805 91.48337747567166 91.77475645849013 92.02341548986398 92.23130355423372 92.40036963603983 92.5325627197228 92.62983178972321 92.69412583048145 92.72739382643806 92.73158476203358 92.70864762170848 92.66053138990324 92.58918505105841 92.49655758961447 92.38459799001188 92.25525523669121 92.11047831409292 91.95221620665751 91.78241233718909 91.60288848535582 91.41534333972814 91.22147050989396 91.02296360544128 90.82151623595796 90.61882201103205 90.41657454025143 90.21646743320406 90.02019429947792 89.82944874866094 89.64592439034105 89.47131483410625 89.30731368954447 89.15561456624367 89.01791107379174 88.89589682177667 88.79126541978641 88.70571047740893 88.64092560423217 88.59860440984404 88.58044050383253 88.58812749578561 88.62335899529117 88.68782861193719 88.78322995531164 88.91125663500245 89.07360226059754 89.2719604416849 89.50802478785246 89.78348890868821 90.10004641378003 90.45939091271593 90.86321601508385 91.3132153304717 91.81108246846748 92.35828460582849 92.95430922330448 93.59762792157117 94.28670312702735 95.01999726607175 95.79597276510313 96.61309205052027 97.46981754872198 98.36461168610701 99.29593688907413 100.26225558402209 101.26203019734959 102.29372315545558 103.35579688473871 104.44671381159773 105.56493636243148 106.70892696363872 107.87714804161818 109.06806202276869 110.2801313334889 111.5118184001777 112.76158564923384 114.02789550705607 115.30921040004313 116.60399275459382 117.91070499710692 119.2278095539812 120.55376885161544 121.88704531640833 123.22610137475873 124.56939945306537 125.91540197772707 127.26257137514257 128.60937007171057 129.95426049382988 131.29570345269426 + 3.3843582733419755 5.225157736625495 7.122509254981028 9.072490890782595 11.071178840779252 13.11464930171999 15.198978470353866 17.320242543429856 19.474517717697 21.65788018990432 23.866406156800846 26.096171815135552 28.343253361657485 30.603726993115693 32.87366890625914 35.14915529783687 37.42626236459791 39.70106630329126 41.96964331066598 44.22806958347103 46.47242131845548 48.69877471236831 50.903205961958555 53.08179126397523 55.23060681516736 57.345728812283966 59.42323345207408 61.45919693128666 63.449695446670816 65.3908051949755 67.27860237294975 69.10916317734258 70.878563804903 72.58288045238005 74.21818931652278 75.78056659408013 77.26610573167036 78.67272919678513 80.00193006742366 81.2556088618246 82.43566609822663 83.54400229486839 84.58251796998854 85.5531136418257 86.45768982861863 87.29814704860587 88.07638582002616 88.79430666111809 89.45381009012037 90.05679662527162 90.60516678481052 91.10082108697571 91.54566005000588 91.94158419213964 92.29049403161568 92.59429008667263 92.85487287554916 93.07414291648394 93.25400072771562 93.39634682748283 93.50308173402429 93.57610596557858 93.6173200403844 93.6286244766804 93.61191979270521 93.56910650669754 93.50208513689599 93.41275620153928 93.303020218866 93.17477770711484 93.02992918452446 92.87037516933351 92.69801275362921 92.51466659702125 92.32208745687134 92.12202315431321 91.91622151048064 91.70643034650732 91.49439748352704 91.28187074267352 91.07059794508051 90.8623269118818 90.6588054642111 90.46178142320215 90.27300260998871 90.09421684570455 89.9271719514834 89.773615748459 89.6352960577651 89.51396070053543 89.41135749790378 89.32923427100388 89.26933884096945 89.23341902893428 89.2232226560321 89.24049754339666 89.28699151216169 89.36445238346097 89.47462797842823 89.61926611819719 89.80011462390164 90.0189213166753 90.27743401765196 90.57740054796531 90.92056872874912 91.30868638113719 91.74350132626316 92.2267613852609 92.75998270900627 93.34265640245864 93.9732342488306 94.65015868391106 95.371872143489 96.13681706335335 96.94343587929305 97.79017102709712 98.6754649425545 99.59776006145411 100.55549881958488 101.5471236527358 102.57107699669585 103.62580128725398 104.70973896019908 105.82133245132015 106.95902419640615 108.12125663124604 109.30647219162877 110.51311331334321 111.73962243217842 112.98444198392336 114.24601440436695 115.52278212929807 116.81318759450578 118.11567323577898 119.42868148890669 120.75065478967778 122.08003557388125 123.41526627730602 124.75478933574108 126.09704718497541 127.44048226079792 128.78353699899753 130.1246538353632 131.46227358502074 + 3.646608694030769 5.493547316173359 7.396959116900538 9.352937714018461 11.357574850904761 13.406962270937012 15.497191717492841 17.62435493394981 19.784543663685525 21.97384965007759 24.188364636503614 26.424180366341158 28.677388582967826 30.944081029761254 33.220349450098986 35.502285587358635 37.785981184917816 40.067527986154104 42.34301773444512 44.60854217316843 46.86019304570167 49.09406209542237 51.30624106570818 53.49282169993668 55.649895741485466 57.77355493373213 59.859891020054306 61.904995743829524 63.90496084843543 65.85587807724961 67.75383917364964 69.59493588101316 71.37525994271769 73.0909031021409 74.73795710266037 76.31251368765366 77.81068170161072 79.2303787655666 80.57305395335023 81.840559255716 83.03474666341846 84.157468167212 85.21057575785113 86.19592142609027 87.11535716268395 87.97073495838654 88.7639068039526 89.4967246901365 90.1710406076928 90.78870654737592 91.35157449994027 91.86149645614039 92.32032440673072 92.72991034246569 93.09210625409982 93.40876413238753 93.68173596808332 93.9128737519416 94.10402947471691 94.25705512716362 94.37380270003628 94.45612418408932 94.50587157007715 94.52489684875434 94.51505201087525 94.47818904719442 94.41615994846626 94.33081670544527 94.22401130888588 94.09759574954259 93.95342201816983 93.7933421055221 93.61920666794994 93.43284210500947 93.23604907457887 93.0306273950936 92.81837688498914 92.60109736270083 92.38058864666422 92.1586505553147 91.93708290708773 91.71768552041874 91.50225821374323 91.29260080549659 91.0905131141143 90.8977949580318 90.71624615568456 90.54766652550795 90.39385588593748 90.25661405540859 90.1377408523567 90.0390360952173 89.9622996024258 89.90933119241767 89.88193068362833 89.88189789449324 89.91103264344784 89.97113474892761 90.06400402936795 90.19144030320436 90.35524338887221 90.557213104807 90.7991492694442 91.08285170121918 91.41012021856746 91.78275463992446 92.20255478372562 92.67132046840639 93.19061492356276 93.75993375695984 94.3777112416989 95.04237214201888 95.75234122215863 96.50604324635705 97.30190297885305 98.13834518388558 99.01379462569348 99.92667606851568 100.87541427659104 101.85843401415842 102.87416004545688 103.92101713472519 104.99743004620224 106.10182354412697 107.2326223927383 108.38825135627513 109.56713519897635 110.76769868508076 111.98836657882737 113.22756364445507 114.48371464620274 115.75524434830925 117.04057751501354 118.33813891055449 119.64635329917104 120.96364544510206 122.28844011258639 123.61916206586298 124.95423606917078 126.29208688674862 127.63113928283546 128.96981802167008 130.30654786749147 131.63975195759053 + 3.904554570036388 5.757438358495809 7.666711163889201 9.628482808522975 11.638861231742975 13.693954372894986 15.789870171324852 17.92271656637834 20.08860149740128 22.283632903739484 24.503918724738774 26.745566899744922 29.00468536810375 31.277382069161106 33.55976494226273 35.84794192675449 38.13802096198216 40.42610998729157 42.70831694202853 44.980749765538825 47.23951639716831 49.48072477626274 51.70048284216794 53.89489853422973 56.060079791793925 58.19213455420633 60.287170760812764 62.341296350958984 64.35061926399088 66.3112474392542 68.21928881609476 70.07085133385839 71.86204293189087 73.58897154953806 75.24774512614573 76.83447160105969 78.34527586481694 79.77807119725033 81.13426289584454 82.41565461979901 83.62405002831329 84.76125278058676 85.82906653581897 86.82929495320934 87.76374169195743 88.63421041126261 89.44250477032445 90.19042842834234 90.87978504451583 91.51237827804438 92.09001178812744 92.61448923396448 93.08761427475503 93.5111905696985 93.88702177799442 94.21691155884221 94.50266357144142 94.74608147499147 94.94896892869185 95.11312959174205 95.24036712334154 95.33248518268978 95.39128742898623 95.41857752143044 95.41615911922182 95.38583588155986 95.32941146764405 95.24868953667388 95.14547374784875 95.02156776036823 94.87877523343175 94.71889982623883 94.54374590321979 94.35514052123034 94.15493193598664 93.9449696062907 93.72710299094449 93.50318154875 93.27505473850933 93.04457201902436 92.81358284909714 92.5839366875297 92.357482993124 92.13607122468207 91.9215508410059 91.71577130089749 91.52058206315887 91.337832586592 91.16937232999888 91.01705075218158 90.88271731194203 90.76822146808226 90.67541267940427 90.60614040471005 90.56225410280166 90.545603232481 90.55803725255016 90.60140562181111 90.67755779906584 90.78834324311637 90.93561141276471 91.12121176681285 91.34699376406277 91.6148068633165 91.92650052337605 92.28392420304341 92.68892736112058 93.14335945640954 93.64882876735174 94.20483621934291 94.8098008556682 95.46213206125324 96.16023922102366 96.902531719905 97.68741894282292 98.51331027470306 99.37861510047104 100.28174280505237 101.22110277337273 102.1951043903577 103.20215704093296 104.24067011002407 105.30905298255661 106.40571504345624 107.52906567764857 108.6775142700592 109.84947020561377 111.04334286923779 112.25754164585699 113.49047592039695 114.74055507778324 116.00618850294148 117.28578558079731 118.5777556962763 119.88050823430413 121.19245257980637 122.51199811770859 123.83755423293644 125.16753031041556 126.50033573507157 127.83437989183003 129.1680721656165 130.49982194135669 131.828036969943 + 4.157929400068557 6.0165777858395595 7.931527252625511 9.8989043051017 11.914833556704423 13.975439620869913 16.076847111034468 18.215180640634312 20.38656482310572 22.58712427188495 24.81298360040828 27.060267422111945 29.3251003504322 31.60360699880536 33.891911980667615 36.18613990945526 38.48241539860456 40.77686306155176 43.065607511733155 45.34477336258496 47.61048522754348 49.85886772004493 52.086045453525585 54.288143041421726 56.461285097169586 58.60159623420545 60.70520106596559 62.7682242058862 64.78679026740363 66.75702386395409 68.67504960897384 70.53699211589914 72.33897599816623 74.07712586921146 75.747566342471 77.34642203138115 78.8698343505476 80.31571270885749 81.68541908231303 82.98070925169941 84.20333899780195 85.35506410140582 86.43764034329632 87.45282350425867 88.4023693650782 89.28803370654005 90.11157230942952 90.87474095453184 91.57929542263234 92.2269914945162 92.81958495096863 93.35883157277496 93.84648714072041 94.28430743559022 94.67404823816968 95.01746532924396 95.3163144895984 95.57235150001819 95.78733214128862 95.96301219419487 96.10114743952231 96.20349365805608 96.27180663058145 96.30784213788374 96.31335596074813 96.29010387995986 96.23984167630422 96.16432513056651 96.06531002353184 95.94455213598556 95.80380724871293 95.64483114249914 95.46938228250718 95.27928735759367 95.07643978423044 94.8627361619599 94.64007309032444 94.41034716886632 94.17545499712803 93.93729317465187 93.69775830098021 93.45874697565549 93.22215579822 92.98988136821615 92.76382028518628 92.54586914867281 92.3379245582181 92.14188311336446 91.95964141365432 91.79309605863006 91.64414364783399 91.51468078080852 91.40660405709602 91.32181007623885 91.26219543777938 91.22965674126 91.22609058622307 91.25339357221094 91.313462298766 91.40819336543062 91.53948337174714 91.70922891725799 91.9193266015055 92.17167302403203 92.46816478437997 92.81069848209171 93.20117071670957 93.64147808777598 94.13327175822698 94.67605872214263 95.26824504623049 95.90822700151658 96.59440085902702 97.32516288978788 98.09890936482525 98.91403655516531 99.76894073183409 100.66201816585772 101.59166512826224 102.55627789007374 103.55425272231844 104.58398589602234 105.64387368221152 106.73231235191211 107.84769817615026 108.98842742595198 110.15289637234343 111.33950128635064 112.54663843899975 113.77270410131689 115.0160945443281 116.2752060390595 117.54843485653714 118.8341772677872 120.13082954383574 121.43678795570888 122.75044877443266 124.07020827103318 125.39446271653661 126.72160838196902 128.05004153835648 129.37815845672506 130.70435540810087 132.02702702161744 + 4.406466682837029 6.270712520451346 8.191169239787984 10.163980334560224 12.18528739919966 14.251232028137824 16.3579558158063 18.501600356636605 20.678307245060303 22.884218075508958 25.115474442414133 27.368217940207348 29.638590163320167 31.92273270618418 34.21678716323088 36.51689512889187 38.81919819759867 41.11983796378286 43.41495602187599 45.70069396630959 47.97319339151525 50.2285958919245 52.463043061968875 54.672676496079944 56.853637788689284 59.00206853422843 61.11411032712895 63.18590476182235 65.21359343274027 67.19331793431417 69.12121986097566 70.99344080715626 72.80612236728753 74.55540613580106 76.23743370712837 77.84834667570104 79.38430328806133 80.84320951740938 82.22638470016216 83.53553744904302 84.77237637677531 85.93861009608233 87.03594721968744 88.06609636031399 89.03076613068536 89.93166514352478 90.77050201155569 91.54898534750137 92.26882376408518 92.9317258740305 93.53940029006058 94.09355562489884 94.5959004912686 95.04814350189315 95.45199326949592 95.80915840680015 96.12134752652925 96.39026924140653 96.61763216415535 96.80514490749904 96.95451608416096 97.0674543068644 97.14566818833272 97.19086634128928 97.2047573784574 97.18904991256045 97.1454525563217 97.0756739224646 96.98142262371236 96.86440727278841 96.72633648241606 96.56891886531868 96.39386762888063 96.2030081260093 95.9982763624462 95.78161343615683 95.5549604451067 95.32025848726127 95.0794486605861 94.83447206304665 94.58726979260844 94.33978294723704 94.09395262489787 93.85171992355649 93.61502594117837 93.38581177572905 93.16601852517404 92.95758728747877 92.76245916060884 92.58257524252971 92.41987663120689 92.2763044246059 92.15379972069225 92.05430361743142 91.97975721278895 91.93210160473032 91.91327789122104 91.92522717022662 91.9698905397126 92.04920909764441 92.16512394198762 92.31957617070769 92.5145068817702 92.75185717314056 93.03356814278438 93.36158088866708 93.7378365087542 94.16427610101125 94.64259141404219 95.1722961978939 95.75178576887782 96.37944552271131 97.0536608551117 97.77281716179638 98.53529983848269 99.33949428088802 100.18378588472977 101.06656004572524 101.9862021595918 102.94109762204678 103.92963182880767 104.95019017559176 106.00115805811633 107.08092087209886 108.1878640132567 109.3203728773072 110.47683285996771 111.65562935695552 112.85514776398813 114.07377347678286 115.30989189105706 116.56188840252804 117.82814840691326 119.10705729993 120.39700047729573 121.69636333472769 123.00353126794332 124.31688967265993 125.63482394459497 126.95571947946574 128.27796167298965 129.59993592088395 130.92002761886607 132.2366205121532 + 4.649899917051529 6.519589484577883 8.445398982055101 10.423489027704106 12.450018332639223 14.521145607974718 16.633029564824913 18.781828914304068 20.963702367526484 23.174808635606453 25.41130642965828 27.669354460796228 29.945111440134585 32.23473607878769 34.53438708786977 36.84022317849516 39.148403061778126 41.45508544883296 43.756429050773995 46.04859257871546 48.3277347437717 50.59001425705695 52.831589829685534 55.048620172771734 57.23726399742984 59.39368001477417 61.514026935919 63.59446347197855 65.63114833406725 67.62024023329926 69.55789788078894 71.44027998765057 73.26354526499841 75.0238524239468 76.71736017561 78.34022723110229 79.88862880661665 81.36046783992713 82.75702193679835 84.0799535094556 85.33092497012422 86.51159873102945 87.62363720439662 88.66870280245104 89.64845793741802 90.5645650215228 91.41868646699076 92.21248468604712 92.94762209091725 93.62576109382641 94.24856410699991 94.81769354266306 95.33481181304116 95.80158133035948 96.21966450684334 96.59072375471807 96.91642148620892 97.1984201135412 97.43838204894026 97.63796970463132 97.79884549283976 97.92267182579083 98.01111111570984 98.06582577482209 98.0884782153529 98.08073084952753 98.0442460895713 97.98068634770956 97.8917140361675 97.77899156717051 97.64418135294387 97.48894580571289 97.31495376540855 97.12402833838708 96.91814541376972 96.69928780293691 96.46943831726898 96.23057976814627 95.98469496694919 95.73376672505806 95.47977785385328 95.22471116471522 94.97054946902423 94.71927557816068 94.47287230350493 94.23332245643739 94.00260884833838 93.78271429058825 93.57562159456741 93.38331357165622 93.20777303323501 93.0509827906842 92.91492565538412 92.80158443871514 92.71294195205766 92.650981006792 92.61768441429855 92.61503498595766 92.64501553314973 92.7096088672551 92.81079779965413 92.95056514172721 93.13089370485469 93.35376630041691 93.6211657397943 93.9350748343672 94.29747639551596 94.71035323462095 95.17543525265116 95.69224357913147 96.25916497910222 96.87457618473981 97.53685392822067 98.24437494172118 98.99551595741781 99.78865370748693 100.62216492410502 101.49442633944845 102.40381468569366 103.34870669501697 104.32747909959497 105.33850863160399 106.3801720232204 107.45084600662067 108.54890731398126 109.6727326774785 110.82069882928889 111.99118250158877 113.18256042655459 114.3932093363628 115.6215059631898 116.86582703921195 118.12454929660574 119.39604946754756 120.67870428421384 121.970890478781 123.27098478342542 124.57736393032351 125.88840465165178 127.20248367958659 128.51797774630438 129.83326358398148 131.14671792479436 132.45671584108956 + 4.887962601421799 6.7629556004658955 8.693978336105378 10.677208515338926 12.708821930433656 14.784994373656616 16.90190163727491 19.055719513555584 21.24262379476572 23.4587902731724 25.700394741042714 27.963612990643696 30.24462081424243 32.53959400410604 34.84470835250153 37.15613965169601 39.47006369395656 41.78265627155024 44.090093176744155 46.38855020180532 48.67420313900088 50.94322778059785 53.19179991886333 55.4160953460644 57.61228985446812 59.77655923634158 61.90507928395188 63.99402578956599 66.03957454545113 68.03790134387427 69.98518197710253 71.87759223740295 73.71130791704262 75.48250480828862 77.18735870340805 78.82204539466794 80.38275703547221 81.86739389343204 83.27719297962807 84.61377173056302 85.87874758273956 87.07373797266037 88.20036033682814 89.26023211174554 90.25497073391533 91.18619363984008 92.0555182660226 92.86456204896545 93.61494242517144 94.30827683114317 94.94618270338336 95.53027747839467 96.06217859267981 96.54350348274147 96.97586958508232 97.36089433620506 97.70019517261238 97.99538953080693 98.24809484729148 98.4599285585686 98.63250810114108 98.76745091151155 98.86637442618269 98.93089608165724 98.96263331443782 98.96320356102717 98.93422425792792 98.87731284164285 98.79408674867452 98.68616341552573 98.55516027869909 98.40269477469735 98.23039251515944 98.04007350663682 97.83375068133691 97.61344563635569 97.38117996878907 97.13897527573286 96.88885315428305 96.63283520153554 96.37294301458621 96.11119819053097 95.84962232646573 95.59023701948642 95.33506386668888 95.0861244651691 94.84544041202295 94.61503330434631 94.39692473923512 94.19313631378529 94.00568962509267 93.83660627025323 93.68790784636283 93.56161595051742 93.45975217981291 93.38433813134513 93.33739540221006 93.32094558950361 93.33701029032162 93.38761110176004 93.47476962091477 93.60050744488171 93.76684617075679 93.97580739563588 94.22941271661493 94.52968373078981 94.87864203525643 95.2783092271107 95.73045079190766 96.23459579839019 96.78912463239575 97.39240754750458 98.04281479729694 98.73871663535307 99.47848331525324 100.26048509057779 101.08309221490694 101.94467494182094 102.84360352490005 103.77824821772452 104.7469792738747 105.74816694693082 106.78018149047305 107.84139315808179 108.93017220333725 110.04488887981972 111.18391344110944 112.3456161407866 113.52836723243162 114.73053696962465 115.95049560594603 117.18661339497596 118.43726059029476 119.70080744548264 120.97562421411996 122.2600811497869 123.55254850606373 124.8513965365307 126.15499549476817 127.46171563435637 128.76992720887554 130.0780004719059 131.38430567702778 132.68721140796583 + 5.120388234657575 7.000557790362107 8.936669158617308 10.924916928270257 12.961493765993504 15.04259233845953 17.16440531234088 19.323125354310015 21.514945131039475 23.73605730920176 25.9826545554694 28.25092953651486 30.537074919010664 32.83728336962936 35.147747555043395 37.464660141925314 39.78421379694762 42.102601186782806 44.41601497810342 46.72064783758193 49.01269243189088 51.28834142770274 53.543787491690026 55.77522329052527 57.978841490880946 60.15083475942961 62.287395762843744 64.38471716779581 66.43899164095842 68.44641184900402 70.40317045860512 72.30546013643422 74.14947354916383 75.93140336346649 77.64744224601469 79.29378286348093 80.86663410388657 82.36389389494526 83.78676001605774 85.13680640999102 86.41560701951218 87.6247357873882 88.76576665638622 89.84027356927324 90.84983046881639 91.79601129778258 92.680389998939 93.50454051505264 94.27003678889058 94.97845276321985 95.6313623808075 96.23033958442059 96.7769583168262 97.27279252079134 97.7194161390831 98.1184031144685 98.47132738971459 98.77976290758846 99.04528361085717 99.26946344228772 99.45387634464723 99.60009626070267 99.70969713322114 99.78425290496972 99.82533751871543 99.83452491722531 99.81338904326641 99.76350383960587 99.68644324901062 99.58378121424778 99.45709167808441 99.30794858328754 99.1379357012018 98.94886914266836 98.74279590828363 98.52177331046867 98.28785866164463 98.04310927423249 97.78958246065342 97.52933553332845 97.26442580467865 96.99691058712514 96.728847193089 96.46229293499124 96.19930512525303 95.94194107629542 95.6922581005395 95.4523135104063 95.22416461831695 95.00986873669254 94.81148317795412 94.63106525452277 94.47067227881958 94.33236156326564 94.21819042028203 94.1302161622898 94.07049610171008 94.0410875509639 94.04404782247238 94.08143422865659 94.15530408193759 94.26771469473648 94.42072337947435 94.61638744857227 94.85676421445135 95.14391098953259 95.47988508623715 95.86674381698609 96.30628554966542 96.79804778820488 97.34040668425045 97.93172817090797 98.57037818128343 99.25472264848268 99.98312750561163 100.75395868577628 101.5655821220825 102.41636374763617 103.30466949554324 104.22886529890958 105.18731709084119 106.17839080444394 107.20045237282369 108.25186772908641 109.33100280633806 110.43622353768447 111.56589585623165 112.71838569508535 113.89205898735162 115.08528166613638 116.29641966454551 117.52383891568485 118.76590535266045 120.02098490857811 121.28744351654386 122.56364710966355 123.84796162104304 125.13875298378831 126.43438713100527 127.73322999579987 129.033647511278 130.33400561054543 131.63267022670826 132.92800561232139 + 5.346910315468594 7.23214297651324 9.17323330626939 11.16639239730367 13.207829412729307 15.293753515659473 17.420373869207392 19.583899636486233 21.780539980609202 24.006504064689487 26.258001051840317 28.53124010517483 30.822430387806246 33.127781062847795 35.443501293412616 37.76580024261393 40.090887073564936 42.41497094937881 44.7342610331688 47.044966488048026 49.343296477129755 51.62546016352712 53.88766671035334 56.126125280721624 58.33704503774515 60.51663514453712 62.66110476421075 64.76666305987918 66.82951919465567 68.84588233165337 70.8119616339855 72.72396626476524 74.57810538710575 76.37058816412032 78.09762375892207 79.75542133462422 81.34020614111829 82.84987406148808 84.28558523349382 85.64887184536542 86.94126608533291 88.16430014162616 89.31950620247517 90.40841645610988 91.43256309076028 92.3934782946563 93.29269425602789 94.131743163105 94.91215720411759 95.63546856729563 96.30320944086908 96.91691201306786 97.47810847212195 97.9883310062613 98.4491118037159 98.86198305271563 99.22847694149051 99.55012565827049 99.8284613912855 100.0650163287655 100.26132265894046 100.41891257004032 100.53931825029504 100.6240718879346 100.67470567118889 100.69275178828795 100.67974242746166 100.63720977694007 100.566686024953 100.46970335973052 100.34779396950253 100.20249004249904 100.035335146604 99.84814075839151 99.64298483774569 99.42195719933136 99.18714765781343 98.94064602785666 98.68454212412598 98.42092576128617 98.15188675400209 97.87951491693863 97.60590006476059 97.33313201213284 97.0633005737202 96.79849556418758 96.54080679819977 96.2923240904216 96.05513725551796 95.83133610815369 95.6230104629936 95.4322501347026 95.2611449379455 95.11178468738711 94.98625919769238 94.88665828352605 94.81507175955299 94.7735894404381 94.76430114084617 94.78929667544207 94.85066585889064 94.95049850585673 95.09088443100521 95.27391344900086 95.50167537450861 95.77626002219326 96.09975720671963 96.47425674275263 96.90158704377822 97.38129448111036 97.91175309015831 98.49132661485245 99.11837879912315 99.79127338690074 100.50837412211558 101.26804474869814 102.06864901057874 102.90855065168773 103.7861134159555 104.69970104731235 105.64767728968877 106.6284058870151 107.64025058322163 108.6815751222388 109.750743247997 110.84611870442654 111.96606523545788 113.10894658502124 114.27312649704713 115.45696871546588 116.65883698420788 117.87709504720341 119.11010664838294 120.35623553167679 121.61384544101539 122.88130012032903 124.15696331354815 125.43919876460305 126.72637021742416 128.01684141594188 129.3089761040865 130.6011380257884 131.89169092497798 133.1789968536955 + 5.567262342564597 7.457458081166022 9.403432635740137 11.401413053244742 13.447624444051613 15.538291918532463 17.669640587059064 19.83789556000311 22.039281947736363 24.270024860630553 26.52634940905744 28.80448070338872 31.100643853996143 33.411063971251494 35.73196616552644 38.05957554719274 40.39011722662215 42.7198163141864 45.04489792025724 47.36158715520637 49.66610912940559 51.954688953226565 54.223551737041056 56.46892259122082 58.68702662613757 60.87408895216308 63.02633467966907 65.13998891902723 67.21127678060938 69.23642337478721 71.21165381193245 73.13319320241683 74.99726665661213 76.80009928489007 78.5379161976224 80.2069425051808 81.80341927642597 83.32524061008166 84.77353081934274 86.14978233431206 87.45548758509264 88.6921390017874 89.86122901449927 90.9642500533312 92.00269454838622 92.97805492976715 93.89182362757704 94.74549307191877 95.54055569289535 96.27850392060968 96.96083018516471 97.58902691666343 98.16458654520876 98.68900150090364 99.16376421385102 99.59036711415388 99.97030263191512 100.30506319723773 100.59614124022464 100.84502919097879 101.05321947960316 101.22220453620066 101.35347679087425 101.4485286737269 101.50885261486154 101.53594104438109 101.53128639238854 101.49638108898687 101.4327175642789 101.34178824836772 101.22508557135622 101.08410196334735 100.92034267443462 100.73561386571616 100.532021212859 100.3116836769993 100.07672021927321 99.82924980081684 99.57139138276646 99.30526392625815 99.03298639242803 98.75667774241238 98.47845693734723 98.20044293836884 97.92475470661329 97.65351120321682 97.38883138931557 97.1328342260456 96.88763867454318 96.65536369594443 96.43812825138549 96.23805130200259 96.0572518089318 95.89784873330933 95.76196103627133 95.65170767895394 95.56920762249335 95.5165798280257 95.49594325668716 95.50941686961387 95.559119627942 95.6471704928077 95.77568842534716 95.94679238669649 96.16260133799187 96.4252342403695 96.73681005496547 97.099447742916 97.51500279209984 97.98303080964148 98.50190580561144 99.06999143924045 99.68565136975907 100.34724925639797 101.05314875838774 101.80171353495912 102.59130724534269 103.42029354876914 104.28703610446902 105.189898571673 106.1272446096118 107.097437877516 108.09884203461621 109.12982074014315 110.18873765332744 111.27395643339965 112.38384073959053 113.51675423113058 114.67106056725058 115.84512340718113 117.03730641015287 118.24597323539639 119.46948754214237 120.70621298962148 121.95451323706433 123.21275194370158 124.47929276876383 125.75249937148173 127.030735411086 128.3123645468072 129.595750437876 130.87925674352303 132.1612471229789 133.4400835316275 + 5.781177814655311 7.676250026567166 9.627029003708033 11.629757026899037 13.680674433370958 15.776021560354506 17.91203874508045 20.084966324779504 22.291044636682404 24.5265140180199 26.78761480602274 29.070587337921626 31.371671950947313 33.68710898233058 36.01313876930209 38.34600164909262 40.68193795893291 43.017188036053696 45.34799221768573 47.67059084105971 49.98122424340643 52.27613276195658 54.551556733940906 56.80373649659014 59.02891238713505 61.22332474280636 63.38321390083482 65.50482019845113 67.58438397288607 69.61814556137034 71.6023453011347 73.53322352940991 75.40702058342661 77.21997680041568 78.96833251760779 80.64832807223367 82.2562196390682 83.78989975774729 85.25045896101093 86.63935217445672 87.95803432368223 89.20796033428503 90.39058513186275 91.50736364201293 92.55975079033323 93.54920150242114 94.47717070387432 95.3451133202903 96.1544842772667 96.90673850040113 97.60333091529114 98.2457164475343 98.83535002272826 99.37368656647054 99.86218100435877 100.30228826199053 100.69546326496338 101.0431609388749 101.34683620932275 101.60794400190443 101.82793924221761 102.0082768558598 102.15041176842861 102.25579890552167 102.32589319273647 102.3621495556707 102.3660229199219 102.33896821108766 102.28244035476553 102.19789427655316 102.08678490204812 101.950567156848 101.79071010776204 101.6090139765521 101.4076087767594 101.18863911752793 100.95424960800166 100.70658485732453 100.44778947464056 100.1800080690937 99.9053852498279 99.62606562598718 99.34419380671551 99.06191440115683 98.78137201845512 98.50471126775436 98.23407675819857 97.97161309893166 97.7194648990976 97.47977676784042 97.25469331430403 97.04635914763247 96.85691887696963 96.68851711145959 96.54329846024625 96.42340753247358 96.33098893728557 96.26818728382622 96.23714718123946 96.24001323866929 96.27893006525967 96.35604227015459 96.47349446249801 96.63343125143389 96.83799724610624 97.08933705565902 97.38959528923618 97.74091655598174 98.14518031248399 98.60195170633298 99.10960678610186 99.66651120397435 100.27103061213417 100.92153066276504 101.61637700805068 102.35393530017488 103.1325711913214 103.95065033367389 104.80653837941608 105.69860098073171 106.6252037898046 107.5847124588184 108.57549263995682 109.59590998540367 110.64433014734266 111.71911877795749 112.81864152943196 113.94126405394968 115.08535200369447 116.24927103085007 117.43138678760022 118.63006492612857 119.84367109861891 121.070570957255 122.30913015422054 123.55771434169928 124.81468917187492 126.07842029693118 127.34727336905185 128.6196140404207 129.89380796322135 131.16822078963753 132.44121817185305 133.71116404565674 + 5.988390230450485 7.888265734963406 9.843784266851593 11.851202449072144 13.906774954097898 16.00675645440163 18.14740162245617 20.32496513073429 22.535701651708795 24.775865857852494 27.041712421638202 29.32949601553867 31.63547131202672 33.9558929835752 36.287015702656824 38.62509414174444 40.96638297331085 43.307136869828845 45.64361050377124 47.97205854761081 50.288735673820376 52.58989655487272 54.871795863240635 57.13068827139694 59.36282845181443 61.56447107696591 63.73187081932419 65.86128235136201 67.94896034555227 69.99115947436768 71.98413441028106 73.92413982576524 75.80743039329299 77.63026078533714 79.38888567437046 81.07955973286576 82.69855335830357 84.24375772150614 85.71623184590489 87.11739566342519 88.44866910599252 89.7114721055323 90.90722459396991 92.03734650323082 93.10325776524049 94.10637831192423 95.04812807520757 95.92992698701588 96.7531949792746 97.51935198390917 98.22981793284498 98.88601275800751 99.48935639132212 100.04126876471429 100.54316981010942 100.99647945943292 101.40261764461025 101.7630042975668 102.07905935022802 102.35220273451932 102.58385438236616 102.77543422569393 102.92836219642801 103.04405822649393 103.12394224781706 103.16943419232281 103.18195399193662 103.16292157858398 103.11375688419015 103.03587984068069 102.93071037998102 102.79966843401654 102.64418926965483 102.46606660280919 102.26745127258278 102.05050989497283 101.81740908597655 101.57031546159118 101.31139563781403 101.04281623064229 100.76674385607319 100.48534513010405 100.20078666873206 99.91523508795447 99.63085700376854 99.34981903217151 99.07428778916065 98.80642989073316 98.5484119528863 98.30240059161733 98.07056242292352 97.85506406280209 97.65807212725026 97.4817532322653 97.32827399384448 97.19980102798502 97.09850095068418 97.02654037793917 96.98608592574728 96.97930421010572 97.00836184701178 97.07542545246265 97.18266164245564 97.33223703298795 97.52631824005684 97.76707187965955 98.05666456779335 98.39726292045546 98.79076712278449 99.2367521037198 99.7335979871216 100.27967446895661 100.87335124519143 101.51299801179269 102.19698446472708 102.92368029996125 103.69145521346186 104.49867890119553 105.34372105912894 106.22495138322869 107.1407395694615 108.08945531379402 109.06946831219283 110.07914826062462 111.11686485505608 112.18098779145382 113.26988676578452 114.38193147401475 115.51549161211126 116.66893687604065 117.84063696176962 119.02896156526472 120.23228038249272 121.44896310942019 122.67737944201386 123.91589907624031 125.16289170806617 126.41672703345816 127.67577474838292 128.9384045488071 130.20298613069735 131.46788919002023 132.7314834227425 133.99213679532252 + 6.188633088659845 8.09325212860146 10.053460281849306 12.065527450569617 14.125721579642962 16.230310613949833 18.37556249837079 20.557745177786327 22.773126597076985 25.01797470112329 27.28855743480578 29.58114274300494 31.89199857060132 34.21739286247548 36.55359356350788 38.89686861857908 41.2434859725696 43.589713570359976 45.93181935683074 48.266071276862384 50.588737275335475 52.896085297130504 55.184383287128 57.4498991902085 59.68890095125252 61.89765651514062 64.0724338267533 66.20950083097104 68.30512547267446 70.35557569674403 72.35711944806025 74.3060246715037 76.19855931195485 78.0309913142943 79.79958862340253 81.50061918416006 83.13036656339065 84.68672071837943 86.17071166143096 87.58372709884327 88.92715473691437 90.20238228194226 91.41079744022501 92.55378791806056 93.63274142174706 94.64904565758235 95.6040883318646 96.49925715089174 97.33593982096181 98.11552404837289 98.83939753942289 99.50894800040994 100.12556313763199 100.69063065738706 101.20553826597317 101.67167366968835 102.09042457483064 102.46317868769802 102.79132371458857 103.07624736180021 103.31933733563106 103.52198134237908 103.6855670883423 103.81148227981875 103.90111462310641 103.95585182450336 103.97708159030755 103.96619162681708 103.92456964032989 103.85360333714407 103.75468042355757 103.62918860586846 103.47853198318131 103.30449725639724 103.10925244346495 102.89498238338943 102.66387191517555 102.41810587782827 102.15986911035253 101.89134645175324 101.61472274103531 101.33218281720376 101.04591151926347 100.75809368621933 100.47091415707632 100.18655777083939 99.90720936651347 99.63505378310342 99.37227585961422 99.12106043505086 98.88359234841818 98.66205643872118 98.45863754496474 98.27552050615382 98.11489016129336 97.97893134938829 97.86982890944353 97.78976768046404 97.74093250145471 97.72550821142049 97.7456796493663 97.8036316542971 97.90154906521781 98.04161672113337 98.22601946104872 98.45694212396877 98.73656954889846 99.06708657484273 99.45041074085503 99.88612693433664 100.3726213641627 100.90826979408959 101.4914479878738 102.12053170927162 102.79389672203948 103.50991878993383 104.2669736767111 105.06343714612763 105.89768496193982 106.76809288790405 107.67303668777684 108.61089212531454 109.58003496427351 110.57884096841018 111.60568590148098 112.6589455272423 113.73699560945055 114.83821191186207 115.96097019823334 117.10364623232077 118.26461577788075 119.4422545986696 120.63493845844386 121.84104312095984 123.058944349974 124.2870179092427 125.52363956252236 126.7671850735694 128.0160302061402 129.2685507239912 130.52312239087883 131.77812097055937 133.03192222678928 134.28290018016412 + 6.381639887993135 8.29095612972805 10.255818905379678 12.272510162197044 14.337309883416697 16.446498052275135 18.596354652008905 20.783159665854498 23.00319307704844 25.25273486882725 27.528065024427466 29.82546352708557 32.14121036003809 34.471585506521585 36.8128689497725 39.161340673027404 41.51328065952282 43.864968892495234 46.212685355181215 48.55271003081722 50.88132290263982 53.19480395388549 55.489433167790764 57.76149052759216 60.00725601652621 62.223009617829426 64.40503131473834 66.5496010904894 68.65299892831924 70.71150481146428 72.72139872316109 74.67896064664616 76.580470565156 78.4222084619272 80.2004543201962 81.91148812319956 83.55160538358803 85.1186949653884 86.61376059499568 88.03816077833679 89.39325402133866 90.68039882992818 91.90095371003234 93.05627716757797 94.1477277084921 95.17666383870154 96.1444440641333 97.05242689071424 97.90197082437135 98.6944343710315 99.43117603662162 100.11355432706866 100.74292774829951 101.32065480624111 101.84809400682039 102.32660385596424 102.7575428595996 103.1422695236534 103.48214235405261 103.77851985672405 104.03276053759471 104.2462229025915 104.42026545764132 104.55624670867114 104.65552516160784 104.71945932237837 104.74940769690961 104.74672879112856 104.71278111096206 104.64892316233707 104.5565134511805 104.43691048341934 104.29149007141008 104.1220314492261 103.93071603254187 103.71974295683331 103.49131135757648 103.2476203702473 102.99086913032185 102.723256773276 102.44698243458583 102.16424524972729 101.8772443541764 101.5881788834091 101.29924797290141 101.01265075812934 100.73058637456886 100.4552539576959 100.1888526429865 99.93358156591668 99.69163986196237 99.46522666659962 99.25654111530434 99.0677823435526 98.90114948682033 98.75884168058354 98.64305806031822 98.55599776150035 98.49985991960594 98.47684367011095 98.48914814849137 98.53897249022319 98.62851583078242 98.75997730564505 98.93555605028703 99.15745120018441 99.42786189081309 99.74898725764918 100.12275868454944 100.54877113071842 101.02541887271721 101.55108573927583 102.12415555912426 102.74301216099249 103.40603937361055 104.11162102570843 104.85814094601615 105.64398296326367 106.46753090618098 107.32716860349807 108.221279883945 109.14824857625177 110.1064585091483 111.0942935113646 112.11013741163077 113.15237403867671 114.21938722123247 115.30956078802797 116.42127856779331 117.55292438925842 118.70288208115336 119.86953547220804 121.05126839115253 122.24646466671679 123.45350812763088 124.67078260262474 125.89667192042835 127.12955990977174 128.36783039938493 129.6098672179979 130.85405419434068 132.09877515714317 133.34241393513543 134.5833525997209 + 6.567144127160089 8.481124660589897 10.45062199412121 12.471928714759986 14.541335438829648 16.65513278265355 18.809611362555103 21.00106179485766 23.225774695884603 25.480040681959327 27.76015036940523 30.06239437454564 32.38306331370397 34.71844780320363 37.064838459367934 39.41852589852031 41.775800736984124 44.13295359108275 46.48627507713961 48.83205581147804 51.16658641042145 53.48615749029319 55.78705966741665 58.06558355811522 60.31801977871227 62.54065894553121 64.72979167489541 66.8817085831282 68.99270028655306 71.05905740149326 73.07707054427227 75.04303033121343 76.9532273786401 78.8039523028757 80.59149572024361 82.3121482470672 83.9622159481543 85.53958667955425 87.04524083400544 88.48051099953153 89.84672976415622 91.14522971590316 92.3773434427961 93.54440353285868 94.6477425741147 95.6886931545877 96.66858786230145 97.58875928527965 98.45054001154597 99.25526262912413 100.00425972603774 100.6988638903106 101.34040770996636 101.93022377302867 102.46964466752125 102.96000298146784 103.40263130289205 103.79886221981761 104.15002832026823 104.45746219226756 104.72249642383935 104.94646360300723 105.13069631779493 105.27652715622614 105.38528870632452 105.45831355611378 105.4969342936176 105.50248350685976 105.47629378386378 105.41969771265349 105.33402788125257 105.22061687768465 105.08081535740955 104.91639469320558 104.72954578294926 104.52247798935994 104.297400675157 104.05652320305974 103.80205493578762 103.53620523605993 103.26118346659612 102.9791989901155 102.69246116933746 102.40317936698136 102.1135629457666 101.82582126841251 101.54216369763851 101.2647995961639 100.9959383267081 100.73778925199045 100.49256173473034 100.26246513764715 100.04970882346022 99.85650215488891 99.68505449465268 99.53757520547076 99.41627365006264 99.32335919114762 99.26104119144509 99.23152901367442 99.23703202055496 99.27975957480612 99.36192103914725 99.4857257762977 99.65338314897686 99.86710251990414 100.1290932517988 100.44156470738032 100.80645847172143 101.22337962539989 101.69073246827713 102.20691086441764 102.77030867788581 103.37931977274609 104.0323380130629 104.72775726290072 105.46397138632403 106.23937424739718 107.05235971018465 107.90132163875084 108.78465389716027 109.70075034947733 110.64800485976646 111.62481129209209 112.62956351051872 113.66065537911072 114.71648076193259 115.79543352304867 116.89590752652349 118.01629663642152 119.15499471680712 120.31039563174474 121.48089324529883 122.66488142153385 123.86075402451425 125.06690491830442 126.28172796696883 127.5036170345719 128.7309659851781 129.96216868285194 131.1956189916577 132.4297107756599 133.66283789892296 134.8933924535322 + 6.744879304870445 8.663504643433733 10.637631404752403 12.663561239064027 14.737593819292362 16.856028818361093 19.01516590919397 21.211304764714683 23.44074505784695 25.699786461514492 27.984728648641045 30.291871292150287 32.61751406496594 34.95795664001177 37.30949869021142 39.66843988848865 42.03107990776716 44.39371842097068 46.75265510102294 49.10418962084761 51.444621653368465 53.770250871509155 56.07737694819343 58.36229955634501 60.621318368887586 62.850733058744915 65.04684329884073 67.20594876209863 69.32434912144247 71.39834404979588 73.42423322008261 75.39831630522637 77.31689297815085 79.17626291177983 80.97272577903696 82.702581252846 84.36214438634802 85.94930207789824 87.46501456586671 88.9105920600533 90.28734477025792 91.59658290628039 92.83961667792065 94.01775629497853 95.132311967254 96.18459390454683 97.17591231665696 98.10757741338425 98.98089940452861 99.79718849988993 100.55775490926798 101.2639088424628 101.91696050927416 102.51822011950196 103.06899788294614 103.57060400940648 104.02434870868294 104.43154219057539 104.7934946648837 105.1115163414077 105.38691742994735 105.62100814030251 105.81509868227302 105.97049926565879 106.08852010025969 106.17047139587565 106.21766336230647 106.23140620935212 106.21301014681235 106.16378538448717 106.08504213217643 105.97809059967997 105.84425966424818 105.68531250024556 105.50344543782307 105.30087385502485 105.07981312989484 104.84247864047707 104.59108576481562 104.32784988095447 104.05498636693767 103.77471060080929 103.48923796061332 103.20078382439378 102.91156357019473 102.62379257606023 102.33968622003428 102.06145988016085 101.79132893448404 101.53150876104787 101.28421473789639 101.0516622430736 100.83606665462355 100.63964335059025 100.46460770901777 100.31317510795009 100.18756092543126 100.08998053950533 100.02264932821633 99.98778266960828 99.9875959417252 100.02430452261115 100.10012379031014 100.21726912286617 100.37795589832334 100.58439949472567 100.83881529011713 101.1434186625418 101.5001576202248 101.9086473509159 102.36730410633457 102.8745337294175 103.42874206310142 104.02833495032306 104.67171823401915 105.35729775712649 106.08347936258178 106.84866889332174 107.6512721922831 108.48969510240258 109.362343466617 110.26762312786306 111.20393992907742 112.16969971319688 113.1633083231582 114.1831716018981 115.22769539235331 116.2952855374605 117.3843478801565 118.493288263378 119.62051253006177 120.7644265231445 121.92343608556294 123.09594706025385 124.28036529015397 125.4750966182 126.67854688732866 127.88912194047674 129.105227620581 130.3252697705781 131.5476542334048 132.77078685199783 133.99307346929393 135.21291814113727 + 6.914578919833945 8.837843000506274 10.816608993951759 12.847185865914739 14.925880598215377 17.04900017267378 19.212851571110104 21.41374177534444 23.647977767196924 25.9118665284877 28.2017150410369 30.513830286664597 32.84451924719096 35.190088904436145 37.546846240220205 39.91109823636331 42.27915187468559 44.64731413700715 47.011892005148155 49.36919246092869 51.715522486168915 54.04718906268893 56.360499172308856 58.65175979684883 60.917277918128995 63.15336051796947 65.35631457819039 67.52244708061184 69.64806500705402 71.72947533933699 73.76298505928088 75.74490114870584 77.67153058943198 79.53918036327948 81.34415745206842 83.08276883761891 84.75133682742782 86.34774737744158 87.87294397798593 89.32821825752791 90.71486184453462 92.034166367473 93.28742345481022 94.47592473501321 95.60096183654912 96.6638263878849 97.66581001748766 98.60820435382439 99.49230102536217 100.31939166056806 101.09076788790904 101.80772133585224 102.47154363286462 103.08352640741327 103.64496128796526 104.15713990298755 104.62135388094728 105.03889485031145 105.4110544395471 105.73912427712126 106.02439599150101 106.26816121115338 106.47171156454542 106.63633868014414 106.76333418641663 106.85398971182994 106.90959688485103 106.93144733394708 106.92083268758499 106.8790445742319 106.80737462235481 106.70711446042081 106.57957481499447 106.42651038225583 106.2501187402992 106.05261692788353 105.83622198376777 105.60315094671077 105.35562085547154 105.09584874880898 104.826051665482 104.54844664424957 104.2652507238706 103.978680943104 103.6909543407087 103.40428795544368 103.12089882606786 102.8430039913401 102.57282049001938 102.31256536086465 102.06445564263481 101.83070837408879 101.61354059398552 101.41516934108392 101.23781165414299 101.08368457192155 100.95500513317859 100.85399037667307 100.78285734116386 100.7438230654099 100.73910458817014 100.77091894820349 100.84148318426888 100.95301433512527 101.10772943953157 101.3078455362467 101.55557966402962 101.85314886163924 102.20250364791329 102.60326923980132 103.05387574238152 103.55274289417781 104.09829043371404 104.68893809951413 105.32310563010195 105.9992127640014 106.71567923973642 107.47092479583084 108.26336917080859 109.09143210319348 109.95353333150955 110.8480925942806 111.77352963003051 112.72826417728322 113.7107159745626 114.71930476039256 115.75245027329697 116.8085722517997 117.88609043442469 118.98342455969586 120.09899436613705 121.23121959227211 122.37851997662501 123.53931525771961 124.71202517407984 125.89506946422956 127.08686786669266 128.285840119993 129.49040596265456 130.69898513320123 131.90999737015687 133.12186241204523 134.3329999973904 135.5418280620755 + 7.075976470760312 9.003886654054243 10.987316618397772 13.022580726117683 15.105991349009235 17.233860858867615 19.402501627488075 21.608226026665786 23.847346428195987 26.116175203873894 28.411024725494737 30.728207364853688 33.06403549374598 35.414821483966875 37.77687770731152 40.14651653557516 42.52005034055302 44.89379149404029 47.26405236783222 49.627145333723995 51.97938276351088 54.31707702898802 56.63654050195065 58.934085554194006 61.2060245575133 63.44866988370376 65.65833390456058 67.83132899187895 69.96396751745417 72.05256185308137 74.0934243705558 76.08286744167268 78.01720343822718 79.89274473201459 81.7058036948301 83.4526926984689 85.12973940065224 86.73482879520543 88.26889125776951 89.73320388958116 91.12904379187714 92.4576880658942 93.72041381286907 94.91849813403843 96.05321813063915 97.12585090390785 98.13767355508132 99.08996318539627 99.98399689608947 100.82105178839764 101.6024049635575 102.32933352280584 103.00311456737936 103.62502519851476 104.19634251744888 104.71834362541834 105.19230562365999 105.61950561341048 106.00122069590661 106.33872797238504 106.63330454408265 106.886227512236 107.09877397808197 107.27222104285723 107.40784580779851 107.50692537414257 107.57073684312614 107.60055731598602 107.59766389395884 107.56333367828141 107.49884377019045 107.40547127092269 107.28451263271687 107.13771385114623 106.96726943351342 106.7753935819915 106.56430049875345 106.33620438597231 106.0933194458211 105.8378598804728 105.57203989210049 105.29807368287717 105.01817545497585 104.73455941056955 104.44943975183128 104.16503068093408 103.88354640005102 103.60720111135501 103.33820901701912 103.07878431921641 102.83114122011985 102.59749392190245 102.38005662673729 102.18104353679735 102.00266885425565 101.8471467812852 101.71669152005907 101.61351727275024 101.53983824153173 101.49786862857657 101.48982263605775 101.51791446614834 101.58435832102136 101.69136840284975 101.84115891380664 102.03594405606496 102.27793803179779 102.56935504317813 102.91214407264061 103.30594022459087 103.74918933191002 104.24032691860097 104.77778850866669 105.36000962610998 105.98542579493383 106.65247253914119 107.35958538273496 108.10519984971802 108.88775146409331 109.70567574986372 110.55740823103223 111.44138443160172 112.35603987557506 113.29981008695525 114.2711305897452 115.26843690794777 116.29016456556595 117.33474908660256 118.40062599506058 119.48623081494296 120.58999907025256 121.7103662849923 122.84576798316512 123.99463968877394 125.1554169258217 126.32653521831125 127.50643009024554 128.69353706562748 129.88629166846002 131.0831294227461 132.28248585248858 133.48279648169034 134.68249683435437 135.88002061588617 + 7.228815489026327 9.16139168493168 11.149524334028719 13.18953111286891 15.277727700851129 17.410429777374176 19.58395302183692 21.794613113638153 24.038725732176722 26.31260655685146 28.612571267061217 30.934935542204776 33.276015061680994 35.63212550488874 37.99958255122677 40.37470188009396 42.75379917088914 45.13319010301114 47.50919035585879 49.87811560883091 52.23628154132638 54.58000383274394 56.905598162482484 59.209380209940825 61.48766565451781 63.736770175612264 65.95300945262304 68.13269916494887 70.27215499198874 72.36769261314137 74.41562770780563 76.41227595538032 78.3539530352643 80.23697462685641 82.05765640955546 83.8123140627603 85.49727852785239 87.11043378380523 88.65270094280869 90.12534687974023 91.52963846947736 92.86684258689753 94.1382261068783 95.3450559042971 96.4885988540315 97.5701218309589 98.59089170995682 99.55217536590277 100.45523967367423 101.30135150814873 102.09177774420368 102.82778525671665 103.5106409205651 104.14161161062651 104.72196420177839 105.25296556889822 105.73588258686351 106.17198213055173 106.56253107484041 106.90879629460694 107.21204466472898 107.47354306008387 107.69455835554916 107.87635742600239 108.02020714632096 108.1273743913824 108.19912603606421 108.2367289552439 108.2414500237989 108.21455611660676 108.15731410854498 108.070990874491 107.95687270747793 107.81669673574014 107.65264994941573 107.46693908123095 107.26177086391203 107.03935203018513 106.80188931277654 106.55158944441241 106.29065915781901 106.02130518572255 105.74573426084925 105.46615311592535 105.18476848367703 104.90378709683054 104.62541568811211 104.35186099024793 104.08532973596424 103.82802865798726 103.58216448904321 103.34994396185829 103.13357380915875 102.93526076367081 102.75721155812067 102.60163292523458 102.47073159773873 102.36671430835938 102.29178778982268 102.24815877485493 102.2380339961823 102.26362018653103 102.32712407862734 102.43075240519744 102.57671189896756 102.76720929266395 103.00445131901277 103.29064471074031 103.62773273892363 104.01536019130475 104.45199047469328 104.93607676035826 105.46607221956889 106.04043002359415 106.65760334370322 107.31604535116517 108.01420921724917 108.75054811322424 109.5235152103595 110.33156367992405 111.17314669318704 112.04671742141754 112.95072903588458 113.88363470785738 114.84388760860499 115.8299409093965 116.84024778150103 117.87326139618766 118.9274349247255 120.0012215383837 121.0930744084313 122.20144670613739 123.32479160277111 124.46156226960157 125.61021187789788 126.76919359892909 127.93696060396434 129.11196606427268 130.2926631511233 131.47750503578524 132.66494488952765 133.8534358836195 135.04143118933007 136.22738214299193 + 7.3730646121999275 9.31031900445949 11.30318478855003 13.34798088795371 15.441024222375901 17.57863171152191 19.757120275097098 21.972806832806757 24.222008304356237 26.501041609450876 28.806223667796015 31.133871399096943 33.480301723059014 35.8418315593876 38.214777827787955 40.59545744796546 42.980187339625424 45.365284422473195 47.747065616214115 50.121847840553485 52.48594801519667 54.83568305984896 57.1673698942157 59.47732543800224 61.761866610913884 64.017310332656 66.23997352293391 68.42617310145287 70.57222598791834 72.67444910203558 74.72915936350991 76.73267369204666 78.68130900735119 80.57138222912882 82.3992102770849 84.16111007092474 85.85341378415418 87.47400434070939 89.0237974480652 90.50405406256756 91.91603514056253 93.261001638396 94.54021451241405 95.7549347189626 96.90642321438776 97.9959409550354 99.02474889725154 99.99410799738219 100.90527921177335 101.759523496771 102.5581018087211 103.30227510396972 103.99330433886277 104.63245046974626 105.22097445296625 105.76013724486862 106.25119980179946 106.6954230801047 107.09406803613038 107.4483956262224 107.7596668067269 108.02914253398973 108.25808376435697 108.44775145417456 108.59940655978852 108.71431003754485 108.7937228437895 108.83890593486852 108.85112026712783 108.83162679691347 108.78168648057144 108.7025602744477 108.59552843488089 108.46231907391534 108.30510724640686 108.12608761150196 107.92745482834715 107.7114035560889 107.48012845387377 107.23582418084823 106.9806853961588 106.71690675895204 106.44668292837441 106.17220856357241 105.8956783236926 105.61928686788146 105.34522885528553 105.07569894505124 104.81289179632518 104.55900206825386 104.31622441998374 104.08675351066138 103.87278399943327 103.67651054544591 103.50012780784583 103.34583044577953 103.21581311839353 103.11227048483433 103.03739720424845 102.99338793578238 102.98243733858264 103.00674007179576 103.06849079456822 103.16988416604656 103.3131148453773 103.50037749170691 103.73386676418193 104.01577732194887 104.34804257240486 104.73031675186442 105.16108262920024 105.63881282649871 106.16197996584624 106.72905666932922 107.33851555903402 107.98882925704712 108.67847038545489 109.40591156634372 110.16962542179999 110.9680845739101 111.79976164476052 112.66312925643763 113.55666003102775 114.47882659061736 115.42810155729285 116.40295755314061 117.40186720024707 118.42330312069855 119.46573793658153 120.52764426998243 121.60749474298757 122.70376197768338 123.81491859615629 124.93943722049268 126.07579047277899 127.22245097510154 128.3778913495468 129.5405842182011 130.70900220315096 131.8816179264827 133.05690401028278 134.23333307663745 135.40937774763327 136.58350879372878 + 7.508918886767266 9.450835696925752 11.448434604020656 13.49803390476004 15.595949885485712 17.73849883253941 19.921997032262944 22.142760770998038 24.397106335086477 26.681350010870034 28.991808084690497 31.324796842889583 33.67663257180909 36.04363155779083 38.42211008717647 40.80838444630786 43.198770921526744 45.58958579917489 47.97714536559409 50.35776590712607 52.72776371011264 55.08345506089553 57.421156245816526 59.73718355121739 62.0278532634399 64.28948166882584 66.51838505371697 68.710879704455 70.8632819073818 72.97190794883906 75.0330741151686 77.04309669271214 78.99829196781145 80.89497622680837 82.7294657560446 84.49807684186194 86.19714103087202 87.82454020988831 89.38118833745872 90.86834452628311 92.28726788906143 93.63921753849353 94.9254525872794 96.14723214811887 97.30581533371198 98.4024612567585 99.43842902995841 100.41497776601162 101.33336657761805 102.19485457747761 103.00070087829017 103.75216459275572 104.45050483357412 105.09698071344526 105.69285134506913 106.23937584114555 106.7378133143745 107.1894228774559 107.59546364308962 107.95719472397556 108.27587523281368 108.55276428230388 108.78912098514607 108.98620445404013 109.145273801686 109.26758814078363 109.35440658403286 109.40698824413369 109.42659223378591 109.41447766568952 109.37190365254445 109.30012930705057 109.20043274729804 109.07453290028639 108.92458865155517 108.75277817549069 108.56127964647916 108.3522712389068 108.12793112715994 107.89043748562477 107.64196848868757 107.38470231073461 107.12081712615212 106.85249110932632 106.58190243464352 106.31122927649 106.04264980925197 105.77834220731563 105.52048464506731 105.27125529689324 105.03283233717968 104.80739394031289 104.59711828067908 104.40418353266456 104.23076787065555 104.07904946903832 103.95120650219911 103.84941714452417 103.77585957039977 103.73271195421216 103.7221524703476 103.74635929319231 103.80751059713258 103.90778455655463 104.04935934584478 104.23441313938922 104.4651241115742 104.74367043678602 105.07197167957347 105.44969129122971 105.87533310331189 106.34739090405783 106.86435848170547 107.42472962449261 108.02699812065714 108.66965775843698 109.35120232607 110.07012561179404 110.82492140384697 111.61408349046663 112.43610565989101 113.28948170035792 114.1727054001052 115.08427054737075 116.02267093039248 116.98640033740824 117.97395255665589 118.98382137637329 120.01450058479834 121.06448397016894 122.13226532072292 123.21633842469814 124.31519707033253 125.42733504586394 126.55124613953025 127.68542413956934 128.82836283421904 129.97855601171722 131.13449746030184 132.29468096821074 133.4576003236818 134.62174931495278 135.78562173026168 136.94770948920822 + 7.636582957639189 9.583117557725767 11.585418140897207 13.639800704728527 15.742579229912812 17.890067697143085 20.078580087112424 22.304430380513843 24.5639325580404 26.853400600385143 29.169148488241145 31.507490202301394 33.864739723258964 36.23721103180695 38.62121810863832 41.01307493444615 43.4090954899235 45.80559375576341 48.19888371265895 50.58527934130312 52.96109462238901 55.322643536609625 57.666240064658034 59.98819818722728 62.284831885010405 64.55245513870048 66.78738192899056 68.98592623657359 71.14440204214277 73.25912332639103 75.32640407001148 77.34255825369712 79.303899858141 81.20674286403624 83.04740125207582 84.82218900295278 86.52743537759497 88.16102130369032 89.72386243456461 91.2172198708008 92.64235471298184 94.00052806169066 95.2930010175103 96.52103468102364 97.68589015281371 98.78882853346342 99.83111092355574 100.81399842367365 101.73875213440009 102.60663315631805 103.41890259001042 104.17682153606026 104.88165109505044 105.534652367564 106.13708645418384 106.69021445549295 107.19529747207429 107.65359660451078 108.06637295338545 108.43488761928117 108.76040170278102 109.04417630446787 109.28747252492471 109.4915514647345 109.65767422448019 109.78710190474474 109.88109560611112 109.94091642916234 109.96782547448123 109.96308384265086 109.92795263425418 109.86369294987412 109.77158443368637 109.65333663715396 109.51108823333757 109.34699670078732 109.1632195180531 108.96191416368497 108.74523811623291 108.51534885424695 108.27440385627703 108.02456060087323 107.76797656658549 107.50680923196383 107.24321607555825 106.97935457591876 106.71738221159538 106.45945646113805 106.2077348030968 105.96437471602167 105.7315336784626 105.51136916896964 105.30603866609275 105.11769964838196 104.94850959438728 104.80062598265866 104.67620629174615 104.57740800019975 104.50638858656941 104.46530552940519 104.45631630725704 104.48157839867503 104.5432492822091 104.64348643640926 104.78444733982552 104.9682894710079 105.19717030850637 105.47324733087093 105.79842246034133 106.17236813213346 106.59361085228494 107.0606672009705 107.57205375836485 108.1262871046427 108.72188381997876 109.35736048454778 110.03123367852447 110.74201998208353 111.48823597539969 112.2683982386476 113.08102335200209 113.92462789563784 114.7977284497295 115.69884159445185 116.62648390997963 117.57917197648749 118.5554223741502 119.5537516831424 120.57267648363889 121.61071335581437 122.66637887984353 123.7381896359011 124.8246622041618 125.92431316480032 127.03565909799146 128.15721658390981 129.2875022027302 130.42503253462723 131.56832415977578 132.71589365835047 133.866257610526 135.01793259647707 136.16943519637846 137.31928010447115 + 7.756261469726534 9.707340382254829 11.714279759636282 13.773391829299788 15.880986795389456 18.033374862049328 20.22686623342351 22.457771113656033 24.72239970689098 27.017062217272418 29.33806884894444 31.681729806051067 34.04435529273639 36.42225551314451 38.81174067141944 41.209120971705275 43.61070661814609 46.01280781488594 48.41173476606892 50.80379767583907 53.185306748340494 55.552572187717196 57.90190419811329 60.22961298367284 62.53200874853992 64.8054016968586 67.04610203277295 69.250419960427 71.41466568396487 73.53514940753061 75.60818133526828 77.63007167132196 79.5971306198357 81.5056683849536 83.35199517081969 85.1324211815781 86.84327193391208 88.48242753446367 90.05080856295821 91.54968169603454 92.9803136103315 94.34397098248795 95.6419204891427 96.87542880693462 98.04576261250259 99.15418858248535 100.2019733935218 101.19038372225077 102.12068624531113 102.9941476393417 103.81203458098132 104.57561374686884 105.28615181364309 105.9449154579429 106.55317135640718 107.11218618567464 107.62322662238427 108.0875593431748 108.50645102468516 108.8811683435541 109.21297797642056 109.5031465999233 109.75294089070118 109.96362752539308 110.1364731806378 110.2727445330742 110.3737082593411 110.4406310360774 110.47477953992185 110.47742044751338 110.44982043549079 110.39324618049294 110.3089822830028 110.19872870681864 110.06460006023089 109.90872911498192 109.73324864281403 109.54029141546944 109.33199020469056 109.1104777822196 108.87788691979894 108.63635038917084 108.38800096207763 108.1349714102616 107.87939450546504 107.6234030194303 107.36912972389968 107.1187073906154 106.87426879131984 106.6379466977553 106.41187388166406 106.19818311478846 105.99900716887076 105.8164788156533 105.65273082687837 105.50989597428827 105.39010702962531 105.29549676463179 105.22819795105002 105.1903433606223 105.18406576509092 105.2114979361982 105.27477264568645 105.37602266529797 105.51738076677506 105.70097972186004 105.92895230229517 106.20343127982284 106.52629731462044 106.8972315973085 107.31478483137613 107.77749792517147 108.28391178704268 108.83256732533782 109.42200544840503 110.05076706459249 110.7173930822483 111.42042440972057 112.1584019553574 112.92986662750693 113.73335933451735 114.56742098473676 115.43059248651322 116.3214147481949 117.23842867812995 118.18017518466648 119.14519517615261 120.13202956093643 121.13921924736611 122.16530514378981 123.20882815855558 124.26832920001158 125.34234917650592 126.42942899638676 127.52810956800222 128.63693179970042 129.75443659982943 130.8791648767374 132.00965753877256 133.14445549428294 134.2820996516167 135.4211309191219 136.5600902051467 137.69751651455826 + 7.868159067940142 9.82367996590823 11.83516382069448 13.898917819914438 16.011247121647884 18.168456883974535 20.366852264974153 22.602738422726446 24.872420515311163 27.172203700808048 29.49839313729686 31.84729398285728 34.21521139556907 36.59845053351202 38.99331655476579 41.396114617410156 43.80314987952485 46.21072749918962 48.61515263448421 51.01273044348833 53.39976608428175 55.77256471494418 58.127431493555356 60.46067157819503 62.76859012694294 65.04749229787885 67.29368324908245 69.50346813863348 71.67315212461173 73.79904036509691 75.87743801816873 77.90465024190698 79.87698219439132 81.79073903370157 83.64222591791743 85.42774800511866 87.14362580941236 88.78773881455658 90.36101554621479 91.86473160189823 93.30016257911817 94.66858407538584 95.97127168821255 97.20950101510951 98.38454765358809 99.49768720115941 100.55019525533481 101.54334741362553 102.47841927354285 103.35668643259802 104.1794244883023 104.94790903816697 105.66341567970326 106.32722001042244 106.94059762783579 107.50482412945453 108.02117511278999 108.49092617535337 108.91535291465598 109.29573092820904 109.63333581352386 109.92944316811165 110.18532858948366 110.40226767515122 110.58153602262553 110.7244092294179 110.83216289303955 110.9060726110018 110.94741398081581 110.95746259999295 110.93749406604442 110.88878397648152 110.81262508420426 110.71070753158106 110.58511820071196 110.43796134566465 110.27134122050687 110.08736207930625 109.8881281761306 109.67574376504759 109.45231310012493 109.21994043543036 108.98073002503158 108.73678612299629 108.49021298339223 108.24311486028712 107.99759600774868 107.75576067984456 107.51971313064253 107.2915576142103 107.07339838461561 106.86733969592612 106.67548580220958 106.49994095753368 106.34280941596619 106.20619543157476 106.09220325842715 106.00293715059105 105.94050136213419 105.90700014712425 105.90453775962898 105.9352184537161 106.0011464834533 106.10442610290832 106.24716156614886 106.43145712724265 106.65941704025734 106.93314555926078 107.25449864232259 107.62316600948758 108.03772399584213 108.49673928459553 108.99877855895718 109.54240850213627 110.12619579734209 110.74870712778403 111.40850917667137 112.1041686272134 112.83425216261934 113.59732646609851 114.39195822086032 115.21671411011401 116.07016081706881 116.95086502493407 117.85739341691915 118.78831267623326 119.74218948608575 120.71759052968585 121.71308249024293 122.72723205096628 123.75860589506517 124.8057707057489 125.86729316622679 126.94173995970809 128.0276777694022 129.1236732785183 130.22829317026577 131.3401041278539 132.45767283449194 133.57956597338924 134.7043502277551 135.83059228079873 136.9568588157295 138.08171459451037 + 7.972480397190855 9.932312104081268 11.948214684528411 14.016489218013112 16.133434748420363 18.295350319635105 20.498534975542324 22.739287760026944 25.013907716973932 27.318693890268257 29.64994532379489 32.00396106143874 34.37704014708479 36.76548162461803 39.165584537923365 41.57364793088578 43.98597084739022 46.39885233132166 48.80859142656507 51.211487177005374 53.60383862652756 55.98194481901655 58.34210479835732 60.68061760843483 62.99378229313403 65.2778978963399 67.5292634619374 69.74417803381142 71.91894065584702 74.0498503719291 76.1332062259426 78.16530726177253 80.14245252330377 82.06094105442138 83.91707189901024 85.70714410095536 87.42747211368489 89.07593505631739 90.65347220790974 92.16137118830581 93.60091961734959 94.97340511488493 96.28011530075581 97.52233779480612 98.70136021687986 99.81847018682086 100.8749553244731 101.8721032496805 102.81120158228697 103.69353794213649 104.5203999490729 105.2930752229402 106.0128513835823 106.68101605084308 107.29885684456654 107.86766138459656 108.38871729077705 108.863312182952 109.29273368096528 109.67826940466084 110.02120697388263 110.32283400847452 110.58443812828044 110.80730695314439 110.99272810291023 111.14198919742192 111.25637785652336 111.33718170005852 111.38568834787124 111.40318541980551 111.39096053570528 111.35030131541444 111.2825116262477 111.18927153374196 111.07263672325767 110.93467932042569 110.77747145087673 110.60308524024154 110.41359281415099 110.2110662982358 109.9975778181268 109.77519949945477 109.54600346785045 109.31206184894467 109.07544676836818 108.83823035175182 108.60248472472634 108.37028201292249 108.1436943419711 107.92479383750296 107.71565262514882 107.51834283053952 107.33493657930578 107.16750599707838 107.0181232094882 106.88886034216591 106.7817895207424 106.69898287084838 106.64251251811466 106.61445058817199 106.61686920665122 106.6518404991831 106.7214365913984 106.82772960892792 106.97279167740247 107.1586949224528 107.3875114697097 107.66131344480398 107.9819288433598 108.34905569140356 108.76129730093967 109.21724748717759 109.71550006532668 110.2546488505964 110.8332876581962 111.4500103033355 112.10341060122376 112.79208236707035 113.51461941608476 114.26961556347635 115.05566462445464 115.87136041422904 116.71529674800891 117.58606744100372 118.48226630842296 119.40248716547602 120.34532382737231 121.30937010932125 122.29321982653232 123.29546679421493 124.31470482757854 125.34952774183249 126.3985293521863 127.46030347384935 128.53344392203115 129.61654451194104 130.70819905878847 131.8070013777829 132.91154528413375 134.0204245930505 135.13223311974252 136.2455646794192 137.35901308729004 138.4711702193684 + 8.06943010238951 10.033412592169231 12.053576711594673 14.126216565036417 16.24762421543914 18.414091725747436 20.62191115890598 22.867374577859373 25.146774045552245 27.456401624929235 29.792549378934996 32.15150937051412 34.52957366261125 36.92303431817105 39.3281834001381 41.74131297145706 44.15871509507255 46.576681833929214 48.9915052509717 51.399477409144595 53.796890371392585 56.18003620066025 58.54520695989223 60.88869471203315 63.206791520027686 65.49578944682044 67.75198055535606 69.9716569085791 72.15111056943434 74.28663360086628 76.37451806581961 78.41105602723894 80.39253954806888 82.31526069125414 84.17551151973929 85.96958409646898 87.69378595631864 89.34599617209432 90.92716737161832 92.43860205517119 93.88160272303347 95.25747187548566 96.56751201280838 97.81302563528209 98.99531524318742 100.1156833368048 101.17543241641489 102.17586498229815 103.11828353473514 104.00399057400645 104.83428860039255 105.61048011417405 106.33386761563145 107.00575360504529 107.62744058269614 108.2002310488645 108.72542750383094 109.20433244787601 109.63824838128028 110.02847780432423 110.37632321728844 110.68308712045342 110.95007201409975 111.17858039850796 111.36991477395857 111.52537764073216 111.64627149910923 111.7338988493704 111.7895621917961 111.81456402666693 111.81020685426347 111.7777931748662 111.71864069808998 111.63441913560187 111.52714969634486 111.39886896685506 111.25161353366856 111.08741998332131 110.90832490234948 110.71636487728911 110.5135764946762 110.30199634104693 110.0836610029373 109.86060706688336 109.63487111942119 109.40848974708689 109.1834995364165 108.96193707394605 108.74583894621165 108.53724173974936 108.33818204109524 108.15069643678534 107.97682151335573 107.81859385734249 107.6780500552817 107.55722669370938 107.45816035916161 107.38288763817447 107.333445117284 107.31186938302632 107.32019702193742 107.36046462055342 107.43470876541036 107.54496604304431 107.69327303999134 107.88166634278753 108.11218253796889 108.38685821207156 108.7074903176439 109.07378496578926 109.48437370192546 109.93787874085227 110.4329222973694 110.96812658627653 111.5421138223734 112.15350622045976 112.8009259953353 113.4829953617998 114.19833653465288 114.94557172869429 115.72332315872382 116.53021303954115 117.36486358594597 118.22589701273802 119.11193553471705 120.02160136668276 120.95351672343489 121.9063038197731 122.87858487049715 123.8689820904068 124.87611769430174 125.89861389698164 126.93509291324631 127.98417695789537 129.04448824572867 130.1146489915458 131.19328141014657 132.27900771633065 133.37045012489781 134.46623085064775 135.56497210838018 136.6652961128948 137.76582507899133 138.86517926417298 + 8.159212828446952 10.127157225567423 12.151394262349873 14.228210402424983 16.353890062436456 18.524717659027928 20.736977608843095 22.98695432852558 25.270932234719062 27.585195744067203 29.926029273213686 32.289717238802126 34.6725440574762 37.070794145879624 39.480751920655976 41.89870179844896 44.32092819590224 46.74371552965947 49.16334821636434 51.57611067266046 53.97828731519155 56.366162560601225 58.736020825533146 61.084146526631 63.40682408053843 65.70033790389913 67.96097241335676 70.1850120255549 72.36874115713734 74.50844422474763 76.6004056450295 78.6409098346266 80.62624121018254 82.55268418834106 84.41652318574579 86.21404261904037 87.94154244690272 89.59690207423567 91.18108986091595 92.69542580240831 94.14122989417761 95.51982213168864 96.83252251040624 98.08065102579516 99.26552767332036 100.3884724484465 101.45080534663846 102.45384636336105 103.3989154940791 104.28733273425742 105.12041807936077 105.89949152485406 106.62587306620202 107.30088269886951 107.92584041832134 108.5020662200223 109.03088009943727 109.51360205203098 109.95155207326829 110.346050158614 110.69841630353297 111.00997050348997 111.28203275394982 111.51592305037734 111.71296138823733 111.87446776299466 112.00176217011405 112.09616460506042 112.1589950632985 112.19157354029315 112.19522003150918 112.17125453241142 112.12101108868818 112.04614875946153 111.9486511884504 111.830516212543 111.69374166862741 111.54032539359166 111.37226522432395 111.19155899771233 111.00020455064492 110.80019972000986 110.59354234269522 110.38223025558909 110.16826129557963 109.95363329955494 109.7403441044031 109.5303915470122 109.32577346427038 109.12848769306576 108.94053207028644 108.76390443282051 108.60060261755605 108.45262446138123 108.32196780118412 108.21063047385285 108.12061031627547 108.05390516534018 108.01251285793501 107.99843123094809 108.01365812126751 108.06019136578142 108.1400288013779 108.25516826494507 108.40760759337104 108.5993446235439 108.83237719235173 109.1087031366827 109.43008546508682 109.79623815537747 110.20582215405624 110.65748925355452 111.14989124630367 111.68167992473504 112.25150708127994 112.85802450836985 113.4998839984361 114.17573734391003 114.88423633722299 115.62403277080632 116.39377843709148 117.1921251285098 118.01772463749258 118.86922875647123 119.74528927787716 120.64455799414166 121.56568669769617 122.50732718097193 123.46813123640047 124.44675065641303 125.44183723344103 126.45204275991577 127.47601902826871 128.51241783093113 129.55989096033449 130.61709020891004 131.68266736908924 132.75527423330337 133.83356259398388 134.91618424356213 136.0017909744694 137.0890345791371 138.17656684999662 139.26303760396502 + 8.242033220274015 10.21372179967113 12.241811697250611 14.32258127161943 16.452306829144575 18.627264676192976 20.843731119131622 23.097982464327426 25.38629501814735 27.704945086958357 30.05020897712742 32.41836299502143 34.80568344700738 37.20844663945226 39.62292887872294 42.04540647118643 44.47215572320966 46.89945294115959 49.3235744314032 51.74079650030739 54.14739545423917 56.53964759956543 58.913829242653144 61.26621668986928 63.5930862475808 65.89071422215463 68.15537691995777 70.38335064735708 72.57091171071963 74.7143364164123 76.80990107080204 78.85388198025582 80.84255545114056 82.7721977898233 84.6390853026709 86.43949429605037 88.16971669502611 89.82763267508967 91.41422849937786 92.93084402993104 94.37881912878973 95.75949365799431 97.07420747958531 98.32430045560312 99.51111244808826 100.63598331908109 101.70025293062211 102.70526114475174 103.6523478235105 104.54285282893878 105.37811602307701 106.15947726796571 106.88827642564529 107.5658533581562 108.19354792753892 108.77269999583383 109.30464942508148 109.79073607732224 110.23229981459659 110.63068049894495 110.98721799240785 111.30325215702567 111.58012285483886 111.81916994788793 112.02173329821325 112.18915276785535 112.32276821885459 112.42391951325153 112.49394651308651 112.53418908040005 112.5459870772326 112.53068036562458 112.48962158699914 112.42445882762148 112.33713526805113 112.22960698507957 112.10383005549828 111.96176055609865 111.80535456367221 111.63656815501038 111.45735740690462 111.26967839614643 111.07548719952727 110.87673989383858 110.6753925558718 110.47340126241849 110.27272209027 110.07531111621785 109.88312441705348 109.69811806956837 109.52224815055396 109.35747073680177 109.20574190510321 109.06901773224973 108.94925429503284 108.848407670244 108.76843393467462 108.71128916511621 108.67892943836023 108.67331083119811 108.69638942042134 108.7501212828214 108.83646249518972 108.95736913431776 109.114797276997 109.31070300001892 109.54704238017494 109.82577149425656 110.14861668560046 110.515299582901 110.92451161258867 111.37493523321908 111.86525290334771 112.39414708153018 112.96030022632199 113.56239479627875 114.19911324995603 114.86913804590935 115.57115164269429 116.30383649886633 117.06587507298117 117.85594982359432 118.67274320926127 119.51493768853759 120.38121571997893 121.27025976214081 122.18075227357876 123.11137571284831 124.06081253850508 125.02774520910464 126.0108561832025 127.00882791935422 128.0203428761154 129.0440835120415 130.07873228568826 131.12297165561105 132.17548408036555 133.23495201850724 134.3000579285918 135.36948426917465 136.44191349881143 137.51602807605764 138.59051045946885 139.6640411137853 + 8.318095922781545 10.293282109875653 12.324973376753496 14.409439714060374 16.542949055295743 18.72176933395898 20.942168483549526 23.20041443756675 25.492775129510072 27.815518492878905 30.164912461172683 32.537224967890744 34.92872394653255 37.33567733059751 39.754353053584985 42.181019048994415 44.61194325032521 47.04339359107676 49.471638004748506 51.89294442483981 54.30358078485014 56.699815018278834 59.07791505862531 61.434148839389 63.76478429406931 66.06608935616566 68.33433195917743 70.56578003660401 72.75670152194488 74.90336434869937 77.00203645036693 79.04898576044695 81.04048021243882 82.972787739842 84.84217627615584 86.64491375487982 88.3772838102779 90.03716788700463 91.62557211057943 93.14385833765333 94.59338842487759 95.97552422890324 97.29162760638157 98.54306041396362 99.73118450830067 100.85736174604375 101.92295398384407 102.92932307835277 103.87783088622102 104.76983926409999 105.60671006864078 106.3898051564946 107.12048638431257 107.80011560874586 108.43005468644563 109.011665474063 109.54630982824916 110.03534960565526 110.48014666293247 110.88206285673186 111.24246004370471 111.5627000805021 111.84414482377515 112.08815613017511 112.29609585635308 112.46932585896022 112.60920799464766 112.71710412006662 112.79437609186817 112.84238576670352 112.86249500122382 112.85606565208022 112.8244709819798 112.76934776238242 112.6925960036239 112.59612721205492 112.4818528940262 112.35168455588834 112.20753370399208 112.05131184468807 111.88493048432703 111.71030112925963 111.52933528583655 111.34394446040847 111.15604015932608 110.96753388894007 110.78033715560112 110.59636146565984 110.41751832546704 110.24571924137335 110.0828757197294 109.93089926688596 109.79170138919366 109.66719359300319 109.55928738466525 109.46989427053052 109.40092575694968 109.35429335027341 109.33190855685237 109.33568288303728 109.3675278351788 109.42935491962764 109.52307564273445 109.65060151084994 109.81384403032479 110.01471470750968 110.25512504875525 110.53698656041229 110.86198637909673 111.22985357109268 111.63931103277952 112.08907288778074 112.57785325971983 113.10436627222032 113.66732604890566 114.26544671339941 114.89744238932506 115.5620272003061 116.25791526996602 116.98382072192828 117.73845767981649 118.5205402672541 119.32878260786453 120.16189882527136 121.01860304309814 121.89760938496828 122.79763197450531 123.7173849353327 124.65558239107402 125.61093846535273 126.58216728179235 127.56798296401631 128.5670996356482 129.57823142031145 130.60009244162967 131.63139682322623 132.67085868872468 133.71719216174853 134.76911136592128 135.82533042486645 136.88456346220752 137.94552460156794 139.00692796657128 140.0674856686746 + 8.387605580880379 10.366013951576283 12.401023661315124 14.488896271188445 16.625891280622213 18.808268189042334 21.03228649587477 23.294205700545408 25.590285302480194 27.916784801105063 30.269963695845952 32.64608148612876 35.04139767137941 37.4521717510239 39.874663224488046 42.30513159119786 44.73983635057925 47.17503700205815 49.60699304506049 52.03196397901217 54.446209303339174 56.84598851746735 59.227561120822685 61.58718661283108 63.92112449291848 66.22563426051082 68.49697541503403 70.731407455914 72.92518988257669 75.07458219444804 77.17584389095394 79.22523447152034 81.21901343557315 83.15344028253836 85.02477451184183 86.8292756229095 88.56321890224706 90.22448762232881 91.81410951809595 93.3334703254891 94.78395578044889 96.16695161891596 97.48384357683094 98.73601739013444 99.92485879476716 101.05175352666964 102.11808732178262 103.12524591604664 104.07461504540237 104.96758044579049 105.80552785315153 106.58984300342621 107.32191163255513 108.0031194764789 108.6348522711382 109.21849575247364 109.75543565642586 110.24705771893548 110.69474767594316 111.09989126338951 111.46387421721516 111.78808227336079 112.07390116776693 112.32271663637434 112.53591441512354 112.71488023995528 112.86099984681007 112.97565897162865 113.06024335035154 113.11613871891947 113.14473081327306 113.14740536935291 113.1255580625871 113.08081398604499 113.01502746364558 112.9300628210592 112.82778438395619 112.71005647800678 112.57874342888141 112.43570956225035 112.28281920378387 112.12193667915237 111.95492631402614 111.78365243407549 111.60997936497076 111.43577143238224 111.26289296198028 111.09320827943519 110.92858171041728 110.77087758059687 110.62196021564431 110.4836939412299 110.35794308302395 110.2465719666968 110.15144491791875 110.07442626236013 110.01738032569128 109.9821714335825 109.97066391170411 109.98472208572642 110.02621028131975 110.09699282415444 110.19893403990083 110.3338982542292 110.50374979280988 110.71035298131319 110.95557214540946 111.24127161076902 111.56909694548753 111.93878444268532 112.34908936988545 112.79875842517431 113.2865383066383 113.8111757123638 114.37141734043718 114.96600988894485 115.59370005597322 116.25323453960863 116.94336003793745 117.66282324904608 118.41037087102099 119.18474960194851 119.98470613991496 120.80898718300678 121.6563394293104 122.52550957691217 123.41524432389848 124.32429036835566 125.25139440837019 126.1953031420284 127.1547632674167 128.12852148262144 129.11532448572905 130.11391897482588 131.12305164799838 132.14146920333283 133.1679183389157 134.20114575283336 135.23989814317218 136.2829222080186 137.32896464545897 138.37677215357962 139.42509143046698 140.47266714367373 + 8.450766839481359 10.432093120168314 12.4701069113921 14.561061484444252 16.701208044856237 18.88679779815944 21.114081949885318 23.379311705565254 25.678738270730683 28.00861285091302 30.365186651643718 32.744710878454136 35.14343673687572 37.55761543243993 39.98349817067811 42.417336157121724 44.855380597302194 47.293882696750934 49.72909366099937 52.1572646955789 54.57464700602098 56.97749179785698 59.36205027661835 61.72457364783649 64.06131311704284 66.36851988976883 68.64244517154587 70.87934016790533 73.07545608437874 75.2270441264974 77.3303554997928 79.38164140979634 81.37715306203941 83.3131416620535 85.18585841536996 86.99155452752028 88.72649708052269 90.38857179341045 91.97882954550278 93.49868159335223 94.94953919351141 96.33281360253291 97.64991607696933 98.90225787337324 100.0912502482973 101.21830445829401 102.28483175991602 103.2922434097159 104.24195066424625 105.13536478005967 105.97389701370874 106.75895862174607 107.49196086072423 108.17431498719581 108.80743225771343 109.39272392882967 109.93160125709711 110.42547549906836 110.87575791129602 111.28385975033264 111.65119227273088 111.97916673504328 112.26919439382243 112.52268650562095 112.74105432699142 112.92570911448645 113.0780621246586 113.1995246140605 113.29150783924467 113.3554230567638 113.39268152317045 113.40469449501718 113.39288161777802 113.3588559209098 113.30442371659299 113.23139973968249 113.14159872503323 113.03683540750008 112.91892452193804 112.78968080320199 112.65091898614686 112.50445380562759 112.35209999649912 112.19567229361631 112.03698543183415 111.87785414600758 111.72009317099145 111.56551724164072 111.41594109281033 111.27317945935518 111.13904707613024 111.01535867799038 110.90392899979055 110.80657277638568 110.7251047426307 110.66133963338052 110.61709218349007 110.59417712781428 110.59440920120807 110.61960313852634 110.67157367462407 110.75213554435615 110.86310348257751 111.00629222414307 111.18351650390777 111.39659105672652 111.64733061745426 111.9375499209459 112.26885078468479 112.64097652041173 113.05271557916318 113.50284805333459 113.99015403532138 114.51341361751894 115.07140689232264 115.66291395212801 116.28671488933037 116.94158979632519 117.62631876550782 118.33968188927366 119.08045926001824 119.84743097013694 120.63937711202504 121.45507777807808 122.29331306069147 123.1528630522606 124.03250784518089 124.93102753184769 125.84720220465651 126.77981195600272 127.72763687828174 128.68945706388894 129.6640526052198 130.65020359466968 131.64669012463406 132.6522922875083 133.66579017568782 134.685963881568 135.71159349754433 136.74145911601218 137.774340829367 138.8090187300041 139.84427291031903 140.8788814138235 + 8.507784343495326 10.491695411047047 12.532367487441034 14.626045895268431 16.768973887730066 18.957394718026695 21.187551639359135 23.455687904928137 25.7580467679345 28.090871481579 30.450405299062457 32.83289147358559 35.23457325834922 37.65169390655417 40.08049667140113 42.51722480609096 44.95812156382442 47.39943019780229 49.837393961225374 52.26825610729443 54.68825988921028 57.093648560173655 59.480665373385364 61.84555358204619 64.18455643935691 66.49391719851836 68.76987911273126 71.00868543519638 73.20657941911462 75.35980431768664 77.46460338411326 79.51721987159527 81.51389703333346 83.45087812252864 85.32440639238153 87.13072509609297 88.86609345469383 90.52840031259784 92.11872101637523 93.63849374115667 95.08915666207292 96.4721479542547 97.78890579283275 99.0408683529378 100.22947380970069 101.35616033825201 102.42236611372257 103.42952931124309 104.37908810594435 105.27248067295704 106.1111451874119 106.89651982443974 107.6300427591712 108.31315216673705 108.94728622226809 109.53388310089495 110.07438097774849 110.57021802795934 111.02283242665831 111.43366234897609 111.80414597004348 112.13572146499116 112.42982700894989 112.68790077705042 112.91138094442344 113.10170568619978 113.26031317751008 113.38864159348516 113.48812910925568 113.56021389995244 113.60633414070617 113.62792800664758 113.62644043650945 113.60347198927757 113.56077883094304 113.50012389551496 113.4232701170024 113.33198042941429 113.2280177667598 113.11314506304794 112.98912525228772 112.85772126848825 112.72069604565856 112.57981251780767 112.43683361894468 112.2935222830786 112.1516414442185 112.0129540363734 111.87922299355236 111.75221124976449 111.63368173901875 111.52539739532423 111.42912115269 111.34661594512505 111.2796447066385 111.22997037123938 111.1993558729367 111.18956414573954 111.20235812365695 111.23950074069796 111.30275493087163 111.39388362818704 111.51464976665319 111.66681628027916 111.852146103074 112.07240216904674 112.32934741220643 112.62474476656215 112.96015029660042 113.33531412700474 113.74905861586947 114.20019798019642 114.68754643698738 115.20991820324407 115.76612749596829 116.35498853216187 116.97531552882657 117.62592270296415 118.30562427157638 119.01323445166499 119.74756746023185 120.50743751427876 121.29165883080736 122.09904562681953 122.92841211931706 123.77857252530168 124.6483410617752 125.53653194573936 126.44195939419596 127.3634376241468 128.29978085259364 129.2498032965382 130.21231917298238 131.18614269892782 132.17008809137644 133.16296956732992 134.16360134379005 135.17079763775865 136.18337266623746 137.2001406462283 138.2199157947329 139.24151232875306 140.26374446529056 141.28542435416472 + 8.558862737833119 10.544996619607769 12.58794974991852 14.68396004510159 16.82926334897595 19.020095505360494 21.252692358074185 23.52328975093591 25.828123527764603 28.1634295323792 30.52544360859864 32.910401600241805 35.31453935112765 37.73409270507512 40.165297505903084 42.6043895974305 45.04760482347629 47.49117902785939 49.931348054398725 52.3643477469132 54.786413949221775 57.19378250514332 59.58268925849679 61.94937005310113 64.29006073277523 66.60099714133806 68.87841512260852 71.11855052040548 73.31763917854798 75.47191694085485 77.57761965114506 79.63098315323755 81.62824329095115 83.56563590810492 85.43939684851769 87.24576195600844 88.98098313434946 90.64295309223925 92.23277275428865 93.75190836881633 95.20182618414115 96.5839924485818 97.89987341045713 99.15093531808586 100.33864441978687 101.4644669638788 102.52986919868053 103.53631737251075 104.48527773368832 105.378216530532 106.21660001136051 107.00189442449269 107.7355660182473 108.4190810409431 109.05390574089887 109.64150636643339 110.18334916586547 110.68090038751384 111.1356262796973 111.54899309073461 111.92246706894458 112.25751446264597 112.55560152015754 112.81819448979809 113.04675961988639 113.2427631587412 113.4076713546813 113.54295045602554 113.65006671109258 113.73048636820126 113.78567567567035 113.81710088181865 113.82623330773835 113.81466061344884 113.78408687517253 113.73622121614673 113.67277275960865 113.59545062879546 113.50596394694453 113.406021837293 113.29733342307816 113.18160782753725 113.06055417390753 112.93588158542622 112.80929918533057 112.68251609685785 112.5572414432453 112.43518434773011 112.31805393354956 112.20755932394091 112.10540964214141 112.01331401138826 111.93298155491875 111.86612139597008 111.81444265777955 111.77965446358436 111.76346593662178 111.76758620012906 111.7937243773434 111.84358959150208 111.91889096584232 112.02133762360141 112.15263868801655 112.314503282325 112.50864052976402 112.73675955357085 113.0005694769827 113.30177942323687 113.64189788114628 114.02068158519711 114.43698743526097 114.88966441369453 115.37756150285452 115.89952768509754 116.45441194278027 117.04106325825946 117.65833061389176 118.30506299203383 118.98010937504233 119.68231874527393 120.41054008508539 121.16362237683335 121.94041460287443 122.73976574556535 123.56052478726282 124.40154071032352 125.26166249710404 126.13973912996111 127.03461959125143 127.94515286333167 128.87018792855852 129.80857376928856 130.75915936787857 131.7207937066852 132.69232576806516 133.67260453437507 134.66047898797163 135.6547981112115 136.65441088645142 137.65816629604805 138.66491332235802 139.67350094773798 140.68277815454468 141.69159183973812 + 8.60420666740558 10.59217254124578 12.636998059281167 14.73491447538436 16.882150968326144 19.07493671687724 21.309500899808427 23.582072695890417 25.888881283893962 28.226155842589822 30.590125550748763 32.97701958714148 35.383067130538734 37.80449735971132 40.2375394534299 42.67842259046529 45.12337594958821 47.5686287095694 50.01041004917964 52.44494914718964 54.86847518237017 57.27721733349194 59.66740477932573 62.03526669864226 64.37703227021228 66.68893067280659 68.9671910851959 71.20804268615093 73.40771465444244 75.56243616884122 77.66843640811796 79.7219445510434 81.71918977638832 83.65640126292351 85.52980818941963 87.33563973464744 89.07014122907866 90.73121004468295 92.31997358281833 93.83792707624514 95.28656575772382 96.66738486001474 97.9818796158784 99.2315452580751 100.4178770193654 101.54237013250959 102.60651983026811 103.61182134540141 104.55976991066989 105.45186075883396 106.28958912265402 107.07445023489052 107.80793932830383 108.49155163565437 109.1267823897026 109.71512682320885 110.25808016893363 110.75713765963731 111.2137945280803 111.629546007023 112.00588732922586 112.34431372744926 112.64632043445364 112.91340268299939 113.14705570584695 113.34877473575673 113.5200550054891 113.66239174780455 113.77728019546342 113.86621558122617 113.9306931378532 113.97220809810493 113.99225902042166 113.99242021572434 113.9743419177584 113.93967762916793 113.89008085259702 113.82720509068967 113.75270384609003 113.66823062144208 113.5754389193899 113.47598224257756 113.37151409364915 113.26368797524869 113.15415739002026 113.04457584060792 112.93659682965574 112.83187385980777 112.73206043370806 112.63881005400073 112.55377622332978 112.4786124443393 112.41497221967333 112.36450905197594 112.32887644389123 112.30972789806322 112.30871691713598 112.32749700375358 112.3677216605601 112.43104439019955 112.51911869531601 112.63359807855358 112.77613604255627 112.94838608996821 113.15200172343341 113.38863644559594 113.65994375909982 113.96757716658922 114.31299593823432 114.69596321772173 115.11537099259444 115.5701035617638 116.0590452241411 116.58108027863767 117.13509302416473 117.71996775963372 118.3345887839559 118.97784039604255 119.64860689480497 120.34577257915446 121.06822174800241 121.81483870026013 122.58450773483881 123.37611315064981 124.18853924660452 125.02067032161418 125.87139067459009 126.73958460444354 127.62413641008592 128.5239303904285 129.43785084438255 130.36478207085938 131.30360836877037 132.25321403702677 133.21248337453994 134.1803006802211 135.15555025298164 136.13711639173283 137.123883395386 138.11473556285245 139.1085571930435 140.10423258487043 141.10064603724456 142.09667974558465 + 8.644020777123545 10.633398971356371 12.679656775985576 14.779019727557351 16.927711285512892 19.12195490929332 21.35797405833982 23.63199219209351 25.940232769995543 28.278919251487082 30.644275096009295 33.03252376300328 35.43988871191022 37.8625934021713 40.29686129322759 42.73891584452029 45.18498051549055 47.63127876557951 50.07403405422835 52.50946984087817 54.93380958497017 57.34327674594545 59.7340947832452 62.102487156310545 64.44467732458264 66.75688874750266 69.03534488451177 71.27626919505103 73.4758851385617 75.63041617448484 77.73608576226165 79.78911736133328 81.78573443114084 83.72216043112556 85.59461882072851 87.3993330593909 89.13254284847045 90.7921510822772 92.37931232553962 93.89555146335698 95.34239338082868 96.72136296305405 98.03398509513246 99.28178466216325 100.46628654924586 101.58901564147953 102.65149682396365 103.65525498179761 104.60181500008073 105.4927017639124 106.3294401583919 107.1135550686187 107.84657137969205 108.53001397671136 109.16540774477598 109.75427756898522 110.29814833443852 110.79854492623517 111.25699222947456 111.675015129256 112.05413851067888 112.39588725884259 112.7017862588464 112.97336039578973 113.2121345547719 113.4196336208923 113.59738247925024 113.74690601494514 113.86972911307627 113.96737665874304 114.04137353704482 114.09324463308094 114.12451636351629 114.13674921840462 114.13153802717737 114.11047906216866 114.07516859571254 114.027202900143 113.96817824779414 113.899690911 113.82333716209463 113.74071327341208 113.65341551728643 113.56304016605172 113.47118349204199 113.3794417675913 113.28941126503373 113.20268825670327 113.12086901493404 113.04554981206006 112.9783269204154 112.9207966123341 112.87455516015021 112.84119883619778 112.8223239128109 112.81952666232358 112.8344033570699 112.8685502693839 112.92356367159964 113.00103983605118 113.10257503507255 113.22976554099783 113.38420762616106 113.56749756289629 113.7812316235376 114.027006080419 114.30641720587455 114.62106127223838 114.97234686777641 115.36004334731132 115.78307824312655 116.24037163233895 116.7308435920654 117.25341419942274 117.80700353152784 118.3905316654976 119.00291867844889 119.64308464749858 120.30994964976348 121.00243376236047 121.71945706240649 122.45993962701839 123.22280153331296 124.00696285840712 124.81134367941779 125.63486407346176 126.47644411765592 127.33500388911712 128.20946346496228 129.09874292230825 130.00176233827187 130.91744178996998 131.84470135451954 132.78246110903737 133.72964113064037 134.68516149644532 135.64794228356917 136.61690356912874 137.59096543024094 138.56904794402266 139.55007118759067 140.5329552380619 141.51662017255322 142.49998394674495 + 8.67850971189786 10.668851705334836 12.71607026048835 14.816386343061195 16.966018840268458 19.161186639325145 21.39810862744634 23.673003691847047 25.982090719742313 28.321588598347184 30.68771621487673 33.07669245654593 35.48473621056985 37.908066364163595 40.34290180454209 42.785461418920455 45.231964094513714 47.6786287185369 50.12167417820507 52.557319360733246 54.9817831533365 57.391284443229836 59.7820421176283 62.15027506374694 64.4922021688008 66.80404232000494 69.0820144045744 71.32233730972412 73.5212299226693 75.67491113062489 77.77959982080594 79.83151488042749 81.82687519670456 83.76189965685225 85.63280714808558 87.43581655761957 89.1671631021139 90.82475611737027 92.40977780602783 93.9237831300658 95.36832705146351 96.74496453220024 98.05525053425534 99.30074001960807 100.48298795023784 101.60354928812383 102.66397899524542 103.66583203358188 104.61066336511254 105.50002795181672 106.3354807556737 107.11857673866278 107.8508708627633 108.53391808995453 109.1692733822158 109.75849170152641 110.30312800986567 110.8047372692129 111.26487444154738 111.68509448884843 112.06695237309538 112.4120030562675 112.72180150034409 112.9979026673045 113.241861519128 113.45523301779393 113.63957212528156 113.79643380357024 113.9273730146392 114.03394472046784 114.11770388303545 114.18020546432128 114.22300412597922 114.2476460437904 114.25566927190641 114.24861144273912 114.22801018870024 114.19540314220149 114.15232793565472 114.1003222014717 114.0409235720641 113.97566967984379 113.90609815722254 113.83374663661206 113.76015275042415 113.68685413107059 113.61538841096318 113.54729322251359 113.48410619813365 113.42736497023516 113.37860717122987 113.33937043352952 113.3111923895459 113.29561067169081 113.29416291237598 113.30838674401318 113.33981979901421 113.38999970979083 113.46046410875479 113.55275062831787 113.66839690089185 113.8089405588885 113.97591923471957 114.17087056079686 114.39533216953213 114.65084169333714 114.93893676462365 115.26115501580347 115.6188530696845 116.01180629669881 116.43897814211405 116.89932483335485 117.3918025978457 117.91536766301118 118.46897625627578 119.05158460506415 119.66214893680082 120.2996254789103 120.96297045881715 121.65114010394595 122.36309064172123 123.09777829956762 123.85415930490953 124.63118988517158 125.42782626777837 126.2430246801544 127.07574134972424 127.92493250391243 128.78955437014352 129.6685631758421 130.56091514843268 131.46556651533982 132.38147350398808 133.307592341802 134.2428792562062 135.18629047462514 136.1367822244834 137.09331073320553 138.0548322282161 139.02030293693971 139.98867908680083 140.958916905224 141.92997261963384 142.9008003182599 + 8.707878116639362 10.698706538576475 12.746382873246093 14.847124863336509 16.997148172325083 19.19266846368911 21.429901400905944 23.70506264745287 26.014367866807223 28.35403272244633 30.72027287784753 33.10930399648809 35.517341741845364 37.94060177739671 40.375299766619364 42.81765137299071 45.26387225998806 47.710178091088714 50.15278452977003 52.587907239509306 55.011761883783876 57.42056412607102 59.810529629848084 62.1778740585924 64.51881307578128 66.82956234489205 69.10633752940207 71.34535429278854 73.54282829852893 75.69497521010047 77.79801069098052 79.84815040464638 81.84161001457531 83.77460518424478 85.64335157713198 87.4440648567143 89.17297709959801 90.82800506231045 92.4103588478583 93.92162367628549 95.363384767636 96.73722734195381 98.04473661928294 99.28749781966725 100.46709616315088 101.58511686977766 102.64314515959163 103.64276625263675 104.58556536895699 105.47312772859637 106.30703855159878 107.08888305800828 107.82024646786881 108.5027140012243 109.13787087811882 109.72730231859624 110.27259354270062 110.77532977047588 111.23709622196606 111.65947811721504 112.0440606762669 112.39242911916553 112.70616866595493 112.9868645366791 113.23610195138197 113.45546613010757 113.64654229289984 113.81091565980276 113.9501714508603 114.06589488611642 114.15967118561515 114.23308556940043 114.28772109676733 114.32510911418228 114.34672972042233 114.35406069846937 114.34857983130509 114.33176490191121 114.30509369326961 114.27004398836195 114.22809357017003 114.18072022167561 114.12940172586049 114.07561586570637 114.02084042419506 113.96655318430832 113.91423192902792 113.86535444133555 113.82139850421305 113.7838419006422 113.75416241360472 113.73383782608238 113.72434592105694 113.72716448151016 113.74377129042382 113.7756441307797 113.82426078555955 113.8910990377451 113.97763667031815 114.08535146626043 114.21572120855377 114.37022368017985 114.5503366641205 114.75753794335746 114.99330530087249 115.25911651964736 115.55644938266381 115.88678167290367 116.25141694387047 116.6501363886169 117.08193964481364 117.54581937274622 118.04076823270023 118.5657788849612 119.11984398981467 119.70195620754627 120.31110819844156 120.94629262278603 121.60650214086526 122.29072941296474 122.99796709937019 123.72720786036709 124.47744435624095 125.24766924727736 126.03687519376194 126.8440548559802 127.66820089421765 128.5083059687599 129.36336273989255 130.23236386790114 131.11430201307112 132.00816983568816 132.91295999603778 133.82766515440557 134.75127797107706 135.68279110633785 136.6211972204734 137.56548897376933 138.51465902651125 139.46770003898467 140.42360467147518 141.38136558426822 142.33997543764949 143.29842473517027 + 8.732330636258894 10.723139266476577 12.77073897471541 14.87134582982391 17.021173821415022 19.216436939101605 21.45334917249659 23.728124511212837 26.03697694486325 28.37612046306073 30.74176905541819 33.130136711548474 35.537437421064496 37.9598851735792 40.3936939587054 42.83507776605603 45.28025058524399 47.72542640588217 50.166819217583466 52.60064300996076 55.023111772626976 57.43043949519497 59.818840167277635 62.18452777848789 64.52371631843862 66.83261977674273 69.10745214301312 71.34442740686264 73.53975955790423 75.68966258575077 77.79035048001516 79.83803723031026 81.82893682624896 83.75926325744426 85.62523051350894 87.42305258405594 89.14895995051185 90.80087782944598 92.38004427460635 93.88807470193 95.32658452735397 96.69718916681533 98.00150403625119 99.24114455159855 100.41772612879458 101.53286418377621 102.58817413248059 103.58527139084477 104.5257713748058 105.41128950030078 106.24344118326673 107.02384183964077 107.75410688535989 108.4358517363612 109.07069180858177 109.66024251795865 110.20611928042891 110.70993751192962 111.17331262839787 111.59786004577064 111.9851951799851 112.33693344697825 112.65469026268717 112.94008104304893 113.1947212040006 113.42022616147923 113.61821133142189 113.79029212976566 113.93808397244757 114.06320227540472 114.16726245457417 114.25187992589298 114.31866606483761 114.36913685188091 114.40471344120203 114.42681275694957 114.43685172327214 114.43624726431825 114.42641630423661 114.4087757671757 114.38474257728411 114.35573365871048 114.32316593560337 114.28845633211138 114.25302177238306 114.21827918056704 114.18564548081189 114.15653759726614 114.13237245407844 114.11456697539738 114.1045380853715 114.10370270814946 114.11347776787977 114.13528018871104 114.17052689479186 114.22063481027082 114.28702085929653 114.37110196601749 114.4742950545824 114.59801704913974 114.74368487383816 114.91271545282622 115.10652571025253 115.32653257026567 115.5741529570142 115.85080379464674 116.15790200731182 116.49686451915812 116.86894089024624 117.27391794579849 117.71083170648201 118.17871145844796 118.67658648784735 119.20348608083125 119.75843952355076 120.34047610215703 120.94862510280112 121.58191581163408 122.23937751480695 122.92003949847084 123.62293104877693 124.34708145187626 125.09151999391983 125.85527596105877 126.63737863944424 127.43685731522723 128.25274127455884 129.08405980359018 129.92984218847232 130.78911771535635 131.66091567039336 132.5442653397344 133.43819600953057 134.34173696593297 135.2539174950927 136.17376688316077 137.10031441628834 138.03258938062646 138.9696210623262 139.9104387475387 140.85407172241503 141.79954927310618 142.74590068576333 143.6921530725169 + 8.752071915667292 10.74232568443044 12.789282925352898 14.889159783964026 17.038170327270524 19.232528622279034 21.468448735996247 23.742144735428795 26.049830687583352 28.387720659466584 30.75202871808518 33.138968930445756 35.544755363554984 37.96560208441958 40.39772316004613 42.83733265744135 45.280644643611886 47.7238731855644 50.16323235030558 52.59493620484206 55.015198816180536 57.420234251327614 59.80625657729 62.16947986107435 64.50611816968731 66.8123855701356 69.08449612942584 71.31866391456467 73.51110299255882 75.65802743041488 77.75565129513957 79.80018865373951 81.78785357322137 83.71486012059188 85.57742236285763 87.3717543670253 89.09408676444441 90.74235433112514 92.31782290984731 93.82213780691319 95.25694432862511 96.62388778128528 97.92461347119607 99.16076670465965 100.33399278797847 101.44593702745466 102.49824472939058 103.49256120008846 104.43053174585063 105.31380167297938 106.14401628777696 106.92282089654569 107.65186080558782 108.33278132120562 108.96722774970144 109.55684539737746 110.10327957053609 110.60817557547952 111.07317871851006 111.49993430593 111.89008764404163 112.24528403914722 112.56716879754903 112.85738722554942 113.11758462945058 113.34940631555487 113.55449759016452 113.73450375958186 113.8910701301091 114.0258420080486 114.14046469970262 114.23658351137344 114.31583781914698 114.37972767918693 114.42961450272227 114.46685354576984 114.4928000643464 114.50880931446869 114.51623655215354 114.51643703341776 114.51076601427809 114.50057875075132 114.48723049885429 114.47207651460373 114.45647205401646 114.44177237310926 114.42933272789892 114.42050837440222 114.41665456863592 114.41912656661688 114.42927962436185 114.44846899788759 114.4780499432109 114.5193777163486 114.57380757331745 114.64269477013426 114.72739456281576 114.82926220737882 114.94965295984017 115.0899220762166 115.25142481252493 115.43551642478191 115.64355216900434 115.87688730120905 116.13687707741278 116.42487675363232 116.74224158588441 117.09032683018599 117.47032730872368 117.88203529097633 118.3245232823759 118.79685729839476 119.29810335450522 119.82732746617958 120.38359564889016 120.96597391810933 121.57352828930942 122.20532477796272 122.86042939954152 123.53790816951818 124.23682710336503 124.95625221655447 125.69524952455865 126.45288504285001 127.22822478690091 128.02033477218362 128.82828101417041 129.65112952833368 130.48794633014575 131.33779743507893 132.19974885860555 133.07286661619787 133.95621672332828 134.84886519546913 135.7498780480927 136.65832129667135 137.57326095667733 138.49376304358302 139.41889357286075 140.34771855998284 141.27930402042165 142.21271596964937 143.14702042313843 144.08128120534053 + 8.7673065997754 10.756441587833358 12.80215908561517 14.900677267197475 17.04821222962385 19.24098006993779 21.47519688518288 23.7470787724026 26.052841828640496 28.388702150940105 30.750875836344992 33.135578981898625 35.539027684644566 37.95743804162639 40.38702614988755 42.82400810647162 45.26460000842212 47.705017952782605 50.14147803659661 52.57019635690763 54.98738901075926 57.38927209519494 59.77206170725827 62.13197394399275 64.46522490244192 66.76803067964934 69.03660737265855 71.26717107851299 73.45593789425631 75.59912391693197 77.69294524358351 79.73361797125449 81.71735819698839 83.64038201782881 85.49890553081924 87.28914483300323 89.00733265098481 90.65141447969617 92.22268357715652 93.72281459114906 95.15348216945718 96.51636095986419 97.81312561015349 99.04545076810832 100.21501108151215 101.3234811981482 102.37253576579982 103.36384943225039 104.29909684528319 105.17995265268164 106.008091502229 106.78518804170865 107.5129169189039 108.19295278159807 108.82697027757456 109.41664405461664 109.9636487605077 110.46965904303102 110.93634954996998 111.3653949291079 111.75846982822812 112.11724889511397 112.44340677754879 112.73861812331593 113.0045575801987 113.24289979598048 113.45531941844452 113.64349109537427 113.80908947455295 113.95378920376398 114.07926493079069 114.18719130341637 114.27923514865235 114.35688001840099 114.42142697346 114.4741689925203 114.51639905427288 114.54941013740853 114.57449522061829 114.59294728259302 114.60605930202364 114.61512425760111 114.6214351280163 114.62628489196015 114.63096652812362 114.63677301519759 114.64499733187299 114.65693245684072 114.67387136879171 114.69710704641693 114.72793246840725 114.76764061345358 114.81752446024687 114.87887698747801 114.95299117383799 115.04115999801765 115.14467643870796 115.26483347459983 115.40292408438417 115.56024124675189 115.73807794039391 115.93772714400122 116.16048183626462 116.40763499587517 116.68047960152369 116.98030863190111 117.30841506569837 117.66609188160642 118.05447859921475 118.47337274688324 118.921883327752 119.39911310052149 119.90416482389219 120.43614125656455 120.99414515723903 121.57727928461617 122.18464639739648 122.81534925428032 123.46849061396823 124.14317323516063 124.8384998765581 125.5535732968611 126.28749625477002 127.03937150898537 127.80830181820771 128.59338994113745 129.39373863647504 130.20845066292097 131.03662877917577 131.8773757439399 132.72979431591378 133.59298725379793 134.46605731629288 135.348107262099 136.23823984991682 137.13555783844686 138.03916398638953 138.9481610524453 139.86165179531469 140.7787389736982 141.69852534629626 142.62011367180935 143.54260670893794 144.46510500868203 + 8.778239333494058 10.765662772080628 12.809511815958823 14.906008820964878 17.051374068207238 19.241827838794283 21.473590413834444 23.742882074436096 26.045923101707643 28.37893377675751 30.738134380694106 33.119745194625786 35.51998649966099 37.93507857690815 40.36124170747559 42.79469617247179 45.231662253005105 47.668360230183964 50.10101038511678 52.52583299891193 54.939048352677844 57.33687672752288 59.71553840455548 62.07125366488404 64.40024278961694 66.69872605986265 68.96292375672954 71.18905616132594 73.37334355476037 75.51200621814117 77.60126443257676 79.63733847917551 81.61644863904586 83.53481519329623 85.38865842303498 87.17419860937055 88.887672719722 90.52703818750742 92.09361510010925 93.58910665455146 95.01521604785793 96.3736464770526 97.66610113915944 98.89428323120228 100.0598959502052 101.16464249319198 102.21022605718662 103.19834983921305 104.1307170362952 105.00903084545698 105.8349944637223 106.61031108811515 107.33668391565942 108.015816143379 108.64941096829791 109.23917158744 109.78680119782925 110.29400299648958 110.76248018044488 111.19393594671912 111.59007349233622 111.95259601432008 112.28320670969468 112.58360877548392 112.8555054087117 113.10059980640202 113.32059516557872 113.51719468326584 113.69210155648719 113.84701898226677 113.98365015762853 114.10369827959633 114.20885684231071 114.30059229182375 114.38014492189201 114.44874502479112 114.50762289279659 114.5580088181839 114.60113309322865 114.63822601020635 114.67051786139251 114.69923893906272 114.7256195354925 114.75088994295739 114.77628045373285 114.80302136009456 114.83234295431795 114.86547552867857 114.90364937545196 114.94809478691369 115.00004205533928 115.06072147300425 115.13136333218415 115.21319792515449 115.30745554419086 115.41536648156875 115.53816102956372 115.6770694804513 115.83332212650703 116.00814926000642 116.20278117322506 116.41844815843842 116.65638050792208 116.9178085139516 117.20396246880247 117.51607266475023 117.85536939407041 118.22308294903861 118.62029716163131 119.04681463625211 119.50178079786707 119.98433507276297 120.49361688722655 121.02876566754449 121.5889208400036 122.17322183089058 122.78080806649223 123.41081897309522 124.0623939769863 124.73467250445219 125.4267939817797 126.13789783525556 126.86712349116642 127.61361037579907 128.37649791544032 129.15492553637685 129.94803266489532 130.75495872728257 131.57484314982534 132.40682535881035 133.25004478052435 134.103640841254 134.96675296728614 135.83852058490746 136.71808312040474 137.60458000006466 138.49715065017398 139.39493449701945 140.29707096688782 141.20269948606582 142.11095948084022 143.02099037749767 143.931931602325 144.8429203575822 + 8.785074761734103 10.77016503256754 12.811485476840458 14.905264986706856 17.047730382752952 19.235108485564897 21.46362611572891 23.729510093831134 26.02898724045776 28.35828437619498 30.71362832162899 33.09124589734592 35.48736392393198 37.89820922197339 40.32000861205625 42.7489889147668 45.181376950691195 47.61339954041563 50.041283504526305 52.46125566360935 54.869542838251 57.26237184903739 59.635969516554724 61.98656266138917 64.31037810412691 66.60364266535417 68.86258316565709 71.08342642562184 73.26239926583463 75.39572850688162 77.479640969349 79.51036347382295 81.48412284088963 83.39714589113528 85.24565944514603 87.02589032350807 88.73408208024506 90.36820536690705 91.92960630228089 93.42001559703432 94.84116396183511 96.194782107351 97.4826007442498 98.70635058319922 99.86776233486715 100.96856670992119 102.01049441902923 102.995276172859 103.92464268207826 104.80032465735479 105.62405280935634 106.3975578487507 107.12257048620562 107.80082143238886 108.43404139796823 109.02396109361145 109.57231122998631 110.0808225177606 110.55122566760203 110.98525139017842 111.38463039615753 111.7510933962071 112.0863711009949 112.39219422118875 112.67029346745632 112.9223995504655 113.15024318088393 113.35555506937949 113.54006592661986 113.70550646327287 113.85360739000627 113.98609941748781 114.10470168907896 114.21086292175579 114.3057624164952 114.39056757017238 114.46644577966256 114.53456444184081 114.59609095358245 114.6521927117626 114.70403711325642 114.75279155493915 114.79962343368595 114.84570014637202 114.89218908987252 114.94025766106269 114.99107325681767 115.04580327401266 115.1056151095228 115.17167616022337 115.24515382298952 115.3272154946964 115.41902857221923 115.52176045243317 115.63657853221343 115.76465020843524 115.90714287797368 116.06522393770403 116.24006078450142 116.43282081524109 116.64467142679818 116.87678001604787 117.13031397986538 117.40644071512591 117.7063276187046 118.03114208747667 118.38205151831725 118.76022330810164 119.16668539588532 119.60124528181566 120.06308464797775 120.55137942305394 121.06530553572651 121.60403891467776 122.16675548858996 122.75263118614549 123.36084193602663 123.99056366691572 124.64097230749499 125.31124378644674 126.00055403245337 126.70807897419718 127.4329945403604 128.17447665962533 128.93170126067443 129.70384427218988 130.49008162285395 131.289589241349 132.1015430563574 132.9251189965614 133.75949299064328 134.60384096728538 135.45733885517 136.31916258297946 137.18848807939608 138.0644912731021 138.94634809277989 139.8332344671117 140.72432632477992 141.61879959446685 142.51583020485472 143.41459408462586 144.3142671624626 145.21402312708173 + 8.788017529406384 10.77012416468939 12.808224428716688 14.898556305864034 17.037355712993236 19.220858566966037 21.44530078464424 23.70691828288957 26.001946978563808 28.326622788528734 30.67718162964614 33.049859418777714 35.44089207278529 37.84651550853064 40.26296564287547 42.6864783926816 45.11328967481079 47.539635406124795 49.96175150348541 52.375873883754366 54.778238463793464 57.16508116046444 59.53263789062906 61.87714457114912 64.19483711888637 66.48195145070258 68.73472348345956 70.94938913401897 73.12218431924272 75.24934495599246 77.32710696113003 79.35170625151714 81.31937874401555 83.22636035548715 85.06888700279357 86.84319460279664 88.54553584214304 90.1738959302434 91.72964600724676 93.21454301851158 94.63034390939646 95.97880562525992 97.26168511146057 98.4807393133569 99.63772517630758 100.73439964567106 101.77251966680593 102.7538421850708 103.68012414582412 104.55312249442456 105.3745941762306 106.14629613660087 106.86998532089386 107.54741867446815 108.1803531426823 108.77054567089488 109.31975320446448 109.82973268874957 110.30224106910879 110.73903529090062 111.14187229948371 111.51250904021657 111.85270245845771 112.1642094995658 112.44878710889932 112.70819223181685 112.94418181367693 113.15851279983818 113.35294213565905 113.52922676649816 113.6891236377141 113.83438969466539 113.96676847791404 114.08769033049782 114.1982735257464 114.29962255625425 114.3928419146158 114.47903609342539 114.55930958527756 114.63476688276666 114.70651247848708 114.7756508650333 114.84328653499976 114.91052398098081 114.97846769557094 115.04822217136454 115.12089190095607 115.1975813769399 115.27939509191044 115.3674375384622 115.4628132091895 115.56662659668687 115.67998219354861 115.80398449236924 115.93973798574315 116.08834716626475 116.25091652652851 116.42855055912878 116.62235375666003 116.83343061171668 117.06288561689315 117.31182326478384 117.58134804798321 117.87256445908567 118.18657699068562 118.52449013537749 118.88740838575572 119.27643623441473 119.69254570188862 120.13554900630675 120.60466383334081 121.09910235932925 121.61807676061039 122.16079921352264 122.72648189440432 123.31433697959389 123.92357664542969 124.55341306825012 125.20305842439349 125.87172489019824 126.55862464200274 127.26296985614538 127.9839727089645 128.72084537679848 129.47280003598576 130.23904886286465 131.01880403377353 131.81127772505081 132.61568211303486 133.4312293740641 134.25713168447683 135.09260122061144 135.93685015880635 136.7890906753999 137.64853494673056 138.51439514913653 139.38588345895636 140.26221205252833 141.14259310619084 142.02623879628234 142.91236129914105 143.8001727911055 144.68888544851401 145.5777091922216 + 8.787272281421732 10.765715963841474 12.799873032044104 14.885993319877025 17.020324598660345 19.199114639714097 21.418611214358393 23.67506209391325 25.964715049698764 28.283817853034986 30.628618275242026 32.99536408763987 35.380303061548645 37.77968296828843 40.18975157917923 42.606756665541155 45.02694599869427 47.446567349958634 49.861868490654324 52.269097192101384 54.664501225619915 57.044328362529946 59.404826374151554 61.742243031804826 64.05282610680979 66.33282337048657 68.57848259415522 70.78605154913572 72.95177800674826 75.07190973831284 77.14269451514953 79.16038010857841 81.12121428991951 83.02144483049297 84.85731950161882 86.6250860746171 88.32100911500494 89.94308978986474 91.49272303858214 92.97169051889713 94.38177388854973 95.72475480527987 97.00241492682767 98.21653591093305 99.36889941533607 100.46128709777673 101.49548061599499 102.47326162773092 103.39641179072447 104.26671276271573 105.08594620144459 105.85589376465113 106.57833711007538 107.25505789545728 107.88783777853688 108.47845841705417 109.02870146874919 109.54034859136188 110.01518144263234 110.45498168030048 110.86153096210639 111.23661094579002 111.58200328909139 111.89948964975054 112.19085168550743 112.45787105410211 112.70232941327453 112.92600842076477 113.13068973431278 113.31815501165859 113.49018591054221 113.64856408870364 113.79505599777289 113.93107294035043 114.05767231812247 114.17589591062685 114.28678549740134 114.39138285798369 114.49072977191179 114.58586801872335 114.6778393779562 114.76768562914813 114.85644855183698 114.94516992556048 115.03489152985645 115.1266551442627 115.22150254831702 115.3204755215572 115.424615843521 115.53496529374628 115.6525656517708 115.7784586971324 115.9136862093688 116.05928996801785 116.21631175261734 116.38579334270506 116.56877651781879 116.76630305749633 116.9794147412755 117.20915334869409 117.45656065928986 117.72267845260065 118.00854850816424 118.31521260551841 118.643712524201 118.99509004374974 119.37038694370247 119.770645003597 120.19678047955315 120.64861013245817 121.12538730921295 121.62636008952364 122.15077655309646 122.69788477963746 123.26693284885285 123.85716884044872 124.46784083413134 125.09819690960676 125.74748514658114 126.41495362476057 127.09985042385134 127.80142362355953 128.51892130359124 129.25159154365267 129.99868242344996 130.75944202268929 131.53311842107675 132.31895969831848 133.1162139341207 133.92412920818953 134.7419536002311 135.56893518995153 136.40432205705707 137.24736228125374 138.0973039422478 138.95339511974532 139.8148838934525 140.68101834307544 141.55104654832033 142.4242165888933 143.29977654450053 144.17697449484808 145.05505851964224 145.9332744280424 + 8.783043662690993 10.757116225419086 12.786575647279319 14.867686570186455 16.996711579486526 19.16991326052548 21.383554198649332 23.63389697920403 25.91720418753557 28.229738408989935 30.56776222891312 32.927538232651074 35.30532900554979 37.69739713295529 40.10000520021348 42.5094157926704 44.92189149567202 47.33369489456431 49.741088574693265 52.14033512140486 54.52769712004508 56.899437155959895 59.25181781449528 61.581101680997236 63.88355134081173 66.15542937928477 68.39299838176235 70.59252093359035 72.7502596201149 74.86247702668189 76.92543573863729 78.93539834132712 80.88862742009731 82.78138556029394 84.60993534726292 86.37053936635024 88.05947700841982 89.67476685811931 91.2178262198624 92.69045969810493 94.09447189730265 95.4316674219114 96.70385087638707 97.91282686518537 99.06039999276221 100.14837486357338 101.17855608207468 102.15274825272193 103.07275597997098 103.94038386827766 104.75743652209772 105.52571854588706 106.24703454410145 106.92318912119671 107.5559868816287 108.14723242985316 108.69873037032603 109.21228530750302 109.68970184584 110.13278458979278 110.54333814381718 110.92316711236906 111.27407609990414 111.59786971087834 111.89635254974739 112.17132922096724 112.42460432899355 112.65798247828228 112.87326827328914 113.07226631847001 113.25678121828071 113.42861757717704 113.58956303761246 113.74100917361429 113.88395286210027 114.01937356088028 114.14825072776416 114.27156382056174 114.39029229708296 114.50541561513758 114.6179132325355 114.72876460708657 114.83894919660067 114.94944645888765 115.06123585175736 115.17529683301969 115.29260886048444 115.41415139196145 115.54090388526068 115.6738457981919 115.81395658856503 115.96221571418987 116.11960263287631 116.28709680243419 116.46567768067341 116.65632472540378 116.86001739443519 117.07773514557746 117.31045743664049 117.5591637254341 117.8248334697682 118.10844612745258 118.41098115629715 118.73341801411176 119.07673615870625 119.44191504789046 119.82993413947429 120.2417728912676 120.67829212879083 121.13931298300275 121.62412403085085 122.13200882157199 122.66225090440297 123.21413382858059 123.78694114334166 124.37995639792304 124.99246314156154 125.62374492349396 126.27308529295708 126.93976779918773 127.62307599142275 128.322293418899 129.0367036308532 129.76559017652215 130.5082366051428 131.26392646595187 132.0319433081862 132.81157068108257 133.6020921338778 134.40279121580878 135.21295147611224 136.03185646402505 136.858789728784 137.69303481962586 138.53387528578753 139.38059467650575 140.23247654101743 141.08880442855929 141.94886188836819 142.81193246968095 143.67729972173433 144.54424719376522 145.4120584350104 146.28001470958512 + 8.775536318125004 10.744500744817522 12.76847663487893 14.843746598232947 16.966591195204032 19.133290986116577 21.340126531295027 23.58337839106376 25.859327125747207 28.16425329566978 30.49443746115593 32.846160182530014 35.215702020116474 37.59934353423975 39.99336528522421 42.394047833394296 44.79767173907442 47.200517562589 49.598865864262464 51.9889972044192 54.36719214338366 56.729731241480216 59.07289505903329 61.39296415636732 63.686219093806706 65.9489404316759 68.1774087302993 70.36790455000124 72.51670845110628 74.62010099393873 76.67436273882304 78.6757742460836 80.62061607604485 82.50516878903125 84.3257129453671 86.07852910537693 87.75991463197674 89.36790704735539 90.90394437466286 92.36985215604882 93.76745593366299 95.098581249655 96.36505364617466 97.56869866537158 98.71134184939554 99.79480874039618 100.82092488052325 101.7915158119264 102.70840707675538 103.57342421715988 104.38839277528955 105.15513829329417 105.87548631332342 106.55126237752695 107.18429202805453 107.77640080705581 108.32941425668056 108.8451579190784 109.3254573363991 109.77213805079231 110.18702560440778 110.57194553939517 110.92872339790419 111.25918472208458 111.56515505408599 111.84845993605818 112.11092491015077 112.35437551851358 112.58063730329617 112.79153580664834 112.98889657071977 113.17454513766016 113.35028838638966 113.51749745259004 113.67710922615666 113.8300414346047 113.97721180544933 114.11953806620566 114.25793794438893 114.39332916751421 114.5266294630967 114.65875655865158 114.79062818169399 114.92316205973908 115.05727592030203 115.19388749089802 115.33391449904218 115.47827467224964 115.6278857380356 115.78366542391522 115.94653145740367 116.11740156601608 116.29719347726761 116.48682491867345 116.68721361774875 116.89927730200866 117.12393369896833 117.36210053614296 117.61469554104768 117.88263644119763 118.16684096410802 118.46822683729395 118.78771178827064 119.12621354455324 119.48464983365689 119.86393838309674 120.26499692038794 120.68874317304574 121.13598304951357 121.60654188067329 122.09974295351125 122.61490476340903 123.1513458057482 123.70838457591036 124.285339569277 124.88152928122977 125.49627220715028 126.12888684242006 126.7786916824206 127.44500522253358 128.1271459581406 128.82443238462318 129.53618299736286 130.2617162917412 131.00035076313995 131.7514049069405 132.51419721852454 133.28804619327354 134.07227032656917 134.86618811379296 135.66911805032652 136.4803786315513 137.299288352849 138.1251657096012 138.95732919718947 139.7950973109953 140.6377885464003 141.4847213987861 142.33521436353422 143.1885859360263 144.04415461164385 144.9012388857684 145.75915725378164 146.61722591189044 + 8.764954892634606 10.728045317432073 12.745720355299541 14.81428394545712 16.930037985545123 19.089284373203792 21.288325006073435 23.523461781794282 25.790996598006625 28.087231352350745 30.408467942466924 32.751008265995374 35.11115422057642 37.48520770385034 39.86947061345735 42.26024484703777 44.65383230223186 47.046534876679885 49.434654468022146 51.814492973898865 54.18235229195037 56.53453431981687 58.86734095513867 61.177074095556044 63.460035638709265 65.7125274822386 67.93085152378434 70.11130966098669 72.25020379148602 74.34383581292253 76.38850762293652 78.38052111916822 80.31617819925793 82.19178076084599 84.00363070157256 85.748029919078 87.42129709526469 89.02149026992124 90.55006632655883 92.00886949264279 93.39974399563847 94.72453406301122 95.98508392222644 97.18323780074942 98.32083992604565 99.39973452558037 100.42176582681896 101.38877805722683 102.30261544426929 103.16512221541177 103.97814259811952 104.74352081985799 105.4631011080925 106.13872769028842 106.77224479391113 107.36549664642595 107.92032747529828 108.43858150799348 108.92210297197688 109.37273609471384 109.79232510366975 110.18271422630997 110.54574769009982 110.88326972250469 111.19712455098994 111.48915640302094 111.76120950606303 112.01512808758159 112.25275637504193 112.47593859590948 112.68651897764958 112.88634174772754 113.07723083306146 113.26053619957831 113.43713547876848 113.60788545939023 113.77364293020185 113.93526467996146 114.09360749742747 114.24952817135808 114.40388349051149 114.55753024364604 114.71132521951992 114.86612520689144 115.02278699451878 115.18216737116028 115.34512312557413 115.51251104651861 115.68518792275194 115.86401054303244 116.04983569611831 116.24352017076782 116.44592075573922 116.65789423979078 116.88029741168074 117.11398706016736 117.3598199740089 117.61865294196357 117.89134275278968 118.17874619524548 118.4817200580892 118.80112113007908 119.13780619997341 119.49263205653044 119.86645548850841 120.26013328466557 120.67452223376016 121.11047912455051 121.56875564163326 122.04918114820263 122.55111303245086 123.0739041229696 123.61690724835047 124.17947523718504 124.76096091806497 125.36071711958192 125.9780966703275 126.61245239889331 127.26313713387098 127.92950370385208 128.61090493742836 129.30669366319142 130.01622270973277 130.7388449056441 131.47391307951713 132.22078005994334 132.9787986755144 133.74732175482197 134.52570212645767 135.3132926190131 136.1094460610799 136.91351528124963 137.72485310811405 138.54281237026467 139.36674589629317 140.19600651479115 141.02994705435023 141.86792034356205 142.70927921101824 143.55337648531042 144.3995649950302 145.24719756876922 146.0956270351191 146.94420390999923 + 8.751504031130638 10.707925738658037 12.718451168997758 14.779409153299593 16.887126490242036 19.037929978503517 21.228146416762517 23.45410260369746 25.7121253379868 27.998541418309014 30.309677643342564 32.641860811765845 34.99141772225736 37.35467517349557 39.72795996415888 42.10759889292578 44.489918758474715 46.87124635948413 49.247908494632505 51.61623196259827 53.97254356205991 56.31317009169581 58.634438350184475 60.932675136204345 63.20420724843387 65.44536148555154 67.65246464623579 69.821843529165 71.94982493301775 74.03273565647241 76.06690249820744 78.0486522569013 79.97431173123245 81.84020771987937 83.64266702152047 85.37801643483424 87.04259950787274 88.63449643816513 90.15518089912564 91.6065133078007 92.99035408123684 94.30856363648053 95.56300239057832 96.75553076057662 97.88800916352209 98.96229801646103 99.9802577364401 100.94374874050575 101.85463144570444 102.71476626908273 103.52601362768708 104.29023393856401 105.00928761876004 105.68503508532159 106.31933675529524 106.91405304572744 107.47104437366477 107.99217115615365 108.47929381024062 108.93427275297213 109.35896840139475 109.75524117255495 110.12495148349922 110.46995975127408 110.792126392926 111.09331182550152 111.37537646604709 111.64018073160928 111.8895850392345 112.12544980596932 112.34963544886025 112.56400238495375 112.77038916658476 112.97012383687974 113.16402568841256 113.35289156282697 113.53751830176667 113.71870274687522 113.8972417397965 114.07393212217406 114.24957073565163 114.4249544218729 114.6008800224816 114.77814437912139 114.95754433343596 115.139876727069 115.32593840166422 115.51652619886528 115.71243696031588 115.91446752765974 116.12341474254052 116.34007544660193 116.56524648148763 116.79972468884132 117.04430691030676 117.29978998752756 117.56697076214745 117.84664607581009 118.13961277015923 118.44666768683847 118.7686076674916 119.10622955376222 119.46033018729412 119.8317064097309 120.2211550627163 120.62947298789399 121.05745702690768 121.50590402140107 121.97551230506177 122.46611510832354 122.97710322292637 123.50786310818846 124.05778122342795 124.62624402796301 125.21263798111177 125.81634954219243 126.43676517052317 127.07327132542211 127.72525446620739 128.39210105219715 129.0731975427097 129.7679303970631 130.4756860745755 131.19585103456504 131.92781173634995 132.6709546392484 133.42466620257846 134.18833288565835 134.96134114780625 135.74307744834033 136.53292824657868 137.33028000183947 138.13451917344096 138.94503222070117 139.76120560293842 140.5824257794707 141.40807920961632 142.23755235269334 143.07023166802 143.90550361491444 144.74275465269474 145.58137124067918 146.42073983818582 147.26024457895218 + 8.735388378523949 10.684317803890709 12.686813436430183 14.73923276320099 16.837931249027037 18.979264358732156 21.15958755714025 23.375256309075134 25.6226260793607 27.898052332820814 30.19789053427936 32.51849614856013 34.856224640487056 37.207431474884004 39.568472116574775 41.93570203038328 44.305476681133385 46.674151533648924 49.03808205275382 51.39362370327187 53.73713195002699 56.06496225784301 58.37347009154378 60.659010915953196 62.9179401958951 65.1466133961934 67.34138598167196 69.49861341715453 71.61465116746511 73.68585469742752 75.7085794718656 77.67918095560323 79.59401461346424 81.44943591027258 83.24180031085204 84.96746328002651 86.62279697938992 88.20590546443535 89.71827691593863 91.16178520143652 92.53830418846589 93.8497077445635 95.09786973726627 96.2846640341109 97.41196450263442 98.48164501037348 99.49557942486496 100.4556416136457 101.36370544425253 102.22164478422229 103.03133350109178 103.79464546239782 104.51345453567728 105.18963458846694 105.82505948830365 106.42160310272423 106.98113929926556 107.5055419454644 107.99668490885762 108.45644205698203 108.88668725737446 109.28929437757171 109.66613728511066 110.01908984752812 110.35002593236091 110.66081940714587 110.95334413941978 111.22947399671956 111.49108284658195 111.7400445565438 111.978232994142 112.20752202691331 112.42976217591654 112.646258786795 112.85777392356583 113.06504567250512 113.26881211988888 113.46981135199307 113.6687814550938 113.86646051546705 114.06358661938883 114.26089785313518 114.45913230298213 114.65902805520571 114.8613231960819 115.06675581188678 115.27606398889634 115.4899858133866 115.70925937163356 115.93462274991333 116.16681403450185 116.4065713116752 116.65463266770935 116.91173618888037 117.17861996146424 117.45602207173701 117.74468060597471 118.04533365045334 118.35871929144895 118.68557561523752 119.02664070809514 119.38265265629776 119.75434954612147 120.14246946384225 120.54775049573612 120.97093072807914 121.41274824714726 121.87394113921664 122.35515543971108 122.8562280837689 123.37658248019454 123.9156379270005 124.47281372219905 125.04752916380264 125.63920354982359 126.24725617827436 126.87110634716727 127.51017335451478 128.16387649832913 128.8316350766228 129.5128683874082 130.20699572869768 130.91343639850356 131.6316096948383 132.36093491571427 133.10083135914383 133.85071832313938 134.6100151057133 135.37814100487793 136.15451531864574 136.938557345029 137.72968638204017 138.52732172769163 139.3308826799957 140.13978853696486 140.9534585966114 141.77131215694777 142.59276851598628 143.41724697173936 144.24416682221943 145.07294736543878 145.90300789940983 146.73376772214502 147.56464379379028 + 8.716812579725367 10.657397308525379 12.65095151805342 14.693865316601931 16.78252680163236 18.913324070606098 21.082645220984574 23.286878350229163 25.522411555801277 27.785632935162337 30.07293058577377 32.38069260509692 34.70530709059324 37.04316213972414 39.390645849950985 41.74414631873522 44.100051643538244 46.454749921821445 48.80462925104627 51.14607772867408 53.47548345216633 55.78923451898438 58.08371902658965 60.35532507244354 62.60044075400747 64.81545416874286 66.99675341411113 69.14072658757358 71.24376178659176 73.30224710862699 75.31257065114072 77.27112051159429 79.17428478744915 81.01845157616675 82.80000897520843 84.51534508203562 86.16086461940527 87.73469726108014 89.23834320057308 90.67368677346414 92.04261231533329 93.34700416176061 94.5887466483262 95.76972411061 96.89182088419223 97.9569213046528 98.9669097075718 99.92367042852923 100.82908780310524 101.68504616687984 102.49342985543302 103.25612320434492 103.97501054919553 104.6519762255649 105.28890456903312 105.88767991518016 106.45018659958617 106.97830895783116 107.47393132549516 107.93893803815823 108.37521343140043 108.7846418408018 109.16910760194237 109.53049505040224 109.8706885217614 110.19157235159996 110.49503087549792 110.78294842903537 111.0572093477923 111.31969796734879 111.57229862328495 111.81689565118073 112.05534865001368 112.28893947162469 112.51837425270507 112.74433371601475 112.96749858431346 113.18854958036101 113.40816742691723 113.62703284674187 113.84582656259477 114.06522929723572 114.28592177342453 114.50858471392098 114.73389884148492 114.96254487887609 115.19520354885432 115.43255557417943 115.67528167761117 115.9240625819094 116.17957900983389 116.44251168414443 116.71354132760084 116.99334866296294 117.28261441299051 117.58201930044335 117.89224404808125 118.21396937866403 118.5478760149515 118.89464467970343 119.25495609567965 119.62949098563992 120.0189300723441 120.42395407855197 120.84524372702333 121.28347974051796 121.73934284179565 122.21351375361631 122.70658744549306 123.21840439727144 123.74841975951206 124.29608478734042 124.86085073588195 125.44216886026217 126.03949041560652 126.65226665704056 127.27994883968975 127.92198821867954 128.5778360491354 129.24694358618282 129.92876208494735 130.62274280055442 131.32833698812954 132.04499590279806 132.77217079968565 133.50931293391773 134.25587356061973 135.01130393491718 135.77505531193557 136.54657894680034 137.325326094637 138.11074801057103 138.90229594972791 139.69942116723308 140.50157491821219 141.3082084577905 142.1187730410936 142.93271992324696 143.74950035937607 144.56856560460642 145.38936691406352 146.21135554287272 147.0339827461597 147.85669742955417 + 8.695981279645741 10.627340047957349 12.611009774324069 14.643417354943036 16.72098768779028 18.840145670841753 20.997316202073474 23.18892417946139 25.4113945009815 27.661152064609805 29.934621768322284 32.22822851009489 34.538397187903634 36.86155269972453 39.19411994353349 41.53252381730654 43.87318921901967 46.21254104664885 48.5470041981701 50.87300357155935 53.18696406479265 55.485310575845894 57.76446800269513 60.02086124331634 62.25091519568548 64.45105475777859 66.61770482757161 68.74729030304049 70.8362360821613 72.88096706290997 74.8779081432625 76.82348422119487 78.71412019468305 80.54624096170308 82.31627142023086 84.02063646824243 85.65577753750782 87.2198517404478 88.7143685766044 90.14121962379745 91.50229645984685 92.79949066257241 94.03469380979409 95.20979747933166 96.3266932490051 97.3872726966342 98.39342740003883 99.34704893703889 100.25002888545424 101.10425882310481 101.91163032781034 102.67403497739083 103.39336434966609 104.07151002245597 104.71036357358037 105.31181658085913 105.87776062211219 106.41008727515936 106.91068811782053 107.38145472791558 107.82427868326437 108.24105156168677 108.63366494100262 109.00401039903184 109.35397951359425 109.6854638625098 110.0003550235983 110.30054457467963 110.58792409357362 110.8643851581002 111.13181934607927 111.3921182353306 111.6471473778332 111.89816431366947 112.1458207443072 112.39074162094599 112.63355189478548 112.87487651702511 113.11534043886459 113.35556861150341 113.5961859861412 113.8378175139775 114.08108814621191 114.326622834044 114.57504652867334 114.82698418129954 115.08306074312215 115.34390116534071 115.61013039915485 115.88237339576415 116.16125510636816 116.44740048216649 116.74143447435868 117.0439820341443 117.355668112723 117.67711766129426 118.00895563105774 118.35180697321299 118.70629663895957 119.07304957949702 119.45269074602503 119.84584508974307 120.25313756185076 120.67519311354769 121.11263669603343 121.56609326050757 122.0361877581696 122.52354514021923 123.0287107223196 123.55152837156403 124.0914840161356 124.64805989714304 125.22073825569494 125.8090013329 126.41233136986682 127.03021060770412 127.66212128752058 128.30754565042483 128.96596593752548 129.63686438993125 130.3197232487508 131.01402475509278 131.71925115006584 132.4348846747786 133.16040757033986 133.8953020778582 134.63905043844218 135.39113489320061 136.15103768324207 136.9182410496753 137.69222723360886 138.47247847615142 139.25847701841172 140.04970510149832 140.84564496652 141.64577885458533 142.449589006803 143.25655766428164 144.06616706812997 144.87789945945661 145.69123707937024 146.50566216897946 147.320656969393 148.13570136128473 + 8.673099123195911 10.594321817581909 12.567132565698738 14.58799941966493 16.65338844723303 18.75976571615551 20.9035972941849 23.081349249073675 25.28948764857434 27.524478560439405 29.782788052421388 32.06088219227274 34.35522704774599 36.66228868659368 38.97853317656823 41.3004265854222 43.62443498090806 45.94702443077833 48.26466100278553 50.573810764682115 52.870939784220624 55.15251412915352 57.414999867233334 59.654863066212556 61.86856979384367 64.05258611787924 66.20337810607172 68.31741182617358 70.3911533459374 72.42106873311563 74.40362405546075 76.33528538072531 78.21251877666178 80.03179031102268 81.78956605156051 83.48231206602779 85.10651084328661 86.66034881488658 88.14534186760785 89.56338535235042 90.9163746200143 92.20620502149943 93.43477190770585 94.60397062953353 95.7156965378826 96.77184498365285 97.7743113177444 98.7249908910572 99.62577905449128 100.47857115894662 101.28526255532321 102.04774859452108 102.76792462744021 103.44768600498058 104.08892807804217 104.693546197525 105.26343571432913 105.80049197935445 106.30661034350102 106.78368615766884 107.23361477275787 107.65829153966813 108.05961180929961 108.43947093255231 108.79976426032623 109.14238714352136 109.46923493303771 109.78220297977526 110.083186634634 110.37408124851396 110.65678217231512 110.93318475693746 111.20515714833195 111.47393173522997 111.74010746684904 112.00425531488902 112.2669462510499 112.52875124703147 112.79024127453376 113.05198730525656 113.31456031089984 113.57853126316346 113.84447113374736 114.11295089435143 114.38454151667554 114.65981397241963 114.93933923328362 115.22368827096737 115.51343205717077 115.8091415635938 116.11138776193627 116.42074162389814 116.73777412117927 117.06305622547961 117.39715890849905 117.7406531419375 118.09410989749483 118.45810014687093 118.83319486176578 119.2199650138792 119.61898157491113 120.03081551656146 120.4560378105301 120.89521942851698 121.34893134222196 121.81774452334496 122.30222994358587 122.8029585746446 123.32042767010263 123.85448432937947 124.40464420532193 124.97041946434321 125.55132227285632 126.14686479727443 126.75655920401059 127.37991765947798 128.01645233008972 128.6656753822589 129.3270989823986 130.00023529692197 130.6845964922421 131.37969473477216 132.08504219092515 132.80015102711425 133.5245334097526 134.2577015052533 134.99916748002946 135.74844350049412 136.50504173306047 137.26847434414165 138.0382535001507 138.81389136750073 139.59490011260493 140.3807919018763 141.1710789017281 141.9652732785733 142.7628871988251 143.56343282889654 144.3664223352008 145.171367884151 145.97778164216018 146.78517577564153 147.59306245100808 148.4009514640227 + 8.648370755286711 10.558518412794355 12.519464252634027 14.527722052208235 16.579803619692868 18.67222076326377 20.801485291096824 22.964109011367864 25.156603732252748 27.37548126192735 29.617253408567557 31.87843198034916 34.155528785448055 36.44505563204013 38.74352432830119 41.047446682407134 43.3533345025338 45.65769959685705 47.957053773552765 50.247908840796775 52.52677660676499 54.79016887963319 57.03459746757729 59.25657417877313 61.452610821396576 63.6192192036235 65.75291113362978 67.85019841959117 69.90759286968367 71.92160629208306 73.8887504949652 75.80553728650595 77.66847847488117 79.47408586826677 81.21887127483856 82.89934650277243 84.51203964633069 86.05516839674473 87.53025189715878 88.93918555903694 90.28386479384336 91.56618501304214 92.78804162809749 93.95133005047343 95.05794569163425 96.10978396304394 97.10874027616671 98.05671004246668 98.95558867340796 99.80727158045474 100.6136541750711 101.37663186872122 102.0981000728692 102.77995419897917 103.42408965851531 104.03240186294168 104.60678622372251 105.14913815232187 105.66135306020392 106.14532635883276 106.60295345967258 107.03612977418749 107.4467507138416 107.83671169009907 108.20790811442401 108.56223539828063 108.90158895313297 109.22786419044523 109.54295652168149 109.84876135830592 110.14717411178268 110.44009019357586 110.72937675046693 111.01624015860688 111.3012284888074 111.58486072543393 111.86765585285175 112.15013285542614 112.43281071752253 112.71620842350615 113.00084495774236 113.28723930459653 113.57591044843394 113.86737737361993 114.16215906451981 114.46077450549899 114.76374268092269 115.07158257515628 115.38481317256509 115.70395345751449 116.02952241436972 116.3620390274962 116.7020222812592 117.04999116002404 117.4064646481561 117.77196173002068 118.1470013899831 118.53210261240869 118.9277843816628 119.33456568211075 119.75296549811785 120.18350281404943 120.62669661427083 121.08306588314738 121.5531296050444 122.03740676432722 122.53641634536116 123.05067733251157 123.58064068875404 124.12615659345056 124.68676928232775 125.26201969687567 125.85144877858433 126.4545974689438 127.07100670944403 127.70021744157513 128.34177060682717 128.99520714669015 129.66006800265401 130.33589411620886 131.02222642884482 131.71860588205183 132.42457341731992 133.13966997613912 133.86343649999955 134.59541393039123 135.33514320880406 136.0821652767282 136.83602107565366 137.5962515470705 138.3623976324687 139.1340002733383 139.91060041116938 140.69173898745194 141.47695694367607 142.26579522133173 143.05779476190898 143.85249650689786 144.64944139778842 145.4481703760707 146.2482243832347 147.04914436077047 147.85047125016806 148.65174361280896 + 8.622000820828987 10.52010562898998 12.468149195586543 14.462695794013566 16.50030774490205 18.577547368882932 20.69097698658721 22.837158918645805 25.012655485689702 27.214029008349858 29.43784180725727 31.680656203042837 33.939034516337564 36.209539067772425 38.488732177978335 40.77317616758629 43.05943335722726 45.34406606753218 47.62363661913206 49.89470733265781 52.153840528740446 54.397598528010874 56.62254365110008 58.82523821863903 61.00224455125869 63.15012496959004 65.26544179426404 67.34475734591159 69.38463394516373 71.38163391265138 73.33231956900553 75.23325323485713 77.08099723083711 78.87211387757652 80.60316549570624 82.27071440585726 83.8713390562291 85.40329039837056 86.8680874888325 88.26762184377094 89.60378497934181 90.8784684117011 92.09356365700488 93.25096223140903 94.35255565106966 95.40023543214268 96.39589309078407 97.34142014314988 98.23870810539604 99.08964849367858 99.8961328241535 100.66005261297677 101.38329937630436 102.06776463029227 102.7153398910965 103.32791667487304 103.9073864977779 104.45564087596706 104.97457132559649 105.46606936282218 105.93202650380016 106.37433426468637 106.79488416163682 107.19556771080752 107.57827642835443 107.94490183043355 108.29733543320091 108.63746875281244 108.96719330542413 109.28840060719202 109.60298217427209 109.91282952282029 110.21980497319504 110.52508800610077 110.82917787865922 111.13254378017085 111.43565489993607 111.73898042725519 112.04298955142873 112.34815146175707 112.65493534754056 112.96381039807964 113.27524580267473 113.58971075062624 113.90767443123453 114.22960603380007 114.55597474762321 114.8872497620044 115.22390026624399 115.56639544964244 115.91520450150014 116.27079661111749 116.6336409677949 117.00420676083277 117.3829631795315 117.77037941319155 118.16692465111323 118.57306808259705 118.98927889694335 119.41602628345254 119.85377943142504 120.30300753016124 120.7641797689616 121.23776533712646 121.72423342395625 122.22405321875137 122.73769391081224 123.2656246894393 123.80825217818577 124.36542948651014 124.93672820240975 125.52171680267526 126.11996376409728 126.7310375634664 127.35450667757328 127.98993958320854 128.63690475716285 129.29497067622677 129.96370581719094 130.64267865684596 131.33145767198255 132.02961133939127 132.73670813586273 133.45231653818755 134.17600502315645 134.90734206755997 135.64589614818874 136.39123574183338 137.14292932528457 137.9005453753329 138.66365236876902 139.4318187823835 140.204613092967 140.98160377731017 141.7623593122036 142.54644817443793 143.3334388408038 144.1228997880918 144.9143994930926 145.7075064325968 146.50178908339498 147.29681592227783 148.092155426036 148.88737368268423 + 8.59417417839693 10.479245121821076 12.413323728739503 14.393029707708987 16.414980832339843 18.47579487624232 20.572089613026716 22.700482816303264 24.85759225968226 27.04003571677397 29.244430961188694 31.467395766536647 33.70554790642814 35.95550515447346 38.21388528428282 40.47730606946653 42.742385283634874 45.00574070039809 47.263990093366495 49.51375123615032 51.75164190235987 53.97427986560537 56.17828289949713 58.36026877764541 60.51685527366047 62.64466016115262 64.74030121373211 66.80039620500916 68.82156290859415 70.80041909809728 72.73358254712882 74.61767102929906 76.44930231821824 78.22509418749672 79.94166441074466 81.59563076157242 83.1836269581579 84.7039392602716 86.1580831087143 87.54794195543099 88.87539925236665 90.14233845146624 91.35064300467482 92.50219636393729 93.59888198119873 94.64258330840407 95.6351837974983 96.57856690042642 97.47461606913339 98.32521475556426 99.13224641166396 99.89759448937751 100.6231424406499 101.31077371742606 101.96237177165106 102.57982005526982 103.1650020202274 103.71980111846875 104.24610080193881 104.74578452258264 105.22073573234522 105.67283788317151 106.10397442700648 106.51602881579517 106.91088450148254 107.2904249360136 107.6565335713333 108.01109385938666 108.35598925211863 108.69310320147426 109.02431915939849 109.3515205778363 109.67656091866509 110.00059186862848 110.32406610939287 110.64740540920495 110.97103153631134 111.29536625895861 111.62083134539347 111.94784856386246 112.2768396826123 112.60822646988956 112.94243069394093 113.27987412301297 113.62097852535236 113.96616566920571 114.31585732281967 114.67047525444084 115.03044123231585 115.39617702469138 115.76810439981404 116.14664512593042 116.53222097128716 116.92525370413092 117.32616509270835 117.73537690526602 118.1533109100506 118.58038887530873 119.01703256928701 119.46366376023207 119.92070421639056 120.38857570600909 120.86769999733434 121.3584988586129 121.86139405809139 122.37680736401646 122.90516054463471 123.44687536819283 124.00231623327021 124.57133903237906 125.15354139522377 125.74851801351168 126.35586357895004 126.97517278324615 127.60604031810726 128.24806087524072 128.90082914635383 129.56393982315385 130.236987597348 130.91956716064362 131.61127320474804 132.31170042136858 133.02044350221243 133.73709713898688 134.4612560233993 135.19251484715693 135.93046830196707 136.674711079537 137.42483787157397 138.1804433697854 138.94112226587845 139.7064692515604 140.47607901853868 141.2495462585204 142.026465663213 142.8064319243237 143.5890397335598 144.37388378262855 145.1605587632373 145.9486593670933 146.73778028590388 147.52751621137628 148.31746183521784 149.10720945251316 + 8.564903928958602 10.435976148199412 12.355055225133828 14.318821123990748 16.323951893188994 18.367125581147317 20.445020236284538 22.554313907019402 24.6916846417707 26.853810488957222 29.03736949699778 31.239039714311087 33.45549918931597 35.68342597043123 37.91949810607561 40.1603936446679 42.40279063462689 44.64336712437136 46.878801162320116 49.10577079689191 51.32095407650556 53.521029049579774 55.7026737645334 57.862566269785205 59.99738461375396 62.10380684485849 64.17851101151756 66.21817516214986 68.21947734517433 70.17909560900964 72.0937080020746 73.95999257278801 75.77462736956862 77.53429044083528 79.23565983500667 80.87541360050167 82.4502455232985 83.95847915445503 85.40162282899705 86.78154781678771 88.10012538769021 89.35922681156775 90.56072335828358 91.70648629770082 92.79838689968278 93.83829643409258 94.82808617079344 95.76962737964858 96.66479133052118 97.51544929327451 98.32347253777168 99.09073233387596 99.81909995145051 100.51044666035855 101.1666437304633 101.78956243162794 102.38107403371568 102.94304980658976 103.4773610201133 103.98587894414958 104.47047484856179 104.9330200032131 105.37538567796672 105.7994431426859 106.20706366723377 106.60011852147363 106.9804789752686 107.3500162984819 107.71060176097673 108.06410663261632 108.41240218326388 108.75735968278256 109.1008197529228 109.44390542488611 109.78702506639146 110.13055542135629 110.474873233698 110.82035524733392 111.16737820618155 111.51631885415821 111.86755393518133 112.22146019316834 112.5784143720366 112.93879321570353 113.3029734680865 113.67133187310297 114.0442451746703 114.42209011670589 114.80524344312711 115.19408189785143 115.58898222479623 115.99032116787886 116.39847547101677 116.81382187812734 117.23673713312802 117.66759797993612 118.10678116246913 118.55466342464439 119.01162151037934 119.47803216359135 119.9542721281978 120.44071814811615 120.93774696726378 121.44573532955808 121.96505997891644 122.4960976592563 123.039225114495 123.59481908855 124.16320389033791 124.74423805344976 125.33754393554673 125.94274111964151 126.55944918874663 127.18728772587477 127.82587631403854 128.4748345362506 129.1337819755236 129.8023382148701 130.48012283730273 131.16675542583414 131.861855563477 132.56504283324395 133.27593681814753 133.9941571012004 134.71932326541523 135.45105489380467 136.18897156938124 136.93269287515767 137.68183839414655 138.4360277093605 139.19488040381222 139.9580160605142 140.72505426247918 141.49561459271976 142.2693166342486 143.04577997007829 143.82462418322143 144.60546885669072 145.38793357349877 146.17163791665817 146.9562014691816 147.74124381408163 148.52638453437095 149.31124080940762 + 8.534114559204259 10.390274682773615 12.293375201779853 14.240160890488362 16.227374627739696 18.25175929237435 20.31005776323287 22.399012919155737 24.515367638983484 26.65586480155664 28.81724728571573 30.99625797030123 33.18963973415369 35.39413545611364 37.60648801502154 39.82344028971797 42.04173515904343 44.25811550183842 46.469324196943475 48.672104123199105 50.86319815944585 53.039349184524184 55.19730007727466 57.33379371653777 59.445572981154044 61.52938074996403 63.58195990180823 65.60005331552709 67.58040386996124 69.51975444395113 71.4148479163373 73.26242716596025 75.05923507166048 76.8020145122786 78.48750836665502 80.11245951363031 81.67362633981693 83.16937154828913 84.60119303340814 85.97094595203555 87.280485461033 88.53166671726204 89.72634487758435 90.86637509886152 91.95361253795522 92.98991235172699 93.97712969703848 94.91711973075128 95.81173760972702 96.66283849082738 97.47227753091389 98.24190988684819 98.97359071549191 99.66917517370663 100.33051841835402 100.95947560629564 101.55790189439317 102.12765243950817 102.67058239850228 103.18854692823712 103.68340118557428 104.15700032737541 104.61119951050212 105.04785389181599 105.46881862817868 105.87594887645182 106.27109979349693 106.65612653617575 107.03288426134976 107.40322812588072 107.76901328663017 108.13209490045969 108.49429694911755 108.85671301051029 109.21970934552579 109.58362001099755 109.94877906375909 110.31552056064385 110.68417855848539 111.05508711411714 111.42858028437261 111.80499212608532 112.18465669608874 112.56790805121634 112.95508024830166 113.34650734417816 113.74252339567933 114.14346245963868 114.54965859288967 114.96144585226584 115.37915829460063 115.80312997672758 116.23369495548016 116.67118728769184 117.11594103019614 117.56829023982655 118.02856897341658 118.49711128779965 118.97425123980935 119.46032288627912 119.95566028404244 120.4605974899328 120.97546856078372 121.50060755342868 122.0363485247012 122.5830255314347 123.14097263046273 123.7105238786188 124.29196557773253 124.88515876675048 125.48974925405146 126.1053802271287 126.73169487347546 127.36833638058494 128.01494793595035 128.67117272706497 129.33665394142207 130.0110347665148 130.6939583898364 131.38506799888012 132.08400678113924 132.790417924107 133.5039446152765 134.2242300421411 134.950917392194 135.68364985292845 136.42207061183763 137.1658228564148 137.9145497741532 138.6678945525461 139.42550037908666 140.18701044126814 140.9520679265838 141.72031602252682 142.49139791659053 143.26495679626805 144.04063584905268 144.8180782624376 145.59692722391617 146.37682592098147 147.1574175411268 147.93834527184538 148.71925230063047 149.49977940507986 + 8.501729863473315 10.342116235811448 12.228314957913998 14.15713990100358 16.125403062441627 18.129916439589504 20.167492029808635 22.23494183046037 24.329077838906123 26.446712052507287 28.584656468625273 30.73972308462142 32.90872389785716 35.088470905693896 37.27577610549297 39.46745149461582 41.66030907042382 43.85116083027836 46.036818771540844 48.21409489157265 50.3798011877352 52.53074965738983 54.663752297897965 56.775621106620996 58.8631680809203 60.92320521815732 62.95254451569342 64.94799797088993 66.90637758110834 68.82449534370997 70.69916325605627 72.52719331550857 74.30539751942828 76.03058786517684 77.69957635011558 79.30917497160596 80.85621098344885 82.33908797860114 83.75929023196842 85.11865304457531 86.41901171744654 87.66220155160681 88.85005784808085 89.98441590789335 91.06711103206908 92.09997852163266 93.08485367760886 94.02357180102236 94.91796819289787 95.76987815426016 96.58113698613383 97.3535799895437 98.08904246551441 98.78935971507069 99.45636703923725 100.09189973903878 100.69779311550006 101.27588246964572 101.8280031025005 102.35599031508912 102.8616794084363 103.3469056835667 103.81350444150507 104.26331098327611 104.69816060990453 105.11988862241508 105.53033032183238 105.93132100918122 106.32469598548624 106.71229055177224 107.09594000906387 107.47747965838585 107.85871322447673 108.2407040982861 108.62377858602231 109.00823033459179 109.39435299090081 109.78244020185568 110.17278561436277 110.5656828753283 110.96142563165871 111.36030753026027 111.76262221803931 112.16866334190213 112.57872454875508 112.99309948550447 113.41208179905662 113.83596513631784 114.2650431441945 114.69960946959284 115.13995775941927 115.58638166058006 116.03917481998154 116.49863088453003 116.96504350113189 117.43870631669338 117.91991297812086 118.40895713232065 118.90613242619906 119.41173250666242 119.92605102061707 120.44938161496928 120.98201793662541 121.52425363249179 122.07638234947474 122.63869773448054 123.21149343441556 123.79506309618611 124.38965704382939 124.99513869218154 125.6111760599006 126.23743468921437 126.87358012235055 127.51927790153687 128.17419356900103 128.8379926669708 129.51034073767394 130.19090332333812 130.87934596619107 131.57533420846048 132.27853359237417 132.98860966015988 133.70522795404526 134.42805401625805 135.15675338902602 135.89099161457693 136.6304342351384 137.37474679293823 138.12359483020413 138.87664388916386 139.6335595120451 140.39400724107563 141.15765261848313 141.92416118649535 142.69319848734006 143.46443006324495 144.2375214564377 145.01213820914612 145.7879458635979 146.56460996202082 147.34179604664254 148.11916965969075 148.89639634339335 149.67313922460866 + 8.467673636105175 10.291476317580663 12.15990579277267 14.069849049338142 16.018191223744438 18.001817452458855 20.01761287194874 22.062462618681376 24.133251829124095 26.226865639744226 28.340189187009106 30.470107607386 32.613506037342276 34.76726961334524 36.928283471862194 39.093432749360474 41.2596025823074 43.42367810717029 45.58254446041647 47.73308677851324 49.87219019792795 51.996739855127885 54.10362088658037 56.189718428752734 58.251917618112294 60.287103591126396 62.292161484262344 64.2639764339874 66.19943357676898 68.09541804907434 69.94881498737081 71.75650952812572 73.51538680780635 75.22233196288012 76.87423012981424 78.46796644507609 80.00044102992976 81.47009998221833 82.87841093469866 84.22718577780769 85.51823640198239 86.75337469765972 87.9344125552767 89.06316186527019 90.14143451807732 91.17104240413494 92.15379741388006 93.0915114377496 93.98599636618059 94.83906408961002 95.65252649847477 96.4281954832119 97.16788293425832 97.87340074205102 98.54656079702697 99.18917498962311 99.8030552102765 100.39001334942401 100.95186129750265 101.49041094494942 102.00747418220122 102.50486289969508 102.98438898786793 103.44786433715677 103.89710083799856 104.33391038083029 104.76010485608887 105.17749615421131 105.58789616563458 105.99311678079565 106.3949698901315 106.79526738407907 107.1957892962276 107.59756816099849 108.00089242710752 108.40601754860201 108.81319897952929 109.22269217393662 109.63475258587137 110.04963566938079 110.46759687851218 110.8888916673129 111.31377548983026 111.7425038001115 112.175332052204 112.61251570015504 113.05431019801192 113.50097099982194 113.95275355963241 114.40991333149069 114.87270576944401 115.34138632753972 115.81621045982513 116.29743362034755 116.78531126315426 117.2800988422926 117.78205181180988 118.29142562575335 118.8084757381704 119.33345760310826 119.86662667461431 120.40823840673579 120.95854825352006 121.51781166901442 122.08628410726615 122.66422102232255 123.25187786823098 123.84951009903875 124.45733403700378 125.0752153496432 125.70284306225682 126.3399038591395 126.98608442458588 127.64107144289075 128.30455159834884 128.97621157525492 129.65573805790376 130.34281773059007 131.03713727760854 131.73838338325396 132.44624273182112 133.16040200760477 133.88054789489956 134.60636707800032 135.33754624120175 136.0737720687987 136.81473124508574 137.56011045435775 138.30959638090943 139.06287570903552 139.81963512303082 140.57956130718998 141.34234094580782 142.107660723179 142.87520732359846 143.64466743136072 144.41572773076064 145.18807490609294 145.9613956416524 146.7353766217337 147.50970453063164 148.28406605264095 149.05814787205637 149.83163425307265 + 8.431869671439248 10.238330438349026 12.088179005592291 13.978379229293799 15.905893138097802 17.867682760648492 19.86071012559011 21.88193726156684 23.928326197222905 25.996838961202528 28.084437582149945 30.18808408870932 32.30474050952489 34.431368873240906 36.56493120850152 38.702389543950986 40.84070590823352 42.97684232999331 45.10776083787461 47.23042346052159 49.34179222657853 51.43882916468955 53.518496303498935 55.577755671650884 57.61356929778959 59.622899210559325 61.60270743860426 63.54995601056859 65.46160695509658 67.33462230083242 69.16596407642032 70.9525943105045 72.69147503172915 74.37956826873857 76.01383605017686 77.59124040468832 79.10875805499533 80.56487909596797 81.96105165161974 83.29906083513349 84.58069175969212 85.8077295384785 86.98195928467551 88.10516611146602 89.17913513203297 90.20565145955916 91.18650020722751 92.12346648822088 93.01833541572215 93.87289210291424 94.68892166297996 95.46820920910227 96.212539854464 96.92369871224801 97.60347089563722 98.25364151781447 98.8759956919627 99.47231853126476 100.04439514890349 100.59401065806182 101.12295017192264 101.63299880366878 102.12594166648313 102.6035638735486 103.06765053804803 103.51998677316435 103.96235769208039 104.39654840797907 104.82434403404322 105.24752968345575 105.66789046939957 106.0872115050575 106.50724588159746 106.92899467143252 107.35271050800783 107.77861280949126 108.20692099405072 108.63785447985397 109.07163268506898 109.50847502786357 109.94860092640562 110.39222979886299 110.83958106340356 111.29087413819516 111.7463284414057 112.20616339120305 112.67059840575502 113.13985290322952 113.6141463017944 114.09369801961756 114.57872747486681 115.06945408571008 115.56609727031518 116.06887644685 116.57801103348241 117.09372044838028 117.6162241097115 118.14574143564384 118.6824918443453 119.22669475398364 119.77856958272679 120.33833574874257 120.90621267019888 121.48241976526357 122.06717645210453 122.6607021488896 123.26321627378663 123.87493824496356 124.49605230563097 125.12642625903578 125.7657689702828 126.41378709014509 127.07018726939545 127.73467615880682 128.4069604091521 129.08674667120425 129.77374159573614 130.4676518335207 131.16818403533082 131.8750448519394 132.58794093411942 133.3065789326438 134.0306654982853 134.75990728181694 135.49401093401167 136.23268310564237 136.97563044748188 137.72255961030322 138.47317724487922 139.22719000198285 139.984304532387 140.74422748686453 141.50666551618843 142.27132527113156 143.0379134024669 143.80613656096725 144.5757013974056 145.34631456255488 146.11768270718795 146.88951248207775 147.66151053799715 148.4333835257191 149.20483809601654 149.9755784755506 + 8.394241763814938 10.182654108384282 12.013165895609268 13.882821334672288 15.788662831951372 17.727732793824487 19.697073626669656 21.693727736864837 23.714737530788035 25.75714541481725 27.817993795330487 29.894325078705698 31.983181671320896 34.0816059795541 36.18664040978325 38.29532736838638 40.404709261741466 42.5118284962265 44.61372747821949 46.7074486140984 48.79003431024126 50.85852697302602 52.9099690088307 54.941402824033275 56.94987082501174 58.932415418144124 60.886079009808405 62.80790400638251 64.69493281424452 66.54420783977238 68.3527714893441 70.11766616933764 71.835934286131 73.50461824610225 75.1207604556293 76.68140332109016 78.18360363438109 79.62589685667724 81.00970889275239 82.3367948999534 83.60891003562722 84.82780945712075 85.99524832178093 87.11298178695468 88.18276500998897 89.20635314823065 90.18550135902666 91.12196479972394 92.01749862766941 92.87385800021 93.69279807469262 94.47607400846422 95.22544095887167 95.94265408326194 96.62946853898194 97.28763948337856 97.91892207379881 98.52507146758954 99.10784282209768 99.66899129467018 100.21027204265394 100.73344022339589 101.24025099424296 101.73245951254209 102.21182093564015 102.68009042088413 103.1390231256209 103.5903742071974 104.03589882296055 104.47735213025729 104.91648928643454 105.3550654488392 105.79480369781363 106.23667310237319 106.68089246794966 107.12764727372252 107.57712299887113 108.0295051225749 108.48497912401331 108.94373048236571 109.40594467681153 109.87180718653019 110.34150349070111 110.81521906850371 111.2931393991174 111.77544996172159 112.2623362354957 112.75398369961914 113.2505778332713 113.75230411563166 114.25934802587958 114.77189504319452 115.29013064675583 115.81424031574299 116.34440952933538 116.88082376671245 117.42366850705358 117.97312922953817 118.5293914133457 119.09264053765553 119.66306208164708 120.24084152449979 120.82616434539305 121.41921602350632 122.02018203801896 122.62924786811038 123.24659899296006 123.8724208917474 124.50686759808627 125.14980894025956 125.80097249314123 126.46008373547221 127.12686814599324 127.80105120344527 128.48235838656908 129.17051517410562 129.86524704479572 130.5662794773802 131.2733379505999 131.98614794319565 132.70443493390843 133.42792440147903 134.15634182464825 134.889412682157 135.62686245274617 136.36841661515655 137.11380064812903 137.86274003040444 138.61496024072366 139.37018675782753 140.12814506045692 140.88856062735263 141.65115893725562 142.41566546890664 143.18180570104667 143.9493051124164 144.71788918175682 145.4872833878087 146.257213209313 147.02740412501043 147.79758161364197 148.5674711539484 149.33679822467062 150.10528587712116 + 8.354713707571655 10.124422837954196 11.934897762060018 13.783266259275354 15.666654331754806 17.582187981652922 19.526993211124292 21.498196022323448 23.492922417404976 25.50829839852344 27.541449967833433 29.589503127489472 31.64958387964614 33.71881822645805 35.79433217007969 37.873251712665684 39.95270285637057 42.02981160334894 44.10170395575535 46.16550591574436 48.218343485470555 50.25734266708847 52.27962946275269 54.28232987461777 56.262569904838294 58.21747555556884 60.14417282896396 62.03978772717819 63.90144625236615 65.72627440668238 67.51139819228143 69.2539436113179 70.95103666594632 72.59980335832131 74.19736969059738 75.74086166492916 77.22741934382258 78.6556248011734 80.02687916811742 81.34290465566815 82.60542347483921 83.81615783664414 84.97682995209658 86.08916203221007 87.15487628799828 88.1756949304747 89.15334017065292 90.0895342195466 90.98599928816925 91.84445758753452 92.66663132865595 93.45424272254715 94.20901398022168 94.93266731269313 95.62692493097512 96.2935090460812 96.93414186902497 97.55054561082001 98.14444248247992 98.71755469501826 99.27160445944864 99.80831398678464 100.32940548803982 100.83660117422781 101.33162325636215 101.81619394545648 102.29203545252433 102.76086998857933 103.224419764635 103.68440699170502 104.14255388080292 104.60058264294229 105.06018346210335 105.52229292660549 105.9870979461595 106.45475209775879 106.92540895839679 107.39922210506671 107.8763451147621 108.35693156447624 108.8411350312025 109.32910909193428 109.82100732366492 110.31698330338783 110.81719060809635 111.32178281478386 111.83091350044373 112.34473624206935 112.86340461665405 113.38707220119124 113.91589257267427 114.45001930809653 114.98960598445136 115.53480617873215 116.08577346793227 116.64266142904512 117.20562363906404 117.77481367498238 118.35038511379356 118.93249153249093 119.52128650806785 120.11692361751768 120.71955643783383 121.32933854600967 121.94642351903853 122.57096493391381 123.20311636762885 123.8430313971771 124.49083566274498 125.14640091321489 125.80947233999478 126.47979314836184 127.1571065435933 127.84115573096634 128.53168391575812 129.228434303246 129.93115009870706 130.63957450741856 131.35345073465763 132.07252198570154 132.79653146582748 133.52522238031273 134.2583379344343 134.99562133346956 135.73681578269571 136.4816644873899 137.22991065282937 137.98129748429128 138.73556818705285 139.49246596639136 140.2517340275839 141.01311557590768 141.77635381664007 142.54119195505805 143.30737319643902 144.07464074606006 144.84273780919838 145.61140759113127 146.38039329713587 147.1494381324894 147.91828530246906 148.68667801235205 149.4543594674156 150.2210704428631 + 8.313209297048811 10.063612137326517 11.853405904180955 13.679804896904743 15.540021663957775 17.431268753799877 19.350758714890937 21.295704095690763 23.263317444659222 25.250811310256175 27.255398240941496 29.27429078517498 31.304701491416516 33.34384290812597 35.38892758376315 37.43716806678795 39.485776905660195 41.53196664883974 43.57294984478647 45.60593904196019 47.6281467888208 49.6367856338281 51.62906812544197 53.60220681212227 55.55341424232882 57.47990296452153 59.378885527160215 61.24757447870469 63.083182367614896 64.88292174235062 66.64400515137172 68.36364514313806 70.03905426610947 71.66744506874586 73.24603009950702 74.77202190685284 76.24264675905542 77.65653446628373 79.01505898773567 80.3199067856785 81.57276432237961 82.77531806010634 83.92925446112609 85.03625998770612 86.0980211021139 87.11622426661667 88.09255594348181 89.02870259497668 89.92635068336863 90.78718667092504 91.6128970199132 92.40516819260053 93.16568665125435 93.89613885814197 94.59821127553077 95.27359036568811 95.92396259088137 96.55101441337786 97.15643229544493 97.74190269934994 98.30911208736022 98.85974692174317 99.3954936647661 99.91803877869637 100.4290687258013 100.93026996834833 101.42332896860472 101.90993218883786 102.39176609131508 102.87051713830374 103.34787179207123 103.82551651488484 104.305105891694 104.78754361691445 105.27298658186376 105.76155843806315 106.25338283703374 106.74858343029665 107.2472838693731 107.7496078057842 108.25567889105112 108.76562077669494 109.27955711423695 109.79761155519816 110.31990775109979 110.84656935346301 111.37772001380895 111.91348338365873 112.45398311453353 112.9993428579545 113.5496862654428 114.10513698851958 114.66581867870596 115.23185498752309 115.80336956649221 116.38048606713437 116.96332814097076 117.55201943952254 118.14668361431086 118.74744431685683 119.35442519868168 119.96774991130647 120.58754210625243 121.21392543504066 121.84702354919236 122.4869601002286 123.13385873967059 123.78784311903952 124.44901224798241 125.11723969780206 125.79228722000607 126.47391468205504 127.16188195140957 127.8559488955302 128.5558753818775 129.26142127791223 129.97234645109484 130.68841076888592 131.40937409874607 132.13499630813587 132.86503726451596 133.59925683534692 134.3374148880893 135.0792712902037 135.82458590915076 136.57311861239106 137.3246292673851 138.07887774159354 138.83562390247695 139.59462761749597 140.35564875411114 141.11844717978306 141.88278276197232 142.64841536813947 143.4151048657452 144.18261112225002 144.9506940051145 145.7191133817993 146.48762911976502 147.25600108647214 148.02398914938138 148.79135317595322 149.5578530336483 150.32324615785515 + 8.269652326585806 10.000197516769008 11.768721621208488 13.572528141362199 15.408918855009935 17.27519553993144 19.1686599739065 21.086613934714855 23.026359200136266 24.985197547950516 26.960430755937377 28.949360601876567 30.949288863547885 32.9575173187311 34.97134774520594 36.9880819207522 39.005021623149624 41.01946863017799 43.02872471961707 45.030091669246595 47.02087125684636 48.9983652601961 50.95987545707559 52.9027036252646 54.82415154254287 56.72152098669022 58.59211373548637 60.43323156671106 62.24217625814411 64.01624958756526 65.75275333275424 67.44898927149086 69.10225918155484 70.70986484072601 72.26910802678405 73.7772905175088 75.23172745581518 76.63109738883546 77.97674486162789 79.27031797338518 80.51346482330001 81.70783351056507 82.85507213437309 83.95682879391674 85.01475158838879 86.03048861698187 87.0056879788887 87.94199777330199 88.84106609941443 89.70454105641878 90.53407074350764 91.33130325987382 92.09788670470995 92.83546917720874 93.54569877656292 94.23022360196515 94.89069175260819 95.5287513276847 96.14605042638739 96.744237147909 97.32495959144217 97.88986585617965 98.4406040413141 98.97882224603828 99.50616856954481 100.02429111102649 100.53483796967595 101.03945724468593 101.53979703524911 102.0375054405582 102.5342305598059 103.03162049218491 103.53129170381283 104.03411464608504 104.54021801428888 105.04969745109854 105.56264859918818 106.07916710123192 106.59934859990403 107.1232887378786 107.65108315782987 108.18282750243195 108.71861741435907 109.25854853628535 109.80271651088499 110.35121698083216 110.90414558880106 111.46159797746581 112.0236697895006 112.59045666757964 113.16205425437707 113.73855819256707 114.3200641248238 114.90666769382143 115.49846454223419 116.0955503127362 116.69802064800163 117.30597119070465 117.91949758351949 118.53869546912024 119.16366049018116 119.79448828937632 120.43127450938002 121.07411479286634 121.72310478250945 122.37834012098355 123.03991645096283 123.70792941512148 124.3824531021738 125.06336281392136 125.75043584233781 126.44344768979283 127.14217385865604 127.84638985129706 128.55587117008554 129.27039331739118 129.98973179558357 130.7136621070323 131.44195975410705 132.17440023917743 132.91075906461316 133.65081173278386 134.39433374605903 135.14110060680844 135.89088781740173 136.64347088020853 137.3986252975984 138.15612657194103 138.9157502056061 139.67727170096316 140.44046656038194 141.20511028623199 141.970978380883 142.7378463467046 143.50548968606643 144.2736839013381 145.0422044948893 145.81082696908962 146.57932682630872 147.34747956891624 148.11506069928183 148.88184571977507 149.64761013276564 150.412127007176 + 8.223966590522053 9.934154486549422 11.680876212379042 13.461526886449471 15.273499931360956 17.11418876971369 18.980986824107912 20.871287517143813 22.782484271421612 24.71197050954153 26.657139654103794 28.615385127708585 30.58410035295613 32.56067875244668 34.54251374878038 36.526998764557504 38.51152722237824 40.4934925448428 42.470288154551426 44.4393074741043 46.39794392610167 48.34359093314369 50.27364191783062 52.18549030276269 54.07652951054006 55.944152963763 57.785754085031726 59.59872629694637 61.38046302210725 63.12835768311452 64.8398037025684 66.51219450306911 68.14292350721688 69.7293841376119 71.26896981685441 72.7590739675446 74.19710300983746 75.58178510565585 76.914433299815 78.196654902189 79.43005722265195 80.61624757107799 81.75683325734128 82.85342159131588 83.907619882876 84.9210354418957 85.89527557824913 86.83194760181038 87.73265882245362 88.59901655005298 89.43262809448252 90.23510076561645 91.00804187332885 91.75305872749382 92.47175863798554 93.16574891467806 93.83663686744563 94.48602980616226 95.11553504070211 95.72675988093931 96.32131163674802 96.9007976180023 97.46682513457631 98.02100149634418 98.56493401318 99.10022999495796 99.62849675155212 100.15134159283664 100.67037182868562 101.1871947689732 101.70341772357355 102.2206480023607 102.74046161568717 103.26369548690236 103.79045188266137 104.32080029332805 104.85481020926626 105.39255112083983 105.93409251841265 106.47950389234856 107.02885473301139 107.58221453076503 108.1396527759733 108.70123895900008 109.2670425702092 109.83713309996452 110.41158003862991 110.99045287656921 111.57382110414626 112.16175421172493 112.75432168966906 113.35159302834253 113.95363771810915 114.5605252493328 115.17232511237735 115.78910679760664 116.41093979538452 117.03789359607482 117.67003769004144 118.30744156764818 118.95017471925894 119.5983066352375 120.25190680594784 120.9110447217537 121.57578987301899 122.24621175010753 122.92237984338317 123.60436364320984 124.29221397369449 124.98580778147307 125.68493691615264 126.38939152481622 127.09896175454674 127.8134377524272 128.53260966554052 129.25626764096975 129.98420182579787 130.71620236710783 131.4520594119826 132.19156310750512 132.93450360075846 133.68067103882558 134.42985556878938 135.18184733773288 135.9364364927391 136.69341318089099 137.4525675492715 138.21368974496363 138.97656991505033 139.74099820661465 140.5067647667395 141.2736597425079 142.04147328100277 142.80999552930712 143.579016634504 144.34832674367624 145.11771600390693 145.886974562279 146.65589256587546 147.42426016177924 148.19186749707336 148.9585047188408 149.72396197416452 150.48802697590435 + 8.176075883196958 9.865458556935518 11.589900976929023 13.346892025968295 15.133918919460488 16.9484688728127 18.788029101432077 20.65008682072571 22.532129246100734 24.43164359296426 26.34611707672344 28.273036912785347 30.20989031655712 32.154164503445905 34.10334668885877 36.054924088202874 38.006383916885326 39.95521339031324 41.89889972389377 43.83493013303398 45.76079183314105 47.67397203962203 49.571957967884096 51.45223683333434 53.312295851379886 55.14962223742789 56.96170320688545 58.74602597515963 60.500077757657635 62.221345769786545 63.90731722695348 65.55547934456555 67.1633193380299 68.72832442275364 70.24798181414388 71.71977872760776 73.14121499685783 74.51106915357215 75.83062081231772 77.1014342554906 78.32507376548693 79.50310362470275 80.63708811553423 81.7285915203774 82.77917812162848 83.79041220168345 84.76385804293847 85.70107992778964 86.60364213863305 87.47310895786482 88.31104466788105 89.11901355107784 89.8985798898513 90.65130796659753 91.3787620637126 92.08250646359264 92.76410544863381 93.42512330123212 94.06712430378371 94.6916727386847 95.30033288833117 95.89466903511924 96.47624546144499 97.04662644970458 97.60737628229403 98.16005924160952 98.70623961004709 99.24748167000288 99.78534970387298 100.3214079940535 100.85722082294056 101.39435247293022 101.9343363445443 102.47797561215137 103.0253478262076 103.57649812121464 104.13147163167412 104.69031349208755 105.25306883695669 105.81978280078302 106.39050051806822 106.96526712331385 107.54412775102158 108.12712753569296 108.71431161182963 109.30572511393319 109.90141317650526 110.50142093404743 111.10579352106129 111.71457607204853 112.32781372151067 112.94555160394937 113.56783485386619 114.19470860576283 114.82621799414079 115.46240815350174 116.10332421834731 116.74901132317905 117.39951460249861 118.05487919080758 118.71515022260758 119.3803728324002 120.05059215468707 120.72585332396983 121.40620147474999 122.09168174152923 122.78233925880915 123.4782191610914 124.1793506109197 124.88561212035751 125.59680915061327 126.31274554036624 127.03322512829565 127.75805175308072 128.48702925340066 129.21996146793484 129.95665223536238 130.69690539436257 131.4405247836146 132.18731424179768 132.93707760759116 133.68961871967426 134.44474141672612 135.20224953742604 135.96194692045327 136.72363740448705 137.4871248282066 138.2522130302911 139.0187058494199 139.78640712427216 140.55512069352716 141.32465039586407 142.09480006996225 142.86537355450076 143.63617468815906 144.40700730961623 145.1776752575515 145.9479823706442 146.71773248757353 147.4867294470187 148.25477708765897 149.02167924817357 149.78723976724177 150.55126004911892 + 8.12590399894993 9.794085238195049 11.495827214094843 13.228714453720416 14.990329845758195 16.778256278894553 18.59007664181591 20.42337382320863 22.275730711759124 24.14473019615378 26.02795516507902 27.92298850722119 29.827413111266715 31.738811865902 33.6547676598134 35.57286338168734 37.490681920210214 39.4058061640684 41.31581900194833 43.21830332253635 45.1108420145189 46.99101796658231 48.856414067413034 50.70461320569744 52.53319827012193 54.33975214937291 56.12185773213678 57.87709790709987 59.60305556294867 61.2973135883695 62.95745487204879 64.58106230267292 66.16571876892827 67.70900715950131 69.20851036307833 70.66181126834579 72.06650499261181 73.42142106941155 74.72780390915683 75.98717271669076 77.20104669685645 78.37094505449699 79.49838699445554 80.58489172157519 81.63197844069913 82.6411663566704 83.61397467433216 84.55192259852753 85.45652933409959 86.32931408589154 87.17179605874642 87.98549445750743 88.77192848701762 89.53261735212013 90.2690802576581 90.98283640847461 91.67540500941287 92.34830526531593 93.0030563810269 93.64117756138891 94.26418801124514 94.87360693543864 95.47095353881257 96.05774702621002 96.63550660247414 97.20575147244806 97.77000084097483 98.32977391289766 98.88658989305961 99.44196798630384 99.99742739747347 100.55448733141156 101.11463660761152 101.67864449461705 102.246565484154 102.81842209122134 103.39423683081785 103.97403221794238 104.55783076759384 105.14565499477105 105.7375274144729 106.33347054169819 106.93350689144583 107.53765897871467 108.14594931850354 108.75840042581133 109.37503481563688 109.99587500297905 110.62094350283667 111.25026283020865 111.88385550009382 112.52174402749105 113.16395092739917 113.81049871481703 114.46140990474355 115.11670701217756 115.77641255211789 116.44054903956342 117.109138989513 117.78220491696548 118.45976933691975 119.1418547643746 119.82848371432898 120.51967870178169 121.21546224173159 121.91585684917752 122.62088503911839 123.33056932655303 124.0449187622248 124.76381335047498 125.48707125488232 126.21450908968392 126.94594346911676 127.68119100741791 128.42006831882438 129.1623920175733 129.9079787179017 130.65664503404662 131.408207580245 132.162482970734 132.91928781975068 133.67843874153206 134.43975235031516 135.203045260337 135.9681340858347 136.73483544104533 137.50296594020585 138.27234219755331 139.04278082732483 139.8140984437574 140.58611166108813 141.35863709355394 142.13149135539203 142.9044910608393 143.67745282413296 144.4501932595099 145.22252898120723 145.99427660346203 146.76525274051133 147.53527400659218 148.30415701594157 149.07171838279663 149.8377747213943 150.60214021189842 + 8.073374732120374 9.720010040595772 11.398686223112922 13.107085063507581 14.842886736703742 16.60377141762533 18.38741928119633 20.19151050234066 22.013725255982276 23.851743717045146 25.703246060453242 27.565912461130463 29.437423094000795 31.315458133988205 33.1976977560166 35.081822135009965 36.96551144589225 38.84644586358739 40.722305563019376 42.590770719112115 44.4495215067896 46.296238100975735 48.12860067659451 49.944289408569865 51.74098447182575 53.51636604128613 55.26811429187497 56.993909398516166 58.691431536133734 60.3583608796516 61.992377603993695 63.591161884084 65.15239389484645 66.67375381120503 68.15292180808365 69.58757806040629 70.97541457283502 72.31531239000135 73.60847910035321 74.85638696919021 76.06050826181207 77.2223152435184 78.34328017960891 79.42487533538319 80.46857297614102 81.47584536718195 82.44816477380569 83.3870034613119 84.29383369500022 85.17012774017036 86.01735786212193 86.83699632615465 87.63051539756812 88.39938734166203 89.14508442373605 89.86907890908981 90.57284306302304 91.25784915083533 91.9255694378264 92.57747618929587 93.21504167054341 93.8397381468687 94.45303788357137 95.05641314595113 95.65133619930758 96.23927930894047 96.82171474014937 97.400114758234 97.97595162849399 98.55069761622903 99.12582498673876 99.70280600532286 100.28308312211612 100.86739160708443 101.45576449572708 102.04820335981117 102.64470977110363 103.24528530137152 103.8499315223819 104.4586500059017 105.07144232369798 105.68831004753775 106.30925474918803 106.93427800041584 107.56338137298818 108.19656643867208 108.83383476923456 109.47518793644261 110.12062751206327 110.77015506786354 111.42377217561047 112.08148040707104 112.74328133401224 113.40917652820116 114.07916756140477 114.7532560053901 115.43144343192417 116.11373141277396 116.80012151970654 117.49061532448889 118.18521439888802 118.88392031467095 119.58673464360473 120.29365895745637 121.00469482799286 121.7198438269812 122.43910752618842 123.16248749738159 123.88997417598505 124.6214489917258 125.35674193812251 126.09568152601028 126.83809626622407 127.58381466959894 128.3326652469699 129.08447650917208 129.83907696704043 130.59629513141002 131.3559595131158 132.1178986229929 132.8819409718763 133.64791507060113 134.41564943000228 135.18497256091484 135.95571297417388 136.72769918061445 137.5007596910715 138.27472301638014 139.0494176673753 139.82467215489217 140.60031498976565 141.37617468283082 142.15207974492273 142.92785868687636 143.70334001952688 144.47835225370918 145.25272390025827 146.0262834700093 146.79885947379728 147.57028042245722 148.3403748268241 149.10897119773307 149.87589804601905 150.64098144932157 + 8.018411877047702 9.64320847440545 11.29850930321967 12.982094749131539 14.691743618746791 16.42523471867112 18.180346855510255 19.954858835869874 21.746549466355695 23.553197553573437 25.372581904128822 27.202481324627513 29.040674621675247 30.884940601877744 32.73305807184068 34.582805838169776 36.43196270747075 38.2783074863493 40.11961898141116 41.953675999262 43.77825734650756 45.591141829753504 47.39010825560558 49.17293543066949 50.93740216155092 52.68128725485562 54.402369517189285 56.098427755157566 57.767240775366254 59.406587384421016 61.01424638892755 62.587996595491575 64.12561681071881 65.62488584121496 67.08358249358572 68.49948557443682 69.87038531326309 71.19521465216879 72.47514289592763 73.71159369638974 74.90599070540537 76.05975757482469 77.17431795649796 78.25109550227532 79.29151386400711 80.29699669354343 81.26896764273451 82.20885036343059 83.11806850748184 83.99804572673852 84.85020567305082 85.67597199826895 86.47676835424315 87.25401839282355 88.00914576586045 88.743574125204 89.4587271227045 90.15602841021206 90.83690163957694 91.50277046264935 92.15505853127948 92.79518949731758 93.42458701261381 94.04467472901845 94.65687629838163 95.26261537255367 95.86331560338465 96.46040064272489 97.05529414242453 97.64941975433382 98.244201130303 98.84106192218219 99.44139660528545 100.04590642233856 100.65460450015327 101.26747308344716 101.88449441693767 102.5056507453423 103.13092431337857 103.76029736576399 104.39375214721608 105.03127090245228 105.67283587619016 106.31842931314716 106.96803345804081 107.62163055558862 108.2792028505081 108.94073258751672 109.60620201133197 110.27559336667142 110.94888889825249 111.62607085079276 112.30712146900966 112.99202299762075 113.68075768134348 114.3733077648954 115.06965549299396 115.76978311035673 116.47367286170115 117.18130699174475 117.89266774520502 118.60773736679944 119.32649810124558 120.04893219326087 120.77502188756287 121.504749428869 122.23809706189685 122.9750470313639 123.71557260057573 124.45955656401024 125.20683990949648 125.95726220258632 126.71066300883156 127.46688189378405 128.22575842299554 128.987132162018 129.75084267640315 130.51672953170288 131.28463229346892 132.05439052725313 132.8258437986074 133.59883167308357 134.37319371623332 135.1487694936086 135.92539857076122 136.702920513243 137.48117488660571 138.2600012564013 139.03923918818145 139.8187282474981 140.59830799990303 141.37781801094803 142.15709784618502 142.9359870711657 143.71432525144203 144.49195195256576 145.26870674008873 146.04442917956277 146.8189588365397 147.59213527657133 148.36379806520955 149.13378676800608 149.90194095051285 150.6680977464671 + 7.960939228071321 9.563656049891831 11.195327753651508 12.853834404394028 14.537054518337008 16.242866611698 17.9691492006946 19.71378080154436 21.47463993046487 23.249605103673705 25.03655483738846 26.83336764782667 28.637922051205933 30.448096563743846 32.26176970165794 34.076819981165826 35.891125918485066 37.702566029833235 39.50901883142793 41.308362839486705 43.09847657022715 44.87723853986682 46.6425272646233 48.39222126071417 50.12419904435701 51.8363391317694 53.52652003916893 55.19262028277311 56.832518378799605 58.444092843465924 60.025222192989666 61.573784943588414 63.08765961147972 64.56472471288122 66.0028587640104 67.39994028108491 68.75385878963152 70.06359939274114 71.33029180590091 72.55530958169007 73.74002627268786 74.8858154314735 75.99405061062632 77.06610536272551 78.10335324035039 79.10716779608015 80.07892258249406 81.01999115217139 81.93174705769134 82.81556385163326 83.6728150865763 84.5048743150998 85.31311508978295 86.09891096320504 86.8636354879453 87.60866221658299 88.3353647016974 89.04511649586772 89.73929115167321 90.41926222169317 91.08640325850685 91.74208781469346 92.38768944283227 93.02458169550255 93.65413812528354 94.27773228475452 94.89673772649468 95.51252800308332 96.12647666709968 96.73995727112302 97.35434336773261 97.97100850950766 98.5912977743468 99.21587841316443 99.84474513665901 100.4778624185923 101.11519473272602 101.75670655282187 102.40236235264163 103.05212660594698 103.70596378649971 104.3638383680615 105.02571482439411 105.69155762925926 106.36133125641868 107.03500017963411 107.71252887266726 108.39388180927992 109.07902346323374 109.76791830829049 110.46053081821191 111.15682546675971 111.85676672769566 112.56031907478142 113.2674469817788 113.9781149224495 114.69228737055526 115.40992879985778 116.13100368411881 116.85547649710008 117.58331171256336 118.31447380427029 119.04892724598268 119.78663651146225 120.52756607447074 121.2716804087698 122.01894398812125 122.76932128628681 123.52276978437216 124.27917358722863 125.0383838781669 125.80025047265312 126.56462318615327 127.33135183413346 128.10028623205963 128.871276195398 129.64417153961452 130.4188220801753 131.1950776325463 131.97278801219358 132.75180303458333 133.5319725151815 134.31314626945417 135.09517411286734 135.87790586088715 136.6611913289796 137.44488033261075 138.22882268724666 139.0128682083534 139.79686671139697 140.5806680118435 141.36412192515897 142.14707826680947 142.92938685226105 143.7108974969798 144.49146001643166 145.27092422608283 146.0491399413992 146.82595697784703 147.60122515089216 148.3747942760008 149.14651416863893 149.9162346442726 150.68380308841375 + 7.900880579530634 9.481328277322671 11.089172873644836 12.72239492309679 14.37897346192404 16.056887526372034 17.754116152686272 19.468638377112192 21.198433235895276 22.941479765280995 24.695757001514846 26.45924398084225 28.22991973950871 30.005763313759704 31.784753739840674 33.56487005399711 35.344091292474474 37.12039649151825 38.89176468737391 40.65617491628689 42.411606214502726 44.156037618266815 45.88744816382467 47.60381688742176 49.303122825303525 50.98334501371549 52.642462488903114 54.27845428711181 55.88929944458711 57.47297699757447 59.02746598231934 60.55074543506721 62.04079439206353 63.49559188955383 64.91311696378351 66.29134865099807 67.6282765776759 68.92293814854558 70.17642234029383 71.39005130849186 72.565147208711 73.70303219652247 74.8050284274976 75.87245805720758 76.90664324122379 77.9089061351174 78.88056889445974 79.82295367482205 80.7373826317756 81.62517792089172 82.4876616977416 83.32615611789657 84.14198333692786 84.93646551040676 85.71092479390455 86.46668334299247 87.20506331324184 87.92738686022389 88.63497613950992 89.32915330667115 90.01124051727894 90.68255992690446 91.34443369111905 91.99818396549395 92.64513290560045 93.28660266700983 93.92391540529333 94.55839327602223 95.1913584347678 95.82413303710133 96.4580392385941 97.09439919481731 97.73450734652741 98.37899705234703 99.02784604447072 99.68100252170962 100.33841468287486 101.0000307267775 101.66579885222875 102.33566725803968 103.00958414302143 103.68749770598511 104.36935614574185 105.05510766110277 105.744700450879 106.43808271388164 107.13520264892183 107.83600845481072 108.54044833035937 109.24847047437895 109.96002308568055 110.67505436307532 111.39351250537436 112.11534571138881 112.8405021799298 113.56893010980843 114.30057769983584 115.03539314882313 115.77332465558146 116.51432041892188 117.25832863765562 118.00529751059369 118.75517523654729 119.50791001432752 120.2634500427455 121.02174352061233 121.78273864673918 122.54638361993713 123.31262147574961 124.08133758128123 124.85239255329644 125.62564568945167 126.40095628740315 127.1781836448073 127.95718705932039 128.7378258285989 129.51995925029908 130.3034466220773 131.0881472415898 131.87392040649306 132.66062541444342 133.44812156309715 134.2362681501106 135.02492447314015 135.8139498298421 136.60320351787288 137.39254483488875 138.1818330785461 138.97092754650123 139.75968753641058 140.54797234593036 141.33564127271694 142.12255361442678 142.90856866871607 143.69354573324128 144.47734410565866 145.2598230836246 146.04084196479545 146.82026004682757 147.5979366273772 148.37373100410085 149.1475024746547 149.91911033669518 150.6884114602402 + 7.838159725765053 9.396200666965735 10.980075962436077 12.587867199041574 14.21765447595756 15.86751789235932 17.53553754742219 19.219793540321447 20.91836597023241 22.629334936330384 24.350780537790698 26.08078287378861 27.817422043499466 29.55877814609857 31.3029312807612 33.04796154666269 34.791949042978345 36.53297386888346 38.26911612355335 39.998455906163315 41.71907331588869 43.42904845190473 45.12646141338677 46.80939229951012 48.475921209450085 50.124128242381964 51.7520934974811 53.35789707392272 54.93961907088222 56.49533958753486 58.023138723055936 59.52109657662078 60.98729324740467 62.41980883458297 63.81672343733093 65.17611715482387 66.49608025313182 67.77570245640938 69.01603100912718 70.21833556019592 71.38388575852639 72.51395125302929 73.60980169261543 74.67270672619549 75.70393600268032 76.70475917098057 77.67644588000704 78.62026577867046 79.53748851588158 80.42938374055117 81.29722110158995 82.14227024790873 82.96580082841818 83.76908249202909 84.55338488765221 85.31997766419826 86.07013047057806 86.8051129557023 87.52619476848173 88.23464555782715 88.93173497264924 89.61873266185879 90.29690827436656 90.96753145908328 91.63187186491969 92.29119914078657 92.94678293559464 93.59989289825467 94.25179867767739 94.90376992277356 95.55707628245398 96.21298740562928 96.87274603905462 97.53695181267139 98.20556686281485 98.87852454926212 99.55575823179032 100.23720127017646 100.92278702419772 101.61244885363112 102.3061201182538 103.00373417784284 103.70522439217535 104.41052412102837 105.11956672417902 105.83228556140443 106.54861399248162 107.26848537718773 107.99183307529982 108.71859044659503 109.4486908508504 110.18206764784306 110.91865419735007 111.65838385914854 112.40118999301556 113.14700595872824 113.89576511606366 114.64740082479888 115.40184644471103 116.15903533557719 116.91890085717444 117.68137636927986 118.4463952316706 119.21389080412372 119.9837964464163 120.75604551832541 121.5305713796282 122.30730739010174 123.0861834230834 123.86708606606838 124.64988464404779 125.43444720622298 126.22064180179522 127.00833647996586 127.7973992899362 128.58769828090766 129.37910150208145 130.171477002659 130.96469283184152 131.7586170388304 132.55311767282697 133.34806278303262 134.1433204186485 134.93875862887606 135.7342454629166 136.52964896997148 137.32483719924195 138.11967819992944 138.91404002123517 139.7077907123605 140.50079832250682 141.29293090087535 142.08405649666747 142.87404315908447 143.6627589373278 144.4500718805986 145.23585003809833 146.01996145902828 146.80227419258975 147.5826562879841 148.36097579441258 149.13710076107662 149.91089923717752 150.6822368470251 + 7.772700461113984 9.30824872908877 10.868068319261646 12.450342126030122 14.053251586887225 15.674978139325937 17.31370322083928 18.967608268920227 20.63487472106177 22.313684014756934 24.002217587498723 25.69865687678009 27.40118332009407 29.107978354933667 30.817223418791837 32.52709994916162 34.23578938353599 35.941473159407956 37.64233271427052 39.33654948561668 41.02230491093943 42.69778042773174 44.36115747348666 46.010617485697146 47.644341901856215 49.26051215945687 50.85730969599212 52.43291594895491 53.98551235583831 55.51328035413527 57.014401381338786 58.48705687494187 59.929428272437534 61.33969701131876 62.716044529078545 64.0566522632099 65.35971139173486 66.6243638531598 67.85161432242181 69.042679020203 70.19877416718556 71.32111598405166 72.41092069148348 73.46940451016316 74.49778366077297 75.49727436399496 76.4690928405114 77.41445531100439 78.33457799615614 79.23067711664885 80.10396889316463 80.9556695463857 81.78699529699422 82.59916236567236 83.39338697310228 84.17088533996618 84.93287368694624 85.68056823472459 86.41518520398344 87.13794081540495 87.85005128967128 88.55273284746464 89.24720170946716 89.93467409636105 90.61636622882845 91.2934943275516 91.96727461321257 92.63892330649361 93.30965662807685 93.98069079864449 94.65324203887873 95.32852656946166 96.00773456915574 96.69143216692252 97.37956723091784 98.07205965771283 98.76882934387852 99.46979618598597 100.17488008060624 100.88400092431037 101.59707861366942 102.31403304525445 103.03478411563654 103.75925172138672 104.48735575907601 105.21901612527556 105.95415271655635 106.69268542948949 107.434534160646 108.17961880659693 108.92785926391339 109.67917542916636 110.43348719892695 111.1907144697662 111.95077713825519 112.71359510096497 113.47908825446655 114.24717649533105 115.01777972012948 115.79081782543291 116.56621070781244 117.34387826383903 118.12374039008384 118.9057169831179 119.6897279395122 120.47569315583787 121.26353252866592 122.05316595456748 122.84451137474878 123.6374565614904 124.4318788595836 125.22765437620811 126.02465921854346 126.82276949376933 127.62186130906531 128.4218107716111 129.22249398858628 130.0237870671705 130.82556611454334 131.6277072378844 132.4300865443734 133.23258014118997 134.03506413551364 134.83741463452412 135.639507745401 136.44121957532397 137.24242623147256 138.04300382102642 138.84282845116522 139.64177622906863 140.43972326191616 141.23654565688744 142.03211952116223 142.82632096192006 143.61902608634057 144.41011100160338 145.1994518148881 145.98692463337443 146.77240556424192 147.55577071467025 148.33689619183906 149.11565810292785 149.89193255511645 150.66559323384723 + 7.704426579916836 9.217447973959544 10.75318124335796 12.309910597864182 13.885918821162706 15.479488696937969 17.088903008874457 18.712444540656595 20.348396075968868 21.995040398495714 23.650660291921636 25.31353853993104 26.981957926208413 28.654201234438226 30.3285512483049 32.003290751492926 33.676702527686764 35.347069360570856 37.01267403382969 38.67179933114768 40.32272803620935 41.963742932699084 43.59312680430139 45.20916243470072 46.81013260758153 48.39432010662828 49.96000771552546 51.50547821795745 53.02901439760879 54.528899038163914 56.00341492330726 57.45084483672331 58.86947156209651 60.25757788311135 61.61344658345225 62.9353604468037 64.22161156922063 65.47139387562413 66.68566879019855 67.86559837191385 69.01234467974008 70.12706977264725 71.21093570960541 72.26510454958454 73.29073835155475 74.28899917448598 75.2610490773483 76.20805011911172 77.13116435874628 78.03155385522199 78.91038066750889 79.76880685457701 80.60799447539634 81.42910558893693 82.23330225416882 83.021746530062 83.79560047558655 84.55602614971244 85.30418561140974 86.04124091964843 86.76835413339857 87.48668731163018 88.19740251331328 88.9016617974179 89.60062722291404 90.29546084877181 90.98732473396113 91.67738093745209 92.36679151821465 93.05671853521892 93.7483240474349 94.44277011383257 95.14119365405809 95.84412758788544 96.55150678800621 97.2632390035248 97.97923198354573 98.69939347717332 99.4236312335121 100.15185300166644 100.88396653074084 101.61987956983967 102.3594998680674 103.10273517452846 103.84949323832726 104.59968180856828 105.35320863435591 106.10998146479461 106.86990804898879 107.63289613604293 108.39885347506144 109.16768781514874 109.93930690540925 110.71361849494745 111.49053033286778 112.26995016827463 113.05178575027244 113.83594482796569 114.62233515045877 115.41086446685613 116.20144052626222 116.99397107778141 117.78836387051822 118.58452665357704 119.38236717606232 120.18179318707845 120.98271243572994 121.78503267112117 122.58866107912108 123.39348658744754 124.19939390906656 125.00626655264806 125.81398802686188 126.62244184037793 127.43151150186604 128.24108051999616 129.05103240343814 129.86125066086188 130.67161880093713 131.48202033233392 132.29233876372206 133.10245760377146 133.91226036115197 134.72163054453347 135.53045166258582 136.33860722397898 137.14598073738273 137.952455711467 138.75791565490164 139.56224407635656 140.36532448450163 141.1670403880067 141.96727529554167 142.7659127157764 143.56283615738084 144.35792912902474 145.1510751393781 145.9421576971107 146.7310603108925 147.51766648939335 148.30185974128312 149.08352357523165 149.8625414999089 150.6387946057854 + 7.633261876513018 9.123773911845804 10.635446033961424 12.166663508345493 13.715810205233655 15.28126999486149 16.861426747464627 18.454664333278647 20.059366622539162 21.67391748548178 23.296700792342133 24.926100413355776 26.56050021875835 28.19828407878546 29.83783586367268 31.477539443655655 33.11577868896997 34.75093746985122 36.38139965653505 38.00554911925703 39.621769728252794 41.22844535375791 42.823959866008 44.40669713523868 45.975041031685535 47.52737542558421 49.062084187170285 50.57755118667933 52.072160294347036 53.544295380408926 54.99234031510065 56.414678968657796 57.809695211315976 59.17577291331081 60.51129594487787 61.814648176252796 63.08422236132467 64.31926406062958 65.52069092247817 66.68961029872918 67.82712954124143 68.9343560018737 70.0123970324848 71.06235998493347 72.0853522110786 73.08248106277888 74.05485389189316 75.00357805028021 75.9297608897988 76.8345097623078 77.71893201966591 78.584135013732 79.43122609636478 80.26131261942311 81.07550193476574 81.87490139425147 82.66061834973912 83.43376015308748 84.19543415615529 84.94674771080138 85.68880816888453 86.42272288226356 87.14959920279722 87.87054448234433 88.58666607276366 89.29907132591404 90.00886759365423 90.71716222784302 91.42506258033917 92.13367600300157 92.84410984768896 93.55747146626008 94.27484401098893 94.99672754834516 95.7230451733063 96.45369374316101 97.18857011519795 97.92757114670572 98.67059369497301 99.4175346172884 100.16829077094059 100.9227590132182 101.68083620140986 102.44241919280424 103.20740484468995 103.97569001435565 104.74717155908998 105.52174633618161 106.2993112029191 107.07976301659117 107.86299863448644 108.64891491389356 109.43740871210116 110.22837688639785 111.02171629407236 111.81732379241328 112.61509623870921 113.41493049024886 114.21672340432085 115.02037183821378 115.82577264921638 116.63282269461719 117.44141883170494 118.25145791776822 119.0628368100957 119.87545236597599 120.68920144269775 121.50398089754967 122.31968828457558 123.1362136638401 123.9534485016593 124.77128308878387 125.58960771596446 126.40831267395184 127.22728825349665 128.0464247453497 128.8656124402616 129.68474162898315 130.50370260226495 131.32238565085768 132.1406810655122 132.95847913697918 133.77567015600917 134.59214441335305 135.40779219976142 136.2225038059851 137.03616952277466 137.8486796408809 138.65992445105445 139.46979424404608 140.2781793106065 141.08496994148635 141.8900564274364 142.6933290592073 143.49467812754983 144.29399392321463 145.0911667369524 145.88608685951388 146.67864458164982 147.46873019411083 148.2562339876477 149.04104625301105 149.82305728095167 150.60215494791814 + 7.559130145241934 9.027202053015307 10.514893990308455 12.020691751275804 13.543079765549733 15.080542462762576 16.631564272546708 18.194629624534446 19.768222948358154 21.35082867365018 22.94093123004291 24.537015047168634 26.137564554659743 27.74106418214858 29.345998359267483 30.950851515648818 32.55410808092492 34.154252484728154 35.749769156690874 37.339142526445414 38.920857023624144 40.49339707785939 42.05524711878351 43.60489157602887 45.140814879227804 46.661501458012665 48.16543574201584 49.65110216086961 51.11698514420638 52.561569121658486 53.98333852285827 55.380777777438084 56.752371315030274 58.09660356526723 59.411958957781245 60.6969219222047 61.949985343782544 63.17044594500335 64.35917722928143 65.5172314840497 66.64566099674113 67.74551805478865 68.81785494562526 69.86372395668384 70.88417737539746 71.88026748919899 72.85304658552138 73.80356695179762 74.73288087546064 75.64204064394345 76.53209854467893 77.4041068651001 78.25911789263986 79.0981839147312 79.92235721880704 80.73269009230034 81.53023482264413 82.3160436972713 83.0911690036148 83.8566630291076 84.61357806118266 85.36296638727292 86.10588029481136 86.84337207123092 87.57649400396453 88.30629838044521 89.03383748810585 89.76016361437941 90.48632904669888 91.2133860724972 91.94238697920736 92.67438405426225 93.41040635717556 94.15092152108667 94.89584202604459 95.64505503308446 96.39844770324137 97.15590719755039 97.91732067704667 98.68257530276524 99.45155823574123 100.22415663700976 101.00025766760588 101.77974848856469 102.56251626092133 103.34844814571088 104.13743130396837 104.92935289672901 105.72410008502781 106.52156002989992 107.3216198923804 108.12416683350436 108.92908801430687 109.73627059582307 110.54560173908807 111.35696860513693 112.17025835500472 112.9853581497266 113.80215515033761 114.6205365178729 115.44038941336753 116.26160099785659 117.08405843237519 117.90764887795847 118.73225949564146 119.55777744645928 120.38408989144699 121.2110839916398 122.03864873948756 122.86667531056844 123.69506134652453 124.52370333785655 125.3524977750652 126.18134114865131 127.01012994911548 127.83876066695859 128.66712979268135 129.49513381678446 130.32266922976865 131.14963252213465 131.97592018438328 132.80142870701525 133.62605458053122 134.44969429543204 135.27224434221836 136.09360121139096 136.91366139345058 137.73232137889798 138.54947765823383 139.36502672195897 140.17886506057405 140.9908891645798 141.80099552447706 142.60908063076647 143.41504097394883 144.21877304452485 145.02017333299528 145.81913832986086 146.61556452562232 147.40934841078038 148.20038647583584 148.98857521128937 149.77381110764176 150.55598824532427 + 7.481955180442994 8.92770790773581 10.391556411635467 11.87208622045685 13.367881528560604 14.87752653030731 16.399605420057615 17.93270239217208 19.475401641011334 21.026287360935992 22.583943746306677 24.14695499148396 25.71390529082847 27.28337883870083 28.853959829461616 30.424232457471458 31.992780917090965 33.55818940268074 35.1190421086014 36.67392322921355 38.2214169588778 39.76010749195474 41.288579022804996 42.805415745789176 44.30920185526789 45.798521545601744 47.27195901115137 48.728098446277315 50.16552404534027 51.58282000270077 52.97857051271947 54.35135976975695 55.699771968173835 57.02239130233074 58.317801966588256 59.58458815530701 60.82134209232983 62.02741106557273 63.20362422062919 64.35097861127619 65.47047129129075 66.56309931444981 67.62985973453046 68.67174960530961 69.68976598056437 70.68490591407163 71.65816645960845 72.61054467095182 73.54303760187872 74.4566423061662 75.3523558375912 76.23117524993076 77.09409759696186 77.94211993246151 78.77623931020672 79.59745278397445 80.40675740754176 81.20515023468559 81.993628319183 82.77318871481093 83.54482847534643 84.30954465456648 85.06833430624805 85.82219448416822 86.57212224210389 87.31911463383214 88.06416871312994 88.80828153377429 89.55245014954217 90.2976716142106 91.04494298155663 91.79526130535717 92.54960140984527 93.30839897889497 94.07155698544753 94.83895402975818 95.61046871208214 96.38597963267462 97.16536539179084 97.948504589686 98.73527582661534 99.52555770283405 100.31922881859737 101.11616777416049 101.91625316977864 102.71936360570703 103.52537768220088 104.33417399951541 105.14563115790581 105.95962775762732 106.77604239893515 107.59475368208453 108.41564020733061 109.23858057492869 110.06345338513394 110.8901372382016 111.71851073438684 112.54845247394493 113.37984105713106 114.21255508420043 115.0464731554083 115.88147387100977 116.71743583126023 117.55423763641477 118.39175788672864 119.22987518245705 120.06846812385521 120.9074153111784 121.7465981922323 122.58590904753281 123.42525115282487 124.26452665310711 125.10363769337812 125.94248641863648 126.78097497388079 127.61900550410975 128.45648015432192 129.29330106951588 130.12937039469023 130.96459027484354 131.79886285497457 132.63209028008185 133.46417469516388 134.29501824521938 135.12452307524697 135.9525913302452 136.7791251552127 137.6040266951481 138.4271980950499 139.24854149991685 140.06795905474746 140.88535290454038 141.70062519429425 142.5136780690076 143.32441367367906 144.13273415330727 144.9385416528908 145.74173831742823 146.5422262919183 147.33990772135945 148.13468475075038 148.9264595250897 149.715134189376 150.50060848308252 + 7.401660776455609 8.825266986275073 10.26546459717888 11.720937809690392 13.190369520715935 14.67244262716179 16.16584002593427 17.669244613939643 19.181339288084214 20.70080694527428 22.22633048241616 23.7565927964161 25.290276784180428 26.826065342615443 28.362641368627415 29.898687759122655 31.432887411007446 32.9639232211881 34.49047808657092 36.01123490406216 37.52487657056816 39.03008598299518 40.52554603824953 42.00993963323751 43.4819496648654 44.94025903003951 46.38355062566615 47.810507348651555 49.21981209590209 50.61014776432401 51.98019725082362 53.328643452307205 54.65416926568106 55.95545758785152 57.23119131572483 58.4800533462073 59.70073418270217 60.892630959165 62.056528406542284 63.19336836380942 64.30409266994182 65.3896431639149 66.45096168470405 67.48899007128472 68.50467016263232 69.49894379772223 70.47275281552987 71.42703905503066 72.3627443552 73.28081055501333 74.182179493446 75.0677930094735 75.9385929420712 76.7955211302145 77.63951941287883 78.47152962903958 79.2924936176722 80.10335321775207 80.90505026825463 81.69852660815525 82.48472407642939 83.26458451205241 84.03904975399976 84.80906164124684 85.57556201276903 86.33949270754184 87.10179556454054 87.86341242274065 88.62528512111751 89.3883554986466 90.15356539430331 90.92185664706302 91.69414988622545 92.47084939455516 93.25184969074158 94.03702188964523 94.82623710612644 95.61936645504566 96.4162810512633 97.21685200963977 98.02095044503551 98.8284474723109 99.63921420632637 100.45312176194233 101.27004125401919 102.08984379741737 102.91240050699732 103.73758249761943 104.56526088414404 105.3953067814317 106.22759130434274 107.06198556773758 107.89836068647664 108.73658777542033 109.57653794942914 110.41808232336338 111.26109201208354 112.10543813044998 112.95099179332313 113.79762411556342 114.64520621203127 115.49360919758705 116.34270418709124 117.19236229540422 118.04245463738641 118.8928523278982 119.74342648180004 120.59404821395233 121.44459239118513 122.29495239463355 123.14503662972305 123.99475238777663 124.84400696011717 125.69270763806763 126.54076171295092 127.38807647609006 128.23455921880793 129.0801172324275 129.9246578082716 130.76808823766328 131.61031581192546 132.45124782238108 133.290791560353 134.1288543171643 134.96534338413775 135.80016605259647 136.63322961386322 137.46444135926103 138.2937085801128 139.12093856774155 139.94603861347014 140.76891600862152 141.58947804451861 142.4076320124844 143.2232852038418 144.03634490991374 144.84671842202312 145.654313031493 146.45903602964617 147.26079470780567 148.0594963572944 148.85504826943526 149.64735773555128 150.43632964627153 + 7.318170727619178 8.71985479890085 10.136649846175098 11.567337412778157 13.010697768465377 14.465511182992072 15.930557926113579 17.404618267585196 18.88647247716226 20.37490082460009 21.868683579654036 23.366601012079375 24.867433391631454 26.369960988065618 27.872964071137144 29.375222910601387 30.87551777621366 32.37262893772929 33.86533666490361 35.35242122749192 36.83266289524957 38.304841937931855 39.76773862529411 41.220133227091665 42.660806013079835 44.08853725301395 45.50210721664935 46.900296173741296 48.28188439404519 49.64565214731631 50.99037970330999 52.314847331781536 53.61783530248629 54.898123885179594 56.15449334961673 57.385723965553055 58.59060319063506 59.76857716260732 60.92038629704144 62.04691742505005 63.149057377745855 64.22769298624148 65.28371108164964 66.31799849508297 67.33144205765424 68.32492860047601 69.299344954661 70.25557795132185 71.19451442157128 72.11704119652194 73.0240451072865 73.91641298497767 74.79503166070805 75.66078796559036 76.51456873073728 77.35726078726142 78.18975096627557 79.01292609889231 79.82767301622432 80.6348785493843 81.43542952948492 82.23021278763882 83.02011515495873 83.80602346255728 84.58882454154714 85.36940522304101 86.14865233815155 86.92745271799143 87.7066931936733 88.48726059630988 89.27004175701384 90.0559235068978 90.84577250354327 91.63996224085214 92.43837978115316 93.24088976920854 94.04735684978036 94.85764566763069 95.67162086752172 96.48914709421554 97.31008899247423 98.13431120705992 98.96167838273473 99.79205516426077 100.62530619640015 101.46129612391499 102.29988959156739 103.14095124411948 103.98434572633337 104.82993768297115 105.67759175879496 106.5271725985669 107.37854484704908 108.23157314900364 109.08612214919266 109.94205649237827 110.79924082332258 111.6575397867877 112.51681802753575 113.37694019032884 114.23777091992908 115.09917486109855 115.96101665859945 116.8231609571938 117.68547240164378 118.54781563671146 119.41005530715896 120.27205605774843 121.13368708472133 121.9948428717709 122.85543648638169 123.71537989510607 124.57458506449635 125.43296396110492 126.29042855148414 127.14689080218638 128.00226267976402 128.85645615076936 129.70938318175473 130.56095573927257 131.41108578987527 132.2596853001151 133.10666623654444 133.95194056571566 134.79542025418115 135.63701726849325 136.4766435752043 137.31421114086666 138.14963193203263 138.9828179152547 139.81368105708523 140.64213332407644 141.46808668278078 142.29145309975056 143.1121445415382 143.93007297469606 144.74515036577645 145.55728868133176 146.36639988791433 147.1723959520765 147.97518884037072 148.77469051934924 149.57081295556446 150.36346571997007 + 7.231408828273119 8.611446855880901 10.005143457860544 11.4113759235219 12.829020298258605 14.256952627464253 15.694048956532471 17.13918533085684 18.59123779583098 20.0490823968485 21.511595179303033 22.97765218858814 24.44612947009746 25.9159030692246 27.38584903136315 28.85484340190674 30.321762226248968 31.785481549783437 33.24487741790377 34.69882587600357 36.14620296947645 37.585884743715994 39.01674724411583 40.43766651606956 41.8475186049708 43.24517955621316 44.62952541519026 45.99943222729566 47.35377603792302 48.69143289246592 50.01127883631797 51.31218991487279 52.59304217352398 53.852711657665154 55.09007441268992 56.30400648399188 57.49339069186414 58.65772121272703 59.79769440214754 60.9141424783989 62.00789765975443 63.079792164487316 64.13065821087092 65.1613280171784 66.17263380168316 67.16540778265838 68.14048217837733 69.09868920711331 70.04086108713956 70.96783003672938 71.880428274156 72.77948801769274 73.66584148561282 74.54032089618954 75.40375846769612 76.25698641840589 77.10083696659208 77.93614233052801 78.76373472848687 79.58444637874196 80.3991094995666 81.208556309234 82.01361902601742 82.81512986819018 83.61392105402551 84.4108248017967 85.20667332977699 86.00229885623968 86.79853359945803 87.59620977770528 88.39615960925477 89.19921531237966 90.00618997902615 90.817426990571 91.63280689590874 92.45218882491119 93.27543190745007 94.10239527339705 94.93293805262391 95.76691937500233 96.60419837040412 97.44463416870092 98.2880858997645 99.13441269346654 99.98347367967882 100.83512798827306 101.68923474912097 102.54565309209428 103.40424214706469 104.26486104390399 105.12736891248386 105.99162488267604 106.85748808435223 107.72481764738419 108.59347270164366 109.46331237700232 110.33419580333194 111.20598211050424 112.0785304283909 112.9516998868637 113.82534961579432 114.69933874505452 115.57352640451606 116.44777172405058 117.32193383352988 118.19587186282565 119.06944494180964 119.94251220035356 120.81493802121618 121.68661799884522 122.5574694319635 123.4274085283365 124.29635149572971 125.16421454190862 126.03091387463873 126.89636570168562 127.76048623081473 128.62319166979157 129.4843982263816 130.34402210835034 131.20197952346334 132.0581866794861 132.91255978418403 133.76501504532268 134.61546867066758 135.46383686798427 136.31003584503813 137.15398180959474 137.99559096941957 138.83477953227816 139.671463705936 140.50555969815855 141.33698371671133 142.16565196935983 142.99148066386962 143.81438600800615 144.63428420953488 145.4510914762214 146.26472401583112 147.0750980361296 147.88212974488235 148.68573534985478 149.4858310588125 150.28233068925687 + 7.141298872756832 8.500018667482973 9.870976731471623 11.253144235723358 12.645491136545266 14.046987390244404 15.456602953127847 16.87330778150264 18.296071831675857 19.72386505995456 21.155657422645838 22.590418876056713 24.027119376494277 25.4647288802656 26.902217343677716 28.33855472303772 29.772710974652657 31.2036560548296 32.63035991987563 34.05179252609778 35.46692382980314 36.874723787298755 38.2741623548917 39.664209488889036 41.043835145597825 42.41200928132514 43.76770185237807 45.1098828150636 46.437522125688886 47.749589740560936 49.04505561598684 50.32288970827364 51.58206197372842 52.82154236865825 54.040300849370176 55.237307372171266 56.41153826212492 57.562534646351295 58.69094923188132 59.79756020725665 60.883145761018994 61.94848408171 62.994353357871404 64.02153177804482 65.03079753077202 66.0229288045946 66.99870378805429 67.95890066969275 68.90429763805167 69.83567288167276 70.75380458909767 71.65947094886812 72.55345014952574 73.43652037961225 74.30945982766931 75.1730466822386 76.0280591318619 76.87527536508074 77.71547357043688 78.54943193647205 79.37792865172783 80.20174190474597 81.02164988406814 81.83843077823603 82.65286277579129 83.46572406527568 84.27779283523078 85.08984727419835 85.90266557072002 86.71702591333752 87.53370649059251 88.35348549102667 89.17712302990131 90.00493311649666 90.8367906742347 91.67255021321616 92.51206624354167 93.35519327531189 94.20178581862753 95.05169838358923 95.90478548029769 96.76090161885355 97.61990130935754 98.48163906191026 99.34596938661241 100.2127467935647 101.08182579286775 101.95306089462228 102.82630660892892 103.70141744588838 104.5782479156013 105.45665252816835 106.33648579369024 107.21760222226762 108.09985632400118 108.98310260899156 109.86719558733947 110.75198976914555 111.63733966451048 112.52309978353496 113.40912463631962 114.29526873296514 115.18138658357226 116.06733269824159 116.95296158707379 117.83812776016954 118.72268572762955 119.6064899995545 120.48940094904498 121.37131529575679 122.2521541756311 123.13183764070891 124.01028574303118 124.88741853463887 125.76315606757302 126.63741839387465 127.51012556558472 128.3811976347442 129.25055465339403 130.11811667357532 130.983803747329 131.8475359266961 132.70923326371755 133.56881581043436 134.42620361888754 135.28131674111808 136.13407522916697 136.98439913507517 137.8322085108837 138.67742340863356 139.51996388036574 140.35974997812116 141.1967017539409 142.03073925986592 142.86178254793722 143.68975167019582 144.5145666786826 145.33614762543863 146.15441456250497 146.96928754192245 147.78068661573218 148.5885318359751 149.39274325469225 150.19323853921057 + 7.047764655409726 8.385545743974832 9.734180966244756 11.092733243184277 12.460264309775031 13.835835900998605 15.218509751836631 16.607347597270685 18.001411172282385 19.399762211853336 20.801462450965165 22.205573624599445 23.611157467737797 25.017275715361848 26.42299010245316 27.827362363993373 29.229454234964084 30.628327450346895 32.02304374512343 33.41266485427528 34.79625251278406 36.172868455631345 37.541574417798785 38.90143213426796 40.251503340020484 41.59084977003797 42.91853315930203 44.23361524279423 45.53515775549623 46.8222224323896 48.09387100845596 49.34916521867691 50.58716679803406 51.80693748150903 53.0075390040834 54.18803310073879 55.347487477153045 56.48548900030741 57.602647296263626 58.69968729502407 59.777333926591155 60.83631212096726 61.877346808154805 62.90116291815616 63.908485380973794 64.90003912661004 65.87654908506732 66.83874018634803 67.78733736045459 68.72306553738937 69.6466496471548 70.55881461975326 71.46028538518716 72.35178687345889 73.23404401457087 74.10778173852547 74.97372497532514 75.83259865497223 76.68512770746916 77.53203706281832 78.37405165102214 79.211896402083 80.0462962460033 80.87797611278545 81.70766093243182 82.53607563494486 83.36394515032693 84.19199440858044 85.02094833970779 85.85153187371138 86.68446994059364 87.52048747035693 88.36029237339606 89.20417009141423 90.05199075535756 90.90360509058651 91.75886382246136 92.6176176763425 93.47971737759036 94.34501365156524 95.21335722362753 96.08459881913761 96.95858916345584 97.83517898194256 98.71421899995819 99.59555994286309 100.47905253601759 101.3645475047821 102.25189557451694 103.14094747058253 104.03155391833921 104.92356564314737 105.81683337036735 106.71120782535952 107.60653973348431 108.502679820102 109.39947881057302 110.29678743025774 111.19445640451647 112.09233645870964 112.99027831819758 113.88813270834068 114.7857503544993 115.68298198203381 116.5796783163046 117.47569008267197 118.37086800649637 119.26506281313813 120.158131616583 121.0499722824059 121.94050942654721 122.82966658546435 123.71736729561476 124.60353509345595 125.4880935154453 126.37096609804034 127.25207637769854 128.13134789087735 129.0087041740341 129.8840687636264 130.75736519611166 131.62851700794735 132.49744773559087 133.36408091549973 134.2283400841314 135.09014877794334 135.94943053339296 136.80610888693775 137.66010737503512 138.51134953414265 139.35975890071768 140.20525901121766 141.04777340210015 141.88722560982254 142.7235391708423 143.5566376216169 144.38644449860374 145.21288333826033 146.03587767704417 146.85535105141264 147.67122699782323 148.48342905273338 149.29188075260055 150.09650325490995 + 6.950729970571215 8.268003595624235 9.594787461416358 10.93023383970641 12.273493844397564 13.623718589392952 14.980059188595744 16.341666755909063 17.707692405236067 19.077287250479902 20.449602405543736 21.823788984330683 23.19899810074391 24.57438086868658 25.949088402061804 27.32227181477276 28.693082220722584 30.060670733814426 31.424188467951453 32.78278653703678 34.13561605497358 35.48182813566498 36.82057389301416 38.15100444092423 39.472270893298365 40.783524364039714 42.08391596705141 43.372596816236594 44.648718025498454 45.9114307087401 47.15988597986469 48.39323495277537 49.61062874137531 50.81121845956763 51.99415522125549 53.15859014034204 54.30367991268408 55.429055811422636 56.53528510531529 57.62304042510192 58.692994401522455 59.74581966531676 60.78218884722479 61.80277457798639 62.80824948834153 63.79928620903007 64.77655737079192 65.74073560436702 66.6924935404952 67.63250380991646 68.56143904337061 69.47997187159766 70.38877492533742 71.28852083532983 72.17988223231481 73.06353174703224 73.94014201022206 74.81038565262413 75.67493530497839 76.53446359802473 77.38964316250306 78.24114662915328 79.08964662871527 79.93581579192902 80.78032674953431 81.62385213227115 82.4670645708794 83.31063669609897 84.15524113866975 85.00155052933168 85.85023749882467 86.70197467788854 87.55741872673777 88.41682738810871 89.28006677850377 90.14698461348523 91.01742860861529 91.89124647945616 92.76828594157016 93.64839471051943 94.53142050186625 95.4172110311728 96.30561401400139 97.19647716591417 98.08964820247343 98.98497483924136 99.88230479178023 100.78148577565227 101.68236550641966 102.5847916996447 103.48861207088957 104.39367433571651 105.29982620968778 106.20691540836556 107.11478964731215 108.02329664208975 108.93228410826056 109.84159976138686 110.75109131703083 111.66060649075474 112.56999299812084 113.47909855469128 114.38777087602838 115.29585767769433 116.20320667525135 117.10966558426172 118.01508212028763 118.91930399889132 119.82218577220556 120.7236264786929 121.62355389387449 122.52189471584386 123.41857564269452 124.31352337252001 125.20666460341387 126.09792603346966 126.98723436078087 127.87451628344108 128.75969849954367 129.64270770718235 130.52347060445064 131.40191388944197 132.27796426024986 133.15154841496795 134.02259305168968 134.89102486850868 135.7567705635184 136.61975683481234 137.47991038048403 138.33715789862717 139.19142608733512 140.04264164470143 140.89073126881968 141.73562165778338 142.57723950968608 143.41551152262124 144.25036439468246 145.08172482396324 145.90951950855717 146.7336751465577 147.5541184360584 148.3707760751528 149.18357476193438 149.9924388214337 + 6.850118612580702 8.14736773269893 9.45282751622284 10.765736919091491 12.085333766862522 13.410855885093515 14.741541099342097 16.076627235165848 17.415352118122378 18.756953573769305 20.10066942766424 21.44573750536475 22.791395632428472 24.136881634413008 25.48143333687594 26.8242885653749 28.16468514546747 29.501860902711275 30.835053662663913 32.16350125088298 33.4864414929261 34.80311221435085 36.11275124071484 37.41459639757569 38.707885510491 39.99185640501837 41.26574690671542 42.528794841139714 43.78023803384892 45.01931431040058 46.245261496352335 47.45731741726177 48.65471989868651 49.83670676618415 51.00251584531229 52.15138496162853 53.28255714445359 54.3957066165242 55.4913591690571 56.57013628089093 57.6326594308644 58.67955009781616 59.711429760584934 60.72891989800935 61.732641988928165 62.72321751217998 63.70126794660351 64.66741477103743 65.62227946432043 66.56648350529119 67.50064837278836 68.42539554565069 69.34134650271679 70.24912272282538 71.1493456848151 72.04263686752466 72.9296177497928 73.81090981045807 74.68713452835927 75.55891338233502 76.426867851224 77.29161941386492 78.15378954909643 79.01399973575724 79.872871452686 80.73102617872144 81.58908539270216 82.44767057346692 83.30740319985436 84.16890475070316 85.03279670485203 85.89970054113961 86.77022280715367 87.64459447936508 88.52267838289973 89.40431993837532 90.28936456640957 91.17765768762008 92.06904472262462 92.96337109204079 93.8604822164863 94.76022351657886 95.66244041293608 96.56697832617567 97.47368267691533 98.38239888577272 99.29297237336549 100.20524856031138 101.119072867228 102.03429071473307 102.95074752344426 103.86828871397927 104.78675970695572 105.70600592299132 106.62587278270381 107.54620570671078 108.4668501156299 109.38765143007893 110.30845507067546 111.22910645803726 112.14945101278195 113.0693341555272 113.98860130689071 114.90709788749018 115.82466931794322 116.74116101886757 117.6564184108809 118.57028691460087 119.48261916428798 120.39331540451805 121.30230628677559 122.20952138508841 123.11489027348438 124.01834252599132 124.919807716637 125.81921541944939 126.71649520845627 127.61157665768546 128.5043893411648 129.39486283292206 130.28292670698522 131.16851053738205 132.05154389814032 132.93195636328798 133.80967750685278 134.68463690286265 135.55676412534532 136.4259887483287 137.29224034584055 138.15544849190883 139.0155427605613 139.87245272582578 140.7261079617301 141.57643804230213 142.42337254156976 143.26684103356075 144.10677309230294 144.9430982918242 145.77574620615232 146.60464640931522 147.42972847534065 148.25092197825649 149.06815649209054 149.88135922386056 + 6.745854375777593 8.02361366546668 9.308332429900611 10.599333375141265 11.89593810361956 13.197468217766367 14.503245320012596 15.812591012789115 17.12482689852682 18.4392745796566 19.755255658609368 21.072091737815978 22.389104419707337 23.705615306714343 25.02094600126787 26.33441810579881 27.645353222738063 28.95307295451651 30.256898903565055 31.556152672314564 32.850155863195965 34.138230078640085 35.419696921077865 36.693877992940195 37.960094896657935 39.21766923466199 40.46592260938327 41.70417662325263 42.93175287870098 44.14797297815921 45.352158524058204 46.54363111882884 47.72171236490203 48.885723864708666 50.03498722067961 51.16882403524578 52.286560748197125 53.38791295243931 54.4733659975098 55.54349154579178 56.59886125966849 57.6400468015231 58.66761983373886 59.68215201869895 60.68421501878663 61.67438049638507 62.65322011387748 63.621305533647096 64.57920841807712 65.52750042955077 66.46675323045123 67.39753848316178 68.32042785006553 69.23599299354579 70.14480557598571 71.04743725976851 71.94445970727747 72.8364445808957 73.72396354300646 74.607588255993 75.48789038223845 76.36544158412607 77.24081352403908 78.11457786436071 78.9873062674741 79.85957039576253 80.73194191160916 81.60499247739725 82.47929375550996 83.35541740833055 84.23393509824226 85.11541848762819 86.00042533187107 86.88916083796832 87.78148520777185 88.67724222171981 89.57627566025033 90.4784293038015 91.38354693281147 92.29147232771838 93.20204926896034 94.11512153697544 95.03053291220189 95.94812717507773 96.86774810604112 97.7892394855302 98.71244509398309 99.63720871183793 100.5633741195328 101.49078509750586 102.41928542619522 103.34871888603902 104.27892925747537 105.20976032094244 106.14105585687828 107.0726596457211 108.00441546790894 108.93616710388002 109.86775833407236 110.79903293892417 111.72983469887355 112.6600073943586 113.5893948058175 114.51784071368832 115.44518889840924 116.37128314041833 117.29596722015374 118.21908491805362 119.14048754120549 120.06007657978162 120.97778531441317 121.89354594643908 122.80729067719834 123.71895170802999 124.62846124027301 125.53575147526647 126.4407546143493 127.34340285886061 128.24362841013922 129.1413634695243 130.0365402383548 130.92909091796977 131.8189477097081 132.70604281490893 133.59030843491118 134.4716767710539 135.3500800246761 136.2254503971167 137.09772008971478 137.9668213038094 138.83268624073946 139.695247101844 140.55443608846204 141.41018540193258 142.26242724359466 143.1110938147872 143.95611731684926 144.7974299511199 145.634963918938 146.4686514216427 147.2984246605729 148.12421583706768 148.94595715246592 149.7635784472692 + 6.637861054501296 7.896716904195236 9.16133350168609 10.431114101657478 11.705460881118347 12.983776017077597 14.265461686544166 15.549920066526948 16.836553334034875 18.12476366607686 19.413953239661847 20.703524231798713 21.9928788194964 23.281419179763834 24.568547489609905 25.85366592604355 27.136176666073695 28.41548188670924 29.69098376495913 30.962084477832256 32.22818620233756 33.48869111548393 34.74300139428031 35.9905192157356 37.23064675685875 38.46278619465864 39.686339706144224 40.90070946832438 42.105297658208066 43.29950645280418 44.48273802912164 45.65439456416937 46.81387823495629 47.96059121849132 49.09393569178337 50.21331383184136 51.31813229965029 52.40814635599524 53.48380210069425 54.54562290320526 55.59413213298629 56.62985315949526 57.653309352190234 58.66502408052911 59.66552071396996 60.655322621970704 61.63495317398934 62.60493573948384 63.56579368791221 64.51805038873245 65.46222921140249 66.39885352538036 67.32844670012403 68.25153210509146 69.16863310974065 70.08027308352958 70.98697539591628 71.88926341635866 72.78766051431472 73.68269005924249 74.57487542059991 75.46473996784498 76.35280707043565 77.23960009782996 78.12564241948586 79.01145740486135 79.89756842341437 80.78449884460296 81.67277203788505 82.56291137271867 83.45544021856182 84.35088194487238 85.24974701811728 86.1522159367035 87.05814689234663 87.96738261998172 88.87976585454373 89.79513933096764 90.71334578418849 91.6342279491412 92.55762856076085 93.48339035398236 94.41135606374074 95.34136842497101 96.27327017260811 97.20690404158708 98.14211276684289 99.07873908331052 100.016625725925 100.95561542962129 101.89555092933439 102.8362749599993 103.77763025655098 104.71945955392447 105.66160558705472 106.60391109087679 107.54621880032558 108.48837145033613 109.43021177584345 110.37158251178248 111.31232639308826 112.25228615469574 113.19130453153994 114.12922425855587 115.06588807067847 116.00113870284278 116.93481888998375 117.86677136703642 118.79684665133337 119.72494752438396 120.65100968594989 121.57496775313686 122.49675634305042 123.41631007279634 124.3335635594802 125.24845142020777 126.16090827208468 127.07086873221658 127.97826741770908 128.88303894566792 129.78511793319876 130.68443899740728 131.58093675539905 132.47454582427983 133.36520082115527 134.25283636313105 135.13738706731277 136.01878755080617 136.89697243071686 137.77187632415055 138.6434338482129 139.51157962000954 140.37624825664614 141.2373743752284 142.09489259286198 142.94873752665254 143.7988437937057 144.6451460111272 145.48757879602263 146.3260767654977 147.16057453665817 147.9910067266095 148.8173079524575 149.63941047673836 + 6.526062443091222 7.766652959152359 9.011862030815692 10.261169992441877 11.514056125808544 12.769999712693284 14.028480034873722 15.288976374127438 16.55096801223204 17.81393423096515 19.077354312104376 20.340707537427292 21.603473188711526 22.865130547734687 24.12515889627436 25.383037516108168 26.6382456890137 27.890262696768573 29.1385678211504 30.382640343936764 31.621959546905295 32.85600471183357 34.08425512049921 35.30619005467982 36.521288796153 37.729030626696364 38.928894828087515 40.12036068210403 41.302907470523564 42.47601447512368 43.639160977681996 44.79182625997613 45.93348960378367 47.06363029088224 48.181727603049424 49.28726082206283 50.37971337454865 51.458878364019256 52.525163988631256 53.57904703653212 54.62100429586934 55.651512554790344 56.67104860144268 57.68008922397375 58.67911121053113 59.668591349262215 60.64900642831451 61.62083323583549 62.584548559972646 63.54062918887347 64.48955191068538 65.43179351355593 66.36783078563255 67.29814051506273 68.22319948999395 69.14348449857366 70.0594723289494 70.97163976926862 71.88046360767876 72.78642063232735 73.68998763136187 74.59164139292976 75.49185870517852 76.39111635625562 77.28989113430855 78.1886598274848 79.08789922393179 79.98808611179707 80.88969727922806 81.79320951437228 82.69909960537723 83.60784434039032 84.51990858311959 85.4354492483556 86.3543230758505 87.27637228962406 88.20143911369593 89.1293657720858 90.0599944888134 90.99316748789835 91.92872699336046 92.8665152292193 93.80637441949463 94.74814678820614 95.6916745593735 96.63679995701644 97.5833652051546 98.53121252780774 99.48018414899549 100.43012229273758 101.38086918305369 102.33226704396353 103.28415809948675 104.2363845736431 105.18878869045226 106.1412126739339 107.0934987481077 108.04548913699341 108.99702606461067 109.9479517549792 110.89810843211869 111.8473383200488 112.7954836427893 113.74238662435982 114.68788948878007 115.63183446006973 116.57406376224853 117.51441961933612 118.45275224304699 119.3889657582254 120.32299811054851 121.25478615842277 122.18426676025462 123.1113767744505 124.03605305941687 124.95823247356019 125.87785187528692 126.79484812300348 127.70915807511624 128.62071859003171 129.5294665261564 130.4353387418967 131.33827209565897 132.2382034458498 133.13506965087555 134.0288075691427 134.9193540590577 135.80664597902694 136.69062018745691 137.5712135427541 138.44836290332486 139.32200512757566 140.19207707391303 141.05851560074328 141.92125756647297 142.78023982950847 143.63539924825628 144.48667268112283 145.33399698651456 146.17730902283787 147.0165456484993 147.85164372190522 148.6825401014621 149.50916929734677 + 6.41038233588678 7.633397340605809 8.859949316525833 10.089591941296206 11.321877864139818 12.556359734279518 13.792590200938184 15.030121913338665 16.268507520703825 17.507299672256533 18.746051017219674 19.984314204816066 21.221641884268607 22.457586704800153 23.691701315633555 24.923538365991696 26.15265050509742 27.378590382173602 28.600910646443122 29.819163947128814 31.032902933453563 32.241680254640215 33.44504855991164 34.64256049849071 35.83376871960027 37.01822587246321 38.195484606302394 39.36509757034064 40.52661741380087 41.6795967859059 42.82358833587864 43.95814471294191 45.08281856631859 46.19716254523155 47.300729298903654 48.393071476557765 49.473745548627825 50.54258051333862 51.59994817134165 52.646280629173106 53.682009993369185 54.70756837046603 55.72338786699985 56.72990058950682 57.72753864452314 58.71673413858497 59.69791917822849 60.67152586998988 61.63798632040533 62.59773263601105 63.55119692334317 64.49881128893792 65.44100783933143 66.37821868105993 67.31087592065957 68.23941166466653 69.16425801961705 70.08584709204725 71.00461098849331 71.92098181549144 72.83539167957782 73.74827268728862 74.66005694516004 75.57117655972824 76.48206363752941 77.39315028509975 78.3048686089754 79.21765071569256 80.13192871178742 81.0481347037962 81.96670079825502 82.88805910170005 83.81263074410535 84.74055024570967 85.67167339750995 86.60584238710987 87.5428994021131 88.48268663012323 89.42504625874393 90.36982047557886 91.3168514682317 92.26598142430602 93.21705253140553 94.16990697713382 95.12438694909457 96.08033463489146 97.03759222212807 97.99600189840811 98.95540585133517 99.91564626851296 100.87656533754507 101.83800524603518 102.7998081815869 103.76181633180393 104.72387188428989 105.68581702664844 106.6474939464832 107.60874483139784 108.56941186899599 109.52933724688131 110.48836315265744 111.44633177392802 112.40308529829676 113.35846591336721 114.31231580674307 115.26447716602797 116.2147921788256 117.16310303273957 118.1092600647216 119.05316880120617 119.99476929737159 120.93400051553787 121.87080141802491 122.80511096715274 123.73686812524132 124.66601185461062 125.59248111758063 126.51621487647134 127.43715209360262 128.35523173129454 129.27039275186706 130.18257411764014 131.09171479093374 131.99775373406786 132.9006299093624 133.8002822791375 134.69664980571298 135.58967145140886 136.47928617854507 137.3654329494417 138.2480507264186 139.12707847179578 140.00245514789324 140.87411971703094 141.74201114152888 142.606068383707 143.46623040588523 144.3224361703836 145.1746246395221 146.02273477562068 146.8667055409993 147.70647589797795 148.54198480887658 149.37316889417315 + 6.290744527227376 7.496925558823339 8.705626658052923 9.916470842022209 11.129080122561826 12.343076511502371 13.55808202067447 14.773718661908708 15.989608447035707 17.20537338788607 18.420635496290434 19.635016784079365 20.848139263083496 22.059624945133443 23.26909584205979 24.476173965693167 25.68048132786417 26.881639940403417 28.07927181514153 29.272998963909085 30.46244339853673 31.647227130855036 32.82697217269463 34.001300535886124 35.16983423226011 36.33219527364723 37.48800567187808 38.63688743878323 39.778462586193356 40.91235312593901 42.03818106985084 43.15556842975943 44.26413721749541 45.36350944488937 46.45330712377192 47.533152265973676 48.60267039762337 49.66172434078054 50.71065115884622 51.74984036452895 52.779681470537355 53.800563989579956 54.81287743436539 55.817011317602166 56.81335515199896 57.80229845026426 58.784230725106674 59.75954148923479 60.72862025535717 61.691856536182414 62.64963984441906 63.60235969277574 64.55040559396099 65.4941670606834 66.43403360565155 67.37039474157397 68.30363998115935 69.23415883711617 70.16234082215304 71.08857544897855 72.01325223030125 72.93676067882973 73.85949030727257 74.78183062833837 75.70417115473566 76.62690139917308 77.55041087435913 78.47508909300244 79.40132556781158 80.3295098114951 81.26003133676166 82.19327965631972 83.12963421830182 84.0692084015507 85.01185749655136 85.95742406890214 86.90575068420132 87.85667990804713 88.81005430603784 89.76571644377175 90.72350888684713 91.68327420086223 92.64485495141531 93.60809370410468 94.57283302452856 95.53891547828528 96.50618363097307 97.4744800481902 98.44364729553497 99.41352793860563 100.38396454300045 101.35479967431769 102.32587589815563 103.29703578011258 104.26812188578677 105.23897678077645 106.20944303067994 107.17936320109548 108.14857985762134 109.11693556585581 110.08427289139716 111.05043439984361 112.01526265679351 112.97860022784509 113.94028967859661 114.90017357464636 115.85809448159257 116.81389496503361 117.76742586473249 118.7185941732266 119.66734195558188 120.61361017772316 121.55733980557534 122.49847180506328 123.43694714211182 124.37270678264595 125.30569169259049 126.2358428378703 127.16310118441022 128.0874076981352 129.0087033449701 129.92692909083985 130.84202590166916 131.75393474338307 132.66259658190637 133.56795238316403 134.46994311308083 135.36850973758166 136.26359322259142 137.15513453403508 138.04307463783738 138.9273544999232 139.80791508621752 140.68469736264515 141.557642295131 142.42669084959985 143.2917839919767 144.15286268818633 145.00986790415377 145.8627406058037 146.71142175906112 147.55585232985092 148.3959732840979 149.23172325229612 + 6.167072632865848 7.357212923286981 8.548925130352346 9.741897339438403 10.935816652721229 12.13037017237688 13.325245000581429 14.52012823951091 15.714706991341401 16.908668358248956 18.101699442409654 19.29348734599952 20.483719171194636 21.672082020171068 22.858262995104855 24.041949198172077 25.222827731548776 26.40058569741103 27.574910197934898 28.74548833529643 29.912007211671696 31.074153929236733 32.23161559016763 33.38407929664042 34.531232150831194 35.672761254916 36.808353711070886 37.937696621471915 39.06047708829517 40.176382213716685 41.28509909991253 42.386314849058756 43.47971656333144 44.56499134490664 45.6418262959604 46.70990851866879 47.768928340551625 48.81878021380623 49.859768280890556 50.89224173649817 51.91654977532268 52.933041592057606 53.94206638139661 54.94397333803319 55.93911165666101 56.92783053197359 57.91047915866453 58.887406731427404 59.85896244495581 60.82549549394333 61.78735507308352 62.74489037706999 63.69845060059629 64.64838493835603 65.59504258504276 66.53877273535011 67.47992458397162 68.41884732560088 69.35589015493147 70.29140226665697 71.225732855471 72.15923111606708 73.09224624313882 74.02512743137981 74.95822387548358 75.89188477014383 76.82645931005399 77.76229668990776 78.69974610439866 79.63915674822026 80.58087781606622 81.52525850263002 82.47263880890853 83.42311228956783 84.37653412785971 85.3327476217005 86.2915960690064 87.25292276769365 88.21657101567851 89.18238411087722 90.15020535120604 91.11987803458118 92.09124545891892 93.06415092213545 94.03843772214708 95.01394915687003 95.99052852422054 96.96801912211484 97.94626424846919 98.92510720119982 99.90439127822302 100.88395977745499 101.86365599681199 102.84332323421023 103.82280478756603 104.80194395479558 105.78058403381513 106.75856832254092 107.73574011888923 108.71194272077624 109.68701942611827 110.66081353283147 111.6331683388322 112.60392714203664 113.57293324036101 114.54002993172159 115.50506051403462 116.46786828521637 117.42830491213553 118.38627892420459 119.34173433356706 120.29461404652545 121.24486096938226 122.19241800844003 123.13722807000121 124.07923406036846 125.01837888584417 125.95460545273092 126.88785666733115 127.81807543594743 128.74520466488232 129.66918726043826 130.58996612891778 131.50748417662345 132.4216843098577 133.33250943492314 134.23990245812223 135.14380628575748 136.0441638241314 136.94091797954655 137.83401165830549 138.72338776671057 139.60898921106445 140.4907588976696 141.36863973282854 142.2425746228438 143.1125064740178 143.97837819265322 144.84013268505248 145.69771285751807 146.55106161635257 147.40012186785847 148.24483651833827 149.0851461450747 + +Y Trans ----------------------------------- + -1.118665115554462 -1.075128312234738 -1.0251848847559861 -0.9684493442754407 -0.9045362594295865 -0.8330601988549073 -0.7536357311878863 -0.665877425065009 -0.5693998491227585 -0.46381757199761875 -0.3487451623260691 -0.22379718874460242 -0.08858821988969723 0.057267175602163434 0.21415442909449123 0.3824589719508067 0.5625662355346233 0.7548616512094597 0.9597306503388285 1.1775586642862494 1.4087311244152385 1.6536334620893083 1.912651108671974 2.186169495526756 2.474574054017168 2.778250215506727 3.0975834113589515 3.4329590729373525 3.784762631605453 4.15337951872676 4.539195165664796 4.942595003783071 5.363964464445111 5.803688979014426 6.262153978854532 6.739744895328949 7.236840519323026 7.752927711490389 8.285767365997264 8.832921115498898 9.391950592650534 9.960417430107405 10.535883260524773 11.115909716557846 11.698058430861913 12.27989103609218 12.858969164903895 13.432854449952313 13.99910852389267 14.55529301938022 15.098969569070169 15.627699805617812 16.13904536167835 16.63056786990704 17.099828962959123 17.544390273489853 17.96181343415445 18.349660077608178 18.705491836506276 19.026870343503962 19.31135723125652 19.55651413241916 19.759902679647134 19.919084505595684 20.03162124292006 20.09507452427549 20.107005982317233 20.06497724970052 19.966549959080588 19.809285743112703 19.590746234452084 19.308493065753993 18.960200211327884 18.54613836812797 18.069171986999947 17.532278850028142 16.93843673929689 16.29062343689052 15.591816724893388 14.844994385389809 14.05313420046411 13.219213952200652 12.346211422683762 11.437104393997764 10.494870648227003 9.522487967455811 8.522934133768526 7.499186929249458 6.454224135982986 5.391023536053415 4.312562911545094 3.2218200445423504 2.1217727171295184 1.0153987113909384 -0.09432419058906305 -1.204418206726162 -2.3119055549359824 -3.4138084531342248 -4.507149119236534 -5.5889497711585925 -6.656232626816051 -7.706019904124586 -8.735333820999873 -9.741196595357541 -10.72063044511328 -11.670657588182749 -12.588300242481612 -13.470580625925543 -14.314757456886829 -15.120133686207286 -15.887070340002385 -16.615935945663523 -17.30709903058211 -17.960928122149546 -18.577791747757267 -19.158058434796715 -19.702096710659276 -20.21027510273637 -20.682962138419402 -21.1205263450998 -21.523336250168995 -21.891760381018386 -22.226167265039383 -22.52692542962341 -22.794403402161894 -23.028969710046244 -23.23099288066787 -23.40084144141819 -23.53888391968861 -23.64548884287058 -23.72102473835549 -23.765860133534744 -23.780363555799788 -23.76490353254202 -23.719848591152864 -23.645567259023736 -23.542428063546048 -23.410799532111223 -23.25105019211066 -23.063548570935787 -22.848663195978027 -22.60676259462879 -22.338215294279493 -22.04338938500858 + -0.29243986420574775 -0.2511280076530742 -0.20322858328028826 -0.14837186863794383 -0.0861882151883826 -0.016307974393943603 0.06163850228303591 0.14802086338021248 0.24320875743524972 0.3475718329858042 0.4614797385695413 0.5853021227241166 0.7194086339871903 0.8641689208964278 1.0199526319894838 1.1871294158040238 1.3660689208777015 1.5571407957481833 1.7607146889531249 1.9771602490301907 2.206847124517041 2.450144963951331 2.707423415870722 2.9790521288128797 3.2654007513154593 3.566838931916119 3.883736319152529 4.2164625615623414 4.5653873076832205 4.930880206052822 5.31331090520881 5.713049053688837 6.130464300030578 6.565926292771685 7.019804680449816 7.492469111602633 7.9842827119425985 8.494731859397312 9.021606384608877 9.562500247050307 10.115007406194621 10.676721821514818 11.24523745248392 11.818148258574915 12.39304819926085 12.967531234014707 13.539191322309502 14.105622423618255 14.664418497413973 15.21317350316967 15.749481400358334 16.27093614845301 16.775131706926683 17.25966203525238 17.7221210929031 18.160102839351865 18.571201234071676 18.953010236535537 19.30312380621649 19.619135902587512 19.898640485121632 20.139231513291854 20.33850294657119 20.494048744432646 20.603462866349247 20.664339271793985 20.67427192023989 20.630854771159957 20.531681784027196 20.37434691831464 20.156444133495278 19.875567389042132 19.529421550480052 19.11827510782052 18.644957225109163 18.112408955927595 17.52357135385746 16.881385472480364 16.18879236537795 15.448733086131842 14.664148688323651 13.837980225535027 12.973168751347593 12.072655319342964 11.139380983102779 10.176286796208657 9.186313812242236 8.17240308478511 7.137495667418953 6.084532613725368 5.016454977285988 3.936203811682434 2.8467201704963356 1.750945107309323 0.6518196757030168 -0.44771507074096917 -1.544718078440968 -2.6362482938153846 -3.7193646632825734 -4.791126133260925 -5.848591650168797 -6.888820160424578 -7.908870610446641 -8.905801946653336 -9.876673115463051 -10.818543063294157 -11.728470736565026 -12.603515081694038 -13.440967623872616 -14.240130101548857 -15.001344767917388 -15.724961242298855 -16.41132914401392 -17.060798092383237 -17.673717706727484 -18.250437606367356 -18.791307410623485 -19.296676738816554 -19.7668952102672 -20.20231244429612 -20.603278060223975 -20.97014167737143 -21.303252915059133 -21.602961392607767 -21.869616729338006 -22.103568544570503 -22.305166457625926 -22.474760087824944 -22.612699054488218 -22.71933297693642 -22.795011474490213 -22.840084166470255 -22.854900672197232 -22.839810610991798 -22.79516360217461 -22.721309265066346 -22.61859721898768 -22.487377083259265 -22.327998477201774 -22.140811020135846 -21.92616433138219 -21.684408030261448 -21.415891736094295 -21.120964650371093 + 0.5227473538221385 0.5615520824896736 0.6071255081423033 0.6598196046297531 0.7199862558593537 0.7879773457384358 0.8641447581743327 0.9488403770743732 1.042416086345889 1.145223769896214 1.2576153116326791 1.3799425954626106 1.512557505293346 1.6558119250322134 1.8100577385865444 1.9756468298636722 2.152931082770925 2.3422623812156376 2.543992609105141 2.7584736503467644 2.9860573888478408 3.2270957085156997 3.4819404932576727 3.7509436269810923 4.034456993593288 4.332832477001594 4.646421961113343 4.9755773298358585 5.320650467076484 5.6819932567425395 6.05995758274136 6.4548953289802755 6.867158379366623 7.297098617807732 7.74506792821093 8.211418194483553 8.696494918174867 9.199785055289595 9.719114280181287 10.252116460905722 10.796425465518677 11.349675162075908 11.90949941863321 12.473532103246328 13.039407083971069 13.604758228863178 14.167219405978432 14.724424483372616 15.274007329101497 15.813601811220853 16.34084179778643 16.853361156854046 17.34879375647943 17.824773464718383 18.278934149626664 18.708909679260053 19.11233392167432 19.48684074492523 19.830064017068583 20.139637606160118 20.41319538025563 20.648371207410875 20.84279895568164 20.99411249312369 21.099945687792804 21.157932407744745 21.165706521035297 21.12090189572023 21.021152399855296 20.86409190149631 20.64735426869901 20.368573369519186 20.02549219686224 19.618376287271573 19.150010796598693 18.62329098032134 18.04111209391729 17.4063693928643 16.721958132640136 15.990773568722561 15.21571095658932 14.399665551718204 13.545532609586974 12.656207385673369 11.734585135455173 10.78356111441014 9.806030578016035 8.804888781750602 7.783030981091642 6.743352431516891 5.688748388504128 4.622114107531101 3.546344844075578 2.4643358536153244 1.3789823916280977 0.2931797135916474 -0.7901769250162243 -1.8681922687177854 -2.937971062035258 -3.9966180494908925 -5.041237975606913 -6.068935584905572 -7.076815621909108 -8.061982831139733 -9.021541957119702 -9.95259774437125 -10.852254937416609 -11.717618280778023 -12.546020384743668 -13.336763205378887 -14.090168111625985 -14.806563677566672 -15.486278477282662 -16.129641084855663 -16.736980074367413 -17.308624019899668 -17.844901495534103 -18.346141075352463 -18.812671333436445 -19.244820843867792 -19.642918180728238 -20.007291918099487 -20.338270630063256 -20.636182890701274 -20.901357274095272 -21.134122354326973 -21.334806705478083 -21.50373890163033 -21.641247516865437 -21.74766112526514 -21.823308300911144 -21.868517617885164 -21.883617650268945 -21.86893697214419 -21.824804157592638 -21.751547780695997 -21.649496415536007 -21.51897863619437 -21.360323016752815 -21.173858131293052 -20.95991255389683 -20.718814858645857 -20.450893619621862 -20.15647701346062 + 1.3267284745358428 1.3627372030479972 1.405695942496556 1.4559370976320327 1.5137929676432913 1.5795958517192021 1.653678049048632 1.7363718588204478 1.8280095802235206 1.9289235124467146 2.039445954678901 2.159909206108943 2.290645565925713 2.4319873333180775 2.5842668074749024 2.747816287585059 2.922968072837411 3.110054462420832 3.3094077555241848 3.521360251336337 3.746244249046164 3.9843920478425225 4.236135946914289 4.501808245450326 4.781741242639504 5.07626723767069 5.385718529732757 5.710427418014562 6.050726201704984 6.406947179992886 6.779422652067134 7.1684849171165945 7.574466274330143 7.997699022896643 8.438515462004961 8.897247890843968 9.374222387879968 9.868927492912118 10.37923115942931 10.902814225970605 11.437357531075085 11.980541913281797 12.530048211129833 13.08355726315822 13.638749907906078 14.193306983912436 14.744909329716371 15.29123778385696 15.829973184873257 16.358796371304344 16.875388181689267 17.377429454567114 17.86260102847694 18.32858374195782 18.773058433548815 19.193705941789002 19.588207105217435 19.954242762373184 20.289493751795334 20.591640912022925 20.858365081595053 21.087347099050767 21.276267802929134 21.42280803176922 21.524648624110107 21.579470418490846 21.584954253450515 21.538780967528183 21.438631399262892 21.282186387193757 21.067126769859804 20.79113338580012 20.451994094933248 20.049970775403363 19.587796432850084 19.068312057869218 18.494358641056614 17.868777173008066 17.19440864431942 16.474094045586497 15.710674367405096 14.906990600371063 14.065883735080234 13.190194762128405 12.28276467211141 11.346434455625078 10.38404510326523 9.398437605627667 8.392452953308252 7.368932136902783 6.330716147007096 5.280645974217007 4.221562609128339 3.1563070423369206 2.087720264438567 1.0186432660290912 -0.048082962295644904 -1.1096174299398496 -2.163119146307683 -3.205747120803336 -4.2346603628309705 -5.247017881794778 -6.239978687098939 -7.210701788147604 -8.156346194344966 -9.074070915095199 -9.961034959802477 -10.814397337870982 -11.631539478217181 -12.411764943299257 -13.155372325261496 -13.862667236540279 -14.533955289572004 -15.169542096793052 -15.76973327063984 -16.334834423548788 -16.86515116795627 -17.360989116298697 -17.822653881012442 -18.25045107453393 -18.644686309299562 -19.00566519774573 -19.333693352308824 -19.629076385425257 -19.89211990953142 -20.123129537063726 -20.322410880458563 -20.49026955215232 -20.627011164581408 -20.73294133018224 -20.808365661391193 -20.853589770644668 -20.86891927037908 -20.854659773030818 -20.811116891036274 -20.738596236831864 -20.637403422853975 -20.507844061539014 -20.350223765323374 -20.164848146643443 -19.952022817935646 -19.712053391636374 -19.44524548018202 -19.15190431978226 + 2.119335433942042 2.152252598876421 2.1923012727672706 2.239792632473306 2.2950377340931327 2.3583476337253595 2.4300333874685958 2.510406051421448 2.5997766816825294 2.6984563343504417 2.8067560655237997 2.9249869313012073 3.053459987781273 3.19248629106261 3.3423768972438204 3.503442862423517 3.6759952427003046 3.8603450941727955 4.056803472939597 4.2656814350993155 4.487290036750562 4.721940333991943 4.969943382922067 5.231610239639544 5.5072519602429795 5.797179600830981 6.101704217502167 6.421136866355136 6.755788603488498 7.105970485000864 7.471993566990838 7.854168905557029 8.25280755679805 8.668220576812512 9.100719021699014 9.550613947556174 10.018210370918052 10.502999366009783 11.002897129067769 11.51563801115045 12.038956363316263 12.570586536623624 13.108262882130994 13.649719750896772 14.192691493979428 14.734912462437368 15.274117007329032 15.80803947971286 16.334414230647283 16.850975611190744 17.355457972401645 17.845595665338458 18.319123041059587 18.77377445062348 19.207284245088573 19.61738677551329 20.00181639295607 20.358307448475337 20.684594293129546 20.97841127797711 21.237492754076474 21.459573072486066 21.642386584264315 21.783667640469663 21.88115059216054 21.93256979039538 21.935659586232617 21.888154330730686 21.787788374948004 21.632296069943038 21.41941176677419 21.14686981649992 20.812509189151903 20.416587441138127 19.961777865244905 19.45085932323112 18.88661067685567 18.27181078787744 17.609238518055317 16.901672729148196 16.151892282914954 15.362676041114506 14.536802865505733 13.67705161784751 12.78620115989875 11.867030353418329 10.922318060165143 9.95484314189806 8.967384460376012 7.962720877357863 6.943631254602511 5.912894453868843 4.873289336915747 3.827594765502118 2.778589601386841 1.729052706328793 0.6817629420869045 -0.360500829579967 -1.3949597469129147 -2.4188349481530618 -3.4293475715415065 -4.423718755319371 -5.399169637727767 -6.352921357007782 -7.2821950514005405 -8.184211859147151 -9.056192918488716 -9.895359367666359 -10.699148643010314 -11.466867260911824 -12.198789362957207 -12.895195904292958 -13.556367840065585 -14.18258612542159 -14.774131715507494 -15.33128556546984 -15.854328630455104 -16.343541865609815 -16.799206226080464 -17.221602667013585 -17.61101214355569 -17.967715610853286 -18.291994024052876 -18.584128338300985 -18.844399508744125 -19.07308849052881 -19.270476238801546 -19.436843708708846 -19.572471855397215 -19.677641634013188 -19.752633999703257 -19.797729907613938 -19.813210312891748 -19.7993561706832 -19.756448436134797 -19.68476806439307 -19.584596010604514 -19.456213229915647 -19.299900677472984 -19.115939308423023 -18.9046100779123 -18.66619394108731 -18.400971853094575 -18.10922441484105 + 2.900400168047391 2.9299235148294502 2.9667600519392257 3.0111982312579624 3.0635263691385526 3.1240327819338884 3.193005785996861 3.2707336976803605 3.357504833337282 3.4536075093205114 3.559330041982949 3.674960747677474 3.800787942756988 3.937099943574381 4.08418506648254 4.242331627834361 4.411827943982733 4.592962331280548 4.7860231060807 4.991298584736079 5.209077083599576 5.4396469190240815 5.683296407362485 5.940313864967687 6.210987608192568 6.495605953390027 6.794457216912955 7.10782971511424 7.4360117643467785 7.779291680963459 8.13795778131717 8.512298381760802 8.902601798647257 9.309156348329422 9.732250347160184 10.172172111492438 10.629204117149275 11.10284086832748 11.591052295811492 12.09163228535073 12.602374722694611 13.121073493592524 13.645522483793902 14.173515579048125 14.70284666510464 15.23130962771283 15.756698352622113 16.2768067255819 16.7894286323416 17.29235795865063 17.783388590258383 18.26031441291429 18.720929312367737 19.16302717436815 19.58440188466494 19.982847329007512 20.35615739314527 20.702125962827633 21.018546923804013 21.30321416182381 21.553921562636447 21.76846301199132 21.944632395637846 22.08022359932543 22.173030508803492 22.220847009821426 22.22146698812866 22.172684329474595 22.07229291960863 21.918086644280205 21.7078593892387 21.43940504023354 21.110619423977003 20.721755153398096 20.275418825164714 19.7743199110669 19.221167882894694 18.618672212438145 17.969542371487304 17.276487831832203 16.542218065262883 15.769442543569406 14.960870738541809 14.11921212197013 13.24717616564442 12.347472341354726 11.422810120891087 10.475898976043531 9.509448378602139 8.526167800356934 7.528766713097966 6.519954588615274 5.502440898698905 4.478935115138908 3.4521467097253167 2.4247851542481667 1.3995599204975422 0.3791804802634524 -0.6336436946640389 -1.6362031324949018 -2.625788361439081 -3.599689909706543 -4.555198305507249 -5.4896040770511245 -6.400197752548147 -7.284269860208269 -8.13911092824144 -8.962011484857626 -9.750471617840255 -10.50380210381846 -11.222251178846424 -11.906073665898003 -12.55552438794707 -13.170858167967488 -13.752329828933146 -14.300194193817948 -14.814706085595743 -15.296120327240407 -15.744691741725815 -16.160675152025842 -16.54432538111439 -16.89589725196531 -17.21564558755248 -17.503825210849783 -17.760690944831097 -17.9864976124703 -18.181500036741262 -18.34595304061786 -18.480111447073966 -18.584230079083476 -18.65856375962025 -18.703367311658162 -18.7188955581711 -18.705403322132923 -18.663145426517527 -18.59237669429878 -18.493351948450563 -18.366326011946747 -18.211553707761208 -18.029289858867813 -17.81978928824046 -17.583306818853018 -17.320097273679362 -17.030415144142076 + 3.6697546128585627 3.6955751957616028 3.7288908329972124 3.7699659160904107 3.8190646867092513 3.8764513865217887 3.9423902571960836 4.017145540400189 4.100981477802161 4.194162311070054 4.2969522818719295 4.409615631875836 4.532416602749832 4.665619436161975 4.809488373780319 4.964287657272921 5.130281528307834 5.30773422855312 5.49690999967683 5.698073083347021 5.911487721231751 6.137418154999071 6.376128626317037 6.62788337685371 6.892946648277142 7.17158268225539 7.464055720456512 7.770630004548561 8.091569776199593 8.427139277077668 8.777602748850834 9.143224433187147 9.524268571754675 9.920999406221462 10.33368117825557 10.762578129525052 11.207948876433788 11.669292193610103 12.144636766375307 12.631841517476937 13.128765369662537 13.633267245679622 14.14320606827576 14.656440760198446 15.17083024419526 15.684233443013701 16.19450927940132 16.699516676105656 17.197114555874236 17.68516184145461 18.161517455594286 18.62404032104083 19.070589360541756 19.499023496844615 19.907201652696934 20.292982750846246 20.654225714040095 20.988789465026006 21.29453292655153 21.569315021364186 21.810994672211528 22.017430801841076 22.18648233300037 22.316008188436946 22.40386729089834 22.447918563132085 22.446020927885716 22.396033307906784 22.29581462594279 22.143223804741318 21.93611976704986 21.672361435615983 21.349906743867372 20.96900278110551 20.53218304399108 20.042080956036425 19.501329940753937 18.912563421655964 18.27841482225489 17.60151756606307 16.884505076592863 16.130010777356656 15.340668091866819 14.519110443635697 13.667971256175676 12.789883952999116 11.887481957618384 10.963398693545832 10.020267584293858 9.060722053374814 8.08739552430107 7.102921420584989 6.109933165738939 5.1110641832752925 4.108947896706407 3.10621772954464 2.1055071053023977 1.1094494474920134 0.12067817962587357 -0.8581732747836694 -1.8244714922242364 -2.775583049183474 -3.708874522149016 -4.621712487608471 -5.511463522049491 -6.375494201959702 -7.2111711038267385 -8.015860804138235 -8.787132141424165 -9.524301417621023 -10.227589727062437 -10.897224506428696 -11.533433192400098 -12.136443221656942 -12.706482030879545 -13.24377705674824 -13.748555735943302 -14.22104550514505 -14.661473801033766 -15.07006806028978 -15.447055719593408 -15.79266421562494 -16.107120985064675 -16.390653464592933 -16.643489090890018 -16.86585530063624 -17.0579795305119 -17.22008921719731 -17.352411797372756 -17.455174707718577 -17.528605384915057 -17.5729312656425 -17.58837978658123 -17.575178384411537 -17.53355449581374 -17.463735557468137 -17.365949006055043 -17.240422278254755 -17.087382810747584 -16.907058040213826 -16.699675403333803 -16.465462336787816 -16.204646277256177 -15.917454353190381 + 4.427230704382211 4.449032886527379 4.478512168926008 4.515907709075035 4.561458500734899 4.615403537666041 4.677981813628902 4.7494323223839165 4.829994057691533 4.919906013312183 5.019407183006313 5.1287365605343584 5.24813313965676 5.377835914133961 5.518083877726395 5.66911602419451 5.831171347298737 6.004488840799523 6.189307498457304 6.385866314032524 6.59440428128562 6.8151603939770276 7.048373645867194 7.2942830307165565 7.553127542285552 7.825146174334623 8.110577920624213 8.409661774914756 8.722636730966697 9.049741782540472 9.391215923396521 9.747298147295282 10.118227447997201 10.504242819262718 10.905583254852266 11.322487748526289 11.755189898631736 12.203193535602544 12.664590647474025 13.13731017643454 13.619281064672437 14.108432254376059 14.602692687733771 15.09999130693389 15.59825705416481 16.095418871614847 16.589405701472355 17.078146485925696 17.559570167163205 18.031605687373258 18.49218198874416 18.93922801346431 19.370672703722022 19.78444500170565 20.178473849603556 20.550688189604088 20.899016963895583 21.221389114666398 21.515733584104893 21.779979314399398 22.01205524773828 22.209890326309875 22.37141349230254 22.494553687904617 22.57723985530447 22.617400936690423 22.612965874250857 22.5618636101741 22.462023086648497 22.311373245862427 22.107843030004208 21.849361381262206 21.53395309328182 21.16185919318261 20.735534253105545 20.257529592799568 19.73039653201362 19.15668639049663 18.538950487997557 17.87974014426533 17.18160667904887 16.44710141209715 15.678775663159103 14.87918075198365 14.050867998319749 13.196388721916334 12.318294242522343 11.419135879886703 10.501464953758383 9.567832783886306 8.620790690019419 7.662889991906653 6.696682009296952 5.724718061939258 4.749549469582504 3.7737275519756213 2.799803628867584 1.8303290200073028 0.8678550451437337 -0.08506697597419777 -1.025885723597539 -1.9520498779773634 -2.8610081193647336 -3.750209128010686 -4.6171015841662975 -5.459134168082623 -6.273755560010722 -7.058414440201663 -7.8107539524792315 -8.53009714792139 -9.216636961738562 -9.870572410958342 -10.492102512608344 -11.081426283716175 -11.638742741309464 -12.164250902415857 -12.658149784062928 -13.120638403278326 -13.551915777089633 -13.95218092252449 -14.32163285661052 -14.660470596375333 -14.968893158846535 -15.247099561051751 -15.495288820018608 -15.71365995277472 -15.90241197634769 -16.061743907765145 -16.1918547640547 -16.292943562243984 -16.365209319360602 -16.408851052432162 -16.4240677784863 -16.411058514550625 -16.370022277652755 -16.301158084820308 -16.2046649530809 -16.080741899462158 -15.929587940991684 -15.751402094697092 -15.546383377606015 -15.314730806746066 -15.056643399144864 -14.772319887491058 + 5.172660378625 5.190121831981294 5.215442612710399 5.248835632316237 5.290513625145188 5.340689325543634 5.399575467857959 5.4673847864345415 5.544330015619769 5.6306238897600185 5.7264791432016775 5.832108510291124 5.947724725374742 6.073540522798915 6.209768636910022 6.356621802054448 6.514312752578572 6.683054222828782 6.863058947151455 7.054539659892975 7.257709095399726 7.472779988018088 7.699965072094441 7.939477081975173 8.191528752006661 8.45633281653529 8.734102009907446 9.025049066469503 9.32938672056785 9.647327706548866 9.979084758758932 10.32487061154443 10.68489799925175 11.059379656227268 11.448528316817367 11.852556715368426 12.27167243360327 12.705385088049688 13.151854045822473 13.60908273112902 14.075074568176722 14.547832981172956 15.025361394325131 15.505663231840611 15.986741917926821 16.466600876791126 16.943243532640917 17.414673309683597 17.87889363212654 18.333907924177165 18.77771961004282 19.208332113930936 19.623748860048877 20.021973272604047 20.401008775803824 20.75885879385561 21.093526750966788 21.40301607134475 21.685330179196892 21.938472498730594 22.16044645415326 22.34925546967226 22.502902969495004 22.619392377828873 22.696727118881256 22.73291061685954 22.725946295971134 22.67383758042341 22.57458789442375 22.426200662179582 22.22667930789826 21.974027255787192 21.666340416679155 21.30385325855162 20.888936183889683 20.424052956016194 19.911667338253984 19.35424309392591 18.75424398635481 18.114133778863525 17.436376234774894 16.72343511741177 15.977774190097005 15.201857216153426 14.39814795890388 13.56911018167122 12.717207647778281 11.844904120547893 10.9546633633