Blob Blame History Raw
diff -up tkimg1.4/libpng/pngtclDecls.h.png15 tkimg1.4/libpng/pngtclDecls.h
--- tkimg1.4/libpng/pngtclDecls.h.png15	2011-12-07 16:14:29.171412239 -0500
+++ tkimg1.4/libpng/pngtclDecls.h	2011-12-07 16:32:06.904892379 -0500
@@ -25,25 +25,30 @@
 #   define USE_PNGTCL_STUBS 1
 #endif
 
+/* We do this because otherwise, it gets confused about slots 201-203 */
+#define PNG_READ_INT_FUNCTIONS_SUPPORTED 1
+#define PNG_NO_USE_READ_MACROS 1
+
 EXTERN int Pngtcl_Init(Tcl_Interp *interp);
 EXTERN int Pngtcl_SafeInit(Tcl_Interp *interp);
 
 #include </usr/include/png.h>
 
+
 /* !BEGIN!: Do not edit below this line. */
 
 /*
  * Exported function declarations:
  */
 
-/* 0 */
-PNG_IMPEXP png_uint_32	png_access_version_number(void);
+/* Slot 0 is reserved */
 /* 1 */
-PNG_IMPEXP void		png_set_sig_bytes(png_structp png_ptr, int num_bytes);
+PNG_IMPEXP png_uint_32	png_access_version_number(void);
 /* 2 */
-PNG_IMPEXP int		png_sig_cmp(png_bytep sig, png_size_t start,
+PNG_IMPEXP void		png_set_sig_bytes(png_structp png_ptr, int num_bytes);
+/* 3 */
+PNG_IMPEXP int		png_sig_cmp(png_const_bytep sig, png_size_t start,
 				png_size_t num_to_check);
-/* Slot 3 is reserved */
 /* 4 */
 PNG_IMPEXP png_structp	png_create_read_struct(png_const_charp user_png_ver,
 				png_voidp error_ptr, png_error_ptr error_fn,
@@ -53,167 +58,178 @@ PNG_IMPEXP png_structp	png_create_write_
 				png_voidp error_ptr, png_error_ptr error_fn,
 				png_error_ptr warn_fn);
 /* 6 */
-PNG_IMPEXP png_uint_32	png_get_compression_buffer_size(png_structp png_ptr);
+PNG_IMPEXP png_size_t	png_get_compression_buffer_size(
+				png_const_structp png_ptr);
 /* 7 */
 PNG_IMPEXP void		png_set_compression_buffer_size(png_structp png_ptr,
-				png_uint_32 size);
+				png_size_t size);
 /* 8 */
-PNG_IMPEXP int		png_reset_zstream(png_structp png_ptr);
+PNG_IMPEXP jmp_buf*	png_set_longjmp_fn(png_structp png_ptr,
+				png_longjmp_ptr longjmp_fn,
+				size_t jmp_buf_size);
 /* 9 */
+PNG_IMPEXP void		png_longjmp(png_structp png_ptr, int val);
+/* 10 */
+PNG_IMPEXP int		png_reset_zstream(png_structp png_ptr);
+/* 11 */
 PNG_IMPEXP png_structp	png_create_read_struct_2(
 				png_const_charp user_png_ver,
 				png_voidp error_ptr, png_error_ptr error_fn,
 				png_error_ptr warn_fn, png_voidp mem_ptr,
 				png_malloc_ptr malloc_fn,
 				png_free_ptr free_fn);
-/* 10 */
+/* 12 */
 PNG_IMPEXP png_structp	png_create_write_struct_2(
 				png_const_charp user_png_ver,
 				png_voidp error_ptr, png_error_ptr error_fn,
 				png_error_ptr warn_fn, png_voidp mem_ptr,
 				png_malloc_ptr malloc_fn,
 				png_free_ptr free_fn);
-/* 11 */
+/* 13 */
+PNG_IMPEXP void		png_write_sig(png_structp png_ptr);
+/* 14 */
 PNG_IMPEXP void		png_write_chunk(png_structp png_ptr,
-				png_bytep chunk_name, png_bytep data,
-				png_size_t length);
-/* 12 */
+				png_const_bytep chunk_name,
+				png_const_bytep data, png_size_t length);
+/* 15 */
 PNG_IMPEXP void		png_write_chunk_start(png_structp png_ptr,
-				png_bytep chunk_name, png_uint_32 length);
-/* 13 */
+				png_const_bytep chunk_name,
+				png_uint_32 length);
+/* 16 */
 PNG_IMPEXP void		png_write_chunk_data(png_structp png_ptr,
-				png_bytep data, png_size_t length);
-/* 14 */
+				png_const_bytep data, png_size_t length);
+/* 17 */
 PNG_IMPEXP void		png_write_chunk_end(png_structp png_ptr);
-/* 15 */
+/* 18 */
 PNG_IMPEXP png_infop	png_create_info_struct(png_structp png_ptr);
-/* Slot 16 is reserved */
-/* 17 */
+/* 19 */
+PNG_IMPEXP void		png_info_init_3(png_infopp info_ptr,
+				png_size_t png_info_struct_size);
+/* 20 */
 PNG_IMPEXP void		png_write_info_before_PLTE(png_structp png_ptr,
 				png_infop info_ptr);
-/* 18 */
+/* 21 */
 PNG_IMPEXP void		png_write_info(png_structp png_ptr,
 				png_infop info_ptr);
-/* 19 */
+/* 22 */
 PNG_IMPEXP void		png_read_info(png_structp png_ptr,
 				png_infop info_ptr);
-/* 20 */
-PNG_IMPEXP png_charp	png_convert_to_rfc1123(png_structp png_ptr,
-				png_timep ptime);
-/* 21 */
+/* 23 */
+PNG_IMPEXP png_const_charp png_convert_to_rfc1123(png_structp png_ptr,
+				png_const_timep ptime);
+/* 24 */
 PNG_IMPEXP void		png_convert_from_struct_tm(png_timep ptime,
-				struct tm FAR *ttime);
-/* 22 */
+				PNG_CONST struct tm FAR *ttime);
+/* 25 */
 PNG_IMPEXP void		png_convert_from_time_t(png_timep ptime,
 				time_t ttime);
-/* 23 */
+/* 26 */
 PNG_IMPEXP void		png_set_expand(png_structp png_ptr);
-/* Slot 24 is reserved */
-/* 25 */
+/* 27 */
+PNG_IMPEXP void		png_set_expand_gray_1_2_4_to_8(png_structp png_ptr);
+/* 28 */
 PNG_IMPEXP void		png_set_palette_to_rgb(png_structp png_ptr);
-/* 26 */
+/* 29 */
 PNG_IMPEXP void		png_set_tRNS_to_alpha(png_structp png_ptr);
-/* 27 */
+/* 30 */
 PNG_IMPEXP void		png_set_bgr(png_structp png_ptr);
-/* 28 */
+/* 31 */
 PNG_IMPEXP void		png_set_gray_to_rgb(png_structp png_ptr);
-/* 29 */
+/* 32 */
 PNG_IMPEXP void		png_set_rgb_to_gray(png_structp png_ptr,
 				int error_action, double red, double green);
-/* 30 */
+/* 33 */
 PNG_IMPEXP void		png_set_rgb_to_gray_fixed(png_structp png_ptr,
 				int error_action, png_fixed_point red,
 				png_fixed_point green);
-/* 31 */
-PNG_IMPEXP png_byte	png_get_rgb_to_gray_status(png_structp png_ptr);
-/* 32 */
+/* 34 */
+PNG_IMPEXP png_byte	png_get_rgb_to_gray_status(png_const_structp png_ptr);
+/* 35 */
 PNG_IMPEXP void		png_build_grayscale_palette(int bit_depth,
 				png_colorp palette);
-/* 33 */
+/* 36 */
 PNG_IMPEXP void		png_set_strip_alpha(png_structp png_ptr);
-/* 34 */
+/* 37 */
 PNG_IMPEXP void		png_set_swap_alpha(png_structp png_ptr);
-/* 35 */
+/* 38 */
 PNG_IMPEXP void		png_set_invert_alpha(png_structp png_ptr);
-/* 36 */
+/* 39 */
 PNG_IMPEXP void		png_set_filler(png_structp png_ptr,
 				png_uint_32 filler, int flags);
-/* 37 */
+/* 40 */
+PNG_IMPEXP void		png_set_add_alpha(png_structp png_ptr,
+				png_uint_32 filler, int flags);
+/* 41 */
 PNG_IMPEXP void		png_set_swap(png_structp png_ptr);
-/* 38 */
+/* 42 */
 PNG_IMPEXP void		png_set_packing(png_structp png_ptr);
-/* 39 */
+/* 43 */
 PNG_IMPEXP void		png_set_packswap(png_structp png_ptr);
-/* 40 */
+/* 44 */
 PNG_IMPEXP void		png_set_shift(png_structp png_ptr,
-				png_color_8p true_bits);
-/* 41 */
+				png_const_color_8p true_bits);
+/* 45 */
 PNG_IMPEXP int		png_set_interlace_handling(png_structp png_ptr);
-/* 42 */
+/* 46 */
 PNG_IMPEXP void		png_set_invert_mono(png_structp png_ptr);
-/* 43 */
+/* 47 */
 PNG_IMPEXP void		png_set_background(png_structp png_ptr,
-				png_color_16p background_color,
+				png_const_color_16p background_color,
 				int background_gamma_code, int need_expand,
 				double background_gamma);
-/* 44 */
+/* 48 */
 PNG_IMPEXP void		png_set_strip_16(png_structp png_ptr);
-/* Slot 45 is reserved */
-/* PNG_IMPEXP void		png_set_quantize(png_structp png_ptr,
+/* 49 */
+PNG_IMPEXP void		png_set_quantize(png_structp png_ptr,
 				png_colorp palette, int num_palette,
-				int maximum_colors, png_uint_16p histogram,
-				int full_dither);
-*/
-/* 46 */
+				int maximum_colors,
+				png_const_uint_16p histogram,
+				int full_quantize);
+/* 50 */
 PNG_IMPEXP void		png_set_gamma(png_structp png_ptr,
 				double screen_gamma,
-				double default_file_gamma);
-/* 47 */
-PNG_IMPEXP void		png_permit_empty_plte(png_structp png_ptr,
-				int empty_plte_permitted);
-/* 48 */
+				double override_file_gamma);
+/* 51 */
 PNG_IMPEXP void		png_set_flush(png_structp png_ptr, int nrows);
-/* 49 */
+/* 52 */
 PNG_IMPEXP void		png_write_flush(png_structp png_ptr);
-/* 50 */
+/* 53 */
 PNG_IMPEXP void		png_start_read_image(png_structp png_ptr);
-/* 51 */
+/* 54 */
 PNG_IMPEXP void		png_read_update_info(png_structp png_ptr,
 				png_infop info_ptr);
-/* 52 */
+/* 55 */
 PNG_IMPEXP void		png_read_rows(png_structp png_ptr, png_bytepp row,
 				png_bytepp display_row, png_uint_32 num_rows);
-/* 53 */
+/* 56 */
 PNG_IMPEXP void		png_read_row(png_structp png_ptr, png_bytep row,
 				png_bytep display_row);
-/* 54 */
+/* 57 */
 PNG_IMPEXP void		png_read_image(png_structp png_ptr, png_bytepp image);
-/* 55 */
-PNG_IMPEXP void		png_write_row(png_structp png_ptr, png_bytep row);
-/* 56 */
+/* 58 */
+PNG_IMPEXP void		png_write_row(png_structp png_ptr,
+				png_const_bytep row);
+/* 59 */
 PNG_IMPEXP void		png_write_rows(png_structp png_ptr, png_bytepp row,
 				png_uint_32 num_rows);
-/* 57 */
+/* 60 */
 PNG_IMPEXP void		png_write_image(png_structp png_ptr,
 				png_bytepp image);
-/* 58 */
+/* 61 */
 PNG_IMPEXP void		png_write_end(png_structp png_ptr,
 				png_infop info_ptr);
-/* 59 */
+/* 62 */
 PNG_IMPEXP void		png_read_end(png_structp png_ptr, png_infop info_ptr);
-/* 60 */
+/* 63 */
 PNG_IMPEXP void		png_destroy_info_struct(png_structp png_ptr,
 				png_infopp info_ptr_ptr);
-/* 61 */
+/* 64 */
 PNG_IMPEXP void		png_destroy_read_struct(png_structpp png_ptr_ptr,
 				png_infopp info_ptr_ptr,
 				png_infopp end_info_ptr_ptr);
-/* Slot 62 is reserved */
-/* 63 */
+/* 65 */
 PNG_IMPEXP void		png_destroy_write_struct(png_structpp png_ptr_ptr,
 				png_infopp info_ptr_ptr);
-/* Slot 64 is reserved */
-/* Slot 65 is reserved */
 /* 66 */
 PNG_IMPEXP void		png_set_crc_action(png_structp png_ptr,
 				int crit_action, int ancil_action);
@@ -223,8 +239,8 @@ PNG_IMPEXP void		png_set_filter(png_stru
 /* 68 */
 PNG_IMPEXP void		png_set_filter_heuristics(png_structp png_ptr,
 				int heuristic_method, int num_weights,
-				png_doublep filter_weights,
-				png_doublep filter_costs);
+				png_const_doublep filter_weights,
+				png_const_doublep filter_costs);
 /* 69 */
 PNG_IMPEXP void		png_set_compression_level(png_structp png_ptr,
 				int level);
@@ -247,7 +263,7 @@ PNG_IMPEXP void		png_set_error_fn(png_st
 				png_voidp error_ptr, png_error_ptr error_fn,
 				png_error_ptr warning_fn);
 /* 76 */
-PNG_IMPEXP png_voidp	png_get_error_ptr(png_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_error_ptr(png_const_structp png_ptr);
 /* 77 */
 PNG_IMPEXP void		png_set_write_fn(png_structp png_ptr,
 				png_voidp io_ptr, png_rw_ptr write_data_fn,
@@ -268,7 +284,7 @@ PNG_IMPEXP void		png_set_mem_fn(png_stru
 				png_voidp mem_ptr, png_malloc_ptr malloc_fn,
 				png_free_ptr free_fn);
 /* 83 */
-PNG_IMPEXP png_voidp	png_get_mem_ptr(png_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_mem_ptr(png_const_structp png_ptr);
 /* 84 */
 PNG_IMPEXP void		png_set_read_user_transform_fn(png_structp png_ptr,
 				png_user_transform_ptr read_user_transform_fn);
@@ -281,13 +297,13 @@ PNG_IMPEXP void		png_set_user_transform_
 				int user_transform_depth,
 				int user_transform_channels);
 /* 87 */
-PNG_IMPEXP png_voidp	png_get_user_transform_ptr(png_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_user_transform_ptr(png_const_structp png_ptr);
 /* 88 */
 PNG_IMPEXP void		png_set_read_user_chunk_fn(png_structp png_ptr,
 				png_voidp user_chunk_ptr,
 				png_user_chunk_ptr read_user_chunk_fn);
 /* 89 */
-PNG_IMPEXP png_voidp	png_get_user_chunk_ptr(png_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_user_chunk_ptr(png_const_structp png_ptr);
 /* 90 */
 PNG_IMPEXP void		png_set_progressive_read_fn(png_structp png_ptr,
 				png_voidp progressive_ptr,
@@ -295,125 +311,141 @@ PNG_IMPEXP void		png_set_progressive_rea
 				png_progressive_row_ptr row_fn,
 				png_progressive_end_ptr end_fn);
 /* 91 */
-PNG_IMPEXP png_voidp	png_get_progressive_ptr(png_structp png_ptr);
+PNG_IMPEXP png_voidp	png_get_progressive_ptr(png_const_structp png_ptr);
 /* 92 */
 PNG_IMPEXP void		png_process_data(png_structp png_ptr,
 				png_infop info_ptr, png_bytep buffer,
 				png_size_t buffer_size);
 /* 93 */
 PNG_IMPEXP void		png_progressive_combine_row(png_structp png_ptr,
-				png_bytep old_row, png_bytep new_row);
+				png_bytep old_row, png_const_bytep new_row);
 /* 94 */
 PNG_IMPEXP png_voidp	png_malloc(png_structp png_ptr,
-				png_uint_32 size);
+				png_alloc_size_t size);
 /* 95 */
-PNG_IMPEXP void		png_free(png_structp png_ptr, png_voidp ptr);
+PNG_IMPEXP png_voidp	png_calloc(png_structp png_ptr,
+				png_alloc_size_t size);
 /* 96 */
+PNG_IMPEXP png_voidp	png_malloc_warn(png_structp png_ptr,
+				png_alloc_size_t size);
+/* 97 */
+PNG_IMPEXP void		png_free(png_structp png_ptr, png_voidp ptr);
+/* 98 */
 PNG_IMPEXP void		png_free_data(png_structp png_ptr,
 				png_infop info_ptr, png_uint_32 free_me,
 				int num);
-/* 97 */
+/* 99 */
 PNG_IMPEXP void		png_data_freer(png_structp png_ptr,
 				png_infop info_ptr, int freer,
 				png_uint_32 mask);
-/* 98 */
+/* 100 */
 PNG_IMPEXP png_voidp	png_malloc_default(png_structp png_ptr,
-				png_uint_32 size);
-/* 99 */
+				png_alloc_size_t size);
+/* 101 */
 PNG_IMPEXP void		png_free_default(png_structp png_ptr, png_voidp ptr);
-/* Slot 100 is reserved */
-/* Slot 101 is reserved */
 /* 102 */
-PNG_IMPEXP void *	png_far_to_near(png_structp png_ptr, png_voidp ptr,
-				int check);
+PNG_IMPEXP void		png_error(png_structp png_ptr,
+				png_const_charp error_message);
 /* 103 */
-PNG_IMPEXP void		png_error(png_structp png_ptr, png_const_charp error);
-/* 104 */
 PNG_IMPEXP void		png_chunk_error(png_structp png_ptr,
 				png_const_charp error);
+/* 104 */
+PNG_IMPEXP void		png_err(png_structp png_ptr);
 /* 105 */
 PNG_IMPEXP void		png_warning(png_structp png_ptr,
-				png_const_charp message);
+				png_const_charp warning_message);
 /* 106 */
 PNG_IMPEXP void		png_chunk_warning(png_structp png_ptr,
-				png_const_charp message);
+				png_const_charp warning_message);
 /* 107 */
-PNG_IMPEXP png_uint_32	png_get_valid(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 flag);
+PNG_IMPEXP void		png_benign_error(png_structp png_ptr,
+				png_const_charp warning_message);
 /* 108 */
-PNG_IMPEXP png_uint_32	png_get_rowbytes(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_chunk_benign_error(png_structp png_ptr,
+				png_const_charp warning_message);
 /* 109 */
-PNG_IMPEXP png_bytepp	png_get_rows(png_structp png_ptr, png_infop info_ptr);
+PNG_IMPEXP void		png_set_benign_errors(png_structp png_ptr,
+				int allowed);
 /* 110 */
-PNG_IMPEXP void		png_set_rows(png_structp png_ptr, png_infop info_ptr,
-				png_bytepp row_pointers);
+PNG_IMPEXP png_uint_32	png_get_valid(png_const_structp png_ptr,
+				png_const_infop info_ptr, png_uint_32 flag);
 /* 111 */
-PNG_IMPEXP png_byte	png_get_channels(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_size_t	png_get_rowbytes(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 112 */
-PNG_IMPEXP png_uint_32	png_get_image_width(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_bytepp	png_get_rows(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 113 */
-PNG_IMPEXP png_uint_32	png_get_image_height(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP void		png_set_rows(png_structp png_ptr, png_infop info_ptr,
+				png_bytepp row_pointers);
 /* 114 */
-PNG_IMPEXP png_byte	png_get_bit_depth(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_channels(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 115 */
-PNG_IMPEXP png_byte	png_get_color_type(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_image_width(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 116 */
-PNG_IMPEXP png_byte	png_get_filter_type(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_image_height(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 117 */
-PNG_IMPEXP png_byte	png_get_interlace_type(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_bit_depth(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 118 */
-PNG_IMPEXP png_byte	png_get_compression_type(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_color_type(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 119 */
-PNG_IMPEXP png_uint_32	png_get_pixels_per_meter(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_filter_type(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 120 */
-PNG_IMPEXP png_uint_32	png_get_x_pixels_per_meter(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_interlace_type(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 121 */
-PNG_IMPEXP png_uint_32	png_get_y_pixels_per_meter(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_byte	png_get_compression_type(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 122 */
-PNG_IMPEXP float	png_get_pixel_aspect_ratio(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_pixels_per_meter(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 123 */
-PNG_IMPEXP png_int_32	png_get_x_offset_pixels(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_x_pixels_per_meter(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 124 */
-PNG_IMPEXP png_int_32	png_get_y_offset_pixels(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_uint_32	png_get_y_pixels_per_meter(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 125 */
-PNG_IMPEXP png_int_32	png_get_x_offset_microns(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP float	png_get_pixel_aspect_ratio(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 126 */
-PNG_IMPEXP png_int_32	png_get_y_offset_microns(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_int_32	png_get_x_offset_pixels(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 127 */
-PNG_IMPEXP png_bytep	png_get_signature(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_int_32	png_get_y_offset_pixels(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 128 */
-PNG_IMPEXP png_uint_32	png_get_bKGD(png_structp png_ptr, png_infop info_ptr,
-				png_color_16p *background);
+PNG_IMPEXP png_int_32	png_get_x_offset_microns(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 129 */
-PNG_IMPEXP void		png_set_bKGD(png_structp png_ptr, png_infop info_ptr,
-				png_color_16p background);
+PNG_IMPEXP png_int_32	png_get_y_offset_microns(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 130 */
-PNG_IMPEXP png_uint_32	png_get_cHRM(png_structp png_ptr, png_infop info_ptr,
-				double *white_x, double *white_y,
-				double *red_x, double *red_y,
-				double *green_x, double *green_y,
-				double *blue_x, double *blue_y);
+PNG_IMPEXP png_const_bytep png_get_signature(png_const_structp png_ptr,
+				png_infop info_ptr);
 /* 131 */
-PNG_IMPEXP png_uint_32	png_get_cHRM_fixed(png_structp png_ptr,
+PNG_IMPEXP png_uint_32	png_get_bKGD(png_const_structp png_ptr,
 				png_infop info_ptr,
+				png_color_16p *background);
+/* 132 */
+PNG_IMPEXP void		png_set_bKGD(png_structp png_ptr, png_infop info_ptr,
+				png_const_color_16p background);
+/* 133 */
+PNG_IMPEXP png_uint_32	png_get_cHRM(png_const_structp png_ptr,
+				png_const_infop info_ptr, double *white_x,
+				double *white_y, double *red_x,
+				double *red_y, double *green_x,
+				double *green_y, double *blue_x,
+				double *blue_y);
+/* 134 */
+PNG_IMPEXP png_uint_32	png_get_cHRM_fixed(png_const_structp png_ptr,
+				png_const_infop info_ptr,
 				png_fixed_point *int_white_x,
 				png_fixed_point *int_white_y,
 				png_fixed_point *int_red_x,
@@ -422,12 +454,12 @@ PNG_IMPEXP png_uint_32	png_get_cHRM_fixe
 				png_fixed_point *int_green_y,
 				png_fixed_point *int_blue_x,
 				png_fixed_point *int_blue_y);
-/* 132 */
+/* 135 */
 PNG_IMPEXP void		png_set_cHRM(png_structp png_ptr, png_infop info_ptr,
 				double white_x, double white_y, double red_x,
 				double red_y, double green_x, double green_y,
 				double blue_x, double blue_y);
-/* 133 */
+/* 136 */
 PNG_IMPEXP void		png_set_cHRM_fixed(png_structp png_ptr,
 				png_infop info_ptr,
 				png_fixed_point int_white_x,
@@ -438,652 +470,423 @@ PNG_IMPEXP void		png_set_cHRM_fixed(png_
 				png_fixed_point int_green_y,
 				png_fixed_point int_blue_x,
 				png_fixed_point int_blue_y);
-/* 134 */
-PNG_IMPEXP png_uint_32	png_get_gAMA(png_structp png_ptr, png_infop info_ptr,
-				double *file_gamma);
-/* 135 */
-PNG_IMPEXP png_uint_32	png_get_gAMA_fixed(png_structp png_ptr,
-				png_infop info_ptr,
+/* 137 */
+PNG_IMPEXP png_uint_32	png_get_gAMA(png_const_structp png_ptr,
+				png_const_infop info_ptr, double *file_gamma);
+/* 138 */
+PNG_IMPEXP png_uint_32	png_get_gAMA_fixed(png_const_structp png_ptr,
+				png_const_infop info_ptr,
 				png_fixed_point *int_file_gamma);
-/* 136 */
+/* 139 */
 PNG_IMPEXP void		png_set_gAMA(png_structp png_ptr, png_infop info_ptr,
 				double file_gamma);
-/* 137 */
+/* 140 */
 PNG_IMPEXP void		png_set_gAMA_fixed(png_structp png_ptr,
 				png_infop info_ptr,
 				png_fixed_point int_file_gamma);
-/* 138 */
-PNG_IMPEXP png_uint_32	png_get_hIST(png_structp png_ptr, png_infop info_ptr,
-				png_uint_16p *hist);
-/* 139 */
+/* 141 */
+PNG_IMPEXP png_uint_32	png_get_hIST(png_const_structp png_ptr,
+				png_const_infop info_ptr, png_uint_16p *hist);
+/* 142 */
 PNG_IMPEXP void		png_set_hIST(png_structp png_ptr, png_infop info_ptr,
-				png_uint_16p hist);
-/* 140 */
+				png_const_uint_16p hist);
+/* 143 */
 PNG_IMPEXP png_uint_32	png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
 				png_uint_32 *width, png_uint_32 *height,
 				int *bit_depth, int *color_type,
-				int *interlace_type, int *compression_type,
-				int *filter_type);
-/* 141 */
+				int *interlace_method,
+				int *compression_method, int *filter_method);
+/* 144 */
 PNG_IMPEXP void		png_set_IHDR(png_structp png_ptr, png_infop info_ptr,
 				png_uint_32 width, png_uint_32 height,
 				int bit_depth, int color_type,
-				int interlace_type, int compression_type,
-				int filter_type);
-/* 142 */
-PNG_IMPEXP png_uint_32	png_get_oFFs(png_structp png_ptr, png_infop info_ptr,
+				int interlace_method, int compression_method,
+				int filter_method);
+/* 145 */
+PNG_IMPEXP png_uint_32	png_get_oFFs(png_const_structp png_ptr,
+				png_const_infop info_ptr,
 				png_int_32 *offset_x, png_int_32 *offset_y,
 				int *unit_type);
-/* 143 */
+/* 146 */
 PNG_IMPEXP void		png_set_oFFs(png_structp png_ptr, png_infop info_ptr,
 				png_int_32 offset_x, png_int_32 offset_y,
 				int unit_type);
-/* 144 */
-PNG_IMPEXP png_uint_32	png_get_pCAL(png_structp png_ptr, png_infop info_ptr,
-				png_charp *purpose, png_int_32 *X0,
-				png_int_32 *X1, int *type, int *nparams,
-				png_charp *units, png_charpp *params);
-/* 145 */
+/* 147 */
+PNG_IMPEXP png_uint_32	png_get_pCAL(png_const_structp png_ptr,
+				png_const_infop info_ptr, png_charp *purpose,
+				png_int_32 *X0, png_int_32 *X1, int *type,
+				int *nparams, png_charp *units,
+				png_charpp *params);
+/* 148 */
 PNG_IMPEXP void		png_set_pCAL(png_structp png_ptr, png_infop info_ptr,
-				png_charp purpose, png_int_32 X0,
+				png_const_charp purpose, png_int_32 X0,
 				png_int_32 X1, int type, int nparams,
-				png_charp units, png_charpp params);
-/* 146 */
-PNG_IMPEXP png_uint_32	png_get_pHYs(png_structp png_ptr, png_infop info_ptr,
-				png_uint_32 *res_x, png_uint_32 *res_y,
-				int *unit_type);
-/* 147 */
+				png_const_charp units, png_charpp params);
+/* 149 */
+PNG_IMPEXP png_uint_32	png_get_pHYs(png_const_structp png_ptr,
+				png_const_infop info_ptr, png_uint_32 *res_x,
+				png_uint_32 *res_y, int *unit_type);
+/* 150 */
 PNG_IMPEXP void		png_set_pHYs(png_structp png_ptr, png_infop info_ptr,
 				png_uint_32 res_x, png_uint_32 res_y,
 				int unit_type);
-/* 148 */
-PNG_IMPEXP png_uint_32	png_get_PLTE(png_structp png_ptr, png_infop info_ptr,
-				png_colorp *palette, int *num_palette);
-/* 149 */
-PNG_IMPEXP void		png_set_PLTE(png_structp png_ptr, png_infop info_ptr,
-				png_colorp palette, int num_palette);
-/* 150 */
-PNG_IMPEXP png_uint_32	png_get_sBIT(png_structp png_ptr, png_infop info_ptr,
-				png_color_8p *sig_bit);
 /* 151 */
-PNG_IMPEXP void		png_set_sBIT(png_structp png_ptr, png_infop info_ptr,
-				png_color_8p sig_bit);
+PNG_IMPEXP png_uint_32	png_get_PLTE(png_const_structp png_ptr,
+				png_const_infop info_ptr,
+				png_colorp *palette, int *num_palette);
 /* 152 */
-PNG_IMPEXP png_uint_32	png_get_sRGB(png_structp png_ptr, png_infop info_ptr,
-				int *intent);
+PNG_IMPEXP void		png_set_PLTE(png_structp png_ptr, png_infop info_ptr,
+				png_const_colorp palette, int num_palette);
 /* 153 */
-PNG_IMPEXP void		png_set_sRGB(png_structp png_ptr, png_infop info_ptr,
-				int intent);
+PNG_IMPEXP png_uint_32	png_get_sBIT(png_const_structp png_ptr,
+				png_infop info_ptr, png_color_8p *sig_bit);
 /* 154 */
-PNG_IMPEXP void		png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr,
-				png_infop info_ptr, int intent);
+PNG_IMPEXP void		png_set_sBIT(png_structp png_ptr, png_infop info_ptr,
+				png_const_color_8p sig_bit);
 /* 155 */
-PNG_IMPEXP png_uint_32	png_get_iCCP(png_structp png_ptr, png_infop info_ptr,
-				png_charpp name, int *compression_type,
-				png_charpp profile, png_uint_32 *proflen);
+PNG_IMPEXP png_uint_32	png_get_sRGB(png_const_structp png_ptr,
+				png_const_infop info_ptr,
+				int *file_srgb_intent);
 /* 156 */
-PNG_IMPEXP void		png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
-				png_charp name, int compression_type,
-				png_charp profile, png_uint_32 proflen);
+PNG_IMPEXP void		png_set_sRGB(png_structp png_ptr, png_infop info_ptr,
+				int srgb_intent);
 /* 157 */
-PNG_IMPEXP png_uint_32	png_get_sPLT(png_structp png_ptr, png_infop info_ptr,
-				png_sPLT_tpp entries);
+PNG_IMPEXP void		png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr,
+				png_infop info_ptr, int srgb_intent);
 /* 158 */
-PNG_IMPEXP void		png_set_sPLT(png_structp png_ptr, png_infop info_ptr,
-				png_sPLT_tp entries, int nentries);
+PNG_IMPEXP png_uint_32	png_get_iCCP(png_const_structp png_ptr,
+				png_const_infop info_ptr, png_charpp name,
+				int *compression_type, png_bytepp profile,
+				png_uint_32 *proflen);
 /* 159 */
-PNG_IMPEXP png_uint_32	png_get_text(png_structp png_ptr, png_infop info_ptr,
-				png_textp *text_ptr, int *num_text);
+PNG_IMPEXP void		png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
+				png_const_charp name, int compression_type,
+				png_const_bytep profile, png_uint_32 proflen);
 /* 160 */
-PNG_IMPEXP void		png_set_text(png_structp png_ptr, png_infop info_ptr,
-				png_textp text_ptr, int num_text);
+PNG_IMPEXP png_uint_32	png_get_sPLT(png_const_structp png_ptr,
+				png_const_infop info_ptr,
+				png_sPLT_tpp entries);
 /* 161 */
-PNG_IMPEXP png_uint_32	png_get_tIME(png_structp png_ptr, png_infop info_ptr,
-				png_timep *mod_time);
+PNG_IMPEXP void		png_set_sPLT(png_structp png_ptr, png_infop info_ptr,
+				png_const_sPLT_tp entries, int nentries);
 /* 162 */
-PNG_IMPEXP void		png_set_tIME(png_structp png_ptr, png_infop info_ptr,
-				png_timep mod_time);
+PNG_IMPEXP png_uint_32	png_get_text(png_const_structp png_ptr,
+				png_const_infop info_ptr,
+				png_textp *text_ptr, int *num_text);
 /* 163 */
-PNG_IMPEXP png_uint_32	png_get_tRNS(png_structp png_ptr, png_infop info_ptr,
-				png_bytep *trans, int *num_trans,
-				png_color_16p *trans_values);
+PNG_IMPEXP void		png_set_text(png_structp png_ptr, png_infop info_ptr,
+				png_const_textp text_ptr, int num_text);
 /* 164 */
-PNG_IMPEXP void		png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
-				png_bytep trans, int num_trans,
-				png_color_16p trans_values);
+PNG_IMPEXP png_uint_32	png_get_tIME(png_const_structp png_ptr,
+				png_infop info_ptr, png_timep *mod_time);
 /* 165 */
-PNG_IMPEXP png_uint_32	png_get_sCAL(png_structp png_ptr, png_infop info_ptr,
-				int *unit, double *width, double *height);
+PNG_IMPEXP void		png_set_tIME(png_structp png_ptr, png_infop info_ptr,
+				png_const_timep mod_time);
 /* 166 */
-PNG_IMPEXP png_uint_32	png_get_sCAL_s(png_structp png_ptr,
-				png_infop info_ptr, int *unit,
-				png_charpp swidth, png_charpp sheight);
+PNG_IMPEXP png_uint_32	png_get_tRNS(png_const_structp png_ptr,
+				png_infop info_ptr, png_bytep *trans,
+				int *num_trans, png_color_16p *trans_color);
 /* 167 */
+PNG_IMPEXP void		png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
+				png_const_bytep trans, int num_trans,
+				png_const_color_16p trans_color);
+/* 168 */
+PNG_IMPEXP png_uint_32	png_get_sCAL(png_const_structp png_ptr,
+				png_const_infop info_ptr, int *unit,
+				double *width, double *height);
+/* 169 */
+PNG_IMPEXP png_uint_32	png_get_sCAL_s(png_const_structp png_ptr,
+				png_const_infop info_ptr, int *unit,
+				png_charpp swidth, png_charpp sheight);
+/* 170 */
 PNG_IMPEXP void		png_set_sCAL(png_structp png_ptr, png_infop info_ptr,
 				int unit, double width, double height);
-/* 168 */
+/* 171 */
 PNG_IMPEXP void		png_set_sCAL_s(png_structp png_ptr,
 				png_infop info_ptr, int unit,
-				png_charp swidth, png_charp sheight);
-/* 169 */
+				png_const_charp swidth,
+				png_const_charp sheight);
+/* 172 */
 PNG_IMPEXP void		png_set_keep_unknown_chunks(png_structp png_ptr,
-				int keep, png_bytep chunk_list,
+				int keep, png_const_bytep chunk_list,
 				int num_chunks);
-/* 170 */
+/* 173 */
+PNG_IMPEXP int		png_handle_as_unknown(png_structp png_ptr,
+				png_const_bytep chunk_name);
+/* 174 */
 PNG_IMPEXP void		png_set_unknown_chunks(png_structp png_ptr,
 				png_infop info_ptr,
-				png_unknown_chunkp unknowns,
+				png_const_unknown_chunkp unknowns,
 				int num_unknowns);
-/* 171 */
+/* 175 */
 PNG_IMPEXP void		png_set_unknown_chunk_location(png_structp png_ptr,
 				png_infop info_ptr, int chunk, int location);
-/* 172 */
-PNG_IMPEXP png_uint_32	png_get_unknown_chunks(png_structp png_ptr,
-				png_infop info_ptr,
+/* 176 */
+PNG_IMPEXP int		png_get_unknown_chunks(png_const_structp png_ptr,
+				png_const_infop info_ptr,
 				png_unknown_chunkpp entries);
-/* 173 */
+/* 177 */
 PNG_IMPEXP void		png_set_invalid(png_structp png_ptr,
 				png_infop info_ptr, int mask);
-/* 174 */
+/* 178 */
 PNG_IMPEXP void		png_read_png(png_structp png_ptr, png_infop info_ptr,
-				int transforms, voidp params);
-/* 175 */
+				int transforms, png_voidp params);
+/* 179 */
 PNG_IMPEXP void		png_write_png(png_structp png_ptr,
 				png_infop info_ptr, int transforms,
-				voidp params);
-/* 176 */
-PNG_IMPEXP png_bytep	png_sig_bytes(void);
-/* 177 */
-PNG_IMPEXP png_charp	png_get_copyright(png_structp png_ptr);
-/* 178 */
-PNG_IMPEXP png_charp	png_get_header_ver(png_structp png_ptr);
-/* 179 */
-PNG_IMPEXP png_charp	png_get_header_version(png_structp png_ptr);
+				png_voidp params);
 /* 180 */
-PNG_IMPEXP png_charp	png_get_libpng_ver(png_structp png_ptr);
-/* Slot 181 is reserved */
-/* Slot 182 is reserved */
-/* Slot 183 is reserved */
+PNG_IMPEXP png_const_charp png_get_copyright(png_const_structp png_ptr);
+/* 181 */
+PNG_IMPEXP png_const_charp png_get_header_ver(png_const_structp png_ptr);
+/* 182 */
+PNG_IMPEXP png_const_charp png_get_header_version(png_const_structp png_ptr);
+/* 183 */
+PNG_IMPEXP png_const_charp png_get_libpng_ver(png_const_structp png_ptr);
 /* 184 */
-PNG_IMPEXP void		png_read_init(png_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_permit_mng_features(png_structp png_ptr,
+				png_uint_32 mng_features_permitted);
 /* 185 */
-PNG_IMPEXP void		png_read_init_2(png_structp png_ptr,
-				png_const_charp user_png_ver,
-				png_size_t png_struct_size,
-				png_size_t png_info_size);
-/* Slot 186 is reserved */
-/* Slot 187 is reserved */
+PNG_IMPEXP void		png_set_strip_error_numbers(png_structp png_ptr,
+				png_uint_32 strip_mode);
+/* 186 */
+PNG_IMPEXP void		png_set_user_limits(png_structp png_ptr,
+				png_uint_32 user_width_max,
+				png_uint_32 user_height_max);
+/* 187 */
+PNG_IMPEXP png_uint_32	png_get_user_width_max(png_const_structp png_ptr);
 /* 188 */
-PNG_IMPEXP png_voidp	png_create_struct(int type);
+PNG_IMPEXP png_uint_32	png_get_user_height_max(png_const_structp png_ptr);
 /* 189 */
-PNG_IMPEXP void		png_destroy_struct(png_voidp struct_ptr);
+PNG_IMPEXP void		png_set_chunk_cache_max(png_structp png_ptr,
+				png_uint_32 user_chunk_cache_max);
 /* 190 */
-PNG_IMPEXP png_voidp	png_create_struct_2(int type,
-				png_malloc_ptr malloc_fn);
+PNG_IMPEXP png_uint_32	png_get_chunk_cache_max(png_const_structp png_ptr);
 /* 191 */
-PNG_IMPEXP void		png_destroy_struct_2(png_voidp struct_ptr,
-				png_free_ptr free_fn);
+PNG_IMPEXP void		png_set_chunk_malloc_max(png_structp png_ptr,
+				png_alloc_size_t user_chunk_cache_max);
 /* 192 */
-PNG_IMPEXP void		png_info_destroy(png_structp png_ptr,
-				png_infop info_ptr);
+PNG_IMPEXP png_alloc_size_t png_get_chunk_malloc_max(
+				png_const_structp png_ptr);
 /* 193 */
-PNG_IMPEXP voidpf	png_zalloc(voidpf png_ptr, uInt items, uInt size);
+PNG_IMPEXP png_uint_32	png_get_pixels_per_inch(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 194 */
-PNG_IMPEXP void		png_zfree(voidpf png_ptr, voidpf ptr);
+PNG_IMPEXP png_uint_32	png_get_x_pixels_per_inch(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 195 */
-PNG_IMPEXP void		png_reset_crc(png_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_y_pixels_per_inch(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 196 */
-PNG_IMPEXP void		png_write_data(png_structp png_ptr, png_bytep data,
-				png_size_t length);
+PNG_IMPEXP float	png_get_x_offset_inches(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 197 */
-PNG_IMPEXP void		png_read_data(png_structp png_ptr, png_bytep data,
-				png_size_t length);
+PNG_IMPEXP float	png_get_y_offset_inches(png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 198 */
-PNG_IMPEXP void		png_crc_read(png_structp png_ptr, png_bytep buf,
-				png_size_t length);
+PNG_IMPEXP png_uint_32	png_get_pHYs_dpi(png_const_structp png_ptr,
+				png_const_infop info_ptr, png_uint_32 *res_x,
+				png_uint_32 *res_y, int *unit_type);
 /* 199 */
-PNG_IMPEXP png_charp	png_decompress_chunk(png_structp png_ptr,
-				int comp_type, png_charp chunkdata,
-				png_size_t chunklength,
-				png_size_t prefix_length,
-				png_size_t *data_length);
+PNG_IMPEXP png_uint_32	png_get_io_state(png_structp png_ptr);
 /* 200 */
-PNG_IMPEXP int		png_crc_finish(png_structp png_ptr, png_uint_32 skip);
+PNG_IMPEXP png_const_bytep png_get_io_chunk_name(png_structp png_ptr);
 /* 201 */
-PNG_IMPEXP int		png_crc_error(png_structp png_ptr);
+PNG_IMPEXP png_uint_32	png_get_uint_32(png_const_bytep buf);
 /* 202 */
-PNG_IMPEXP void		png_calculate_crc(png_structp png_ptr, png_bytep ptr,
-				png_size_t length);
+PNG_IMPEXP png_uint_16	png_get_uint_16(png_const_bytep buf);
 /* 203 */
-PNG_IMPEXP void		png_flush(png_structp png_ptr);
+PNG_IMPEXP png_int_32	png_get_int_32(png_const_bytep buf);
 /* 204 */
-PNG_IMPEXP void		png_save_uint_32(png_bytep buf, png_uint_32 i);
+PNG_IMPEXP png_uint_32	png_get_uint_31(png_structp png_ptr,
+				png_const_bytep buf);
 /* 205 */
-PNG_IMPEXP void		png_save_int_32(png_bytep buf, png_int_32 i);
+PNG_IMPEXP void		png_save_uint_32(png_bytep buf, png_uint_32 i);
 /* 206 */
-PNG_IMPEXP void		png_save_uint_16(png_bytep buf, unsigned int i);
+PNG_IMPEXP void		png_save_int_32(png_bytep buf, png_int_32 i);
 /* 207 */
-PNG_IMPEXP void		png_write_sig(png_structp png_ptr);
+PNG_IMPEXP void		png_save_uint_16(png_bytep buf, unsigned int i);
 /* 208 */
-PNG_IMPEXP void		png_write_IHDR(png_structp png_ptr,
-				png_uint_32 width, png_uint_32 height,
-				int bit_depth, int color_type,
-				int compression_type, int filter_type,
-				int interlace_type);
+PNG_IMPEXP void		png_set_gamma_fixed(png_structp png_ptr,
+				png_fixed_point screen_gamma,
+				png_fixed_point override_file_gamma);
 /* 209 */
-PNG_IMPEXP void		png_write_PLTE(png_structp png_ptr,
-				png_colorp palette, png_uint_32 num_pal);
+PNG_IMPEXP void		png_set_filter_heuristics_fixed(png_structp png_ptr,
+				int heuristic_method, int num_weights,
+				png_const_fixed_point_p filter_weights,
+				png_const_fixed_point_p filter_costs);
 /* 210 */
-PNG_IMPEXP void		png_write_IDAT(png_structp png_ptr, png_bytep data,
-				png_size_t length);
+PNG_IMPEXP png_fixed_point png_get_pixel_aspect_ratio_fixed(
+				png_const_structp png_ptr,
+				png_const_infop info_ptr);
 /* 211 */
-PNG_IMPEXP void		png_write_IEND(png_structp png_ptr);
+PNG_IMPEXP png_fixed_point png_get_x_offset_inches_fixed(png_structp png_ptr,
+				png_const_infop info_ptr);
 /* 212 */
-PNG_IMPEXP void		png_write_gAMA(png_structp png_ptr,
-				double file_gamma);
+PNG_IMPEXP png_fixed_point png_get_y_offset_inches_fixed(png_structp png_ptr,
+				png_const_infop info_ptr);
 /* 213 */
-PNG_IMPEXP void		png_write_gAMA_fixed(png_structp png_ptr,
-				png_fixed_point file_gamma);
+PNG_IMPEXP void		png_set_sCAL_fixed(png_structp png_ptr,
+				png_infop info_ptr, int unit,
+				png_fixed_point width,
+				png_fixed_point height);
 /* 214 */
-PNG_IMPEXP void		png_write_sBIT(png_structp png_ptr,
-				png_color_8p sbit, int color_type);
+PNG_IMPEXP png_uint_32	png_get_sCAL_fixed(png_structp png_ptr,
+				png_const_infop info_ptr, int *unit,
+				png_fixed_point *width,
+				png_fixed_point *height);
 /* 215 */
-PNG_IMPEXP void		png_write_cHRM(png_structp png_ptr, double white_x,
-				double white_y, double red_x, double red_y,
-				double green_x, double green_y,
-				double blue_x, double blue_y);
+PNG_IMPEXP void		png_set_background_fixed(png_structp png_ptr,
+				png_const_color_16p background_color,
+				int background_gamma_code, int need_expand,
+				png_fixed_point background_gamma);
 /* 216 */
-PNG_IMPEXP void		png_write_cHRM_fixed(png_structp png_ptr,
-				png_fixed_point int_white_x,
-				png_fixed_point int_white_y,
-				png_fixed_point int_red_x,
-				png_fixed_point int_red_y,
-				png_fixed_point int_green_x,
-				png_fixed_point int_green_y,
-				png_fixed_point int_blue_x,
-				png_fixed_point int_blue_y);
+PNG_IMPEXP png_uint_32	png_get_io_chunk_type(png_const_structp png_ptr);
 /* 217 */
-PNG_IMPEXP void		png_write_sRGB(png_structp png_ptr, int intent);
+PNG_IMPEXP png_uint_32	png_get_current_row_number(png_const_structp png_ptr);
 /* 218 */
-PNG_IMPEXP void		png_write_iCCP(png_structp png_ptr, png_charp name,
-				int compression_type, png_charp profile,
-				int proflen);
+PNG_IMPEXP png_byte	png_get_current_pass_number(
+				png_const_structp png_ptr);
 /* 219 */
-PNG_IMPEXP void		png_write_sPLT(png_structp png_ptr,
-				png_sPLT_tp palette);
+PNG_IMPEXP png_size_t	png_process_data_pause(png_structp png_ptr, int save);
 /* 220 */
-PNG_IMPEXP void		png_write_tRNS(png_structp png_ptr, png_bytep trans,
-				png_color_16p values, int number,
-				int color_type);
+PNG_IMPEXP png_uint_32	png_process_data_skip(png_structp png_ptr);
 /* 221 */
-PNG_IMPEXP void		png_write_bKGD(png_structp png_ptr,
-				png_color_16p values, int color_type);
+PNG_IMPEXP void		png_set_expand_16(png_structp png_ptr);
 /* 222 */
-PNG_IMPEXP void		png_write_hIST(png_structp png_ptr,
-				png_uint_16p hist, int num_hist);
+PNG_IMPEXP void		png_set_text_compression_level(png_structp png_ptr,
+				int level);
 /* 223 */
-PNG_IMPEXP png_size_t	png_check_keyword(png_structp png_ptr, png_charp key,
-				png_charpp new_key);
+PNG_IMPEXP void		png_set_text_compression_mem_level(
+				png_structp png_ptr, int mem_level);
 /* 224 */
-PNG_IMPEXP void		png_write_tEXt(png_structp png_ptr, png_charp key,
-				png_charp text, png_size_t text_len);
+PNG_IMPEXP void		png_set_text_compression_strategy(
+				png_structp png_ptr, int strategy);
 /* 225 */
-PNG_IMPEXP void		png_write_zTXt(png_structp png_ptr, png_charp key,
-				png_size_t text_len, int compression);
+PNG_IMPEXP void		png_set_text_compression_window_bits(
+				png_structp png_ptr, int window_bits);
 /* 226 */
-PNG_IMPEXP void		png_write_iTXt(png_structp png_ptr, int compression,
-				png_charp key, png_charp lang,
-				png_charp lang_key, png_charp text);
+PNG_IMPEXP void		png_set_text_compression_method(png_structp pnt_ptr,
+				int method);
 /* 227 */
-PNG_IMPEXP void		png_write_oFFs(png_structp png_ptr,
-				png_uint_32 x_offset, png_uint_32 y_offset,
-				int unit_type);
+PNG_IMPEXP void		png_set_alpha_mode(png_structp png_ptr, int mode,
+				double output_gamma);
 /* 228 */
-PNG_IMPEXP void		png_write_pCAL(png_structp png_ptr,
-				png_charp purpose, png_int_32 X0,
-				png_int_32 X1, int type, int nparams,
-				png_charp units, png_charpp params);
+PNG_IMPEXP void		png_set_alpha_mode_fixed(png_structp png_ptr,
+				int mode, png_fixed_point output_gamma);
 /* 229 */
-PNG_IMPEXP void		png_write_pHYs(png_structp png_ptr,
-				png_uint_32 x_pixels_per_unit,
-				png_uint_32 y_pixels_per_unit, int unit_type);
+PNG_IMPEXP void		png_set_scale_16(png_structp png_ptr);
 /* 230 */
-PNG_IMPEXP void		png_write_tIME(png_structp png_ptr,
-				png_timep mod_time);
+PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ(png_structp png_ptr,
+				png_const_infop info_ptr, double *red_X,
+				double *red_Y, double *red_Z,
+				double *green_X, double *green_Y,
+				double *green_Z, double *blue_X,
+				double *blue_Y, double *blue_Z);
 /* 231 */
-PNG_IMPEXP void		png_write_sCAL(png_structp png_ptr, int unit,
-				double width, double height);
+PNG_IMPEXP png_uint_32	png_get_cHRM_XYZ_fixed(png_structp png_ptr,
+				png_const_infop info_ptr,
+				png_fixed_point *int_red_X,
+				png_fixed_point *int_red_Y,
+				png_fixed_point *int_red_Z,
+				png_fixed_point *int_green_X,
+				png_fixed_point *int_green_Y,
+				png_fixed_point *int_green_Z,
+				png_fixed_point *int_blue_X,
+				png_fixed_point *int_blue_Y,
+				png_fixed_point *int_blue_Z);
 /* 232 */
-PNG_IMPEXP void		png_write_sCAL_s(png_structp png_ptr, int unit,
-				png_charp width, png_charp height);
+PNG_IMPEXP void		png_set_cHRM_XYZ(png_structp png_ptr,
+				png_infop info_ptr, double red_X,
+				double red_Y, double red_Z, double green_X,
+				double green_Y, double green_Z,
+				double blue_X, double blue_Y, double blue_Z);
 /* 233 */
-PNG_IMPEXP void		png_write_finish_row(png_structp png_ptr);
-/* 234 */
-PNG_IMPEXP void		png_write_start_row(png_structp png_ptr);
-/* 235 */
-PNG_IMPEXP void		png_build_gamma_table(png_structp png_ptr);
-/* 236 */
-PNG_IMPEXP void		png_combine_row(png_structp png_ptr, png_bytep row,
-				int mask);
-/* 237 */
-PNG_IMPEXP void		png_do_read_interlace(png_row_infop row_info,
-				png_bytep row, int pass,
-				png_uint_32 transformations);
-/* 238 */
-PNG_IMPEXP void		png_do_write_interlace(png_row_infop row_info,
-				png_bytep row, png_bytep prev_row,
-				int filter);
-/* 239 */
-PNG_IMPEXP void		png_read_filter_row(png_structp png_ptr,
-				png_row_infop row_info, png_bytep row,
-				png_bytep prev_row, int filter);
-/* 240 */
-PNG_IMPEXP void		png_write_find_filter(png_structp png_ptr,
-				png_row_infop row_info);
-/* 241 */
-PNG_IMPEXP void		png_write_filtered_row(png_structp png_ptr,
-				png_bytep filtered_row);
-/* 242 */
-PNG_IMPEXP void		png_read_finish_row(png_structp png_ptr);
-/* 243 */
-PNG_IMPEXP void		png_read_start_row(png_structp png_ptr);
-/* 244 */
-PNG_IMPEXP void		png_read_transform_info(png_structp png_ptr,
-				png_infop info_ptr);
-/* 245 */
-PNG_IMPEXP void		png_do_read_filler(png_row_infop row_info,
-				png_bytep row, png_uint_32 filler,
-				png_uint_32 flags);
-/* 246 */
-PNG_IMPEXP void		png_do_read_swap_alpha(png_row_infop row_info,
-				png_bytep row);
-/* 247 */
-PNG_IMPEXP void		png_do_write_swap_alpha(png_row_infop row_info,
-				png_bytep row);
-/* 248 */
-PNG_IMPEXP void		png_do_read_invert_alpha(png_row_infop row_info,
-				png_bytep row);
-/* 249 */
-PNG_IMPEXP void		png_do_write_invert_alpha(png_row_infop row_info,
-				png_bytep row);
-/* 250 */
-PNG_IMPEXP void		png_do_strip_filler(png_row_infop row_info,
-				png_bytep row, png_uint_32 flags);
-/* 251 */
-PNG_IMPEXP void		png_do_swap(png_row_infop row_info, png_bytep row);
-/* 252 */
-PNG_IMPEXP void		png_do_packswap(png_row_infop row_info,
-				png_bytep row);
-/* 253 */
-PNG_IMPEXP int		png_do_rgb_to_gray(png_structp png_ptr,
-				png_row_infop row_info, png_bytep row);
-/* 254 */
-PNG_IMPEXP void		png_do_gray_to_rgb(png_row_infop row_info,
-				png_bytep row);
-/* 255 */
-PNG_IMPEXP void		png_do_unpack(png_row_infop row_info, png_bytep row);
-/* 256 */
-PNG_IMPEXP void		png_do_unshift(png_row_infop row_info, png_bytep row,
-				png_color_8p sig_bits);
-/* 257 */
-PNG_IMPEXP void		png_do_invert(png_row_infop row_info, png_bytep row);
-/* 258 */
-PNG_IMPEXP void		png_do_chop(png_row_infop row_info, png_bytep row);
-/* 259 */
-PNG_IMPEXP void		png_do_dither(png_row_infop row_info, png_bytep row,
-				png_bytep palette_lookup,
-				png_bytep dither_lookup);
-/* 260 */
-PNG_IMPEXP void		png_correct_palette(png_structp png_ptr,
-				png_colorp palette, int num_palette);
-/* 261 */
-PNG_IMPEXP void		png_do_bgr(png_row_infop row_info, png_bytep row);
-/* 262 */
-PNG_IMPEXP void		png_do_pack(png_row_infop row_info, png_bytep row,
-				png_uint_32 bit_depth);
-/* 263 */
-PNG_IMPEXP void		png_do_shift(png_row_infop row_info, png_bytep row,
-				png_color_8p bit_depth);
-/* 264 */
-PNG_IMPEXP void		png_do_background(png_row_infop row_info,
-				png_bytep row, png_color_16p trans_values,
-				png_color_16p background,
-				png_color_16p background_1,
-				png_bytep gamma_table,
-				png_bytep gamma_from_1, png_bytep gamma_to_1,
-				png_uint_16pp gamma_16,
-				png_uint_16pp gamma_16_from_1,
-				png_uint_16pp gamma_16_to_1, int gamma_shift);
-/* 265 */
-PNG_IMPEXP void		png_do_gamma(png_row_infop row_info, png_bytep row,
-				png_bytep gamma_table,
-				png_uint_16pp gamma_16_table,
-				int gamma_shift);
-/* 266 */
-PNG_IMPEXP void		png_do_expand_palette(png_row_infop row_info,
-				png_bytep row, png_colorp palette,
-				png_bytep trans, int num_trans);
-/* 267 */
-PNG_IMPEXP void		png_do_expand(png_row_infop row_info, png_bytep row,
-				png_color_16p trans_value);
-/* 268 */
-PNG_IMPEXP void		png_handle_IHDR(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 269 */
-PNG_IMPEXP void		png_handle_PLTE(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 270 */
-PNG_IMPEXP void		png_handle_IEND(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 271 */
-PNG_IMPEXP void		png_handle_bKGD(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 272 */
-PNG_IMPEXP void		png_handle_cHRM(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 273 */
-PNG_IMPEXP void		png_handle_gAMA(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 274 */
-PNG_IMPEXP void		png_handle_hIST(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 275 */
-PNG_IMPEXP void		png_handle_iCCP(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 276 */
-PNG_IMPEXP void		png_handle_iTXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 277 */
-PNG_IMPEXP void		png_handle_oFFs(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 278 */
-PNG_IMPEXP void		png_handle_pCAL(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 279 */
-PNG_IMPEXP void		png_handle_pHYs(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 280 */
-PNG_IMPEXP void		png_handle_sBIT(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 281 */
-PNG_IMPEXP void		png_handle_sCAL(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 282 */
-PNG_IMPEXP void		png_handle_sPLT(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 283 */
-PNG_IMPEXP void		png_handle_sRGB(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 284 */
-PNG_IMPEXP void		png_handle_tEXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 285 */
-PNG_IMPEXP void		png_handle_tIME(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 286 */
-PNG_IMPEXP void		png_handle_tRNS(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 287 */
-PNG_IMPEXP void		png_handle_zTXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 288 */
-PNG_IMPEXP int		png_handle_as_unknown(png_structp png_ptr,
-				png_bytep chunk_name);
-/* 289 */
-PNG_IMPEXP void		png_handle_unknown(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 290 */
-PNG_IMPEXP void		png_check_chunk_name(png_structp png_ptr,
-				png_bytep chunk_name);
-/* 291 */
-PNG_IMPEXP void		png_do_read_transformations(png_structp png_ptr);
-/* 292 */
-PNG_IMPEXP void		png_do_write_transformations(png_structp png_ptr);
-/* 293 */
-PNG_IMPEXP void		png_init_read_transformations(png_structp png_ptr);
-/* 294 */
-PNG_IMPEXP void		png_push_read_chunk(png_structp png_ptr,
-				png_infop info_ptr);
-/* 295 */
-PNG_IMPEXP void		png_push_read_sig(png_structp png_ptr,
-				png_infop info_ptr);
-/* 296 */
-PNG_IMPEXP void		png_push_check_crc(png_structp png_ptr);
-/* 297 */
-PNG_IMPEXP void		png_push_crc_skip(png_structp png_ptr,
-				png_uint_32 length);
-/* 298 */
-PNG_IMPEXP void		png_push_crc_finish(png_structp png_ptr);
-/* 299 */
-PNG_IMPEXP void		png_push_fill_buffer(png_structp png_ptr,
-				png_bytep buffer, png_size_t length);
-/* 300 */
-PNG_IMPEXP void		png_push_save_buffer(png_structp png_ptr);
-/* 301 */
-PNG_IMPEXP void		png_push_restore_buffer(png_structp png_ptr,
-				png_bytep buffer, png_size_t buffer_length);
-/* 302 */
-PNG_IMPEXP void		png_push_read_IDAT(png_structp png_ptr);
-/* 303 */
-PNG_IMPEXP void		png_process_IDAT_data(png_structp png_ptr,
-				png_bytep buffer, png_size_t buffer_length);
-/* 304 */
-PNG_IMPEXP void		png_push_process_row(png_structp png_ptr);
-/* 305 */
-PNG_IMPEXP void		png_push_handle_unknown(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 306 */
-PNG_IMPEXP void		png_push_have_info(png_structp png_ptr,
-				png_infop info_ptr);
-/* 307 */
-PNG_IMPEXP void		png_push_have_end(png_structp png_ptr,
-				png_infop info_ptr);
-/* 308 */
-PNG_IMPEXP void		png_push_have_row(png_structp png_ptr, png_bytep row);
-/* 309 */
-PNG_IMPEXP void		png_push_read_end(png_structp png_ptr,
-				png_infop info_ptr);
-/* 310 */
-PNG_IMPEXP void		png_process_some_data(png_structp png_ptr,
-				png_infop info_ptr);
-/* 311 */
-PNG_IMPEXP void		png_read_push_finish_row(png_structp png_ptr);
-/* 312 */
-PNG_IMPEXP void		png_push_handle_tEXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 313 */
-PNG_IMPEXP void		png_push_read_tEXt(png_structp png_ptr,
-				png_infop info_ptr);
-/* 314 */
-PNG_IMPEXP void		png_push_handle_zTXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 315 */
-PNG_IMPEXP void		png_push_read_zTXt(png_structp png_ptr,
-				png_infop info_ptr);
-/* 316 */
-PNG_IMPEXP void		png_push_handle_iTXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 317 */
-PNG_IMPEXP void		png_push_read_iTXt(png_structp png_ptr,
-				png_infop info_ptr, png_uint_32 length);
-/* 318 */
-PNG_IMPEXP void		png_info_init_3(png_infopp info_ptr,
-				png_size_t png_info_struct_size);
+PNG_IMPEXP void		png_set_cHRM_XYZ_fixed(png_structp png_ptr,
+				png_infop info_ptr,
+				png_fixed_point int_red_X,
+				png_fixed_point int_red_Y,
+				png_fixed_point int_red_Z,
+				png_fixed_point int_green_X,
+				png_fixed_point int_green_Y,
+				png_fixed_point int_green_Z,
+				png_fixed_point int_blue_X,
+				png_fixed_point int_blue_Y,
+				png_fixed_point int_blue_Z);
 
 typedef struct PngtclStubs {
     int magic;
     const struct PngtclStubHooks *hooks;
 
-    png_uint_32 (*png_access_version_numberPtr) (void); /* 0 */
-    void (*png_set_sig_bytesPtr) (png_structp png_ptr, int num_bytes); /* 1 */
-    int (*png_sig_cmpPtr) (png_bytep sig, png_size_t start, png_size_t num_to_check); /* 2 */
-    void (*reserved3)(void);
+    void (*reserved0)(void);
+    png_uint_32 (*png_access_version_numberPtr) (void); /* 1 */
+    void (*png_set_sig_bytesPtr) (png_structp png_ptr, int num_bytes); /* 2 */
+    int (*png_sig_cmpPtr) (png_const_bytep sig, png_size_t start, png_size_t num_to_check); /* 3 */
     png_structp (*png_create_read_structPtr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn); /* 4 */
     png_structp (*png_create_write_structPtr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn); /* 5 */
-    png_size_t (*png_get_compression_buffer_sizePtr) (png_structp png_ptr); /* 6 */
+    png_size_t (*png_get_compression_buffer_sizePtr) (png_const_structp png_ptr); /* 6 */
     void (*png_set_compression_buffer_sizePtr) (png_structp png_ptr, png_size_t size); /* 7 */
-    int (*png_reset_zstreamPtr) (png_structp png_ptr); /* 8 */
-    png_structp (*png_create_read_struct_2Ptr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 9 */
-    png_structp (*png_create_write_struct_2Ptr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 10 */
-    void (*png_write_chunkPtr) (png_structp png_ptr, png_bytep chunk_name, png_bytep data, png_size_t length); /* 11 */
-    void (*png_write_chunk_startPtr) (png_structp png_ptr, png_bytep chunk_name, png_uint_32 length); /* 12 */
-    void (*png_write_chunk_dataPtr) (png_structp png_ptr, png_bytep data, png_size_t length); /* 13 */
-    void (*png_write_chunk_endPtr) (png_structp png_ptr); /* 14 */
-    png_infop (*png_create_info_structPtr) (png_structp png_ptr); /* 15 */
-    void (*reserved16)(void);
-    void (*png_write_info_before_PLTEPtr) (png_structp png_ptr, png_infop info_ptr); /* 17 */
-    void (*png_write_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 18 */
-    void (*png_read_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 19 */
-    png_charp (*png_convert_to_rfc1123Ptr) (png_structp png_ptr, png_timep ptime); /* 20 */
-    void (*png_convert_from_struct_tmPtr) (png_timep ptime, struct tm FAR *ttime); /* 21 */
-    void (*png_convert_from_time_tPtr) (png_timep ptime, time_t ttime); /* 22 */
-    void (*png_set_expandPtr) (png_structp png_ptr); /* 23 */
-    void (*reserved24)(void);
-    void (*png_set_palette_to_rgbPtr) (png_structp png_ptr); /* 25 */
-    void (*png_set_tRNS_to_alphaPtr) (png_structp png_ptr); /* 26 */
-    void (*png_set_bgrPtr) (png_structp png_ptr); /* 27 */
-    void (*png_set_gray_to_rgbPtr) (png_structp png_ptr); /* 28 */
-    void (*png_set_rgb_to_grayPtr) (png_structp png_ptr, int error_action, double red, double green); /* 29 */
-    void (*png_set_rgb_to_gray_fixedPtr) (png_structp png_ptr, int error_action, png_fixed_point red, png_fixed_point green); /* 30 */
-    png_byte (*png_get_rgb_to_gray_statusPtr) (png_structp png_ptr); /* 31 */
-    void (*png_build_grayscale_palettePtr) (int bit_depth, png_colorp palette); /* 32 */
-    void (*png_set_strip_alphaPtr) (png_structp png_ptr); /* 33 */
-    void (*png_set_swap_alphaPtr) (png_structp png_ptr); /* 34 */
-    void (*png_set_invert_alphaPtr) (png_structp png_ptr); /* 35 */
-    void (*png_set_fillerPtr) (png_structp png_ptr, png_uint_32 filler, int flags); /* 36 */
-    void (*png_set_swapPtr) (png_structp png_ptr); /* 37 */
-    void (*png_set_packingPtr) (png_structp png_ptr); /* 38 */
-    void (*png_set_packswapPtr) (png_structp png_ptr); /* 39 */
-    void (*png_set_shiftPtr) (png_structp png_ptr, png_color_8p true_bits); /* 40 */
-    int (*png_set_interlace_handlingPtr) (png_structp png_ptr); /* 41 */
-    void (*png_set_invert_monoPtr) (png_structp png_ptr); /* 42 */
-    void (*png_set_backgroundPtr) (png_structp png_ptr, png_color_16p background_color, int background_gamma_code, int need_expand, double background_gamma); /* 43 */
-    void (*png_set_strip_16Ptr) (png_structp png_ptr); /* 44 */
-    /* void (*png_set_quantizePtr) (png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_uint_16p histogram, int full_dither); */
-    void (*reserved45)(void);
-    void (*png_set_gammaPtr) (png_structp png_ptr, double screen_gamma, double default_file_gamma); /* 46 */
-    void (*png_permit_empty_pltePtr) (png_structp png_ptr, int empty_plte_permitted); /* 47 */
-    void (*png_set_flushPtr) (png_structp png_ptr, int nrows); /* 48 */
-    void (*png_write_flushPtr) (png_structp png_ptr); /* 49 */
-    void (*png_start_read_imagePtr) (png_structp png_ptr); /* 50 */
-    void (*png_read_update_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 51 */
-    void (*png_read_rowsPtr) (png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows); /* 52 */
-    void (*png_read_rowPtr) (png_structp png_ptr, png_bytep row, png_bytep display_row); /* 53 */
-    void (*png_read_imagePtr) (png_structp png_ptr, png_bytepp image); /* 54 */
-    void (*png_write_rowPtr) (png_structp png_ptr, png_bytep row); /* 55 */
-    void (*png_write_rowsPtr) (png_structp png_ptr, png_bytepp row, png_uint_32 num_rows); /* 56 */
-    void (*png_write_imagePtr) (png_structp png_ptr, png_bytepp image); /* 57 */
-    void (*png_write_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 58 */
-    void (*png_read_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 59 */
-    void (*png_destroy_info_structPtr) (png_structp png_ptr, png_infopp info_ptr_ptr); /* 60 */
-    void (*png_destroy_read_structPtr) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr); /* 61 */
-    void (*reserved62)(void);
-    void (*png_destroy_write_structPtr) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr); /* 63 */
-    void (*reserved64)(void);
-    void (*reserved65)(void);
+    jmp_buf* (*png_set_longjmp_fnPtr) (png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t jmp_buf_size); /* 8 */
+    void (*png_longjmpPtr) (png_structp png_ptr, int val); /* 9 */
+    int (*png_reset_zstreamPtr) (png_structp png_ptr); /* 10 */
+    png_structp (*png_create_read_struct_2Ptr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 11 */
+    png_structp (*png_create_write_struct_2Ptr) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 12 */
+    void (*png_write_sigPtr) (png_structp png_ptr); /* 13 */
+    void (*png_write_chunkPtr) (png_structp png_ptr, png_const_bytep chunk_name, png_const_bytep data, png_size_t length); /* 14 */
+    void (*png_write_chunk_startPtr) (png_structp png_ptr, png_const_bytep chunk_name, png_uint_32 length); /* 15 */
+    void (*png_write_chunk_dataPtr) (png_structp png_ptr, png_const_bytep data, png_size_t length); /* 16 */
+    void (*png_write_chunk_endPtr) (png_structp png_ptr); /* 17 */
+    png_infop (*png_create_info_structPtr) (png_structp png_ptr); /* 18 */
+    void (*png_info_init_3Ptr) (png_infopp info_ptr, png_size_t png_info_struct_size); /* 19 */
+    void (*png_write_info_before_PLTEPtr) (png_structp png_ptr, png_infop info_ptr); /* 20 */
+    void (*png_write_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 21 */
+    void (*png_read_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 22 */
+    png_const_charp (*png_convert_to_rfc1123Ptr) (png_structp png_ptr, png_const_timep ptime); /* 23 */
+    void (*png_convert_from_struct_tmPtr) (png_timep ptime, PNG_CONST struct tm FAR *ttime); /* 24 */
+    void (*png_convert_from_time_tPtr) (png_timep ptime, time_t ttime); /* 25 */
+    void (*png_set_expandPtr) (png_structp png_ptr); /* 26 */
+    void (*png_set_expand_gray_1_2_4_to_8Ptr) (png_structp png_ptr); /* 27 */
+    void (*png_set_palette_to_rgbPtr) (png_structp png_ptr); /* 28 */
+    void (*png_set_tRNS_to_alphaPtr) (png_structp png_ptr); /* 29 */
+    void (*png_set_bgrPtr) (png_structp png_ptr); /* 30 */
+    void (*png_set_gray_to_rgbPtr) (png_structp png_ptr); /* 31 */
+    void (*png_set_rgb_to_grayPtr) (png_structp png_ptr, int error_action, double red, double green); /* 32 */
+    void (*png_set_rgb_to_gray_fixedPtr) (png_structp png_ptr, int error_action, png_fixed_point red, png_fixed_point green); /* 33 */
+    png_byte (*png_get_rgb_to_gray_statusPtr) (png_const_structp png_ptr); /* 34 */
+    void (*png_build_grayscale_palettePtr) (int bit_depth, png_colorp palette); /* 35 */
+    void (*png_set_strip_alphaPtr) (png_structp png_ptr); /* 36 */
+    void (*png_set_swap_alphaPtr) (png_structp png_ptr); /* 37 */
+    void (*png_set_invert_alphaPtr) (png_structp png_ptr); /* 38 */
+    void (*png_set_fillerPtr) (png_structp png_ptr, png_uint_32 filler, int flags); /* 39 */
+    void (*png_set_add_alphaPtr) (png_structp png_ptr, png_uint_32 filler, int flags); /* 40 */
+    void (*png_set_swapPtr) (png_structp png_ptr); /* 41 */
+    void (*png_set_packingPtr) (png_structp png_ptr); /* 42 */
+    void (*png_set_packswapPtr) (png_structp png_ptr); /* 43 */
+    void (*png_set_shiftPtr) (png_structp png_ptr, png_const_color_8p true_bits); /* 44 */
+    int (*png_set_interlace_handlingPtr) (png_structp png_ptr); /* 45 */
+    void (*png_set_invert_monoPtr) (png_structp png_ptr); /* 46 */
+    void (*png_set_backgroundPtr) (png_structp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, double background_gamma); /* 47 */
+    void (*png_set_strip_16Ptr) (png_structp png_ptr); /* 48 */
+    void (*png_set_quantizePtr) (png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_const_uint_16p histogram, int full_quantize); /* 49 */
+    void (*png_set_gammaPtr) (png_structp png_ptr, double screen_gamma, double override_file_gamma); /* 50 */
+    void (*png_set_flushPtr) (png_structp png_ptr, int nrows); /* 51 */
+    void (*png_write_flushPtr) (png_structp png_ptr); /* 52 */
+    void (*png_start_read_imagePtr) (png_structp png_ptr); /* 53 */
+    void (*png_read_update_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 54 */
+    void (*png_read_rowsPtr) (png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows); /* 55 */
+    void (*png_read_rowPtr) (png_structp png_ptr, png_bytep row, png_bytep display_row); /* 56 */
+    void (*png_read_imagePtr) (png_structp png_ptr, png_bytepp image); /* 57 */
+    void (*png_write_rowPtr) (png_structp png_ptr, png_const_bytep row); /* 58 */
+    void (*png_write_rowsPtr) (png_structp png_ptr, png_bytepp row, png_uint_32 num_rows); /* 59 */
+    void (*png_write_imagePtr) (png_structp png_ptr, png_bytepp image); /* 60 */
+    void (*png_write_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 61 */
+    void (*png_read_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 62 */
+    void (*png_destroy_info_structPtr) (png_structp png_ptr, png_infopp info_ptr_ptr); /* 63 */
+    void (*png_destroy_read_structPtr) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr); /* 64 */
+    void (*png_destroy_write_structPtr) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr); /* 65 */
     void (*png_set_crc_actionPtr) (png_structp png_ptr, int crit_action, int ancil_action); /* 66 */
     void (*png_set_filterPtr) (png_structp png_ptr, int method, int filters); /* 67 */
-    void (*png_set_filter_heuristicsPtr) (png_structp png_ptr, int heuristic_method, int num_weights, png_doublep filter_weights, png_doublep filter_costs); /* 68 */
+    void (*png_set_filter_heuristicsPtr) (png_structp png_ptr, int heuristic_method, int num_weights, png_const_doublep filter_weights, png_const_doublep filter_costs); /* 68 */
     void (*png_set_compression_levelPtr) (png_structp png_ptr, int level); /* 69 */
     void (*png_set_compression_mem_levelPtr) (png_structp png_ptr, int mem_level); /* 70 */
     void (*png_set_compression_strategyPtr) (png_structp png_ptr, int strategy); /* 71 */
@@ -1091,249 +894,164 @@ typedef struct PngtclStubs {
     void (*png_set_compression_methodPtr) (png_structp png_ptr, int method); /* 73 */
     void (*png_init_ioPtr) (png_structp png_ptr, png_FILE_p fp); /* 74 */
     void (*png_set_error_fnPtr) (png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn); /* 75 */
-    png_voidp (*png_get_error_ptrPtr) (png_structp png_ptr); /* 76 */
+    png_voidp (*png_get_error_ptrPtr) (png_const_structp png_ptr); /* 76 */
     void (*png_set_write_fnPtr) (png_structp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn); /* 77 */
     void (*png_set_read_fnPtr) (png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn); /* 78 */
     png_voidp (*png_get_io_ptrPtr) (png_structp png_ptr); /* 79 */
     void (*png_set_read_status_fnPtr) (png_structp png_ptr, png_read_status_ptr read_row_fn); /* 80 */
     void (*png_set_write_status_fnPtr) (png_structp png_ptr, png_write_status_ptr write_row_fn); /* 81 */
     void (*png_set_mem_fnPtr) (png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn); /* 82 */
-    png_voidp (*png_get_mem_ptrPtr) (png_structp png_ptr); /* 83 */
+    png_voidp (*png_get_mem_ptrPtr) (png_const_structp png_ptr); /* 83 */
     void (*png_set_read_user_transform_fnPtr) (png_structp png_ptr, png_user_transform_ptr read_user_transform_fn); /* 84 */
     void (*png_set_write_user_transform_fnPtr) (png_structp png_ptr, png_user_transform_ptr write_user_transform_fn); /* 85 */
     void (*png_set_user_transform_infoPtr) (png_structp png_ptr, png_voidp user_transform_ptr, int user_transform_depth, int user_transform_channels); /* 86 */
-    png_voidp (*png_get_user_transform_ptrPtr) (png_structp png_ptr); /* 87 */
+    png_voidp (*png_get_user_transform_ptrPtr) (png_const_structp png_ptr); /* 87 */
     void (*png_set_read_user_chunk_fnPtr) (png_structp png_ptr, png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn); /* 88 */
-    png_voidp (*png_get_user_chunk_ptrPtr) (png_structp png_ptr); /* 89 */
+    png_voidp (*png_get_user_chunk_ptrPtr) (png_const_structp png_ptr); /* 89 */
     void (*png_set_progressive_read_fnPtr) (png_structp png_ptr, png_voidp progressive_ptr, png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn); /* 90 */
-    png_voidp (*png_get_progressive_ptrPtr) (png_structp png_ptr); /* 91 */
+    png_voidp (*png_get_progressive_ptrPtr) (png_const_structp png_ptr); /* 91 */
     void (*png_process_dataPtr) (png_structp png_ptr, png_infop info_ptr, png_bytep buffer, png_size_t buffer_size); /* 92 */
-    void (*png_progressive_combine_rowPtr) (png_structp png_ptr, png_bytep old_row, png_bytep new_row); /* 93 */
-    png_voidp (*png_mallocPtr) (png_structp png_ptr, png_uint_32 size); /* 94 */
-    void (*png_freePtr) (png_structp png_ptr, png_voidp ptr); /* 95 */
-    void (*png_free_dataPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 free_me, int num); /* 96 */
-    void (*png_data_freerPtr) (png_structp png_ptr, png_infop info_ptr, int freer, png_uint_32 mask); /* 97 */
-    png_voidp (*png_malloc_defaultPtr) (png_structp png_ptr, png_uint_32 size); /* 98 */
-    void (*png_free_defaultPtr) (png_structp png_ptr, png_voidp ptr); /* 99 */
-    void (*reserved100)(void);
-    void (*reserved101)(void);
-    void * (*png_far_to_nearPtr) (png_structp png_ptr, png_voidp ptr, int check); /* 102 */
-    void (*png_errorPtr) (png_structp png_ptr, png_const_charp error); /* 103 */
-    void (*png_chunk_errorPtr) (png_structp png_ptr, png_const_charp error); /* 104 */
-    void (*png_warningPtr) (png_structp png_ptr, png_const_charp message); /* 105 */
-    void (*png_chunk_warningPtr) (png_structp png_ptr, png_const_charp message); /* 106 */
-    png_uint_32 (*png_get_validPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 flag); /* 107 */
-    png_size_t (*png_get_rowbytesPtr) (png_structp png_ptr, png_infop info_ptr); /* 108 */
-    png_bytepp (*png_get_rowsPtr) (png_structp png_ptr, png_infop info_ptr); /* 109 */
-    void (*png_set_rowsPtr) (png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers); /* 110 */
-    png_byte (*png_get_channelsPtr) (png_structp png_ptr, png_infop info_ptr); /* 111 */
-    png_uint_32 (*png_get_image_widthPtr) (png_structp png_ptr, png_infop info_ptr); /* 112 */
-    png_uint_32 (*png_get_image_heightPtr) (png_structp png_ptr, png_infop info_ptr); /* 113 */
-    png_byte (*png_get_bit_depthPtr) (png_structp png_ptr, png_infop info_ptr); /* 114 */
-    png_byte (*png_get_color_typePtr) (png_structp png_ptr, png_infop info_ptr); /* 115 */
-    png_byte (*png_get_filter_typePtr) (png_structp png_ptr, png_infop info_ptr); /* 116 */
-    png_byte (*png_get_interlace_typePtr) (png_structp png_ptr, png_infop info_ptr); /* 117 */
-    png_byte (*png_get_compression_typePtr) (png_structp png_ptr, png_infop info_ptr); /* 118 */
-    png_uint_32 (*png_get_pixels_per_meterPtr) (png_structp png_ptr, png_infop info_ptr); /* 119 */
-    png_uint_32 (*png_get_x_pixels_per_meterPtr) (png_structp png_ptr, png_infop info_ptr); /* 120 */
-    png_uint_32 (*png_get_y_pixels_per_meterPtr) (png_structp png_ptr, png_infop info_ptr); /* 121 */
-    float (*png_get_pixel_aspect_ratioPtr) (png_structp png_ptr, png_infop info_ptr); /* 122 */
-    png_int_32 (*png_get_x_offset_pixelsPtr) (png_structp png_ptr, png_infop info_ptr); /* 123 */
-    png_int_32 (*png_get_y_offset_pixelsPtr) (png_structp png_ptr, png_infop info_ptr); /* 124 */
-    png_int_32 (*png_get_x_offset_micronsPtr) (png_structp png_ptr, png_infop info_ptr); /* 125 */
-    png_int_32 (*png_get_y_offset_micronsPtr) (png_structp png_ptr, png_infop info_ptr); /* 126 */
-    png_bytep (*png_get_signaturePtr) (png_structp png_ptr, png_infop info_ptr); /* 127 */
-    png_uint_32 (*png_get_bKGDPtr) (png_structp png_ptr, png_infop info_ptr, png_color_16p *background); /* 128 */
-    void (*png_set_bKGDPtr) (png_structp png_ptr, png_infop info_ptr, png_color_16p background); /* 129 */
-    png_uint_32 (*png_get_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y); /* 130 */
-    png_uint_32 (*png_get_cHRM_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point *int_blue_x, png_fixed_point *int_blue_y); /* 131 */
-    void (*png_set_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y); /* 132 */
-    void (*png_set_cHRM_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y); /* 133 */
-    png_uint_32 (*png_get_gAMAPtr) (png_structp png_ptr, png_infop info_ptr, double *file_gamma); /* 134 */
-    png_uint_32 (*png_get_gAMA_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point *int_file_gamma); /* 135 */
-    void (*png_set_gAMAPtr) (png_structp png_ptr, png_infop info_ptr, double file_gamma); /* 136 */
-    void (*png_set_gAMA_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_file_gamma); /* 137 */
-    png_uint_32 (*png_get_hISTPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_16p *hist); /* 138 */
-    void (*png_set_hISTPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_16p hist); /* 139 */
-    png_uint_32 (*png_get_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_type, int *compression_type, int *filter_type); /* 140 */
-    void (*png_set_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_type, int compression_type, int filter_type); /* 141 */
-    png_uint_32 (*png_get_oFFsPtr) (png_structp png_ptr, png_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type); /* 142 */
-    void (*png_set_oFFsPtr) (png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type); /* 143 */
-    png_uint_32 (*png_get_pCALPtr) (png_structp png_ptr, png_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params); /* 144 */
-    void (*png_set_pCALPtr) (png_structp png_ptr, png_infop info_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp params); /* 145 */
-    png_uint_32 (*png_get_pHYsPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 146 */
-    void (*png_set_pHYsPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type); /* 147 */
-    png_uint_32 (*png_get_PLTEPtr) (png_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette); /* 148 */
-    void (*png_set_PLTEPtr) (png_structp png_ptr, png_infop info_ptr, png_colorp palette, int num_palette); /* 149 */
-    png_uint_32 (*png_get_sBITPtr) (png_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit); /* 150 */
-    void (*png_set_sBITPtr) (png_structp png_ptr, png_infop info_ptr, png_color_8p sig_bit); /* 151 */
-    png_uint_32 (*png_get_sRGBPtr) (png_structp png_ptr, png_infop info_ptr, int *intent); /* 152 */
-    void (*png_set_sRGBPtr) (png_structp png_ptr, png_infop info_ptr, int intent); /* 153 */
-    void (*png_set_sRGB_gAMA_and_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, int intent); /* 154 */
-    png_uint_32 (*png_get_iCCPPtr) (png_structp png_ptr, png_infop info_ptr, png_charpp name, int *compression_type, png_charpp profile, png_uint_32 *proflen); /* 155 */
-    void (*png_set_iCCPPtr) (png_structp png_ptr, png_infop info_ptr, png_charp name, int compression_type, png_charp profile, png_uint_32 proflen); /* 156 */
-    png_uint_32 (*png_get_sPLTPtr) (png_structp png_ptr, png_infop info_ptr, png_sPLT_tpp entries); /* 157 */
-    void (*png_set_sPLTPtr) (png_structp png_ptr, png_infop info_ptr, png_sPLT_tp entries, int nentries); /* 158 */
-    png_uint_32 (*png_get_textPtr) (png_structp png_ptr, png_infop info_ptr, png_textp *text_ptr, int *num_text); /* 159 */
-    void (*png_set_textPtr) (png_structp png_ptr, png_infop info_ptr, png_textp text_ptr, int num_text); /* 160 */
-    png_uint_32 (*png_get_tIMEPtr) (png_structp png_ptr, png_infop info_ptr, png_timep *mod_time); /* 161 */
-    void (*png_set_tIMEPtr) (png_structp png_ptr, png_infop info_ptr, png_timep mod_time); /* 162 */
-    png_uint_32 (*png_get_tRNSPtr) (png_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_values); /* 163 */
-    void (*png_set_tRNSPtr) (png_structp png_ptr, png_infop info_ptr, png_bytep trans, int num_trans, png_color_16p trans_values); /* 164 */
-    png_uint_32 (*png_get_sCALPtr) (png_structp png_ptr, png_infop info_ptr, int *unit, double *width, double *height); /* 165 */
-    png_uint_32 (*png_get_sCAL_sPtr) (png_structp png_ptr, png_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight); /* 166 */
-    void (*png_set_sCALPtr) (png_structp png_ptr, png_infop info_ptr, int unit, double width, double height); /* 167 */
-    void (*png_set_sCAL_sPtr) (png_structp png_ptr, png_infop info_ptr, int unit, png_charp swidth, png_charp sheight); /* 168 */
-    void (*png_set_keep_unknown_chunksPtr) (png_structp png_ptr, int keep, png_bytep chunk_list, int num_chunks); /* 169 */
-    void (*png_set_unknown_chunksPtr) (png_structp png_ptr, png_infop info_ptr, png_unknown_chunkp unknowns, int num_unknowns); /* 170 */
-    void (*png_set_unknown_chunk_locationPtr) (png_structp png_ptr, png_infop info_ptr, int chunk, int location); /* 171 */
-    png_uint_32 (*png_get_unknown_chunksPtr) (png_structp png_ptr, png_infop info_ptr, png_unknown_chunkpp entries); /* 172 */
-    void (*png_set_invalidPtr) (png_structp png_ptr, png_infop info_ptr, int mask); /* 173 */
-    void (*png_read_pngPtr) (png_structp png_ptr, png_infop info_ptr, int transforms, voidp params); /* 174 */
-    void (*png_write_pngPtr) (png_structp png_ptr, png_infop info_ptr, int transforms, voidp params); /* 175 */
-    png_bytep (*png_sig_bytesPtr) (void); /* 176 */
-    png_charp (*png_get_copyrightPtr) (png_structp png_ptr); /* 177 */
-    png_charp (*png_get_header_verPtr) (png_structp png_ptr); /* 178 */
-    png_charp (*png_get_header_versionPtr) (png_structp png_ptr); /* 179 */
-    png_charp (*png_get_libpng_verPtr) (png_structp png_ptr); /* 180 */
-    void (*reserved181)(void);
-    void (*reserved182)(void);
-    void (*reserved183)(void);
-    void (*png_read_initPtr) (png_structp png_ptr); /* 184 */
-    void (*png_read_init_2Ptr) (png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size); /* 185 */
-    void (*reserved186)(void);
-    void (*reserved187)(void);
-    png_voidp (*png_create_structPtr) (int type); /* 188 */
-    void (*png_destroy_structPtr) (png_voidp struct_ptr); /* 189 */
-    png_voidp (*png_create_struct_2Ptr) (int type, png_malloc_ptr malloc_fn); /* 190 */
-    void (*png_destroy_struct_2Ptr) (png_voidp struct_ptr, png_free_ptr free_fn); /* 191 */
-    void (*png_info_destroyPtr) (png_structp png_ptr, png_infop info_ptr); /* 192 */
-    voidpf (*png_zallocPtr) (voidpf png_ptr, uInt items, uInt size); /* 193 */
-    void (*png_zfreePtr) (voidpf png_ptr, voidpf ptr); /* 194 */
-    void (*png_reset_crcPtr) (png_structp png_ptr); /* 195 */
-    void (*png_write_dataPtr) (png_structp png_ptr, png_bytep data, png_size_t length); /* 196 */
-    void (*png_read_dataPtr) (png_structp png_ptr, png_bytep data, png_size_t length); /* 197 */
-    void (*png_crc_readPtr) (png_structp png_ptr, png_bytep buf, png_size_t length); /* 198 */
-    png_charp (*png_decompress_chunkPtr) (png_structp png_ptr, int comp_type, png_charp chunkdata, png_size_t chunklength, png_size_t prefix_length, png_size_t *data_length); /* 199 */
-    int (*png_crc_finishPtr) (png_structp png_ptr, png_uint_32 skip); /* 200 */
-    int (*png_crc_errorPtr) (png_structp png_ptr); /* 201 */
-    void (*png_calculate_crcPtr) (png_structp png_ptr, png_bytep ptr, png_size_t length); /* 202 */
-    void (*png_flushPtr) (png_structp png_ptr); /* 203 */
-    void (*png_save_uint_32Ptr) (png_bytep buf, png_uint_32 i); /* 204 */
-    void (*png_save_int_32Ptr) (png_bytep buf, png_int_32 i); /* 205 */
-    void (*png_save_uint_16Ptr) (png_bytep buf, unsigned int i); /* 206 */
-    void (*png_write_sigPtr) (png_structp png_ptr); /* 207 */
-    void (*png_write_IHDRPtr) (png_structp png_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int compression_type, int filter_type, int interlace_type); /* 208 */
-    void (*png_write_PLTEPtr) (png_structp png_ptr, png_colorp palette, png_uint_32 num_pal); /* 209 */
-    void (*png_write_IDATPtr) (png_structp png_ptr, png_bytep data, png_size_t length); /* 210 */
-    void (*png_write_IENDPtr) (png_structp png_ptr); /* 211 */
-    void (*png_write_gAMAPtr) (png_structp png_ptr, double file_gamma); /* 212 */
-    void (*png_write_gAMA_fixedPtr) (png_structp png_ptr, png_fixed_point file_gamma); /* 213 */
-    void (*png_write_sBITPtr) (png_structp png_ptr, png_color_8p sbit, int color_type); /* 214 */
-    void (*png_write_cHRMPtr) (png_structp png_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y); /* 215 */
-    void (*png_write_cHRM_fixedPtr) (png_structp png_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y); /* 216 */
-    void (*png_write_sRGBPtr) (png_structp png_ptr, int intent); /* 217 */
-    void (*png_write_iCCPPtr) (png_structp png_ptr, png_charp name, int compression_type, png_charp profile, int proflen); /* 218 */
-    void (*png_write_sPLTPtr) (png_structp png_ptr, png_sPLT_tp palette); /* 219 */
-    void (*png_write_tRNSPtr) (png_structp png_ptr, png_bytep trans, png_color_16p values, int number, int color_type); /* 220 */
-    void (*png_write_bKGDPtr) (png_structp png_ptr, png_color_16p values, int color_type); /* 221 */
-    void (*png_write_hISTPtr) (png_structp png_ptr, png_uint_16p hist, int num_hist); /* 222 */
-    png_size_t (*png_check_keywordPtr) (png_structp png_ptr, png_charp key, png_charpp new_key); /* 223 */
-    void (*png_write_tEXtPtr) (png_structp png_ptr, png_charp key, png_charp text, png_size_t text_len); /* 224 */
-    void (*png_write_zTXtPtr) (png_structp png_ptr, png_charp key, png_size_t text_len, int compression); /* 225 */
-    void (*png_write_iTXtPtr) (png_structp png_ptr, int compression, png_charp key, png_charp lang, png_charp lang_key, png_charp text); /* 226 */
-    void (*png_write_oFFsPtr) (png_structp png_ptr, png_uint_32 x_offset, png_uint_32 y_offset, int unit_type); /* 227 */
-    void (*png_write_pCALPtr) (png_structp png_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp params); /* 228 */
-    void (*png_write_pHYsPtr) (png_structp png_ptr, png_uint_32 x_pixels_per_unit, png_uint_32 y_pixels_per_unit, int unit_type); /* 229 */
-    void (*png_write_tIMEPtr) (png_structp png_ptr, png_timep mod_time); /* 230 */
-    void (*png_write_sCALPtr) (png_structp png_ptr, int unit, double width, double height); /* 231 */
-    void (*png_write_sCAL_sPtr) (png_structp png_ptr, int unit, png_charp width, png_charp height); /* 232 */
-    void (*png_write_finish_rowPtr) (png_structp png_ptr); /* 233 */
-    void (*png_write_start_rowPtr) (png_structp png_ptr); /* 234 */
-    void (*png_build_gamma_tablePtr) (png_structp png_ptr); /* 235 */
-    void (*png_combine_rowPtr) (png_structp png_ptr, png_bytep row, int mask); /* 236 */
-    void (*png_do_read_interlacePtr) (png_row_infop row_info, png_bytep row, int pass, png_uint_32 transformations); /* 237 */
-    void (*png_do_write_interlacePtr) (png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter); /* 238 */
-    void (*png_read_filter_rowPtr) (png_structp png_ptr, png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter); /* 239 */
-    void (*png_write_find_filterPtr) (png_structp png_ptr, png_row_infop row_info); /* 240 */
-    void (*png_write_filtered_rowPtr) (png_structp png_ptr, png_bytep filtered_row); /* 241 */
-    void (*png_read_finish_rowPtr) (png_structp png_ptr); /* 242 */
-    void (*png_read_start_rowPtr) (png_structp png_ptr); /* 243 */
-    void (*png_read_transform_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 244 */
-    void (*png_do_read_fillerPtr) (png_row_infop row_info, png_bytep row, png_uint_32 filler, png_uint_32 flags); /* 245 */
-    void (*png_do_read_swap_alphaPtr) (png_row_infop row_info, png_bytep row); /* 246 */
-    void (*png_do_write_swap_alphaPtr) (png_row_infop row_info, png_bytep row); /* 247 */
-    void (*png_do_read_invert_alphaPtr) (png_row_infop row_info, png_bytep row); /* 248 */
-    void (*png_do_write_invert_alphaPtr) (png_row_infop row_info, png_bytep row); /* 249 */
-    void (*png_do_strip_fillerPtr) (png_row_infop row_info, png_bytep row, png_uint_32 flags); /* 250 */
-    void (*png_do_swapPtr) (png_row_infop row_info, png_bytep row); /* 251 */
-    void (*png_do_packswapPtr) (png_row_infop row_info, png_bytep row); /* 252 */
-    int (*png_do_rgb_to_grayPtr) (png_structp png_ptr, png_row_infop row_info, png_bytep row); /* 253 */
-    void (*png_do_gray_to_rgbPtr) (png_row_infop row_info, png_bytep row); /* 254 */
-    void (*png_do_unpackPtr) (png_row_infop row_info, png_bytep row); /* 255 */
-    void (*png_do_unshiftPtr) (png_row_infop row_info, png_bytep row, png_color_8p sig_bits); /* 256 */
-    void (*png_do_invertPtr) (png_row_infop row_info, png_bytep row); /* 257 */
-    void (*png_do_chopPtr) (png_row_infop row_info, png_bytep row); /* 258 */
-    void (*png_do_ditherPtr) (png_row_infop row_info, png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup); /* 259 */
-    void (*png_correct_palettePtr) (png_structp png_ptr, png_colorp palette, int num_palette); /* 260 */
-    void (*png_do_bgrPtr) (png_row_infop row_info, png_bytep row); /* 261 */
-    void (*png_do_packPtr) (png_row_infop row_info, png_bytep row, png_uint_32 bit_depth); /* 262 */
-    void (*png_do_shiftPtr) (png_row_infop row_info, png_bytep row, png_color_8p bit_depth); /* 263 */
-    void (*png_do_backgroundPtr) (png_row_infop row_info, png_bytep row, png_color_16p trans_values, png_color_16p background, png_color_16p background_1, png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1, png_uint_16pp gamma_16_to_1, int gamma_shift); /* 264 */
-    void (*png_do_gammaPtr) (png_row_infop row_info, png_bytep row, png_bytep gamma_table, png_uint_16pp gamma_16_table, int gamma_shift); /* 265 */
-    void (*png_do_expand_palettePtr) (png_row_infop row_info, png_bytep row, png_colorp palette, png_bytep trans, int num_trans); /* 266 */
-    void (*png_do_expandPtr) (png_row_infop row_info, png_bytep row, png_color_16p trans_value); /* 267 */
-    void (*png_handle_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 268 */
-    void (*png_handle_PLTEPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 269 */
-    void (*png_handle_IENDPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 270 */
-    void (*png_handle_bKGDPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 271 */
-    void (*png_handle_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 272 */
-    void (*png_handle_gAMAPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 273 */
-    void (*png_handle_hISTPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 274 */
-    void (*png_handle_iCCPPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 275 */
-    void (*png_handle_iTXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 276 */
-    void (*png_handle_oFFsPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 277 */
-    void (*png_handle_pCALPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 278 */
-    void (*png_handle_pHYsPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 279 */
-    void (*png_handle_sBITPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 280 */
-    void (*png_handle_sCALPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 281 */
-    void (*png_handle_sPLTPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 282 */
-    void (*png_handle_sRGBPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 283 */
-    void (*png_handle_tEXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 284 */
-    void (*png_handle_tIMEPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 285 */
-    void (*png_handle_tRNSPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 286 */
-    void (*png_handle_zTXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 287 */
-    int (*png_handle_as_unknownPtr) (png_structp png_ptr, png_bytep chunk_name); /* 288 */
-    void (*png_handle_unknownPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 289 */
-    void (*png_check_chunk_namePtr) (png_structp png_ptr, png_bytep chunk_name); /* 290 */
-    void (*png_do_read_transformationsPtr) (png_structp png_ptr); /* 291 */
-    void (*png_do_write_transformationsPtr) (png_structp png_ptr); /* 292 */
-    void (*png_init_read_transformationsPtr) (png_structp png_ptr); /* 293 */
-    void (*png_push_read_chunkPtr) (png_structp png_ptr, png_infop info_ptr); /* 294 */
-    void (*png_push_read_sigPtr) (png_structp png_ptr, png_infop info_ptr); /* 295 */
-    void (*png_push_check_crcPtr) (png_structp png_ptr); /* 296 */
-    void (*png_push_crc_skipPtr) (png_structp png_ptr, png_uint_32 length); /* 297 */
-    void (*png_push_crc_finishPtr) (png_structp png_ptr); /* 298 */
-    void (*png_push_fill_bufferPtr) (png_structp png_ptr, png_bytep buffer, png_size_t length); /* 299 */
-    void (*png_push_save_bufferPtr) (png_structp png_ptr); /* 300 */
-    void (*png_push_restore_bufferPtr) (png_structp png_ptr, png_bytep buffer, png_size_t buffer_length); /* 301 */
-    void (*png_push_read_IDATPtr) (png_structp png_ptr); /* 302 */
-    void (*png_process_IDAT_dataPtr) (png_structp png_ptr, png_bytep buffer, png_size_t buffer_length); /* 303 */
-    void (*png_push_process_rowPtr) (png_structp png_ptr); /* 304 */
-    void (*png_push_handle_unknownPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 305 */
-    void (*png_push_have_infoPtr) (png_structp png_ptr, png_infop info_ptr); /* 306 */
-    void (*png_push_have_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 307 */
-    void (*png_push_have_rowPtr) (png_structp png_ptr, png_bytep row); /* 308 */
-    void (*png_push_read_endPtr) (png_structp png_ptr, png_infop info_ptr); /* 309 */
-    void (*png_process_some_dataPtr) (png_structp png_ptr, png_infop info_ptr); /* 310 */
-    void (*png_read_push_finish_rowPtr) (png_structp png_ptr); /* 311 */
-    void (*png_push_handle_tEXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 312 */
-    void (*png_push_read_tEXtPtr) (png_structp png_ptr, png_infop info_ptr); /* 313 */
-    void (*png_push_handle_zTXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 314 */
-    void (*png_push_read_zTXtPtr) (png_structp png_ptr, png_infop info_ptr); /* 315 */
-    void (*png_push_handle_iTXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 316 */
-    void (*png_push_read_iTXtPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 length); /* 317 */
-    void (*png_info_init_3Ptr) (png_infopp info_ptr, png_size_t png_info_struct_size); /* 318 */
+    void (*png_progressive_combine_rowPtr) (png_structp png_ptr, png_bytep old_row, png_const_bytep new_row); /* 93 */
+    png_voidp (*png_mallocPtr) (png_structp png_ptr, png_alloc_size_t size); /* 94 */
+    png_voidp (*png_callocPtr) (png_structp png_ptr, png_alloc_size_t size); /* 95 */
+    png_voidp (*png_malloc_warnPtr) (png_structp png_ptr, png_alloc_size_t size); /* 96 */
+    void (*png_freePtr) (png_structp png_ptr, png_voidp ptr); /* 97 */
+    void (*png_free_dataPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 free_me, int num); /* 98 */
+    void (*png_data_freerPtr) (png_structp png_ptr, png_infop info_ptr, int freer, png_uint_32 mask); /* 99 */
+    png_voidp (*png_malloc_defaultPtr) (png_structp png_ptr, png_alloc_size_t size); /* 100 */
+    void (*png_free_defaultPtr) (png_structp png_ptr, png_voidp ptr); /* 101 */
+    void (*png_errorPtr) (png_structp png_ptr, png_const_charp error_message); /* 102 */
+    void (*png_chunk_errorPtr) (png_structp png_ptr, png_const_charp error); /* 103 */
+    void (*png_errPtr) (png_structp png_ptr); /* 104 */
+    void (*png_warningPtr) (png_structp png_ptr, png_const_charp warning_message); /* 105 */
+    void (*png_chunk_warningPtr) (png_structp png_ptr, png_const_charp warning_message); /* 106 */
+    void (*png_benign_errorPtr) (png_structp png_ptr, png_const_charp warning_message); /* 107 */
+    void (*png_chunk_benign_errorPtr) (png_structp png_ptr, png_const_charp warning_message); /* 108 */
+    void (*png_set_benign_errorsPtr) (png_structp png_ptr, int allowed); /* 109 */
+    png_uint_32 (*png_get_validPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag); /* 110 */
+    png_size_t (*png_get_rowbytesPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 111 */
+    png_bytepp (*png_get_rowsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 112 */
+    void (*png_set_rowsPtr) (png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers); /* 113 */
+    png_byte (*png_get_channelsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 114 */
+    png_uint_32 (*png_get_image_widthPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 115 */
+    png_uint_32 (*png_get_image_heightPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 116 */
+    png_byte (*png_get_bit_depthPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 117 */
+    png_byte (*png_get_color_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 118 */
+    png_byte (*png_get_filter_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 119 */
+    png_byte (*png_get_interlace_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 120 */
+    png_byte (*png_get_compression_typePtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 121 */
+    png_uint_32 (*png_get_pixels_per_meterPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 122 */
+    png_uint_32 (*png_get_x_pixels_per_meterPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 123 */
+    png_uint_32 (*png_get_y_pixels_per_meterPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 124 */
+    float (*png_get_pixel_aspect_ratioPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 125 */
+    png_int_32 (*png_get_x_offset_pixelsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 126 */
+    png_int_32 (*png_get_y_offset_pixelsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 127 */
+    png_int_32 (*png_get_x_offset_micronsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 128 */
+    png_int_32 (*png_get_y_offset_micronsPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 129 */
+    png_const_bytep (*png_get_signaturePtr) (png_const_structp png_ptr, png_infop info_ptr); /* 130 */
+    png_uint_32 (*png_get_bKGDPtr) (png_const_structp png_ptr, png_infop info_ptr, png_color_16p *background); /* 131 */
+    void (*png_set_bKGDPtr) (png_structp png_ptr, png_infop info_ptr, png_const_color_16p background); /* 132 */
+    png_uint_32 (*png_get_cHRMPtr) (png_const_structp png_ptr, png_const_infop info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y); /* 133 */
+    png_uint_32 (*png_get_cHRM_fixedPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point *int_blue_x, png_fixed_point *int_blue_y); /* 134 */
+    void (*png_set_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y); /* 135 */
+    void (*png_set_cHRM_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y); /* 136 */
+    png_uint_32 (*png_get_gAMAPtr) (png_const_structp png_ptr, png_const_infop info_ptr, double *file_gamma); /* 137 */
+    png_uint_32 (*png_get_gAMA_fixedPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_file_gamma); /* 138 */
+    void (*png_set_gAMAPtr) (png_structp png_ptr, png_infop info_ptr, double file_gamma); /* 139 */
+    void (*png_set_gAMA_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_file_gamma); /* 140 */
+    png_uint_32 (*png_get_hISTPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_16p *hist); /* 141 */
+    void (*png_set_hISTPtr) (png_structp png_ptr, png_infop info_ptr, png_const_uint_16p hist); /* 142 */
+    png_uint_32 (*png_get_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method); /* 143 */
+    void (*png_set_IHDRPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_method, int compression_method, int filter_method); /* 144 */
+    png_uint_32 (*png_get_oFFsPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type); /* 145 */
+    void (*png_set_oFFsPtr) (png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type); /* 146 */
+    png_uint_32 (*png_get_pCALPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params); /* 147 */
+    void (*png_set_pCALPtr) (png_structp png_ptr, png_infop info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_const_charp units, png_charpp params); /* 148 */
+    png_uint_32 (*png_get_pHYsPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 149 */
+    void (*png_set_pHYsPtr) (png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type); /* 150 */
+    png_uint_32 (*png_get_PLTEPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_colorp *palette, int *num_palette); /* 151 */
+    void (*png_set_PLTEPtr) (png_structp png_ptr, png_infop info_ptr, png_const_colorp palette, int num_palette); /* 152 */
+    png_uint_32 (*png_get_sBITPtr) (png_const_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit); /* 153 */
+    void (*png_set_sBITPtr) (png_structp png_ptr, png_infop info_ptr, png_const_color_8p sig_bit); /* 154 */
+    png_uint_32 (*png_get_sRGBPtr) (png_const_structp png_ptr, png_const_infop info_ptr, int *file_srgb_intent); /* 155 */
+    void (*png_set_sRGBPtr) (png_structp png_ptr, png_infop info_ptr, int srgb_intent); /* 156 */
+    void (*png_set_sRGB_gAMA_and_cHRMPtr) (png_structp png_ptr, png_infop info_ptr, int srgb_intent); /* 157 */
+    png_uint_32 (*png_get_iCCPPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_charpp name, int *compression_type, png_bytepp profile, png_uint_32 *proflen); /* 158 */
+    void (*png_set_iCCPPtr) (png_structp png_ptr, png_infop info_ptr, png_const_charp name, int compression_type, png_const_bytep profile, png_uint_32 proflen); /* 159 */
+    png_uint_32 (*png_get_sPLTPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_sPLT_tpp entries); /* 160 */
+    void (*png_set_sPLTPtr) (png_structp png_ptr, png_infop info_ptr, png_const_sPLT_tp entries, int nentries); /* 161 */
+    png_uint_32 (*png_get_textPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_textp *text_ptr, int *num_text); /* 162 */
+    void (*png_set_textPtr) (png_structp png_ptr, png_infop info_ptr, png_const_textp text_ptr, int num_text); /* 163 */
+    png_uint_32 (*png_get_tIMEPtr) (png_const_structp png_ptr, png_infop info_ptr, png_timep *mod_time); /* 164 */
+    void (*png_set_tIMEPtr) (png_structp png_ptr, png_infop info_ptr, png_const_timep mod_time); /* 165 */
+    png_uint_32 (*png_get_tRNSPtr) (png_const_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_color); /* 166 */
+    void (*png_set_tRNSPtr) (png_structp png_ptr, png_infop info_ptr, png_const_bytep trans, int num_trans, png_const_color_16p trans_color); /* 167 */
+    png_uint_32 (*png_get_sCALPtr) (png_const_structp png_ptr, png_const_infop info_ptr, int *unit, double *width, double *height); /* 168 */
+    png_uint_32 (*png_get_sCAL_sPtr) (png_const_structp png_ptr, png_const_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight); /* 169 */
+    void (*png_set_sCALPtr) (png_structp png_ptr, png_infop info_ptr, int unit, double width, double height); /* 170 */
+    void (*png_set_sCAL_sPtr) (png_structp png_ptr, png_infop info_ptr, int unit, png_const_charp swidth, png_const_charp sheight); /* 171 */
+    void (*png_set_keep_unknown_chunksPtr) (png_structp png_ptr, int keep, png_const_bytep chunk_list, int num_chunks); /* 172 */
+    int (*png_handle_as_unknownPtr) (png_structp png_ptr, png_const_bytep chunk_name); /* 173 */
+    void (*png_set_unknown_chunksPtr) (png_structp png_ptr, png_infop info_ptr, png_const_unknown_chunkp unknowns, int num_unknowns); /* 174 */
+    void (*png_set_unknown_chunk_locationPtr) (png_structp png_ptr, png_infop info_ptr, int chunk, int location); /* 175 */
+    int (*png_get_unknown_chunksPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_unknown_chunkpp entries); /* 176 */
+    void (*png_set_invalidPtr) (png_structp png_ptr, png_infop info_ptr, int mask); /* 177 */
+    void (*png_read_pngPtr) (png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); /* 178 */
+    void (*png_write_pngPtr) (png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); /* 179 */
+    png_const_charp (*png_get_copyrightPtr) (png_const_structp png_ptr); /* 180 */
+    png_const_charp (*png_get_header_verPtr) (png_const_structp png_ptr); /* 181 */
+    png_const_charp (*png_get_header_versionPtr) (png_const_structp png_ptr); /* 182 */
+    png_const_charp (*png_get_libpng_verPtr) (png_const_structp png_ptr); /* 183 */
+    png_uint_32 (*png_permit_mng_featuresPtr) (png_structp png_ptr, png_uint_32 mng_features_permitted); /* 184 */
+    void (*png_set_strip_error_numbersPtr) (png_structp png_ptr, png_uint_32 strip_mode); /* 185 */
+    void (*png_set_user_limitsPtr) (png_structp png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max); /* 186 */
+    png_uint_32 (*png_get_user_width_maxPtr) (png_const_structp png_ptr); /* 187 */
+    png_uint_32 (*png_get_user_height_maxPtr) (png_const_structp png_ptr); /* 188 */
+    void (*png_set_chunk_cache_maxPtr) (png_structp png_ptr, png_uint_32 user_chunk_cache_max); /* 189 */
+    png_uint_32 (*png_get_chunk_cache_maxPtr) (png_const_structp png_ptr); /* 190 */
+    void (*png_set_chunk_malloc_maxPtr) (png_structp png_ptr, png_alloc_size_t user_chunk_cache_max); /* 191 */
+    png_alloc_size_t (*png_get_chunk_malloc_maxPtr) (png_const_structp png_ptr); /* 192 */
+    png_uint_32 (*png_get_pixels_per_inchPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 193 */
+    png_uint_32 (*png_get_x_pixels_per_inchPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 194 */
+    png_uint_32 (*png_get_y_pixels_per_inchPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 195 */
+    float (*png_get_x_offset_inchesPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 196 */
+    float (*png_get_y_offset_inchesPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 197 */
+    png_uint_32 (*png_get_pHYs_dpiPtr) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type); /* 198 */
+    png_uint_32 (*png_get_io_statePtr) (png_structp png_ptr); /* 199 */
+    png_const_bytep (*png_get_io_chunk_namePtr) (png_structp png_ptr); /* 200 */
+    png_uint_32 (*png_get_uint_32Ptr) (png_const_bytep buf); /* 201 */
+    png_uint_16 (*png_get_uint_16Ptr) (png_const_bytep buf); /* 202 */
+    png_int_32 (*png_get_int_32Ptr) (png_const_bytep buf); /* 203 */
+    png_uint_32 (*png_get_uint_31Ptr) (png_structp png_ptr, png_const_bytep buf); /* 204 */
+    void (*png_save_uint_32Ptr) (png_bytep buf, png_uint_32 i); /* 205 */
+    void (*png_save_int_32Ptr) (png_bytep buf, png_int_32 i); /* 206 */
+    void (*png_save_uint_16Ptr) (png_bytep buf, unsigned int i); /* 207 */
+    void (*png_set_gamma_fixedPtr) (png_structp png_ptr, png_fixed_point screen_gamma, png_fixed_point override_file_gamma); /* 208 */
+    void (*png_set_filter_heuristics_fixedPtr) (png_structp png_ptr, int heuristic_method, int num_weights, png_const_fixed_point_p filter_weights, png_const_fixed_point_p filter_costs); /* 209 */
+    png_fixed_point (*png_get_pixel_aspect_ratio_fixedPtr) (png_const_structp png_ptr, png_const_infop info_ptr); /* 210 */
+    png_fixed_point (*png_get_x_offset_inches_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr); /* 211 */
+    png_fixed_point (*png_get_y_offset_inches_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr); /* 212 */
+    void (*png_set_sCAL_fixedPtr) (png_structp png_ptr, png_infop info_ptr, int unit, png_fixed_point width, png_fixed_point height); /* 213 */
+    png_uint_32 (*png_get_sCAL_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height); /* 214 */
+    void (*png_set_background_fixedPtr) (png_structp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, png_fixed_point background_gamma); /* 215 */
+    png_uint_32 (*png_get_io_chunk_typePtr) (png_const_structp png_ptr); /* 216 */
+    png_uint_32 (*png_get_current_row_numberPtr) (png_const_structp png_ptr); /* 217 */
+    png_byte (*png_get_current_pass_numberPtr) (png_const_structp png_ptr); /* 218 */
+    png_size_t (*png_process_data_pausePtr) (png_structp png_ptr, int save); /* 219 */
+    png_uint_32 (*png_process_data_skipPtr) (png_structp png_ptr); /* 220 */
+    void (*png_set_expand_16Ptr) (png_structp png_ptr); /* 221 */
+    void (*png_set_text_compression_levelPtr) (png_structp png_ptr, int level); /* 222 */
+    void (*png_set_text_compression_mem_levelPtr) (png_structp png_ptr, int mem_level); /* 223 */
+    void (*png_set_text_compression_strategyPtr) (png_structp png_ptr, int strategy); /* 224 */
+    void (*png_set_text_compression_window_bitsPtr) (png_structp png_ptr, int window_bits); /* 225 */
+    void (*png_set_text_compression_methodPtr) (png_structp pnt_ptr, int method); /* 226 */
+    void (*png_set_alpha_modePtr) (png_structp png_ptr, int mode, double output_gamma); /* 227 */
+    void (*png_set_alpha_mode_fixedPtr) (png_structp png_ptr, int mode, png_fixed_point output_gamma); /* 228 */
+    void (*png_set_scale_16Ptr) (png_structp png_ptr); /* 229 */
+    png_uint_32 (*png_get_cHRM_XYZPtr) (png_structp png_ptr, png_const_infop info_ptr, double *red_X, double *red_Y, double *red_Z, double *green_X, double *green_Y, double *green_Z, double *blue_X, double *blue_Y, double *blue_Z); /* 230 */
+    png_uint_32 (*png_get_cHRM_XYZ_fixedPtr) (png_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_red_X, png_fixed_point *int_red_Y, png_fixed_point *int_red_Z, png_fixed_point *int_green_X, png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, png_fixed_point *int_blue_Z); /* 231 */
+    void (*png_set_cHRM_XYZPtr) (png_structp png_ptr, png_infop info_ptr, double red_X, double red_Y, double red_Z, double green_X, double green_Y, double green_Z, double blue_X, double blue_Y, double blue_Z); /* 232 */
+    void (*png_set_cHRM_XYZ_fixedPtr) (png_structp png_ptr, png_infop info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, png_fixed_point int_red_Z, png_fixed_point int_green_X, png_fixed_point int_green_Y, png_fixed_point int_green_Z, png_fixed_point int_blue_X, png_fixed_point int_blue_Y, png_fixed_point int_blue_Z); /* 233 */
 } PngtclStubs;
 
 #ifdef __cplusplus
@@ -1350,13 +1068,13 @@ PNG_IMPEXP const PngtclStubs *pngtclStub
  * Inline function declarations:
  */
 
+/* Slot 0 is reserved */
 #define png_access_version_number \
-	(pngtclStubsPtr->png_access_version_numberPtr) /* 0 */
+	(pngtclStubsPtr->png_access_version_numberPtr) /* 1 */
 #define png_set_sig_bytes \
-	(pngtclStubsPtr->png_set_sig_bytesPtr) /* 1 */
+	(pngtclStubsPtr->png_set_sig_bytesPtr) /* 2 */
 #define png_sig_cmp \
-	(pngtclStubsPtr->png_sig_cmpPtr) /* 2 */
-/* Slot 3 is reserved */
+	(pngtclStubsPtr->png_sig_cmpPtr) /* 3 */
 #define png_create_read_struct \
 	(pngtclStubsPtr->png_create_read_structPtr) /* 4 */
 #define png_create_write_struct \
@@ -1365,118 +1083,122 @@ PNG_IMPEXP const PngtclStubs *pngtclStub
 	(pngtclStubsPtr->png_get_compression_buffer_sizePtr) /* 6 */
 #define png_set_compression_buffer_size \
 	(pngtclStubsPtr->png_set_compression_buffer_sizePtr) /* 7 */
+#define png_set_longjmp_fn \
+	(pngtclStubsPtr->png_set_longjmp_fnPtr) /* 8 */
+#define png_longjmp \
+	(pngtclStubsPtr->png_longjmpPtr) /* 9 */
 #define png_reset_zstream \
-	(pngtclStubsPtr->png_reset_zstreamPtr) /* 8 */
+	(pngtclStubsPtr->png_reset_zstreamPtr) /* 10 */
 #define png_create_read_struct_2 \
-	(pngtclStubsPtr->png_create_read_struct_2Ptr) /* 9 */
+	(pngtclStubsPtr->png_create_read_struct_2Ptr) /* 11 */
 #define png_create_write_struct_2 \
-	(pngtclStubsPtr->png_create_write_struct_2Ptr) /* 10 */
+	(pngtclStubsPtr->png_create_write_struct_2Ptr) /* 12 */
+#define png_write_sig \
+	(pngtclStubsPtr->png_write_sigPtr) /* 13 */
 #define png_write_chunk \
-	(pngtclStubsPtr->png_write_chunkPtr) /* 11 */
+	(pngtclStubsPtr->png_write_chunkPtr) /* 14 */
 #define png_write_chunk_start \
-	(pngtclStubsPtr->png_write_chunk_startPtr) /* 12 */
+	(pngtclStubsPtr->png_write_chunk_startPtr) /* 15 */
 #define png_write_chunk_data \
-	(pngtclStubsPtr->png_write_chunk_dataPtr) /* 13 */
+	(pngtclStubsPtr->png_write_chunk_dataPtr) /* 16 */
 #define png_write_chunk_end \
-	(pngtclStubsPtr->png_write_chunk_endPtr) /* 14 */
+	(pngtclStubsPtr->png_write_chunk_endPtr) /* 17 */
 #define png_create_info_struct \
-	(pngtclStubsPtr->png_create_info_structPtr) /* 15 */
-/* Slot 16 is reserved */
+	(pngtclStubsPtr->png_create_info_structPtr) /* 18 */
+#define png_info_init_3 \
+	(pngtclStubsPtr->png_info_init_3Ptr) /* 19 */
 #define png_write_info_before_PLTE \
-	(pngtclStubsPtr->png_write_info_before_PLTEPtr) /* 17 */
+	(pngtclStubsPtr->png_write_info_before_PLTEPtr) /* 20 */
 #define png_write_info \
-	(pngtclStubsPtr->png_write_infoPtr) /* 18 */
+	(pngtclStubsPtr->png_write_infoPtr) /* 21 */
 #define png_read_info \
-	(pngtclStubsPtr->png_read_infoPtr) /* 19 */
+	(pngtclStubsPtr->png_read_infoPtr) /* 22 */
 #define png_convert_to_rfc1123 \
-	(pngtclStubsPtr->png_convert_to_rfc1123Ptr) /* 20 */
+	(pngtclStubsPtr->png_convert_to_rfc1123Ptr) /* 23 */
 #define png_convert_from_struct_tm \
-	(pngtclStubsPtr->png_convert_from_struct_tmPtr) /* 21 */
+	(pngtclStubsPtr->png_convert_from_struct_tmPtr) /* 24 */
 #define png_convert_from_time_t \
-	(pngtclStubsPtr->png_convert_from_time_tPtr) /* 22 */
+	(pngtclStubsPtr->png_convert_from_time_tPtr) /* 25 */
 #define png_set_expand \
-	(pngtclStubsPtr->png_set_expandPtr) /* 23 */
-/* Slot 24 is reserved */
+	(pngtclStubsPtr->png_set_expandPtr) /* 26 */
+#define png_set_expand_gray_1_2_4_to_8 \
+	(pngtclStubsPtr->png_set_expand_gray_1_2_4_to_8Ptr) /* 27 */
 #define png_set_palette_to_rgb \
-	(pngtclStubsPtr->png_set_palette_to_rgbPtr) /* 25 */
+	(pngtclStubsPtr->png_set_palette_to_rgbPtr) /* 28 */
 #define png_set_tRNS_to_alpha \
-	(pngtclStubsPtr->png_set_tRNS_to_alphaPtr) /* 26 */
+	(pngtclStubsPtr->png_set_tRNS_to_alphaPtr) /* 29 */
 #define png_set_bgr \
-	(pngtclStubsPtr->png_set_bgrPtr) /* 27 */
+	(pngtclStubsPtr->png_set_bgrPtr) /* 30 */
 #define png_set_gray_to_rgb \
-	(pngtclStubsPtr->png_set_gray_to_rgbPtr) /* 28 */
+	(pngtclStubsPtr->png_set_gray_to_rgbPtr) /* 31 */
 #define png_set_rgb_to_gray \
-	(pngtclStubsPtr->png_set_rgb_to_grayPtr) /* 29 */
+	(pngtclStubsPtr->png_set_rgb_to_grayPtr) /* 32 */
 #define png_set_rgb_to_gray_fixed \
-	(pngtclStubsPtr->png_set_rgb_to_gray_fixedPtr) /* 30 */
+	(pngtclStubsPtr->png_set_rgb_to_gray_fixedPtr) /* 33 */
 #define png_get_rgb_to_gray_status \
-	(pngtclStubsPtr->png_get_rgb_to_gray_statusPtr) /* 31 */
+	(pngtclStubsPtr->png_get_rgb_to_gray_statusPtr) /* 34 */
 #define png_build_grayscale_palette \
-	(pngtclStubsPtr->png_build_grayscale_palettePtr) /* 32 */
+	(pngtclStubsPtr->png_build_grayscale_palettePtr) /* 35 */
 #define png_set_strip_alpha \
-	(pngtclStubsPtr->png_set_strip_alphaPtr) /* 33 */
+	(pngtclStubsPtr->png_set_strip_alphaPtr) /* 36 */
 #define png_set_swap_alpha \
-	(pngtclStubsPtr->png_set_swap_alphaPtr) /* 34 */
+	(pngtclStubsPtr->png_set_swap_alphaPtr) /* 37 */
 #define png_set_invert_alpha \
-	(pngtclStubsPtr->png_set_invert_alphaPtr) /* 35 */
+	(pngtclStubsPtr->png_set_invert_alphaPtr) /* 38 */
 #define png_set_filler \
-	(pngtclStubsPtr->png_set_fillerPtr) /* 36 */
+	(pngtclStubsPtr->png_set_fillerPtr) /* 39 */
+#define png_set_add_alpha \
+	(pngtclStubsPtr->png_set_add_alphaPtr) /* 40 */
 #define png_set_swap \
-	(pngtclStubsPtr->png_set_swapPtr) /* 37 */
+	(pngtclStubsPtr->png_set_swapPtr) /* 41 */
 #define png_set_packing \
-	(pngtclStubsPtr->png_set_packingPtr) /* 38 */
+	(pngtclStubsPtr->png_set_packingPtr) /* 42 */
 #define png_set_packswap \
-	(pngtclStubsPtr->png_set_packswapPtr) /* 39 */
+	(pngtclStubsPtr->png_set_packswapPtr) /* 43 */
 #define png_set_shift \
-	(pngtclStubsPtr->png_set_shiftPtr) /* 40 */
+	(pngtclStubsPtr->png_set_shiftPtr) /* 44 */
 #define png_set_interlace_handling \
-	(pngtclStubsPtr->png_set_interlace_handlingPtr) /* 41 */
+	(pngtclStubsPtr->png_set_interlace_handlingPtr) /* 45 */
 #define png_set_invert_mono \
-	(pngtclStubsPtr->png_set_invert_monoPtr) /* 42 */
+	(pngtclStubsPtr->png_set_invert_monoPtr) /* 46 */
 #define png_set_background \
-	(pngtclStubsPtr->png_set_backgroundPtr) /* 43 */
+	(pngtclStubsPtr->png_set_backgroundPtr) /* 47 */
 #define png_set_strip_16 \
-	(pngtclStubsPtr->png_set_strip_16Ptr) /* 44 */
-/* Slot 45 is reserved */
-/* #define png_set_quantize \
-	(pngtclStubsPtr->png_set_quantizePtr) */
+	(pngtclStubsPtr->png_set_strip_16Ptr) /* 48 */
+#define png_set_quantize \
+	(pngtclStubsPtr->png_set_quantizePtr) /* 49 */
 #define png_set_gamma \
-	(pngtclStubsPtr->png_set_gammaPtr) /* 46 */
-#define png_permit_empty_plte \
-	(pngtclStubsPtr->png_permit_empty_pltePtr) /* 47 */
+	(pngtclStubsPtr->png_set_gammaPtr) /* 50 */
 #define png_set_flush \
-	(pngtclStubsPtr->png_set_flushPtr) /* 48 */
+	(pngtclStubsPtr->png_set_flushPtr) /* 51 */
 #define png_write_flush \
-	(pngtclStubsPtr->png_write_flushPtr) /* 49 */
+	(pngtclStubsPtr->png_write_flushPtr) /* 52 */
 #define png_start_read_image \
-	(pngtclStubsPtr->png_start_read_imagePtr) /* 50 */
+	(pngtclStubsPtr->png_start_read_imagePtr) /* 53 */
 #define png_read_update_info \
-	(pngtclStubsPtr->png_read_update_infoPtr) /* 51 */
+	(pngtclStubsPtr->png_read_update_infoPtr) /* 54 */
 #define png_read_rows \
-	(pngtclStubsPtr->png_read_rowsPtr) /* 52 */
+	(pngtclStubsPtr->png_read_rowsPtr) /* 55 */
 #define png_read_row \
-	(pngtclStubsPtr->png_read_rowPtr) /* 53 */
+	(pngtclStubsPtr->png_read_rowPtr) /* 56 */
 #define png_read_image \
-	(pngtclStubsPtr->png_read_imagePtr) /* 54 */
+	(pngtclStubsPtr->png_read_imagePtr) /* 57 */
 #define png_write_row \
-	(pngtclStubsPtr->png_write_rowPtr) /* 55 */
+	(pngtclStubsPtr->png_write_rowPtr) /* 58 */
 #define png_write_rows \
-	(pngtclStubsPtr->png_write_rowsPtr) /* 56 */
+	(pngtclStubsPtr->png_write_rowsPtr) /* 59 */
 #define png_write_image \
-	(pngtclStubsPtr->png_write_imagePtr) /* 57 */
+	(pngtclStubsPtr->png_write_imagePtr) /* 60 */
 #define png_write_end \
-	(pngtclStubsPtr->png_write_endPtr) /* 58 */
+	(pngtclStubsPtr->png_write_endPtr) /* 61 */
 #define png_read_end \
-	(pngtclStubsPtr->png_read_endPtr) /* 59 */
+	(pngtclStubsPtr->png_read_endPtr) /* 62 */
 #define png_destroy_info_struct \
-	(pngtclStubsPtr->png_destroy_info_structPtr) /* 60 */
+	(pngtclStubsPtr->png_destroy_info_structPtr) /* 63 */
 #define png_destroy_read_struct \
-	(pngtclStubsPtr->png_destroy_read_structPtr) /* 61 */
-/* Slot 62 is reserved */
+	(pngtclStubsPtr->png_destroy_read_structPtr) /* 64 */
 #define png_destroy_write_struct \
-	(pngtclStubsPtr->png_destroy_write_structPtr) /* 63 */
-/* Slot 64 is reserved */
-/* Slot 65 is reserved */
+	(pngtclStubsPtr->png_destroy_write_structPtr) /* 65 */
 #define png_set_crc_action \
 	(pngtclStubsPtr->png_set_crc_actionPtr) /* 66 */
 #define png_set_filter \
@@ -1535,447 +1257,284 @@ PNG_IMPEXP const PngtclStubs *pngtclStub
 	(pngtclStubsPtr->png_progressive_combine_rowPtr) /* 93 */
 #define png_malloc \
 	(pngtclStubsPtr->png_mallocPtr) /* 94 */
+#define png_calloc \
+	(pngtclStubsPtr->png_callocPtr) /* 95 */
+#define png_malloc_warn \
+	(pngtclStubsPtr->png_malloc_warnPtr) /* 96 */
 #define png_free \
-	(pngtclStubsPtr->png_freePtr) /* 95 */
+	(pngtclStubsPtr->png_freePtr) /* 97 */
 #define png_free_data \
-	(pngtclStubsPtr->png_free_dataPtr) /* 96 */
+	(pngtclStubsPtr->png_free_dataPtr) /* 98 */
 #define png_data_freer \
-	(pngtclStubsPtr->png_data_freerPtr) /* 97 */
+	(pngtclStubsPtr->png_data_freerPtr) /* 99 */
 #define png_malloc_default \
-	(pngtclStubsPtr->png_malloc_defaultPtr) /* 98 */
+	(pngtclStubsPtr->png_malloc_defaultPtr) /* 100 */
 #define png_free_default \
-	(pngtclStubsPtr->png_free_defaultPtr) /* 99 */
-/* Slot 100 is reserved */
-/* Slot 101 is reserved */
-#define png_far_to_near \
-	(pngtclStubsPtr->png_far_to_nearPtr) /* 102 */
+	(pngtclStubsPtr->png_free_defaultPtr) /* 101 */
 #define png_error \
-	(pngtclStubsPtr->png_errorPtr) /* 103 */
+	(pngtclStubsPtr->png_errorPtr) /* 102 */
 #define png_chunk_error \
-	(pngtclStubsPtr->png_chunk_errorPtr) /* 104 */
+	(pngtclStubsPtr->png_chunk_errorPtr) /* 103 */
+#define png_err \
+	(pngtclStubsPtr->png_errPtr) /* 104 */
 #define png_warning \
 	(pngtclStubsPtr->png_warningPtr) /* 105 */
 #define png_chunk_warning \
 	(pngtclStubsPtr->png_chunk_warningPtr) /* 106 */
+#define png_benign_error \
+	(pngtclStubsPtr->png_benign_errorPtr) /* 107 */
+#define png_chunk_benign_error \
+	(pngtclStubsPtr->png_chunk_benign_errorPtr) /* 108 */
+#define png_set_benign_errors \
+	(pngtclStubsPtr->png_set_benign_errorsPtr) /* 109 */
 #define png_get_valid \
-	(pngtclStubsPtr->png_get_validPtr) /* 107 */
+	(pngtclStubsPtr->png_get_validPtr) /* 110 */
 #define png_get_rowbytes \
-	(pngtclStubsPtr->png_get_rowbytesPtr) /* 108 */
+	(pngtclStubsPtr->png_get_rowbytesPtr) /* 111 */
 #define png_get_rows \
-	(pngtclStubsPtr->png_get_rowsPtr) /* 109 */
+	(pngtclStubsPtr->png_get_rowsPtr) /* 112 */
 #define png_set_rows \
-	(pngtclStubsPtr->png_set_rowsPtr) /* 110 */
+	(pngtclStubsPtr->png_set_rowsPtr) /* 113 */
 #define png_get_channels \
-	(pngtclStubsPtr->png_get_channelsPtr) /* 111 */
+	(pngtclStubsPtr->png_get_channelsPtr) /* 114 */
 #define png_get_image_width \
-	(pngtclStubsPtr->png_get_image_widthPtr) /* 112 */
+	(pngtclStubsPtr->png_get_image_widthPtr) /* 115 */
 #define png_get_image_height \
-	(pngtclStubsPtr->png_get_image_heightPtr) /* 113 */
+	(pngtclStubsPtr->png_get_image_heightPtr) /* 116 */
 #define png_get_bit_depth \
-	(pngtclStubsPtr->png_get_bit_depthPtr) /* 114 */
+	(pngtclStubsPtr->png_get_bit_depthPtr) /* 117 */
 #define png_get_color_type \
-	(pngtclStubsPtr->png_get_color_typePtr) /* 115 */
+	(pngtclStubsPtr->png_get_color_typePtr) /* 118 */
 #define png_get_filter_type \
-	(pngtclStubsPtr->png_get_filter_typePtr) /* 116 */
+	(pngtclStubsPtr->png_get_filter_typePtr) /* 119 */
 #define png_get_interlace_type \
-	(pngtclStubsPtr->png_get_interlace_typePtr) /* 117 */
+	(pngtclStubsPtr->png_get_interlace_typePtr) /* 120 */
 #define png_get_compression_type \
-	(pngtclStubsPtr->png_get_compression_typePtr) /* 118 */
+	(pngtclStubsPtr->png_get_compression_typePtr) /* 121 */
 #define png_get_pixels_per_meter \
-	(pngtclStubsPtr->png_get_pixels_per_meterPtr) /* 119 */
+	(pngtclStubsPtr->png_get_pixels_per_meterPtr) /* 122 */
 #define png_get_x_pixels_per_meter \
-	(pngtclStubsPtr->png_get_x_pixels_per_meterPtr) /* 120 */
+	(pngtclStubsPtr->png_get_x_pixels_per_meterPtr) /* 123 */
 #define png_get_y_pixels_per_meter \
-	(pngtclStubsPtr->png_get_y_pixels_per_meterPtr) /* 121 */
+	(pngtclStubsPtr->png_get_y_pixels_per_meterPtr) /* 124 */
 #define png_get_pixel_aspect_ratio \
-	(pngtclStubsPtr->png_get_pixel_aspect_ratioPtr) /* 122 */
+	(pngtclStubsPtr->png_get_pixel_aspect_ratioPtr) /* 125 */
 #define png_get_x_offset_pixels \
-	(pngtclStubsPtr->png_get_x_offset_pixelsPtr) /* 123 */
+	(pngtclStubsPtr->png_get_x_offset_pixelsPtr) /* 126 */
 #define png_get_y_offset_pixels \
-	(pngtclStubsPtr->png_get_y_offset_pixelsPtr) /* 124 */
+	(pngtclStubsPtr->png_get_y_offset_pixelsPtr) /* 127 */
 #define png_get_x_offset_microns \
-	(pngtclStubsPtr->png_get_x_offset_micronsPtr) /* 125 */
+	(pngtclStubsPtr->png_get_x_offset_micronsPtr) /* 128 */
 #define png_get_y_offset_microns \
-	(pngtclStubsPtr->png_get_y_offset_micronsPtr) /* 126 */
+	(pngtclStubsPtr->png_get_y_offset_micronsPtr) /* 129 */
 #define png_get_signature \
-	(pngtclStubsPtr->png_get_signaturePtr) /* 127 */
+	(pngtclStubsPtr->png_get_signaturePtr) /* 130 */
 #define png_get_bKGD \
-	(pngtclStubsPtr->png_get_bKGDPtr) /* 128 */
+	(pngtclStubsPtr->png_get_bKGDPtr) /* 131 */
 #define png_set_bKGD \
-	(pngtclStubsPtr->png_set_bKGDPtr) /* 129 */
+	(pngtclStubsPtr->png_set_bKGDPtr) /* 132 */
 #define png_get_cHRM \
-	(pngtclStubsPtr->png_get_cHRMPtr) /* 130 */
+	(pngtclStubsPtr->png_get_cHRMPtr) /* 133 */
 #define png_get_cHRM_fixed \
-	(pngtclStubsPtr->png_get_cHRM_fixedPtr) /* 131 */
+	(pngtclStubsPtr->png_get_cHRM_fixedPtr) /* 134 */
 #define png_set_cHRM \
-	(pngtclStubsPtr->png_set_cHRMPtr) /* 132 */
+	(pngtclStubsPtr->png_set_cHRMPtr) /* 135 */
 #define png_set_cHRM_fixed \
-	(pngtclStubsPtr->png_set_cHRM_fixedPtr) /* 133 */
+	(pngtclStubsPtr->png_set_cHRM_fixedPtr) /* 136 */
 #define png_get_gAMA \
-	(pngtclStubsPtr->png_get_gAMAPtr) /* 134 */
+	(pngtclStubsPtr->png_get_gAMAPtr) /* 137 */
 #define png_get_gAMA_fixed \
-	(pngtclStubsPtr->png_get_gAMA_fixedPtr) /* 135 */
+	(pngtclStubsPtr->png_get_gAMA_fixedPtr) /* 138 */
 #define png_set_gAMA \
-	(pngtclStubsPtr->png_set_gAMAPtr) /* 136 */
+	(pngtclStubsPtr->png_set_gAMAPtr) /* 139 */
 #define png_set_gAMA_fixed \
-	(pngtclStubsPtr->png_set_gAMA_fixedPtr) /* 137 */
+	(pngtclStubsPtr->png_set_gAMA_fixedPtr) /* 140 */
 #define png_get_hIST \
-	(pngtclStubsPtr->png_get_hISTPtr) /* 138 */
+	(pngtclStubsPtr->png_get_hISTPtr) /* 141 */
 #define png_set_hIST \
-	(pngtclStubsPtr->png_set_hISTPtr) /* 139 */
+	(pngtclStubsPtr->png_set_hISTPtr) /* 142 */
 #define png_get_IHDR \
-	(pngtclStubsPtr->png_get_IHDRPtr) /* 140 */
+	(pngtclStubsPtr->png_get_IHDRPtr) /* 143 */
 #define png_set_IHDR \
-	(pngtclStubsPtr->png_set_IHDRPtr) /* 141 */
+	(pngtclStubsPtr->png_set_IHDRPtr) /* 144 */
 #define png_get_oFFs \
-	(pngtclStubsPtr->png_get_oFFsPtr) /* 142 */
+	(pngtclStubsPtr->png_get_oFFsPtr) /* 145 */
 #define png_set_oFFs \
-	(pngtclStubsPtr->png_set_oFFsPtr) /* 143 */
+	(pngtclStubsPtr->png_set_oFFsPtr) /* 146 */
 #define png_get_pCAL \
-	(pngtclStubsPtr->png_get_pCALPtr) /* 144 */
+	(pngtclStubsPtr->png_get_pCALPtr) /* 147 */
 #define png_set_pCAL \
-	(pngtclStubsPtr->png_set_pCALPtr) /* 145 */
+	(pngtclStubsPtr->png_set_pCALPtr) /* 148 */
 #define png_get_pHYs \
-	(pngtclStubsPtr->png_get_pHYsPtr) /* 146 */
+	(pngtclStubsPtr->png_get_pHYsPtr) /* 149 */
 #define png_set_pHYs \
-	(pngtclStubsPtr->png_set_pHYsPtr) /* 147 */
+	(pngtclStubsPtr->png_set_pHYsPtr) /* 150 */
 #define png_get_PLTE \
-	(pngtclStubsPtr->png_get_PLTEPtr) /* 148 */
+	(pngtclStubsPtr->png_get_PLTEPtr) /* 151 */
 #define png_set_PLTE \
-	(pngtclStubsPtr->png_set_PLTEPtr) /* 149 */
+	(pngtclStubsPtr->png_set_PLTEPtr) /* 152 */
 #define png_get_sBIT \
-	(pngtclStubsPtr->png_get_sBITPtr) /* 150 */
+	(pngtclStubsPtr->png_get_sBITPtr) /* 153 */
 #define png_set_sBIT \
-	(pngtclStubsPtr->png_set_sBITPtr) /* 151 */
+	(pngtclStubsPtr->png_set_sBITPtr) /* 154 */
 #define png_get_sRGB \
-	(pngtclStubsPtr->png_get_sRGBPtr) /* 152 */
+	(pngtclStubsPtr->png_get_sRGBPtr) /* 155 */
 #define png_set_sRGB \
-	(pngtclStubsPtr->png_set_sRGBPtr) /* 153 */
+	(pngtclStubsPtr->png_set_sRGBPtr) /* 156 */
 #define png_set_sRGB_gAMA_and_cHRM \
-	(pngtclStubsPtr->png_set_sRGB_gAMA_and_cHRMPtr) /* 154 */
+	(pngtclStubsPtr->png_set_sRGB_gAMA_and_cHRMPtr) /* 157 */
 #define png_get_iCCP \
-	(pngtclStubsPtr->png_get_iCCPPtr) /* 155 */
+	(pngtclStubsPtr->png_get_iCCPPtr) /* 158 */
 #define png_set_iCCP \
-	(pngtclStubsPtr->png_set_iCCPPtr) /* 156 */
+	(pngtclStubsPtr->png_set_iCCPPtr) /* 159 */
 #define png_get_sPLT \
-	(pngtclStubsPtr->png_get_sPLTPtr) /* 157 */
+	(pngtclStubsPtr->png_get_sPLTPtr) /* 160 */
 #define png_set_sPLT \
-	(pngtclStubsPtr->png_set_sPLTPtr) /* 158 */
+	(pngtclStubsPtr->png_set_sPLTPtr) /* 161 */
 #define png_get_text \
-	(pngtclStubsPtr->png_get_textPtr) /* 159 */
+	(pngtclStubsPtr->png_get_textPtr) /* 162 */
 #define png_set_text \
-	(pngtclStubsPtr->png_set_textPtr) /* 160 */
+	(pngtclStubsPtr->png_set_textPtr) /* 163 */
 #define png_get_tIME \
-	(pngtclStubsPtr->png_get_tIMEPtr) /* 161 */
+	(pngtclStubsPtr->png_get_tIMEPtr) /* 164 */
 #define png_set_tIME \
-	(pngtclStubsPtr->png_set_tIMEPtr) /* 162 */
+	(pngtclStubsPtr->png_set_tIMEPtr) /* 165 */
 #define png_get_tRNS \
-	(pngtclStubsPtr->png_get_tRNSPtr) /* 163 */
+	(pngtclStubsPtr->png_get_tRNSPtr) /* 166 */
 #define png_set_tRNS \
-	(pngtclStubsPtr->png_set_tRNSPtr) /* 164 */
+	(pngtclStubsPtr->png_set_tRNSPtr) /* 167 */
 #define png_get_sCAL \
-	(pngtclStubsPtr->png_get_sCALPtr) /* 165 */
+	(pngtclStubsPtr->png_get_sCALPtr) /* 168 */
 #define png_get_sCAL_s \
-	(pngtclStubsPtr->png_get_sCAL_sPtr) /* 166 */
+	(pngtclStubsPtr->png_get_sCAL_sPtr) /* 169 */
 #define png_set_sCAL \
-	(pngtclStubsPtr->png_set_sCALPtr) /* 167 */
+	(pngtclStubsPtr->png_set_sCALPtr) /* 170 */
 #define png_set_sCAL_s \
-	(pngtclStubsPtr->png_set_sCAL_sPtr) /* 168 */
+	(pngtclStubsPtr->png_set_sCAL_sPtr) /* 171 */
 #define png_set_keep_unknown_chunks \
-	(pngtclStubsPtr->png_set_keep_unknown_chunksPtr) /* 169 */
+	(pngtclStubsPtr->png_set_keep_unknown_chunksPtr) /* 172 */
+#define png_handle_as_unknown \
+	(pngtclStubsPtr->png_handle_as_unknownPtr) /* 173 */
 #define png_set_unknown_chunks \
-	(pngtclStubsPtr->png_set_unknown_chunksPtr) /* 170 */
+	(pngtclStubsPtr->png_set_unknown_chunksPtr) /* 174 */
 #define png_set_unknown_chunk_location \
-	(pngtclStubsPtr->png_set_unknown_chunk_locationPtr) /* 171 */
+	(pngtclStubsPtr->png_set_unknown_chunk_locationPtr) /* 175 */
 #define png_get_unknown_chunks \
-	(pngtclStubsPtr->png_get_unknown_chunksPtr) /* 172 */
+	(pngtclStubsPtr->png_get_unknown_chunksPtr) /* 176 */
 #define png_set_invalid \
-	(pngtclStubsPtr->png_set_invalidPtr) /* 173 */
+	(pngtclStubsPtr->png_set_invalidPtr) /* 177 */
 #define png_read_png \
-	(pngtclStubsPtr->png_read_pngPtr) /* 174 */
+	(pngtclStubsPtr->png_read_pngPtr) /* 178 */
 #define png_write_png \
-	(pngtclStubsPtr->png_write_pngPtr) /* 175 */
-#define png_sig_bytes \
-	(pngtclStubsPtr->png_sig_bytesPtr) /* 176 */
+	(pngtclStubsPtr->png_write_pngPtr) /* 179 */
 #define png_get_copyright \
-	(pngtclStubsPtr->png_get_copyrightPtr) /* 177 */
+	(pngtclStubsPtr->png_get_copyrightPtr) /* 180 */
 #define png_get_header_ver \
-	(pngtclStubsPtr->png_get_header_verPtr) /* 178 */
+	(pngtclStubsPtr->png_get_header_verPtr) /* 181 */
 #define png_get_header_version \
-	(pngtclStubsPtr->png_get_header_versionPtr) /* 179 */
+	(pngtclStubsPtr->png_get_header_versionPtr) /* 182 */
 #define png_get_libpng_ver \
-	(pngtclStubsPtr->png_get_libpng_verPtr) /* 180 */
-/* Slot 181 is reserved */
-/* Slot 182 is reserved */
-/* Slot 183 is reserved */
-#define png_read_init \
-	(pngtclStubsPtr->png_read_initPtr) /* 184 */
-#define png_read_init_2 \
-	(pngtclStubsPtr->png_read_init_2Ptr) /* 185 */
-/* Slot 186 is reserved */
-/* Slot 187 is reserved */
-#define png_create_struct \
-	(pngtclStubsPtr->png_create_structPtr) /* 188 */
-#define png_destroy_struct \
-	(pngtclStubsPtr->png_destroy_structPtr) /* 189 */
-#define png_create_struct_2 \
-	(pngtclStubsPtr->png_create_struct_2Ptr) /* 190 */
-#define png_destroy_struct_2 \
-	(pngtclStubsPtr->png_destroy_struct_2Ptr) /* 191 */
-#define png_info_destroy \
-	(pngtclStubsPtr->png_info_destroyPtr) /* 192 */
-#define png_zalloc \
-	(pngtclStubsPtr->png_zallocPtr) /* 193 */
-#define png_zfree \
-	(pngtclStubsPtr->png_zfreePtr) /* 194 */
-#define png_reset_crc \
-	(pngtclStubsPtr->png_reset_crcPtr) /* 195 */
-#define png_write_data \
-	(pngtclStubsPtr->png_write_dataPtr) /* 196 */
-#define png_read_data \
-	(pngtclStubsPtr->png_read_dataPtr) /* 197 */
-#define png_crc_read \
-	(pngtclStubsPtr->png_crc_readPtr) /* 198 */
-#define png_decompress_chunk \
-	(pngtclStubsPtr->png_decompress_chunkPtr) /* 199 */
-#define png_crc_finish \
-	(pngtclStubsPtr->png_crc_finishPtr) /* 200 */
-#define png_crc_error \
-	(pngtclStubsPtr->png_crc_errorPtr) /* 201 */
-#define png_calculate_crc \
-	(pngtclStubsPtr->png_calculate_crcPtr) /* 202 */
-#define png_flush \
-	(pngtclStubsPtr->png_flushPtr) /* 203 */
+	(pngtclStubsPtr->png_get_libpng_verPtr) /* 183 */
+#define png_permit_mng_features \
+	(pngtclStubsPtr->png_permit_mng_featuresPtr) /* 184 */
+#define png_set_strip_error_numbers \
+	(pngtclStubsPtr->png_set_strip_error_numbersPtr) /* 185 */
+#define png_set_user_limits \
+	(pngtclStubsPtr->png_set_user_limitsPtr) /* 186 */
+#define png_get_user_width_max \
+	(pngtclStubsPtr->png_get_user_width_maxPtr) /* 187 */
+#define png_get_user_height_max \
+	(pngtclStubsPtr->png_get_user_height_maxPtr) /* 188 */
+#define png_set_chunk_cache_max \
+	(pngtclStubsPtr->png_set_chunk_cache_maxPtr) /* 189 */
+#define png_get_chunk_cache_max \
+	(pngtclStubsPtr->png_get_chunk_cache_maxPtr) /* 190 */
+#define png_set_chunk_malloc_max \
+	(pngtclStubsPtr->png_set_chunk_malloc_maxPtr) /* 191 */
+#define png_get_chunk_malloc_max \
+	(pngtclStubsPtr->png_get_chunk_malloc_maxPtr) /* 192 */
+#define png_get_pixels_per_inch \
+	(pngtclStubsPtr->png_get_pixels_per_inchPtr) /* 193 */
+#define png_get_x_pixels_per_inch \
+	(pngtclStubsPtr->png_get_x_pixels_per_inchPtr) /* 194 */
+#define png_get_y_pixels_per_inch \
+	(pngtclStubsPtr->png_get_y_pixels_per_inchPtr) /* 195 */
+#define png_get_x_offset_inches \
+	(pngtclStubsPtr->png_get_x_offset_inchesPtr) /* 196 */
+#define png_get_y_offset_inches \
+	(pngtclStubsPtr->png_get_y_offset_inchesPtr) /* 197 */
+#define png_get_pHYs_dpi \
+	(pngtclStubsPtr->png_get_pHYs_dpiPtr) /* 198 */
+#define png_get_io_state \
+	(pngtclStubsPtr->png_get_io_statePtr) /* 199 */
+#define png_get_io_chunk_name \
+	(pngtclStubsPtr->png_get_io_chunk_namePtr) /* 200 */
+#define png_get_uint_32 \
+	(pngtclStubsPtr->png_get_uint_32Ptr) /* 201 */
+#define png_get_uint_16 \
+	(pngtclStubsPtr->png_get_uint_16Ptr) /* 202 */
+#define png_get_int_32 \
+	(pngtclStubsPtr->png_get_int_32Ptr) /* 203 */
+#define png_get_uint_31 \
+	(pngtclStubsPtr->png_get_uint_31Ptr) /* 204 */
 #define png_save_uint_32 \
-	(pngtclStubsPtr->png_save_uint_32Ptr) /* 204 */
+	(pngtclStubsPtr->png_save_uint_32Ptr) /* 205 */
 #define png_save_int_32 \
-	(pngtclStubsPtr->png_save_int_32Ptr) /* 205 */
+	(pngtclStubsPtr->png_save_int_32Ptr) /* 206 */
 #define png_save_uint_16 \
-	(pngtclStubsPtr->png_save_uint_16Ptr) /* 206 */
-#define png_write_sig \
-	(pngtclStubsPtr->png_write_sigPtr) /* 207 */
-#define png_write_IHDR \
-	(pngtclStubsPtr->png_write_IHDRPtr) /* 208 */
-#define png_write_PLTE \
-	(pngtclStubsPtr->png_write_PLTEPtr) /* 209 */
-#define png_write_IDAT \
-	(pngtclStubsPtr->png_write_IDATPtr) /* 210 */
-#define png_write_IEND \
-	(pngtclStubsPtr->png_write_IENDPtr) /* 211 */
-#define png_write_gAMA \
-	(pngtclStubsPtr->png_write_gAMAPtr) /* 212 */
-#define png_write_gAMA_fixed \
-	(pngtclStubsPtr->png_write_gAMA_fixedPtr) /* 213 */
-#define png_write_sBIT \
-	(pngtclStubsPtr->png_write_sBITPtr) /* 214 */
-#define png_write_cHRM \
-	(pngtclStubsPtr->png_write_cHRMPtr) /* 215 */
-#define png_write_cHRM_fixed \
-	(pngtclStubsPtr->png_write_cHRM_fixedPtr) /* 216 */
-#define png_write_sRGB \
-	(pngtclStubsPtr->png_write_sRGBPtr) /* 217 */
-#define png_write_iCCP \
-	(pngtclStubsPtr->png_write_iCCPPtr) /* 218 */
-#define png_write_sPLT \
-	(pngtclStubsPtr->png_write_sPLTPtr) /* 219 */
-#define png_write_tRNS \
-	(pngtclStubsPtr->png_write_tRNSPtr) /* 220 */
-#define png_write_bKGD \
-	(pngtclStubsPtr->png_write_bKGDPtr) /* 221 */
-#define png_write_hIST \
-	(pngtclStubsPtr->png_write_hISTPtr) /* 222 */
-#define png_check_keyword \
-	(pngtclStubsPtr->png_check_keywordPtr) /* 223 */
-#define png_write_tEXt \
-	(pngtclStubsPtr->png_write_tEXtPtr) /* 224 */
-#define png_write_zTXt \
-	(pngtclStubsPtr->png_write_zTXtPtr) /* 225 */
-#define png_write_iTXt \
-	(pngtclStubsPtr->png_write_iTXtPtr) /* 226 */
-#define png_write_oFFs \
-	(pngtclStubsPtr->png_write_oFFsPtr) /* 227 */
-#define png_write_pCAL \
-	(pngtclStubsPtr->png_write_pCALPtr) /* 228 */
-#define png_write_pHYs \
-	(pngtclStubsPtr->png_write_pHYsPtr) /* 229 */
-#define png_write_tIME \
-	(pngtclStubsPtr->png_write_tIMEPtr) /* 230 */
-#define png_write_sCAL \
-	(pngtclStubsPtr->png_write_sCALPtr) /* 231 */
-#define png_write_sCAL_s \
-	(pngtclStubsPtr->png_write_sCAL_sPtr) /* 232 */
-#define png_write_finish_row \
-	(pngtclStubsPtr->png_write_finish_rowPtr) /* 233 */
-#define png_write_start_row \
-	(pngtclStubsPtr->png_write_start_rowPtr) /* 234 */
-#define png_build_gamma_table \
-	(pngtclStubsPtr->png_build_gamma_tablePtr) /* 235 */
-#define png_combine_row \
-	(pngtclStubsPtr->png_combine_rowPtr) /* 236 */
-#define png_do_read_interlace \
-	(pngtclStubsPtr->png_do_read_interlacePtr) /* 237 */
-#define png_do_write_interlace \
-	(pngtclStubsPtr->png_do_write_interlacePtr) /* 238 */
-#define png_read_filter_row \
-	(pngtclStubsPtr->png_read_filter_rowPtr) /* 239 */
-#define png_write_find_filter \
-	(pngtclStubsPtr->png_write_find_filterPtr) /* 240 */
-#define png_write_filtered_row \
-	(pngtclStubsPtr->png_write_filtered_rowPtr) /* 241 */
-#define png_read_finish_row \
-	(pngtclStubsPtr->png_read_finish_rowPtr) /* 242 */
-#define png_read_start_row \
-	(pngtclStubsPtr->png_read_start_rowPtr) /* 243 */
-#define png_read_transform_info \
-	(pngtclStubsPtr->png_read_transform_infoPtr) /* 244 */
-#define png_do_read_filler \
-	(pngtclStubsPtr->png_do_read_fillerPtr) /* 245 */
-#define png_do_read_swap_alpha \
-	(pngtclStubsPtr->png_do_read_swap_alphaPtr) /* 246 */
-#define png_do_write_swap_alpha \
-	(pngtclStubsPtr->png_do_write_swap_alphaPtr) /* 247 */
-#define png_do_read_invert_alpha \
-	(pngtclStubsPtr->png_do_read_invert_alphaPtr) /* 248 */
-#define png_do_write_invert_alpha \
-	(pngtclStubsPtr->png_do_write_invert_alphaPtr) /* 249 */
-#define png_do_strip_filler \
-	(pngtclStubsPtr->png_do_strip_fillerPtr) /* 250 */
-#define png_do_swap \
-	(pngtclStubsPtr->png_do_swapPtr) /* 251 */
-#define png_do_packswap \
-	(pngtclStubsPtr->png_do_packswapPtr) /* 252 */
-#define png_do_rgb_to_gray \
-	(pngtclStubsPtr->png_do_rgb_to_grayPtr) /* 253 */
-#define png_do_gray_to_rgb \
-	(pngtclStubsPtr->png_do_gray_to_rgbPtr) /* 254 */
-#define png_do_unpack \
-	(pngtclStubsPtr->png_do_unpackPtr) /* 255 */
-#define png_do_unshift \
-	(pngtclStubsPtr->png_do_unshiftPtr) /* 256 */
-#define png_do_invert \
-	(pngtclStubsPtr->png_do_invertPtr) /* 257 */
-#define png_do_chop \
-	(pngtclStubsPtr->png_do_chopPtr) /* 258 */
-#define png_do_dither \
-	(pngtclStubsPtr->png_do_ditherPtr) /* 259 */
-#define png_correct_palette \
-	(pngtclStubsPtr->png_correct_palettePtr) /* 260 */
-#define png_do_bgr \
-	(pngtclStubsPtr->png_do_bgrPtr) /* 261 */
-#define png_do_pack \
-	(pngtclStubsPtr->png_do_packPtr) /* 262 */
-#define png_do_shift \
-	(pngtclStubsPtr->png_do_shiftPtr) /* 263 */
-#define png_do_background \
-	(pngtclStubsPtr->png_do_backgroundPtr) /* 264 */
-#define png_do_gamma \
-	(pngtclStubsPtr->png_do_gammaPtr) /* 265 */
-#define png_do_expand_palette \
-	(pngtclStubsPtr->png_do_expand_palettePtr) /* 266 */
-#define png_do_expand \
-	(pngtclStubsPtr->png_do_expandPtr) /* 267 */
-#define png_handle_IHDR \
-	(pngtclStubsPtr->png_handle_IHDRPtr) /* 268 */
-#define png_handle_PLTE \
-	(pngtclStubsPtr->png_handle_PLTEPtr) /* 269 */
-#define png_handle_IEND \
-	(pngtclStubsPtr->png_handle_IENDPtr) /* 270 */
-#define png_handle_bKGD \
-	(pngtclStubsPtr->png_handle_bKGDPtr) /* 271 */
-#define png_handle_cHRM \
-	(pngtclStubsPtr->png_handle_cHRMPtr) /* 272 */
-#define png_handle_gAMA \
-	(pngtclStubsPtr->png_handle_gAMAPtr) /* 273 */
-#define png_handle_hIST \
-	(pngtclStubsPtr->png_handle_hISTPtr) /* 274 */
-#define png_handle_iCCP \
-	(pngtclStubsPtr->png_handle_iCCPPtr) /* 275 */
-#define png_handle_iTXt \
-	(pngtclStubsPtr->png_handle_iTXtPtr) /* 276 */
-#define png_handle_oFFs \
-	(pngtclStubsPtr->png_handle_oFFsPtr) /* 277 */
-#define png_handle_pCAL \
-	(pngtclStubsPtr->png_handle_pCALPtr) /* 278 */
-#define png_handle_pHYs \
-	(pngtclStubsPtr->png_handle_pHYsPtr) /* 279 */
-#define png_handle_sBIT \
-	(pngtclStubsPtr->png_handle_sBITPtr) /* 280 */
-#define png_handle_sCAL \
-	(pngtclStubsPtr->png_handle_sCALPtr) /* 281 */
-#define png_handle_sPLT \
-	(pngtclStubsPtr->png_handle_sPLTPtr) /* 282 */
-#define png_handle_sRGB \
-	(pngtclStubsPtr->png_handle_sRGBPtr) /* 283 */
-#define png_handle_tEXt \
-	(pngtclStubsPtr->png_handle_tEXtPtr) /* 284 */
-#define png_handle_tIME \
-	(pngtclStubsPtr->png_handle_tIMEPtr) /* 285 */
-#define png_handle_tRNS \
-	(pngtclStubsPtr->png_handle_tRNSPtr) /* 286 */
-#define png_handle_zTXt \
-	(pngtclStubsPtr->png_handle_zTXtPtr) /* 287 */
-#define png_handle_as_unknown \
-	(pngtclStubsPtr->png_handle_as_unknownPtr) /* 288 */
-#define png_handle_unknown \
-	(pngtclStubsPtr->png_handle_unknownPtr) /* 289 */
-#define png_check_chunk_name \
-	(pngtclStubsPtr->png_check_chunk_namePtr) /* 290 */
-#define png_do_read_transformations \
-	(pngtclStubsPtr->png_do_read_transformationsPtr) /* 291 */
-#define png_do_write_transformations \
-	(pngtclStubsPtr->png_do_write_transformationsPtr) /* 292 */
-#define png_init_read_transformations \
-	(pngtclStubsPtr->png_init_read_transformationsPtr) /* 293 */
-#define png_push_read_chunk \
-	(pngtclStubsPtr->png_push_read_chunkPtr) /* 294 */
-#define png_push_read_sig \
-	(pngtclStubsPtr->png_push_read_sigPtr) /* 295 */
-#define png_push_check_crc \
-	(pngtclStubsPtr->png_push_check_crcPtr) /* 296 */
-#define png_push_crc_skip \
-	(pngtclStubsPtr->png_push_crc_skipPtr) /* 297 */
-#define png_push_crc_finish \
-	(pngtclStubsPtr->png_push_crc_finishPtr) /* 298 */
-#define png_push_fill_buffer \
-	(pngtclStubsPtr->png_push_fill_bufferPtr) /* 299 */
-#define png_push_save_buffer \
-	(pngtclStubsPtr->png_push_save_bufferPtr) /* 300 */
-#define png_push_restore_buffer \
-	(pngtclStubsPtr->png_push_restore_bufferPtr) /* 301 */
-#define png_push_read_IDAT \
-	(pngtclStubsPtr->png_push_read_IDATPtr) /* 302 */
-#define png_process_IDAT_data \
-	(pngtclStubsPtr->png_process_IDAT_dataPtr) /* 303 */
-#define png_push_process_row \
-	(pngtclStubsPtr->png_push_process_rowPtr) /* 304 */
-#define png_push_handle_unknown \
-	(pngtclStubsPtr->png_push_handle_unknownPtr) /* 305 */
-#define png_push_have_info \
-	(pngtclStubsPtr->png_push_have_infoPtr) /* 306 */
-#define png_push_have_end \
-	(pngtclStubsPtr->png_push_have_endPtr) /* 307 */
-#define png_push_have_row \
-	(pngtclStubsPtr->png_push_have_rowPtr) /* 308 */
-#define png_push_read_end \
-	(pngtclStubsPtr->png_push_read_endPtr) /* 309 */
-#define png_process_some_data \
-	(pngtclStubsPtr->png_process_some_dataPtr) /* 310 */
-#define png_read_push_finish_row \
-	(pngtclStubsPtr->png_read_push_finish_rowPtr) /* 311 */
-#define png_push_handle_tEXt \
-	(pngtclStubsPtr->png_push_handle_tEXtPtr) /* 312 */
-#define png_push_read_tEXt \
-	(pngtclStubsPtr->png_push_read_tEXtPtr) /* 313 */
-#define png_push_handle_zTXt \
-	(pngtclStubsPtr->png_push_handle_zTXtPtr) /* 314 */
-#define png_push_read_zTXt \
-	(pngtclStubsPtr->png_push_read_zTXtPtr) /* 315 */
-#define png_push_handle_iTXt \
-	(pngtclStubsPtr->png_push_handle_iTXtPtr) /* 316 */
-#define png_push_read_iTXt \
-	(pngtclStubsPtr->png_push_read_iTXtPtr) /* 317 */
-#define png_info_init_3 \
-	(pngtclStubsPtr->png_info_init_3Ptr) /* 318 */
+	(pngtclStubsPtr->png_save_uint_16Ptr) /* 207 */
+#define png_set_gamma_fixed \
+	(pngtclStubsPtr->png_set_gamma_fixedPtr) /* 208 */
+#define png_set_filter_heuristics_fixed \
+	(pngtclStubsPtr->png_set_filter_heuristics_fixedPtr) /* 209 */
+#define png_get_pixel_aspect_ratio_fixed \
+	(pngtclStubsPtr->png_get_pixel_aspect_ratio_fixedPtr) /* 210 */
+#define png_get_x_offset_inches_fixed \
+	(pngtclStubsPtr->png_get_x_offset_inches_fixedPtr) /* 211 */
+#define png_get_y_offset_inches_fixed \
+	(pngtclStubsPtr->png_get_y_offset_inches_fixedPtr) /* 212 */
+#define png_set_sCAL_fixed \
+	(pngtclStubsPtr->png_set_sCAL_fixedPtr) /* 213 */
+#define png_get_sCAL_fixed \
+	(pngtclStubsPtr->png_get_sCAL_fixedPtr) /* 214 */
+#define png_set_background_fixed \
+	(pngtclStubsPtr->png_set_background_fixedPtr) /* 215 */
+#define png_get_io_chunk_type \
+	(pngtclStubsPtr->png_get_io_chunk_typePtr) /* 216 */
+#define png_get_current_row_number \
+	(pngtclStubsPtr->png_get_current_row_numberPtr) /* 217 */
+#define png_get_current_pass_number \
+	(pngtclStubsPtr->png_get_current_pass_numberPtr) /* 218 */
+#define png_process_data_pause \
+	(pngtclStubsPtr->png_process_data_pausePtr) /* 219 */
+#define png_process_data_skip \
+	(pngtclStubsPtr->png_process_data_skipPtr) /* 220 */
+#define png_set_expand_16 \
+	(pngtclStubsPtr->png_set_expand_16Ptr) /* 221 */
+#define png_set_text_compression_level \
+	(pngtclStubsPtr->png_set_text_compression_levelPtr) /* 222 */
+#define png_set_text_compression_mem_level \
+	(pngtclStubsPtr->png_set_text_compression_mem_levelPtr) /* 223 */
+#define png_set_text_compression_strategy \
+	(pngtclStubsPtr->png_set_text_compression_strategyPtr) /* 224 */
+#define png_set_text_compression_window_bits \
+	(pngtclStubsPtr->png_set_text_compression_window_bitsPtr) /* 225 */
+#define png_set_text_compression_method \
+	(pngtclStubsPtr->png_set_text_compression_methodPtr) /* 226 */
+#define png_set_alpha_mode \
+	(pngtclStubsPtr->png_set_alpha_modePtr) /* 227 */
+#define png_set_alpha_mode_fixed \
+	(pngtclStubsPtr->png_set_alpha_mode_fixedPtr) /* 228 */
+#define png_set_scale_16 \
+	(pngtclStubsPtr->png_set_scale_16Ptr) /* 229 */
+#define png_get_cHRM_XYZ \
+	(pngtclStubsPtr->png_get_cHRM_XYZPtr) /* 230 */
+#define png_get_cHRM_XYZ_fixed \
+	(pngtclStubsPtr->png_get_cHRM_XYZ_fixedPtr) /* 231 */
+#define png_set_cHRM_XYZ \
+	(pngtclStubsPtr->png_set_cHRM_XYZPtr) /* 232 */
+#define png_set_cHRM_XYZ_fixed \
+	(pngtclStubsPtr->png_set_cHRM_XYZ_fixedPtr) /* 233 */
 
 #endif /* defined(USE_PNGTCL_STUBS) */
 
diff -up tkimg1.4/libpng/pngtcl.decls.png15 tkimg1.4/libpng/pngtcl.decls
--- tkimg1.4/libpng/pngtcl.decls.png15	2010-07-08 04:26:15.000000000 -0400
+++ tkimg1.4/libpng/pngtcl.decls	2011-12-07 16:26:43.173201112 -0500
@@ -10,6 +10,8 @@
 # the an index should never be reused for a different function in order
 # to preserve backwards compatibility.
 
+# Completely updated to sync with libpng 1.5
+
 library pngtcl
 
 # Define the PNGTCL interface:
@@ -20,14 +22,14 @@ scspec PNG_IMPEXP
 #########################################################################
 ###  PNG API
 
-declare 0 {
+declare 1 {
     png_uint_32 png_access_version_number(void)
 }
-declare 1 {
+declare 2 {
     void png_set_sig_bytes(png_structp png_ptr, int num_bytes)
 }
-declare 2 {
-    int png_sig_cmp(png_bytep sig, png_size_t start, png_size_t num_to_check)
+declare 3 {
+    int png_sig_cmp(png_const_bytep sig, png_size_t start, png_size_t num_to_check)
 }
 declare 4 {
     png_structp png_create_read_struct(png_const_charp user_png_ver,
@@ -38,178 +40,194 @@ declare 5 {
     	png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn)
 }
 declare 6 {
-    png_size_t png_get_compression_buffer_size(png_structp png_ptr)
+    png_size_t png_get_compression_buffer_size(png_const_structp png_ptr)
 }
 declare 7 {
     void png_set_compression_buffer_size(png_structp png_ptr, png_size_t size)
 }
 declare 8 {
+    jmp_buf* png_set_longjmp_fn(png_structp png_ptr,
+        png_longjmp_ptr longjmp_fn, size_t jmp_buf_size)
+}
+declare 9 {
+    void png_longjmp(png_structp png_ptr, int val)
+}
+declare 10 {
     int png_reset_zstream(png_structp png_ptr)
 }
-declare 9 generic {!PNG_USER_MEM_SUPPORTED} {
+declare 11 generic {!PNG_USER_MEM_SUPPORTED} {
     png_structp png_create_read_struct_2(png_const_charp user_png_ver,
     	png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn,
     	png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)
 }
-declare 10 generic {!PNG_USER_MEM_SUPPORTED} {
+declare 12 generic {!PNG_USER_MEM_SUPPORTED} {
     png_structp png_create_write_struct_2(png_const_charp user_png_ver,
     	png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn,
     	png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)
 }
-declare 11 {
-    void png_write_chunk(png_structp png_ptr, png_bytep chunk_name,
-    	png_bytep data, png_size_t length)
+declare 13 {
+    void png_write_sig(png_structp png_ptr)
 }
-declare 12 {
-    void png_write_chunk_start(png_structp png_ptr, png_bytep chunk_name,
+declare 14 {
+    void png_write_chunk(png_structp png_ptr, png_const_bytep chunk_name,
+    	png_const_bytep data, png_size_t length)
+}
+declare 15 {
+    void png_write_chunk_start(png_structp png_ptr, png_const_bytep chunk_name,
     	png_uint_32 length)
 }
-declare 13 {
-    void png_write_chunk_data(png_structp png_ptr, png_bytep data,
+declare 16 {
+    void png_write_chunk_data(png_structp png_ptr, png_const_bytep data,
     	png_size_t length)
 }
-declare 14 {
+declare 17 {
     void png_write_chunk_end(png_structp png_ptr)
 }
-declare 15 {
+declare 18 {
     png_infop png_create_info_struct(png_structp png_ptr)
 }
-declare 17 {
+declare 19 {
+    void png_info_init_3(png_infopp info_ptr,
+        png_size_t png_info_struct_size)
+}
+declare 20 {
     void png_write_info_before_PLTE(png_structp png_ptr, png_infop info_ptr)
 }
-declare 18 {
+declare 21 {
     void png_write_info(png_structp png_ptr, png_infop info_ptr)
 }
-declare 19 {
+declare 22 {
     void png_read_info(png_structp png_ptr, png_infop info_ptr)
 }
-declare 20 generic {!PNG_TIME_RFC1123_SUPPORTED} {
-    png_charp png_convert_to_rfc1123(png_structp png_ptr, png_timep ptime)
+declare 23 generic {!PNG_TIME_RFC1123_SUPPORTED} {
+    png_const_charp png_convert_to_rfc1123(png_structp png_ptr, png_const_timep ptime)
 }
-declare 21 generic {_WIN32_WCE !PNG_WRITE_tIME_SUPPORTED} {
-    void png_convert_from_struct_tm(png_timep ptime, struct tm FAR *ttime)
+declare 24 generic {_WIN32_WCE !PNG_WRITE_tIME_SUPPORTED} {
+    void png_convert_from_struct_tm(png_timep ptime, PNG_CONST struct tm FAR * ttime)
 }
-declare 22 generic {_WIN32_WCE !PNG_WRITE_tIME_SUPPORTED} {
+declare 25 generic {_WIN32_WCE !PNG_WRITE_tIME_SUPPORTED} {
     void png_convert_from_time_t(png_timep ptime, time_t ttime)
 }
-declare 23 generic {!PNG_READ_EXPAND_SUPPORTED} {
+declare 26 generic {!PNG_READ_EXPAND_SUPPORTED} {
     void png_set_expand(png_structp png_ptr)
 }
-declare 25 generic {!PNG_READ_EXPAND_SUPPORTED} {
+declare 27 generic {!PNG_READ_EXPAND_SUPPORTED} {
+    void png_set_expand_gray_1_2_4_to_8(png_structp png_ptr)
+}
+declare 28 generic {!PNG_READ_EXPAND_SUPPORTED} {
     void png_set_palette_to_rgb(png_structp png_ptr)
 }
-declare 26 generic {!PNG_READ_EXPAND_SUPPORTED} {
+declare 29 generic {!PNG_READ_EXPAND_SUPPORTED} {
     void png_set_tRNS_to_alpha(png_structp png_ptr)
 }
-declare 27 generic {{!PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED}} {
+declare 30 generic {{!PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED}} {
     void png_set_bgr(png_structp png_ptr)
 }
-declare 28 generic {!PNG_READ_GRAY_TO_RGB_SUPPORTED} {
+declare 31 generic {!PNG_READ_GRAY_TO_RGB_SUPPORTED} {
     void png_set_gray_to_rgb(png_structp png_ptr)
 }
-declare 29 generic {!PNG_READ_RGB_TO_GRAY_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+declare 32 generic {!PNG_READ_RGB_TO_GRAY_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
     void png_set_rgb_to_gray(png_structp png_ptr, int error_action, double red, double green)
 }
-declare 30 generic {!PNG_READ_RGB_TO_GRAY_SUPPORTED} {
+declare 33 generic {!PNG_READ_RGB_TO_GRAY_SUPPORTED} {
     void png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
     	png_fixed_point red, png_fixed_point green)
 }
-declare 31 generic {!PNG_READ_RGB_TO_GRAY_SUPPORTED} {
-    png_byte png_get_rgb_to_gray_status(png_structp png_ptr)
+declare 34 generic {!PNG_READ_RGB_TO_GRAY_SUPPORTED} {
+    png_byte png_get_rgb_to_gray_status(png_const_structp png_ptr)
 }
-declare 32 {
+declare 35 generic {!PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED} {
     void png_build_grayscale_palette(int bit_depth, png_colorp palette)
 }
-declare 33 generic {!PNG_READ_STRIP_ALPHA_SUPPORTED} {
+declare 36 generic {!PNG_READ_ALPHA_MODE_SUPPORTED} {
     void png_set_strip_alpha(png_structp png_ptr)
 }
-declare 34 generic {{!PNG_READ_SWAP_ALPHA_SUPPORTED !PNG_WRITE_SWAP_ALPHA_SUPPORTED}} {
+declare 37 generic {{!PNG_READ_SWAP_ALPHA_SUPPORTED !PNG_WRITE_SWAP_ALPHA_SUPPORTED}} {
     void png_set_swap_alpha(png_structp png_ptr)
 }
-declare 35 generic {{!PNG_READ_INVERT_ALPHA_SUPPORTED !PNG_WRITE_INVERT_ALPHA_SUPPORTED}} {
+declare 38 generic {{!PNG_READ_INVERT_ALPHA_SUPPORTED !PNG_WRITE_INVERT_ALPHA_SUPPORTED}} {
     void png_set_invert_alpha(png_structp png_ptr)
 }
-declare 36 generic {{!PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED}} {
+declare 39 generic {{!PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED}} {
     void png_set_filler(png_structp png_ptr, png_uint_32 filler, int flags)
 }
-declare 37 generic {{!PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED}} {
+declare 40 generic {{!PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED}} {
+    void png_set_add_alpha(png_structp png_ptr, png_uint_32 filler, int flags)
+}
+declare 41 generic {{!PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED}} {
     void png_set_swap(png_structp png_ptr)
 }
-declare 38 generic {{!PNG_READ_PACK_SUPPORTED !PNG_WRITE_PACK_SUPPORTED}} {
+declare 42 generic {{!PNG_READ_PACK_SUPPORTED !PNG_WRITE_PACK_SUPPORTED}} {
     void png_set_packing(png_structp png_ptr)
 }
-declare 39 generic {{!PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED}} {
+declare 43 generic {{!PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED}} {
     void png_set_packswap(png_structp png_ptr)
 }
-declare 40 generic {{!PNG_READ_SHIFT_SUPPORTED !PNG_WRITE_SHIFT_SUPPORTED}} {
-    void png_set_shift(png_structp png_ptr, png_color_8p true_bits)
+declare 44 generic {{!PNG_READ_SHIFT_SUPPORTED !PNG_WRITE_SHIFT_SUPPORTED}} {
+    void png_set_shift(png_structp png_ptr, png_const_color_8p true_bits)
 }
-declare 41 generic {{!PNG_READ_INTERLACING_SUPPORTED !PNG_WRITE_INTERLACING_SUPPORTED}} {
+declare 45 generic {{!PNG_READ_INTERLACING_SUPPORTED !PNG_WRITE_INTERLACING_SUPPORTED}} {
     int png_set_interlace_handling(png_structp png_ptr)
 }
-declare 42 generic {{!PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED}} {
+declare 46 generic {{!PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED}} {
     void png_set_invert_mono(png_structp png_ptr)
 }
-declare 43 generic {!PNG_READ_BACKGROUND_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_set_background(png_structp png_ptr, png_color_16p background_color,
+declare 47 generic {!PNG_READ_BACKGROUND_SUPPORTED} {
+    void png_set_background(png_structp png_ptr, png_const_color_16p background_color,
     	int background_gamma_code, int need_expand, double background_gamma)
 }
-declare 44 generic {!PNG_READ_16_TO_8_SUPPORTED} {
+declare 48 generic {!PNG_READ_STRIP_16_TO_8_SUPPORTED} {
     void png_set_strip_16(png_structp png_ptr)
 }
-declare 45 generic {!PNG_READ_DITHER_SUPPORTED} {
-    void png_set_quantize(png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_uint_16p histogram, int full_dither)
-}
-declare 46 generic {!PNG_READ_GAMMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_set_gamma(png_structp png_ptr, double screen_gamma, double default_file_gamma)
+declare 49 generic {!PNG_READ_QUANTIZE_SUPPORTED} {
+    void png_set_quantize(png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_const_uint_16p histogram, int full_quantize)
 }
-declare 47 generic {{!PNG_READ_EMPTY_PLTE_SUPPORTED !PNG_WRITE_EMPTY_PLTE_SUPPORTED}} {
-    void png_permit_empty_plte(png_structp png_ptr, int empty_plte_permitted)
+declare 50 generic {!PNG_READ_GAMMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    void png_set_gamma(png_structp png_ptr, double screen_gamma, double override_file_gamma)
 }
-declare 48 generic {!PNG_WRITE_FLUSH_SUPPORTED} {
+declare 51 generic {!PNG_WRITE_FLUSH_SUPPORTED} {
     void png_set_flush(png_structp png_ptr, int nrows)
 }
-declare 49 generic {!PNG_WRITE_FLUSH_SUPPORTED} {
+declare 52 generic {!PNG_WRITE_FLUSH_SUPPORTED} {
     void png_write_flush(png_structp png_ptr)
 }
-declare 50 {
+declare 53 {
     void png_start_read_image(png_structp png_ptr)
 }
-declare 51 {
+declare 54 {
     void png_read_update_info(png_structp png_ptr, png_infop info_ptr)
 }
-declare 52 {
+declare 55 generic {!PNG_SEQUENTIAL_READ_SUPPORTED} {
     void png_read_rows(png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows)
 }
-declare 53 {
+declare 56 generic {!PNG_SEQUENTIAL_READ_SUPPORTED} {
     void png_read_row(png_structp png_ptr, png_bytep row, png_bytep display_row)
 }
-declare 54 {
+declare 57 generic {!PNG_SEQUENTIAL_READ_SUPPORTED} {
     void png_read_image(png_structp png_ptr, png_bytepp image)
 }
-declare 55 {
-    void png_write_row(png_structp png_ptr, png_bytep row)
+declare 58 {
+    void png_write_row(png_structp png_ptr, png_const_bytep row)
 }
-declare 56 {
+declare 59 {
     void png_write_rows(png_structp png_ptr, png_bytepp row, png_uint_32 num_rows)
 }
-declare 57 {
+declare 60 {
     void png_write_image(png_structp png_ptr, png_bytepp image)
 }
-declare 58 {
+declare 61 {
     void png_write_end(png_structp png_ptr, png_infop info_ptr)
 }
-declare 59 {
+declare 62 generic {!PNG_SEQUENTIAL_READ_SUPPORTED} {
     void png_read_end(png_structp png_ptr, png_infop info_ptr)
 }
-declare 60 {
+declare 63 {
     void png_destroy_info_struct(png_structp png_ptr, png_infopp info_ptr_ptr)
 }
-declare 61 {
-    void png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr,
-    	png_infopp end_info_ptr_ptr)
+declare 64 {
+    void png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)
 }
-declare 63 {
+declare 65 {
     void png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)
 }
 declare 66 {
@@ -220,36 +238,34 @@ declare 67 {
 }
 declare 68 generic {!PNG_WRITE_WEIGHTED_FILTER_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
     void png_set_filter_heuristics(png_structp png_ptr, int heuristic_method,
-    	int num_weights, png_doublep filter_weights, png_doublep filter_costs)
+    	int num_weights, png_const_doublep filter_weights, png_const_doublep filter_costs)
 }
-declare 69 {
+declare 69 generic {!PNG_WRITE_SUPPORTED} {
     void png_set_compression_level(png_structp png_ptr, int level)
 }
-declare 70 {
+declare 70 generic {!PNG_WRITE_SUPPORTED} {
     void png_set_compression_mem_level(png_structp png_ptr, int mem_level)
 }
-declare 71 {
+declare 71 generic {!PNG_WRITE_SUPPORTED} {
     void png_set_compression_strategy(png_structp png_ptr, int strategy)
 }
-declare 72 {
+declare 72 generic {!PNG_WRITE_SUPPORTED} {
     void png_set_compression_window_bits(png_structp png_ptr, int window_bits)
 }
-declare 73 {
+declare 73 generic {!PNG_WRITE_SUPPORTED} {
     void png_set_compression_method(png_structp png_ptr, int method)
 }
-declare 74 generic {PNG_NO_STDIO} {
+declare 74 generic {!PNG_STDIO_SUPPORTED} {
     void png_init_io(png_structp png_ptr, png_FILE_p fp)
 }
 declare 75 {
-    void png_set_error_fn(png_structp png_ptr, png_voidp error_ptr,
-    	png_error_ptr error_fn, png_error_ptr warning_fn)
+    void png_set_error_fn(png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)
 }
 declare 76 {
-    png_voidp png_get_error_ptr(png_structp png_ptr)
+    png_voidp png_get_error_ptr(png_const_structp png_ptr)
 }
 declare 77 {
-    void png_set_write_fn(png_structp png_ptr, png_voidp io_ptr,
-    	png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)
+    void png_set_write_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)
 }
 declare 78 {
     void png_set_read_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn)
@@ -264,714 +280,460 @@ declare 81 {
     void png_set_write_status_fn(png_structp png_ptr, png_write_status_ptr write_row_fn)
 }
 declare 82 generic {!PNG_USER_MEM_SUPPORTED} {
-    void png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr,
-    	png_malloc_ptr malloc_fn, png_free_ptr free_fn)
+    void png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)
 }
 declare 83 generic {!PNG_USER_MEM_SUPPORTED} {
-    png_voidp png_get_mem_ptr(png_structp png_ptr)
+    png_voidp png_get_mem_ptr(png_const_structp png_ptr)
 }
-declare 84 generic {{!PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED}} {
-    void png_set_read_user_transform_fn(png_structp png_ptr,
-    	png_user_transform_ptr read_user_transform_fn)
+declare 84 generic {!PNG_READ_USER_TRANSFORM_SUPPORTED} {
+    void png_set_read_user_transform_fn(png_structp png_ptr, png_user_transform_ptr read_user_transform_fn)
 }
-declare 85 generic {{!PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED}} {
-    void png_set_write_user_transform_fn(png_structp png_ptr,
-    	png_user_transform_ptr write_user_transform_fn)
+declare 85 generic {!PNG_WRITE_USER_TRANSFORM_SUPPORTED} {
+    void png_set_write_user_transform_fn(png_structp png_ptr, png_user_transform_ptr write_user_transform_fn)
 }
-declare 86 generic {{!PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED}} {
-    void png_set_user_transform_info(png_structp png_ptr, png_voidp user_transform_ptr,
-    	int user_transform_depth, int user_transform_channels)
+declare 86 generic {!PNG_USER_TRANSFORM_PTR_SUPPORTED} {
+    void png_set_user_transform_info(png_structp png_ptr, png_voidp user_transform_ptr, int user_transform_depth, int user_transform_channels)
 }
-declare 87 generic {{!PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED}} {
-    png_voidp png_get_user_transform_ptr(png_structp png_ptr)
+declare 87 generic {!PNG_USER_TRANSFORM_PTR_SUPPORTED} {
+    png_voidp png_get_user_transform_ptr(png_const_structp png_ptr)
 }
-declare 88 generic {!PNG_READ_USER_CHUNKS_SUPPORTED} {
-    void png_set_read_user_chunk_fn(png_structp png_ptr, png_voidp user_chunk_ptr,
-    	png_user_chunk_ptr read_user_chunk_fn)
+declare 88 generic {!PNG_USER_CHUNKS_SUPPORTED} {
+    void png_set_read_user_chunk_fn(png_structp png_ptr, png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)
 }
-declare 89 generic {!PNG_READ_USER_CHUNKS_SUPPORTED} {
-    png_voidp png_get_user_chunk_ptr(png_structp png_ptr)
+declare 89 generic {!PNG_USER_CHUNKS_SUPPORTED} {
+    png_voidp png_get_user_chunk_ptr(png_const_structp png_ptr)
 }
 declare 90 generic {!PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_set_progressive_read_fn(png_structp png_ptr, png_voidp progressive_ptr,
-    	png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
-    	png_progressive_end_ptr end_fn)
+    void png_set_progressive_read_fn(png_structp png_ptr, png_voidp progressive_ptr, png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn, png_progressive_end_ptr end_fn)
 }
 declare 91 generic {!PNG_PROGRESSIVE_READ_SUPPORTED} {
-    png_voidp png_get_progressive_ptr(png_structp png_ptr)
+    png_voidp png_get_progressive_ptr(png_const_structp png_ptr)
 }
 declare 92 generic {!PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_process_data(png_structp png_ptr, png_infop info_ptr,
-    	png_bytep buffer, png_size_t buffer_size)
+    void png_process_data(png_structp png_ptr, png_infop info_ptr, png_bytep buffer, png_size_t buffer_size)
 }
-declare 93 generic {!PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_progressive_combine_row(png_structp png_ptr, png_bytep old_row,
-    	png_bytep new_row)
+declare 93 generic {!PNG_PROGRESSIVE_READ_SUPPORTED !PNG_READ_INTERLACING_SUPPORTED} {
+    void png_progressive_combine_row(png_structp png_ptr, png_bytep old_row, png_const_bytep new_row)
 }
 declare 94 {
     png_voidp png_malloc(png_structp png_ptr, png_alloc_size_t size)
 }
 declare 95 {
-    void png_free(png_structp png_ptr, png_voidp ptr)
+    png_voidp png_calloc(png_structp png_ptr, png_alloc_size_t size)
 }
 declare 96 {
+    png_voidp png_malloc_warn(png_structp png_ptr, png_alloc_size_t size)
+}
+declare 97 {
+    void png_free(png_structp png_ptr, png_voidp ptr)
+}
+declare 98 {
     void png_free_data(png_structp png_ptr, png_infop info_ptr, png_uint_32 free_me, int num)
 }
-declare 97 generic {!PNG_FREE_ME_SUPPORTED} {
+declare 99 {
     void png_data_freer(png_structp png_ptr, png_infop info_ptr, int freer, png_uint_32 mask)
 }
-declare 98 generic {!PNG_USER_MEM_SUPPORTED} {
-    png_voidp png_malloc_default(png_structp png_ptr, png_uint_32 size)
+declare 100 generic {!PNG_USER_MEM_SUPPORTED} {
+    png_voidp png_malloc_default(png_structp png_ptr, png_alloc_size_t size)
 }
-declare 99 generic {!PNG_USER_MEM_SUPPORTED} {
+declare 101 generic {!PNG_USER_MEM_SUPPORTED} {
     void png_free_default(png_structp png_ptr, png_voidp ptr)
 }
-declare 102 generic {!USE_FAR_KEYWORD} {
-    void *png_far_to_near(png_structp png_ptr,png_voidp ptr, int check)
-}
-declare 103 {
-    void png_error(png_structp png_ptr, png_const_charp error)
+declare 102 generic {!PNG_ERROR_TEXT_SUPPORTED} {
+    void png_error(png_structp png_ptr, png_const_charp error_message)
 }
-declare 104 {
+declare 103 generic {!PNG_ERROR_TEXT_SUPPORTED} {
     void png_chunk_error(png_structp png_ptr, png_const_charp error)
 }
-declare 105 {
-    void png_warning(png_structp png_ptr, png_const_charp message)
+declare 104 generic {PNG_ERROR_TEXT_SUPPORTED} {
+    void png_err(png_structp png_ptr)
 }
-declare 106 {
-    void png_chunk_warning(png_structp png_ptr, png_const_charp message)
+declare 105 generic {!PNG_WARNINGS_SUPPORTED} {
+    void png_warning(png_structp png_ptr, png_const_charp warning_message)
 }
-declare 107 {
-    png_uint_32 png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)
+declare 106 generic {!PNG_WARNINGS_SUPPORTED} {
+    void png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
 }
-declare 108 {
-    png_size_t png_get_rowbytes(png_structp png_ptr, png_infop info_ptr)
+declare 107 generic {!PNG_BENIGN_ERRORS_SUPPORTED} {
+    void png_benign_error(png_structp png_ptr, png_const_charp warning_message)
 }
-declare 109 generic {!PNG_INFO_IMAGE_SUPPORTED} {
-    png_bytepp png_get_rows(png_structp png_ptr, png_infop info_ptr)
+declare 108 generic {!PNG_BENIGN_ERRORS_SUPPORTED} {
+    void png_chunk_benign_error(png_structp png_ptr, png_const_charp warning_message)
 }
-declare 110 generic {!PNG_INFO_IMAGE_SUPPORTED} {
-    void png_set_rows(png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers)
+declare 109 generic {!PNG_BENIGN_ERRORS_SUPPORTED} {
+    void png_set_benign_errors(png_structp png_ptr, int allowed)
+}
+declare 110 {
+    png_uint_32 png_get_valid(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag)
 }
 declare 111 {
-    png_byte png_get_channels(png_structp png_ptr, png_infop info_ptr)
+    png_size_t png_get_rowbytes(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 112 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_uint_32 png_get_image_width(png_structp png_ptr, png_infop info_ptr)
+declare 112 generic {!PNG_INFO_IMAGE_SUPPORTED} {
+    png_bytepp png_get_rows(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 113 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_uint_32 png_get_image_height(png_structp png_ptr, png_infop info_ptr)
+declare 113 generic {!PNG_INFO_IMAGE_SUPPORTED} {
+    void png_set_rows(png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers)
 }
-declare 114 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_byte png_get_bit_depth(png_structp png_ptr, png_infop info_ptr)
+declare 114 {
+    png_byte png_get_channels(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 115 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_byte png_get_color_type(png_structp png_ptr, png_infop info_ptr)
+    png_uint_32 png_get_image_width(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 116 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_byte png_get_filter_type(png_structp png_ptr, png_infop info_ptr)
+    png_uint_32 png_get_image_height(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 117 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_byte png_get_interlace_type(png_structp png_ptr, png_infop info_ptr)
+    png_byte png_get_bit_depth(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 118 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_byte png_get_compression_type(png_structp png_ptr, png_infop info_ptr)
+    png_byte png_get_color_type(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 119 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_uint_32 png_get_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
+    png_byte png_get_filter_type(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 120 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_uint_32 png_get_x_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
+    png_byte png_get_interlace_type(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 121 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_uint_32 png_get_y_pixels_per_meter(png_structp png_ptr, png_infop info_ptr)
+    png_byte png_get_compression_type(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 122 generic {!PNG_EASY_ACCESS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    float png_get_pixel_aspect_ratio(png_structp png_ptr, png_infop info_ptr)
+declare 122 generic {!PNG_EASY_ACCESS_SUPPORTED} {
+    png_uint_32 png_get_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 123 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_int_32 png_get_x_offset_pixels(png_structp png_ptr, png_infop info_ptr)
+    png_uint_32 png_get_x_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 124 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_int_32 png_get_y_offset_pixels(png_structp png_ptr, png_infop info_ptr)
+    png_uint_32 png_get_y_pixels_per_meter(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 125 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_int_32 png_get_x_offset_microns(png_structp png_ptr, png_infop info_ptr)
+declare 125 generic {!PNG_EASY_ACCESS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    float png_get_pixel_aspect_ratio(png_const_structp png_ptr, png_const_infop info_ptr)
 }
 declare 126 generic {!PNG_EASY_ACCESS_SUPPORTED} {
-    png_int_32 png_get_y_offset_microns(png_structp png_ptr, png_infop info_ptr)
-}
-declare 127 {
-    png_bytep png_get_signature(png_structp png_ptr, png_infop info_ptr)
-}
-declare 128 generic {!PNG_READ_bKGD_SUPPORTED} {
-    png_uint_32 png_get_bKGD(png_structp png_ptr, png_infop info_ptr, png_color_16p *background)
-}
-declare 129 generic {!PNG_bKGD_SUPPORTED} {
-    void png_set_bKGD(png_structp png_ptr, png_infop info_ptr, png_color_16p background)
-}
-declare 130 generic {!PNG_READ_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    png_uint_32 png_get_cHRM(png_structp png_ptr, png_infop info_ptr,
-    	double *white_x, double *white_y, double *red_x, double *red_y,
-    	double *green_x, double *green_y, double *blue_x, double *blue_y)
-}
-declare 131 generic {!PNG_READ_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
-    png_uint_32 png_get_cHRM_fixed(png_structp png_ptr, png_infop info_ptr,
-    	png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x,
-    	png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y,
-    	png_fixed_point *int_blue_x, png_fixed_point *int_blue_y)
-}
-declare 132 generic {!PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_set_cHRM(png_structp png_ptr, png_infop info_ptr, double white_x,
-    	double white_y, double red_x, double red_y, double green_x, double green_y,
-    	double blue_x, double blue_y)
-}
-declare 133 generic {!PNG_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
-    void png_set_cHRM_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point int_white_x,
-    	png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y,
-    	png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x,
-    	png_fixed_point int_blue_y)
-}
-declare 134 generic {!PNG_READ_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    png_uint_32 png_get_gAMA(png_structp png_ptr, png_infop info_ptr, double *file_gamma)
-}
-declare 135 generic {!PNG_READ_gAMA_SUPPORTED} {
-    png_uint_32 png_get_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point *int_file_gamma)
-}
-declare 136 generic {!PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_set_gAMA(png_structp png_ptr, png_infop info_ptr, double file_gamma)
-}
-declare 137 generic {!PNG_gAMA_SUPPORTED} {
-    void png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point int_file_gamma)
-}
-declare 138 generic {!PNG_READ_hIST_SUPPORTED} {
-    png_uint_32 png_get_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p *hist)
-}
-declare 139 generic {!PNG_hIST_SUPPORTED} {
-    void png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist)
-}
-declare 140 {
-    png_uint_32 png_get_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_type, int *compression_type, int *filter_type)
-}
-declare 141 {
-    void png_set_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_type, int compression_type, int filter_type)
-}
-declare 142 generic {!PNG_READ_oFFs_SUPPORTED} {
-    png_uint_32 png_get_oFFs(png_structp png_ptr, png_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
-}
-declare 143 generic {!PNG_oFFs_SUPPORTED} {
-    void png_set_oFFs(png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type)
-}
-declare 144 generic {!PNG_READ_pCAL_SUPPORTED} {
-    png_uint_32 png_get_pCAL(png_structp png_ptr, png_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params)
-}
-declare 145 generic {!PNG_pCAL_SUPPORTED} {
-    void png_set_pCAL(png_structp png_ptr, png_infop info_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp params)
-}
-declare 146 generic {!PNG_READ_pHYs_SUPPORTED} {
-    png_uint_32 png_get_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
-}
-declare 147 generic {!PNG_pHYs_SUPPORTED} {
-    void png_set_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)
-}
-declare 148 {
-    png_uint_32 png_get_PLTE(png_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette)
-}
-declare 149 {
-    void png_set_PLTE(png_structp png_ptr, png_infop info_ptr, png_colorp palette, int num_palette)
-}
-
-declare 150 generic {!PNG_READ_sBIT_SUPPORTED} {
-    png_uint_32 png_get_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)
-}
-declare 151 generic {!PNG_sBIT_SUPPORTED} {
-    void png_set_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p sig_bit)
-}
-declare 152 generic {!PNG_READ_sRGB_SUPPORTED} {
-    png_uint_32 png_get_sRGB(png_structp png_ptr, png_infop info_ptr, int *intent)
+    png_int_32 png_get_x_offset_pixels(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 153 generic {!PNG_sRGB_SUPPORTED} {
-    void png_set_sRGB(png_structp png_ptr, png_infop info_ptr, int intent)
+declare 127 generic {!PNG_EASY_ACCESS_SUPPORTED} {
+    png_int_32 png_get_y_offset_pixels(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 154 generic {!PNG_sRGB_SUPPORTED} {
-    void png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr, int intent)
+declare 128 generic {!PNG_EASY_ACCESS_SUPPORTED} {
+    png_int_32 png_get_x_offset_microns(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 155 generic {!PNG_READ_iCCP_SUPPORTED} {
-    png_uint_32 png_get_iCCP(png_structp png_ptr, png_infop info_ptr, png_charpp name, int *compression_type, png_charpp profile, png_uint_32 *proflen)
+declare 129 generic {!PNG_EASY_ACCESS_SUPPORTED} {
+    png_int_32 png_get_y_offset_microns(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 156 generic {!PNG_iCCP_SUPPORTED} {
-    void png_set_iCCP(png_structp png_ptr, png_infop info_ptr, png_charp name, int compression_type, png_charp profile, png_uint_32 proflen)
+declare 130 {
+    png_const_bytep png_get_signature(png_const_structp png_ptr, png_infop info_ptr)
 }
-declare 157 generic {!PNG_READ_sPLT_SUPPORTED} {
-    png_uint_32 png_get_sPLT(png_structp png_ptr, png_infop info_ptr, png_sPLT_tpp entries)
+declare 131 generic {!PNG_bKGD_SUPPORTED} {
+    png_uint_32 png_get_bKGD(png_const_structp png_ptr, png_infop info_ptr, png_color_16p *background)
 }
-declare 158 generic {!PNG_sPLT_SUPPORTED} {
-    void png_set_sPLT(png_structp png_ptr, png_infop info_ptr, png_sPLT_tp entries, int nentries)
+declare 132 generic {!PNG_bKGD_SUPPORTED} {
+    void png_set_bKGD(png_structp png_ptr, png_infop info_ptr, png_const_color_16p background)
 }
-declare 159 generic {!PNG_READ_TEXT_SUPPORTED} {
-    png_uint_32 png_get_text(png_structp png_ptr, png_infop info_ptr, png_textp *text_ptr, int *num_text)
+declare 133 generic {!PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    png_uint_32 png_get_cHRM(png_const_structp png_ptr, png_const_infop info_ptr, double *white_x, double *white_y, double *red_x, double *red_y, double *green_x, double *green_y, double *blue_x, double *blue_y)
 }
-declare 160 generic {!PNG_TEXT_SUPPORTED} {
-    void png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr, int num_text)
+declare 134 generic {!PNG_READ_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    png_uint_32 png_get_cHRM_fixed(png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_white_x, png_fixed_point *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point *int_blue_x, png_fixed_point *int_blue_y)
 }
-declare 161 generic {!PNG_READ_tIME_SUPPORTED} {
-    png_uint_32 png_get_tIME(png_structp png_ptr, png_infop info_ptr, png_timep *mod_time)
+declare 135 generic {!PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    void png_set_cHRM(png_structp png_ptr, png_infop info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y)
 }
-declare 162 generic {!PNG_tIME_SUPPORTED} {
-    void png_set_tIME(png_structp png_ptr, png_infop info_ptr, png_timep mod_time)
+declare 136 generic {!PNG_cHRM_SUPPORTED} {
+    void png_set_cHRM_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y)
 }
-declare 163 generic {!PNG_READ_tRNS_SUPPORTED} {
-    png_uint_32 png_get_tRNS(png_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_values)
+declare 137 generic {!PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    png_uint_32 png_get_gAMA(png_const_structp png_ptr, png_const_infop info_ptr, double *file_gamma)
 }
-declare 164 generic {!PNG_tRNS_SUPPORTED} {
-    void png_set_tRNS(png_structp png_ptr, png_infop info_ptr, png_bytep trans, int num_trans, png_color_16p trans_values)
+declare 138 generic {!PNG_gAMA_SUPPORTED} {
+    png_uint_32 png_get_gAMA_fixed(png_const_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_file_gamma)
 }
-declare 165 generic {!PNG_READ_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    png_uint_32 png_get_sCAL(png_structp png_ptr, png_infop info_ptr, int *unit, double *width, double *height)
-}
-declare 166 generic {!PNG_READ_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
-    png_uint_32 png_get_sCAL_s(png_structp png_ptr, png_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight)
-}
-declare 167 generic {!PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_set_sCAL(png_structp png_ptr, png_infop info_ptr, int unit, double width, double height)
-}
-declare 168 generic {!PNG_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
-    void png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr, int unit, png_charp swidth, png_charp sheight)
-}
-declare 169 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
-    void png_set_keep_unknown_chunks(png_structp png_ptr, int keep, png_bytep chunk_list, int num_chunks)
-}
-declare 170 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
-    void png_set_unknown_chunks(png_structp png_ptr, png_infop info_ptr, png_unknown_chunkp unknowns, int num_unknowns)
-}
-declare 171 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
-    void png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr, int chunk, int location)
-}
-declare 172 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
-    png_uint_32 png_get_unknown_chunks(png_structp png_ptr, png_infop info_ptr, png_unknown_chunkpp entries)
-}
-declare 173 {
-    void png_set_invalid(png_structp png_ptr, png_infop info_ptr, int mask)
-}
-declare 174 generic {!PNG_INFO_IMAGE_SUPPORTED} {
-    void png_read_png(png_structp png_ptr, png_infop info_ptr, int transforms, voidp params)
-}
-declare 175 generic {!PNG_INFO_IMAGE_SUPPORTED} {
-    void png_write_png(png_structp png_ptr, png_infop info_ptr, int transforms, voidp params)
-}
-declare 176 generic {!PNG_INTERNAL PNG_USE_GLOBAL_ARRAYS {PNG_NO_EXTERN !PNG_ALWAYS_EXTERN}} {
-    png_bytep png_sig_bytes(void)
-}
-declare 177 {
-    png_charp png_get_copyright(png_structp png_ptr)
-}
-declare 178 {
-    png_charp png_get_header_ver(png_structp png_ptr)
-}
-declare 179 {
-    png_charp png_get_header_version(png_structp png_ptr)
-}
-declare 180 {
-    png_charp png_get_libpng_ver(png_structp png_ptr)
-}
-declare 184 generic {!PNG_INTERNAL} {
-    void png_read_init(png_structp png_ptr)
-}
-declare 185 generic {!PNG_INTERNAL} {
-    void png_read_init_2(png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size)
-}
-declare 188 generic {!PNG_INTERNAL} {
-    png_voidp png_create_struct(int type)
-}
-declare 189 generic {!PNG_INTERNAL} {
-    void png_destroy_struct(png_voidp struct_ptr)
-}
-declare 190 generic {!PNG_INTERNAL} {
-    png_voidp png_create_struct_2(int type, png_malloc_ptr malloc_fn)
-}
-declare 191 generic {!PNG_INTERNAL} {
-    void png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn)
-}
-declare 192 generic {!PNG_INTERNAL} {
-    void png_info_destroy(png_structp png_ptr, png_infop info_ptr)
-}
-declare 193 generic {!PNG_INTERNAL} {
-    voidpf png_zalloc(voidpf png_ptr, uInt items, uInt size)
-}
-declare 194 generic {!PNG_INTERNAL} {
-    void png_zfree(voidpf png_ptr, voidpf ptr)
-}
-declare 195 generic {!PNG_INTERNAL} {
-    void png_reset_crc(png_structp png_ptr)
-}
-declare 196 generic {!PNG_INTERNAL} {
-    void png_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
-}
-declare 197 generic {!PNG_INTERNAL} {
-    void png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
-}
-declare 198 generic {!PNG_INTERNAL} {
-    void png_crc_read(png_structp png_ptr, png_bytep buf, png_size_t length)
-}
-declare 199 generic {!PNG_INTERNAL {!PNG_READ_zTXt_SUPPORTED !PNG_READ_iTXt_SUPPORTED !PNG_READ_iCCP_SUPPORTED !PNG_READ_sPLT_SUPPORTED}} {
-    png_charp png_decompress_chunk(png_structp png_ptr, int comp_type, png_charp chunkdata, png_size_t chunklength, png_size_t prefix_length, png_size_t *data_length)
-}
-declare 200 generic {!PNG_INTERNAL} {
-    int png_crc_finish(png_structp png_ptr, png_uint_32 skip)
-}
-declare 201 generic {!PNG_INTERNAL} {
-    int png_crc_error(png_structp png_ptr)
-}
-declare 202 generic {!PNG_INTERNAL} {
-    void png_calculate_crc(png_structp png_ptr, png_bytep ptr, png_size_t length)
-}
-declare 203 generic {!PNG_INTERNAL !PNG_WRITE_FLUSH_SUPPORTED} {
-    void png_flush(png_structp png_ptr)
-}
-declare 204 generic {!PNG_INTERNAL} {
-    void png_save_uint_32(png_bytep buf, png_uint_32 i)
-}
-declare 205 generic {!PNG_INTERNAL !PNG_WRITE_pCAL_SUPPORTED} {
-    void png_save_int_32(png_bytep buf, png_int_32 i)
-}
-declare 206 generic {!PNG_INTERNAL} {
-    void png_save_uint_16(png_bytep buf, unsigned int i)
-}
-declare 207 generic {!PNG_INTERNAL} {
-    void png_write_sig(png_structp png_ptr)
-}
-declare 208 generic {!PNG_INTERNAL} {
-    void png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int compression_type, int filter_type, int interlace_type)
-}
-declare 209 generic {!PNG_INTERNAL} {
-    void png_write_PLTE(png_structp png_ptr, png_colorp palette, png_uint_32 num_pal)
-}
-declare 210 generic {!PNG_INTERNAL} {
-    void png_write_IDAT(png_structp png_ptr, png_bytep data, png_size_t length)
-}
-declare 211 generic {!PNG_INTERNAL} {
-    void png_write_IEND(png_structp png_ptr)
-}
-declare 212 generic {!PNG_INTERNAL !PNG_WRITE_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_write_gAMA(png_structp png_ptr, double file_gamma)
-}
-declare 213 generic {!PNG_INTERNAL !PNG_WRITE_gAMA_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
-    void png_write_gAMA_fixed(png_structp png_ptr, png_fixed_point file_gamma)
-}
-declare 214 generic {!PNG_INTERNAL !PNG_WRITE_sBIT_SUPPORTED} {
-    void png_write_sBIT(png_structp png_ptr, png_color_8p sbit, int color_type)
-}
-declare 215 generic {!PNG_INTERNAL !PNG_WRITE_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
-    void png_write_cHRM(png_structp png_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y)
-}
-declare 216 generic {!PNG_INTERNAL !PNG_WRITE_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
-    void png_write_cHRM_fixed(png_structp png_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y)
-}
-declare 217 generic {!PNG_INTERNAL !PNG_WRITE_sRGB_SUPPORTED} {
-    void png_write_sRGB(png_structp png_ptr, int intent)
-}
-declare 218 generic {!PNG_INTERNAL !PNG_WRITE_iCCP_SUPPORTED} {
-    void png_write_iCCP(png_structp png_ptr, png_charp name, int compression_type, png_charp profile, int proflen)
-}
-declare 219 generic {!PNG_INTERNAL !PNG_WRITE_sPLT_SUPPORTED} {
-    void png_write_sPLT(png_structp png_ptr, png_sPLT_tp palette)
-}
-declare 220 generic {!PNG_INTERNAL !PNG_WRITE_tRNS_SUPPORTED} {
-    void png_write_tRNS(png_structp png_ptr, png_bytep trans, png_color_16p values, int number, int color_type)
-}
-declare 221 generic {!PNG_INTERNAL !PNG_WRITE_bKGD_SUPPORTED} {
-    void png_write_bKGD(png_structp png_ptr, png_color_16p values, int color_type)
-}
-declare 222 generic {!PNG_INTERNAL !PNG_WRITE_hIST_SUPPORTED} {
-    void png_write_hIST(png_structp png_ptr, png_uint_16p hist, int num_hist)
-}
-declare 223 generic {!PNG_INTERNAL {!PNG_WRITE_TEXT_SUPPORTED !PNG_WRITE_pCAL_SUPPORTED !PNG_WRITE_iCCP_SUPPORTED !PNG_WRITE_sPLT_SUPPORTED}} {
-    png_size_t png_check_keyword(png_structp png_ptr, png_charp key, png_charpp new_key)
-}
-declare 224 generic {!PNG_INTERNAL !PNG_WRITE_tEXt_SUPPORTED} {
-    void png_write_tEXt(png_structp png_ptr, png_charp key, png_charp text, png_size_t text_len)
+declare 139 generic {!PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    void png_set_gAMA(png_structp png_ptr, png_infop info_ptr, double file_gamma)
 }
-declare 225 generic {!PNG_INTERNAL !PNG_WRITE_zTXt_SUPPORTED} {
-    void png_write_zTXt(png_structp png_ptr, png_charp key, png_size_t text_len, int compression)
+declare 140 generic {!PNG_gAMA_SUPPORTED} {
+    void png_set_gAMA_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point int_file_gamma)
 }
-declare 226 generic {!PNG_INTERNAL !PNG_iTXt_SUPPORTED} {
-    void png_write_iTXt(png_structp png_ptr, int compression, png_charp key, png_charp lang, png_charp lang_key, png_charp text)
+declare 141 generic {!PNG_hIST_SUPPORTED} {
+    png_uint_32 png_get_hIST(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_16p *hist)
 }
-declare 227 generic {!PNG_INTERNAL !PNG_WRITE_oFFs_SUPPORTED} {
-    void png_write_oFFs(png_structp png_ptr, png_uint_32 x_offset, png_uint_32 y_offset, int unit_type)
+declare 142 generic {!PNG_hIST_SUPPORTED} {
+    void png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_const_uint_16p hist)
 }
-declare 228 generic {!PNG_INTERNAL !PNG_WRITE_pCAL_SUPPORTED} {
-    void png_write_pCAL(png_structp png_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp params)
+declare 143 {
+    png_uint_32 png_get_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method)
 }
-declare 229 generic {!PNG_INTERNAL !PNG_WRITE_pHYs_SUPPORTED} {
-    void png_write_pHYs(png_structp png_ptr, png_uint_32 x_pixels_per_unit, png_uint_32 y_pixels_per_unit, int unit_type)
+declare 144 {
+    void png_set_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_method, int compression_method, int filter_method)
 }
-declare 230 generic {!PNG_INTERNAL !PNG_WRITE_tIME_SUPPORTED} {
-    void png_write_tIME(png_structp png_ptr, png_timep mod_time)
+declare 145 generic {!PNG_oFFs_SUPPORTED} {
+    png_uint_32 png_get_oFFs(png_const_structp png_ptr, png_const_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)
 }
-declare 231 generic {!PNG_INTERNAL !PNG_WRITE_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED PNG_NO_STDIO} {
-    void png_write_sCAL(png_structp png_ptr, int unit, double width, double height)
+declare 146 generic {!PNG_oFFs_SUPPORTED} {
+    void png_set_oFFs(png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type)
 }
-declare 232 generic {!PNG_INTERNAL !PNG_FIXED_POINT_SUPPORTED {PNG_WRITE_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_NO_STDIO}} {
-    void png_write_sCAL_s(png_structp png_ptr, int unit, png_charp width, png_charp height)
+declare 147 generic {!PNG_pCAL_SUPPORTED} {
+    png_uint_32 png_get_pCAL(png_const_structp png_ptr, png_const_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams, png_charp *units, png_charpp *params)
 }
-declare 233 generic {!PNG_INTERNAL} {
-    void png_write_finish_row(png_structp png_ptr)
+declare 148 generic {!PNG_pCAL_SUPPORTED} {
+    void png_set_pCAL(png_structp png_ptr, png_infop info_ptr, png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type, int nparams, png_const_charp units, png_charpp params)
 }
-declare 234 generic {!PNG_INTERNAL} {
-    void png_write_start_row(png_structp png_ptr)
+declare 149 generic {!PNG_pHYs_SUPPORTED} {
+    png_uint_32 png_get_pHYs(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
 }
-declare 235 generic {!PNG_INTERNAL !PNG_READ_GAMMA_SUPPORTED} {
-    void png_build_gamma_table(png_structp png_ptr)
+declare 150 generic {!PNG_pHYs_SUPPORTED} {
+    void png_set_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)
 }
-declare 236 generic {!PNG_INTERNAL} {
-    void png_combine_row(png_structp png_ptr, png_bytep row, int mask)
+declare 151 {
+    png_uint_32 png_get_PLTE(png_const_structp png_ptr, png_const_infop info_ptr, png_colorp *palette, int *num_palette)
 }
-declare 237 generic {!PNG_INTERNAL !PNG_READ_INTERLACING_SUPPORTED} {
-    void png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass, png_uint_32 transformations)
+declare 152 {
+    void png_set_PLTE(png_structp png_ptr, png_infop info_ptr, png_const_colorp palette, int num_palette)
 }
-declare 238 generic {!PNG_INTERNAL !PNG_WRITE_INTERLACING_SUPPORTED} {
-    void png_do_write_interlace(png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter)
+declare 153 generic {!PNG_sBIT_SUPPORTED} {
+    png_uint_32 png_get_sBIT(png_const_structp png_ptr, png_infop info_ptr, png_color_8p *sig_bit)
 }
-declare 239 generic {!PNG_INTERNAL} {
-    void png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter)
+declare 154 generic {!PNG_sBIT_SUPPORTED} {
+    void png_set_sBIT(png_structp png_ptr, png_infop info_ptr, png_const_color_8p sig_bit)
 }
-declare 240 generic {!PNG_INTERNAL} {
-    void png_write_find_filter(png_structp png_ptr, png_row_infop row_info)
+declare 155 generic {!PNG_sRGB_SUPPORTED} {
+    png_uint_32 png_get_sRGB(png_const_structp png_ptr, png_const_infop info_ptr, int *file_srgb_intent)
 }
-declare 241 generic {!PNG_INTERNAL} {
-    void png_write_filtered_row(png_structp png_ptr, png_bytep filtered_row)
+declare 156 generic {!PNG_sRGB_SUPPORTED} {
+    void png_set_sRGB(png_structp png_ptr, png_infop info_ptr, int srgb_intent)
 }
-declare 242 generic {!PNG_INTERNAL} {
-    void png_read_finish_row(png_structp png_ptr)
+declare 157 generic {!PNG_sRGB_SUPPORTED} {
+    void png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr, png_infop info_ptr, int srgb_intent)
 }
-declare 243 generic {!PNG_INTERNAL} {
-    void png_read_start_row(png_structp png_ptr)
+declare 158 generic {!PNG_iCCP_SUPPORTED} {
+    png_uint_32 png_get_iCCP(png_const_structp png_ptr, png_const_infop info_ptr, png_charpp name, int *compression_type, png_bytepp profile, png_uint_32 *proflen)
 }
-declare 244 generic {!PNG_INTERNAL} {
-    void png_read_transform_info(png_structp png_ptr, png_infop info_ptr)
+declare 159 generic {!PNG_iCCP_SUPPORTED} {
+    void png_set_iCCP(png_structp png_ptr, png_infop info_ptr, png_const_charp name, int compression_type, png_const_bytep profile, png_uint_32 proflen)
 }
-declare 245 generic {!PNG_INTERNAL !PNG_READ_FILLER_SUPPORTED} {
-    void png_do_read_filler(png_row_infop row_info, png_bytep row, png_uint_32 filler, png_uint_32 flags)
+declare 160 generic {!PNG_sPLT_SUPPORTED} {
+    png_uint_32 png_get_sPLT(png_const_structp png_ptr, png_const_infop info_ptr, png_sPLT_tpp entries)
 }
-declare 246 generic {!PNG_INTERNAL !PNG_READ_SWAP_ALPHA_SUPPORTED} {
-    void png_do_read_swap_alpha(png_row_infop row_info, png_bytep row)
+declare 161 generic {!PNG_sPLT_SUPPORTED} {
+    void png_set_sPLT(png_structp png_ptr, png_infop info_ptr, png_const_sPLT_tp entries, int nentries)
 }
-declare 247 generic {!PNG_INTERNAL !PNG_WRITE_SWAP_ALPHA_SUPPORTED} {
-    void png_do_write_swap_alpha(png_row_infop row_info, png_bytep row)
+declare 162 generic {!PNG_READ_TEXT_SUPPORTED} {
+    png_uint_32 png_get_text(png_const_structp png_ptr, png_const_infop info_ptr, png_textp *text_ptr, int *num_text)
 }
-declare 248 generic {!PNG_INTERNAL !PNG_READ_INVERT_ALPHA_SUPPORTED} {
-    void png_do_read_invert_alpha(png_row_infop row_info, png_bytep row)
+declare 163 generic {!PNG_TEXT_SUPPORTED} {
+    void png_set_text(png_structp png_ptr, png_infop info_ptr, png_const_textp text_ptr, int num_text)
 }
-declare 249 generic {!PNG_INTERNAL !PNG_WRITE_INVERT_ALPHA_SUPPORTED} {
-    void png_do_write_invert_alpha(png_row_infop row_info, png_bytep row)
+declare 164 generic {!PNG_tIME_SUPPORTED} {
+    png_uint_32 png_get_tIME(png_const_structp png_ptr, png_infop info_ptr, png_timep *mod_time)
 }
-declare 250 generic {!PNG_INTERNAL {!PNG_WRITE_FILLER_SUPPORTED !PNG_READ_STRIP_ALPHA_SUPPORTED}} {
-    void png_do_strip_filler(png_row_infop row_info, png_bytep row, png_uint_32 flags)
+declare 165 generic {!PNG_tIME_SUPPORTED} {
+    void png_set_tIME(png_structp png_ptr, png_infop info_ptr, png_const_timep mod_time)
 }
-declare 251 generic {!PNG_INTERNAL {!PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED}} {
-    void png_do_swap(png_row_infop row_info, png_bytep row)
+declare 166 generic {!PNG_tRNS_SUPPORTED} {
+    png_uint_32 png_get_tRNS(png_const_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_color)
 }
-declare 252 generic {!PNG_INTERNAL {!PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED}} {
-    void png_do_packswap(png_row_infop row_info, png_bytep row)
+declare 167 generic {!PNG_tRNS_SUPPORTED} {
+    void png_set_tRNS(png_structp png_ptr, png_infop info_ptr, png_const_bytep trans, int num_trans, png_const_color_16p trans_color)
 }
-declare 253 generic {!PNG_INTERNAL !PNG_READ_RGB_TO_GRAY_SUPPORTED} {
-    int png_do_rgb_to_gray(png_structp png_ptr, png_row_infop row_info, png_bytep row)
+declare 168 generic {!PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    png_uint_32 png_get_sCAL(png_const_structp png_ptr, png_const_infop info_ptr, int *unit, double *width, double *height)
 }
-declare 254 generic {!PNG_INTERNAL !PNG_READ_GRAY_TO_RGB_SUPPORTED} {
-    void png_do_gray_to_rgb(png_row_infop row_info, png_bytep row)
+declare 169 generic {!PNG_sCAL_SUPPORTED} {
+    png_uint_32 png_get_sCAL_s(png_const_structp png_ptr, png_const_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight)
 }
-declare 255 generic {!PNG_INTERNAL !PNG_READ_PACK_SUPPORTED} {
-    void png_do_unpack(png_row_infop row_info, png_bytep row)
+declare 170 generic {!PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    void png_set_sCAL(png_structp png_ptr, png_infop info_ptr, int unit, double width, double height)
 }
-declare 256 generic {!PNG_INTERNAL !PNG_READ_SHIFT_SUPPORTED} {
-    void png_do_unshift(png_row_infop row_info, png_bytep row, png_color_8p sig_bits)
+declare 171 generic {!PNG_sCAL_SUPPORTED} {
+    void png_set_sCAL_s(png_structp png_ptr, png_infop info_ptr, int unit, png_const_charp swidth, png_const_charp sheight)
 }
-declare 257 generic {!PNG_INTERNAL {!PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED}} {
-    void png_do_invert(png_row_infop row_info, png_bytep row)
+declare 172 generic {!PNG_HANDLE_AS_UNKNOWN_SUPPORTED} {
+    void png_set_keep_unknown_chunks(png_structp png_ptr, int keep, png_const_bytep chunk_list, int num_chunks)
 }
-declare 258 generic {!PNG_INTERNAL !PNG_READ_16_TO_8_SUPPORTED} {
-    void png_do_chop(png_row_infop row_info, png_bytep row)
+declare 173 generic {!PNG_HANDLE_AS_UNKNOWN_SUPPORTED} {
+    int png_handle_as_unknown(png_structp png_ptr, png_const_bytep chunk_name)
 }
-declare 259 generic {!PNG_INTERNAL !PNG_READ_DITHER_SUPPORTED} {
-    void png_do_dither(png_row_infop row_info, png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup)
+declare 174 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
+    void png_set_unknown_chunks(png_structp png_ptr, png_infop info_ptr, png_const_unknown_chunkp unknowns, int num_unknowns)
 }
-declare 260 generic {!PNG_INTERNAL !PNG_READ_DITHER_SUPPORTED !PNG_CORRECT_PALETTE_SUPPORTED} {
-    void png_correct_palette(png_structp png_ptr, png_colorp palette, int num_palette)
+declare 175 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
+    void png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr, int chunk, int location)
 }
-declare 261 generic {!PNG_INTERNAL {!PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED}} {
-    void png_do_bgr(png_row_infop row_info, png_bytep row)
+declare 176 generic {!PNG_UNKNOWN_CHUNKS_SUPPORTED} {
+    int png_get_unknown_chunks(png_const_structp png_ptr, png_const_infop info_ptr, png_unknown_chunkpp entries)
 }
-declare 262 generic {!PNG_INTERNAL !PNG_WRITE_PACK_SUPPORTED} {
-    void png_do_pack(png_row_infop row_info, png_bytep row, png_uint_32 bit_depth)
+declare 177 {
+    void png_set_invalid(png_structp png_ptr, png_infop info_ptr, int mask)
 }
-declare 263 generic {!PNG_INTERNAL !PNG_WRITE_SHIFT_SUPPORTED} {
-    void png_do_shift(png_row_infop row_info, png_bytep row, png_color_8p bit_depth)
+declare 178 generic {!PNG_INFO_IMAGE_SUPPORTED} {
+    void png_read_png(png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params)
 }
-declare 264 generic {!PNG_INTERNAL !PNG_READ_BACKGROUND_SUPPORTED} {
-    void png_do_background(png_row_infop row_info, png_bytep row, png_color_16p trans_values, png_color_16p background, png_color_16p background_1, png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1, png_uint_16pp gamma_16_to_1, int gamma_shift)
+declare 179 generic {!PNG_INFO_IMAGE_SUPPORTED} {
+    void png_write_png(png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params)
 }
-declare 265 generic {!PNG_INTERNAL !PNG_READ_GAMMA_SUPPORTED} {
-    void png_do_gamma(png_row_infop row_info, png_bytep row, png_bytep gamma_table, png_uint_16pp gamma_16_table, int gamma_shift)
+declare 180 {
+    png_const_charp png_get_copyright(png_const_structp png_ptr)
 }
-declare 266 generic {!PNG_INTERNAL !PNG_READ_EXPAND_SUPPORTED} {
-    void png_do_expand_palette(png_row_infop row_info, png_bytep row, png_colorp palette, png_bytep trans, int num_trans)
+declare 181 {
+    png_const_charp png_get_header_ver(png_const_structp png_ptr)
 }
-declare 267 generic {!PNG_INTERNAL !PNG_READ_EXPAND_SUPPORTED} {
-    void png_do_expand(png_row_infop row_info, png_bytep row, png_color_16p trans_value)
+declare 182 {
+    png_const_charp png_get_header_version(png_const_structp png_ptr)
 }
-declare 268 generic {!PNG_INTERNAL} {
-    void png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 183 {
+    png_const_charp png_get_libpng_ver(png_const_structp png_ptr)
 }
-declare 269 generic {!PNG_INTERNAL} {
-    void png_handle_PLTE(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 184 generic {!PNG_MNG_FEATURES_SUPPORTED} {
+    png_uint_32 png_permit_mng_features(png_structp png_ptr, png_uint_32 mng_features_permitted)
 }
-declare 270 generic {!PNG_INTERNAL} {
-    void png_handle_IEND(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 185 generic {!PNG_ERROR_NUMBERS_SUPPORTED} {
+    void png_set_strip_error_numbers(png_structp png_ptr, png_uint_32 strip_mode)
 }
-declare 271 generic {!PNG_INTERNAL !PNG_READ_bKGD_SUPPORTED} {
-    void png_handle_bKGD(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 186 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    void png_set_user_limits(png_structp png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max)
 }
-declare 272 generic {!PNG_INTERNAL !PNG_READ_cHRM_SUPPORTED} {
-    void png_handle_cHRM(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare	187 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    png_uint_32 png_get_user_width_max(png_const_structp png_ptr)
 }
-declare 273 generic {!PNG_INTERNAL !PNG_READ_gAMA_SUPPORTED} {
-    void png_handle_gAMA(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 188 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    png_uint_32 png_get_user_height_max(png_const_structp png_ptr)
 }
-declare 274 generic {!PNG_INTERNAL !PNG_READ_hIST_SUPPORTED} {
-    void png_handle_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 189 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    void png_set_chunk_cache_max(png_structp png_ptr, png_uint_32 user_chunk_cache_max)
 }
-declare 275 generic {!PNG_INTERNAL !PNG_READ_iCCP_SUPPORTED} {
-    void png_handle_iCCP(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 190 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    png_uint_32 png_get_chunk_cache_max(png_const_structp png_ptr)
 }
-declare 276 generic {!PNG_INTERNAL !PNG_iTXt_SUPPORTED} {
-    void png_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 191 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    void png_set_chunk_malloc_max(png_structp png_ptr, png_alloc_size_t user_chunk_cache_max)
 }
-declare 277 generic {!PNG_INTERNAL !PNG_READ_oFFs_SUPPORTED} {
-    void png_handle_oFFs(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 192 generic {!PNG_SET_USER_LIMITS_SUPPORTED} {
+    png_alloc_size_t png_get_chunk_malloc_max(png_const_structp png_ptr)
 }
-declare 278 generic {!PNG_INTERNAL !PNG_READ_pCAL_SUPPORTED} {
-    void png_handle_pCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 193 generic {!PNG_INCH_CONVERSIONS_SUPPORTED} {
+    png_uint_32 png_get_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 279 generic {!PNG_INTERNAL !PNG_READ_pHYs_SUPPORTED} {
-    void png_handle_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 194 generic {!PNG_INCH_CONVERSIONS_SUPPORTED} {
+    png_uint_32 png_get_x_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 280 generic {!PNG_INTERNAL !PNG_READ_sBIT_SUPPORTED} {
-    void png_handle_sBIT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 195 generic {!PNG_INCH_CONVERSIONS_SUPPORTED} {
+    png_uint_32 png_get_y_pixels_per_inch(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 281 generic {!PNG_INTERNAL !PNG_READ_sCAL_SUPPORTED} {
-    void png_handle_sCAL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 196 generic {!PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    float png_get_x_offset_inches(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 282 generic {!PNG_INTERNAL !PNG_READ_sPLT_SUPPORTED} {
-    void png_handle_sPLT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 197 generic {!PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    float png_get_y_offset_inches(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 283 generic {!PNG_INTERNAL !PNG_READ_sRGB_SUPPORTED} {
-    void png_handle_sRGB(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 198 generic {!PNG_pHYs_SUPPORTED} {
+    png_uint_32 png_get_pHYs_dpi(png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)
 }
-declare 284 generic {!PNG_INTERNAL !PNG_READ_tEXt_SUPPORTED} {
-    void png_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 199 generic {!PNG_IO_STATE_SUPPORTED} {
+    png_uint_32 png_get_io_state(png_structp png_ptr)
 }
-declare 285 generic {!PNG_INTERNAL !PNG_READ_tIME_SUPPORTED} {
-    void png_handle_tIME(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 200 generic {!PNG_IO_STATE_SUPPORTED} {
+    png_const_bytep png_get_io_chunk_name(png_structp png_ptr)
 }
-declare 286 generic {!PNG_INTERNAL !PNG_READ_tRNS_SUPPORTED} {
-    void png_handle_tRNS(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 201 generic {!PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS} {
+    png_uint_32 png_get_uint_32(png_const_bytep buf)
 }
-declare 287 generic {!PNG_INTERNAL !PNG_READ_zTXt_SUPPORTED} {
-    void png_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare	202 generic {!PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS} {
+    png_uint_16 png_get_uint_16(png_const_bytep buf)
 }
-declare 288 generic {!PNG_INTERNAL !PNG_HANDLE_AS_UNKNOWN_SUPPORTED} {
-    int png_handle_as_unknown(png_structp png_ptr, png_bytep chunk_name)
+declare	203 generic {!PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS} {
+    png_int_32 png_get_int_32(png_const_bytep buf)
 }
-declare 289 generic {!PNG_INTERNAL} {
-    void png_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 204 {
+    png_uint_32 png_get_uint_31(png_structp png_ptr, png_const_bytep buf)
 }
-declare 290 generic {!PNG_INTERNAL} {
-    void png_check_chunk_name(png_structp png_ptr, png_bytep chunk_name)
+declare 205 generic {!PNG_WRITE_INT_FUNCTIONS_SUPPORTED} {
+    void png_save_uint_32(png_bytep buf, png_uint_32 i)
 }
-declare 291 generic {!PNG_INTERNAL} {
-    void png_do_read_transformations(png_structp png_ptr)
+declare 206 generic {!PNG_SAVE_INT_32_SUPPORTED} {
+    void png_save_int_32(png_bytep buf, png_int_32 i)
 }
-declare 292 generic {!PNG_INTERNAL} {
-    void png_do_write_transformations(png_structp png_ptr)
+declare 207 generic {!PNG_WRITE_INT_FUNCTIONS_SUPPORTED} {
+    void png_save_uint_16(png_bytep buf, unsigned int i)
 }
-declare 293 generic {!PNG_INTERNAL} {
-    void png_init_read_transformations(png_structp png_ptr)
+declare 208 generic {!PNG_READ_GAMMA_SUPPORTED} {
+    void png_set_gamma_fixed(png_structp png_ptr, png_fixed_point screen_gamma, png_fixed_point override_file_gamma)
 }
-declare 294 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_read_chunk(png_structp png_ptr, png_infop info_ptr)
+declare 209 generic {!PNG_WRITE_WEIGHTED_FILTER_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    void png_set_filter_heuristics_fixed(png_structp png_ptr, int heuristic_method, int num_weights, png_const_fixed_point_p filter_weights, png_const_fixed_point_p filter_costs)
 }
-declare 295 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_read_sig(png_structp png_ptr, png_infop info_ptr)
+declare 210 generic {!PNG_EASY_ACCESS_SUPPORTED} {
+    png_fixed_point png_get_pixel_aspect_ratio_fixed(png_const_structp png_ptr, png_const_infop info_ptr)
 }
-declare 296 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_check_crc(png_structp png_ptr)
+declare 211 generic {!PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    png_fixed_point png_get_x_offset_inches_fixed(png_structp png_ptr, png_const_infop info_ptr)
 }
-declare 297 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_crc_skip(png_structp png_ptr, png_uint_32 length)
+declare	212 generic {!PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    png_fixed_point png_get_y_offset_inches_fixed(png_structp png_ptr, png_const_infop info_ptr)
 }
-declare 298 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_crc_finish(png_structp png_ptr)
+declare 213 generic {!PNG_sCAL_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    void png_set_sCAL_fixed(png_structp png_ptr, png_infop info_ptr, int unit, png_fixed_point width, png_fixed_point height)
 }
-declare 299 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, png_size_t length)
+declare 214 generic {!PNG_sCAL_SUPPORTED !PNG_FLOATING_ARITHMETIC_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    png_uint_32 png_get_sCAL_fixed(png_structp png_ptr, png_const_infop info_ptr, int *unit, png_fixed_point *width, png_fixed_point *height)
 }
-declare 300 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_save_buffer(png_structp png_ptr)
+declare 215 generic {!PNG_READ_BACKGROUND_SUPPORTED} {
+    void png_set_background_fixed(png_structp png_ptr, png_const_color_16p background_color, int background_gamma_code, int need_expand, png_fixed_point background_gamma)
 }
-declare 301 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_restore_buffer(png_structp png_ptr, png_bytep buffer, png_size_t buffer_length)
+declare 216 generic {!PNG_IO_STATE_SUPPORTED} {
+    png_uint_32 png_get_io_chunk_type(png_const_structp png_ptr)
 }
-declare 302 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_read_IDAT(png_structp png_ptr)
+declare 217 generic {!PNG_USER_TRANSFORM_INFO_SUPPORTED} {
+    png_uint_32 png_get_current_row_number(png_const_structp png_ptr)
 }
-declare 303 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_process_IDAT_data(png_structp png_ptr, png_bytep buffer, png_size_t buffer_length)
+declare 218 generic {!PNG_USER_TRANSFORM_INFO_SUPPORTED} {
+    png_byte png_get_current_pass_number(png_const_structp png_ptr)
 }
-declare 304 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_process_row(png_structp png_ptr)
+declare 219 generic {!PNG_PROGRESSIVE_READ_SUPPORTED} {
+    png_size_t png_process_data_pause(png_structp png_ptr, int save)
 }
-declare 305 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_handle_unknown(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 220 generic {!PNG_PROGRESSIVE_READ_SUPPORTED} {
+    png_uint_32 png_process_data_skip(png_structp png_ptr)
 }
-declare 306 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_have_info(png_structp png_ptr, png_infop info_ptr)
+declare 221 generic {!PNG_READ_EXPAND_16_SUPPORTED} {
+    void png_set_expand_16(png_structp png_ptr)
 }
-declare 307 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_have_end(png_structp png_ptr, png_infop info_ptr)
+declare 222 generic {!PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED} {
+    void png_set_text_compression_level(png_structp png_ptr, int level)
 }
-declare 308 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_have_row(png_structp png_ptr, png_bytep row)
+declare 223 generic {!PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED} {
+    void png_set_text_compression_mem_level(png_structp png_ptr, int mem_level)
 }
-declare 309 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_push_read_end(png_structp png_ptr, png_infop info_ptr)
+declare 224 generic {!PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED} {
+    void png_set_text_compression_strategy(png_structp png_ptr, int strategy)
 }
-declare 310 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_process_some_data(png_structp png_ptr, png_infop info_ptr)
+declare 225 generic {!PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED} {
+    void png_set_text_compression_window_bits(png_structp png_ptr, int window_bits)
 }
-declare 311 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED} {
-    void png_read_push_finish_row(png_structp png_ptr)
+declare	226 generic {!PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED} {
+    void png_set_text_compression_method(png_structp pnt_ptr, int method)
 }
-declare 312 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_tEXt_SUPPORTED} {
-    void png_push_handle_tEXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 227 generic {!PNG_READ_ALPHA_MODE_SUPPORTED} {
+    void png_set_alpha_mode(png_structp png_ptr, int mode, double output_gamma)
 }
-declare 313 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_tEXt_SUPPORTED} {
-    void png_push_read_tEXt(png_structp png_ptr, png_infop info_ptr)
+declare	228 generic {!PNG_READ_ALPHA_MODE_SUPPORTED} {
+    void png_set_alpha_mode_fixed(png_structp png_ptr, int mode, png_fixed_point output_gamma)
 }
-declare 314 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_zTXt_SUPPORTED} {
-    void png_push_handle_zTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 229 generic {!PNG_READ_SCALE_16_TO_8_SUPPORTED} {
+    void png_set_scale_16(png_structp png_ptr)
 }
-declare 315 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_zTXt_SUPPORTED} {
-    void png_push_read_zTXt(png_structp png_ptr, png_infop info_ptr)
+declare 230 generic {!PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    png_uint_32 png_get_cHRM_XYZ(png_structp png_ptr, png_const_infop info_ptr, double *red_X, double *red_Y, double *red_Z, double *green_X, double *green_Y, double *green_Z, double *blue_X, double *blue_Y, double *blue_Z)
 }
-declare 316 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_iTXt_SUPPORTED} {
-    void png_push_handle_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 231 generic {!PNG_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED} {
+    png_uint_32 png_get_cHRM_XYZ_fixed(png_structp png_ptr, png_const_infop info_ptr, png_fixed_point *int_red_X, png_fixed_point *int_red_Y, png_fixed_point *int_red_Z, png_fixed_point *int_green_X, png_fixed_point *int_green_Y, png_fixed_point *int_green_Z, png_fixed_point *int_blue_X, png_fixed_point *int_blue_Y, png_fixed_point *int_blue_Z)
 }
-declare 317 generic {!PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_iTXt_SUPPORTED} {
-    void png_push_read_iTXt(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+declare 232 generic {!PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED} {
+    void png_set_cHRM_XYZ(png_structp png_ptr, png_infop info_ptr, double red_X, double red_Y, double red_Z, double green_X, double green_Y, double green_Z, double blue_X, double blue_Y, double blue_Z)
 }
-declare 318 {
-    void png_info_init_3(png_infopp info_ptr, png_size_t png_info_struct_size)
+declare 233 generic {!PNG_cHRM_SUPPORTED} {
+    void png_set_cHRM_XYZ_fixed(png_structp png_ptr, png_infop info_ptr, png_fixed_point int_red_X, png_fixed_point int_red_Y, png_fixed_point int_red_Z, png_fixed_point int_green_X, png_fixed_point int_green_Y, png_fixed_point int_green_Z, png_fixed_point int_blue_X, png_fixed_point int_blue_Y, png_fixed_point int_blue_Z)
 }
 
 #########################################################################
diff -up tkimg1.4/libpng/pngtclStubInit.c.png15 tkimg1.4/libpng/pngtclStubInit.c
--- tkimg1.4/libpng/pngtclStubInit.c.png15	2011-12-07 16:14:29.172412229 -0500
+++ tkimg1.4/libpng/pngtclStubInit.c	2011-12-07 16:26:47.035161634 -0500
@@ -15,192 +15,216 @@
 const PngtclStubs pngtclStubs = {
     TCL_STUB_MAGIC,
     0,
-    png_access_version_number, /* 0 */
-    png_set_sig_bytes, /* 1 */
-    png_sig_cmp, /* 2 */
-    0, /* 3 */
+    0, /* 0 */
+    png_access_version_number, /* 1 */
+    png_set_sig_bytes, /* 2 */
+    png_sig_cmp, /* 3 */
     png_create_read_struct, /* 4 */
     png_create_write_struct, /* 5 */
     png_get_compression_buffer_size, /* 6 */
     png_set_compression_buffer_size, /* 7 */
-    png_reset_zstream, /* 8 */
+    png_set_longjmp_fn, /* 8 */
+    png_longjmp, /* 9 */
+    png_reset_zstream, /* 10 */
 #if !defined(PNG_USER_MEM_SUPPORTED)
-    0, /* 9 */
+    0, /* 11 */
 #else  /* !PNG_USER_MEM_SUPPORTED */
-    png_create_read_struct_2, /* 9 */
+    png_create_read_struct_2, /* 11 */
 #endif /* !PNG_USER_MEM_SUPPORTED */
 #if !defined(PNG_USER_MEM_SUPPORTED)
-    0, /* 10 */
+    0, /* 12 */
 #else  /* !PNG_USER_MEM_SUPPORTED */
-    png_create_write_struct_2, /* 10 */
+    png_create_write_struct_2, /* 12 */
 #endif /* !PNG_USER_MEM_SUPPORTED */
-    png_write_chunk, /* 11 */
-    png_write_chunk_start, /* 12 */
-    png_write_chunk_data, /* 13 */
-    png_write_chunk_end, /* 14 */
-    png_create_info_struct, /* 15 */
-    0, /* 16 */
-    png_write_info_before_PLTE, /* 17 */
-    png_write_info, /* 18 */
-    png_read_info, /* 19 */
+    png_write_sig, /* 13 */
+    png_write_chunk, /* 14 */
+    png_write_chunk_start, /* 15 */
+    png_write_chunk_data, /* 16 */
+    png_write_chunk_end, /* 17 */
+    png_create_info_struct, /* 18 */
+    png_info_init_3, /* 19 */
+    png_write_info_before_PLTE, /* 20 */
+    png_write_info, /* 21 */
+    png_read_info, /* 22 */
 #if !defined(PNG_TIME_RFC1123_SUPPORTED)
-    0, /* 20 */
+    0, /* 23 */
 #else  /* !PNG_TIME_RFC1123_SUPPORTED */
-    png_convert_to_rfc1123, /* 20 */
+    png_convert_to_rfc1123, /* 23 */
 #endif /* !PNG_TIME_RFC1123_SUPPORTED */
 #if defined(_WIN32_WCE) || !defined(PNG_WRITE_tIME_SUPPORTED)
-    0, /* 21 */
+    0, /* 24 */
 #else  /* _WIN32_WCE !PNG_WRITE_tIME_SUPPORTED */
-    png_convert_from_struct_tm, /* 21 */
+    png_convert_from_struct_tm, /* 24 */
 #endif /* _WIN32_WCE !PNG_WRITE_tIME_SUPPORTED */
 #if defined(_WIN32_WCE) || !defined(PNG_WRITE_tIME_SUPPORTED)
-    0, /* 22 */
+    0, /* 25 */
 #else  /* _WIN32_WCE !PNG_WRITE_tIME_SUPPORTED */
-    png_convert_from_time_t, /* 22 */
+    png_convert_from_time_t, /* 25 */
 #endif /* _WIN32_WCE !PNG_WRITE_tIME_SUPPORTED */
 #if !defined(PNG_READ_EXPAND_SUPPORTED)
-    0, /* 23 */
+    0, /* 26 */
 #else  /* !PNG_READ_EXPAND_SUPPORTED */
-    png_set_expand, /* 23 */
+    png_set_expand, /* 26 */
 #endif /* !PNG_READ_EXPAND_SUPPORTED */
-    0, /* 24 */
 #if !defined(PNG_READ_EXPAND_SUPPORTED)
-    0, /* 25 */
+    0, /* 27 */
 #else  /* !PNG_READ_EXPAND_SUPPORTED */
-    png_set_palette_to_rgb, /* 25 */
+    png_set_expand_gray_1_2_4_to_8, /* 27 */
 #endif /* !PNG_READ_EXPAND_SUPPORTED */
 #if !defined(PNG_READ_EXPAND_SUPPORTED)
-    0, /* 26 */
+    0, /* 28 */
 #else  /* !PNG_READ_EXPAND_SUPPORTED */
-    png_set_tRNS_to_alpha, /* 26 */
+    png_set_palette_to_rgb, /* 28 */
+#endif /* !PNG_READ_EXPAND_SUPPORTED */
+#if !defined(PNG_READ_EXPAND_SUPPORTED)
+    0, /* 29 */
+#else  /* !PNG_READ_EXPAND_SUPPORTED */
+    png_set_tRNS_to_alpha, /* 29 */
 #endif /* !PNG_READ_EXPAND_SUPPORTED */
 #if !defined(PNG_READ_BGR_SUPPORTED) && !defined(PNG_WRITE_BGR_SUPPORTED)
-    0, /* 27 */
+    0, /* 30 */
 #else  /* !PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED */
-    png_set_bgr, /* 27 */
+    png_set_bgr, /* 30 */
 #endif /* !PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED */
 #if !defined(PNG_READ_GRAY_TO_RGB_SUPPORTED)
-    0, /* 28 */
+    0, /* 31 */
 #else  /* !PNG_READ_GRAY_TO_RGB_SUPPORTED */
-    png_set_gray_to_rgb, /* 28 */
+    png_set_gray_to_rgb, /* 31 */
 #endif /* !PNG_READ_GRAY_TO_RGB_SUPPORTED */
 #if !defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 29 */
+    0, /* 32 */
 #else  /* !PNG_READ_RGB_TO_GRAY_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_set_rgb_to_gray, /* 29 */
+    png_set_rgb_to_gray, /* 32 */
 #endif /* !PNG_READ_RGB_TO_GRAY_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
 #if !defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
-    0, /* 30 */
+    0, /* 33 */
 #else  /* !PNG_READ_RGB_TO_GRAY_SUPPORTED */
-    png_set_rgb_to_gray_fixed, /* 30 */
+    png_set_rgb_to_gray_fixed, /* 33 */
 #endif /* !PNG_READ_RGB_TO_GRAY_SUPPORTED */
 #if !defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
-    0, /* 31 */
+    0, /* 34 */
 #else  /* !PNG_READ_RGB_TO_GRAY_SUPPORTED */
-    png_get_rgb_to_gray_status, /* 31 */
+    png_get_rgb_to_gray_status, /* 34 */
 #endif /* !PNG_READ_RGB_TO_GRAY_SUPPORTED */
-    png_build_grayscale_palette, /* 32 */
-#if !defined(PNG_READ_STRIP_ALPHA_SUPPORTED)
-    0, /* 33 */
-#else  /* !PNG_READ_STRIP_ALPHA_SUPPORTED */
-    png_set_strip_alpha, /* 33 */
-#endif /* !PNG_READ_STRIP_ALPHA_SUPPORTED */
+#if !defined(PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED)
+    0, /* 35 */
+#else  /* !PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED */
+    png_build_grayscale_palette, /* 35 */
+#endif /* !PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED */
+#if !defined(PNG_READ_ALPHA_MODE_SUPPORTED)
+    0, /* 36 */
+#else  /* !PNG_READ_ALPHA_MODE_SUPPORTED */
+    png_set_strip_alpha, /* 36 */
+#endif /* !PNG_READ_ALPHA_MODE_SUPPORTED */
 #if !defined(PNG_READ_SWAP_ALPHA_SUPPORTED) && !defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED)
-    0, /* 34 */
+    0, /* 37 */
 #else  /* !PNG_READ_SWAP_ALPHA_SUPPORTED !PNG_WRITE_SWAP_ALPHA_SUPPORTED */
-    png_set_swap_alpha, /* 34 */
+    png_set_swap_alpha, /* 37 */
 #endif /* !PNG_READ_SWAP_ALPHA_SUPPORTED !PNG_WRITE_SWAP_ALPHA_SUPPORTED */
 #if !defined(PNG_READ_INVERT_ALPHA_SUPPORTED) && !defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
-    0, /* 35 */
+    0, /* 38 */
 #else  /* !PNG_READ_INVERT_ALPHA_SUPPORTED !PNG_WRITE_INVERT_ALPHA_SUPPORTED */
-    png_set_invert_alpha, /* 35 */
+    png_set_invert_alpha, /* 38 */
 #endif /* !PNG_READ_INVERT_ALPHA_SUPPORTED !PNG_WRITE_INVERT_ALPHA_SUPPORTED */
 #if !defined(PNG_READ_FILLER_SUPPORTED) && !defined(PNG_WRITE_FILLER_SUPPORTED)
-    0, /* 36 */
+    0, /* 39 */
+#else  /* !PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED */
+    png_set_filler, /* 39 */
+#endif /* !PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED */
+#if !defined(PNG_READ_FILLER_SUPPORTED) && !defined(PNG_WRITE_FILLER_SUPPORTED)
+    0, /* 40 */
 #else  /* !PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED */
-    png_set_filler, /* 36 */
+    png_set_add_alpha, /* 40 */
 #endif /* !PNG_READ_FILLER_SUPPORTED !PNG_WRITE_FILLER_SUPPORTED */
 #if !defined(PNG_READ_SWAP_SUPPORTED) && !defined(PNG_WRITE_SWAP_SUPPORTED)
-    0, /* 37 */
+    0, /* 41 */
 #else  /* !PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED */
-    png_set_swap, /* 37 */
+    png_set_swap, /* 41 */
 #endif /* !PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED */
 #if !defined(PNG_READ_PACK_SUPPORTED) && !defined(PNG_WRITE_PACK_SUPPORTED)
-    0, /* 38 */
+    0, /* 42 */
 #else  /* !PNG_READ_PACK_SUPPORTED !PNG_WRITE_PACK_SUPPORTED */
-    png_set_packing, /* 38 */
+    png_set_packing, /* 42 */
 #endif /* !PNG_READ_PACK_SUPPORTED !PNG_WRITE_PACK_SUPPORTED */
 #if !defined(PNG_READ_PACKSWAP_SUPPORTED) && !defined(PNG_WRITE_PACKSWAP_SUPPORTED)
-    0, /* 39 */
+    0, /* 43 */
 #else  /* !PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED */
-    png_set_packswap, /* 39 */
+    png_set_packswap, /* 43 */
 #endif /* !PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED */
 #if !defined(PNG_READ_SHIFT_SUPPORTED) && !defined(PNG_WRITE_SHIFT_SUPPORTED)
-    0, /* 40 */
+    0, /* 44 */
 #else  /* !PNG_READ_SHIFT_SUPPORTED !PNG_WRITE_SHIFT_SUPPORTED */
-    png_set_shift, /* 40 */
+    png_set_shift, /* 44 */
 #endif /* !PNG_READ_SHIFT_SUPPORTED !PNG_WRITE_SHIFT_SUPPORTED */
 #if !defined(PNG_READ_INTERLACING_SUPPORTED) && !defined(PNG_WRITE_INTERLACING_SUPPORTED)
-    0, /* 41 */
+    0, /* 45 */
 #else  /* !PNG_READ_INTERLACING_SUPPORTED !PNG_WRITE_INTERLACING_SUPPORTED */
-    png_set_interlace_handling, /* 41 */
+    png_set_interlace_handling, /* 45 */
 #endif /* !PNG_READ_INTERLACING_SUPPORTED !PNG_WRITE_INTERLACING_SUPPORTED */
 #if !defined(PNG_READ_INVERT_SUPPORTED) && !defined(PNG_WRITE_INVERT_SUPPORTED)
-    0, /* 42 */
+    0, /* 46 */
 #else  /* !PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED */
-    png_set_invert_mono, /* 42 */
+    png_set_invert_mono, /* 46 */
 #endif /* !PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED */
-#if !defined(PNG_READ_BACKGROUND_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 43 */
-#else  /* !PNG_READ_BACKGROUND_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_set_background, /* 43 */
-#endif /* !PNG_READ_BACKGROUND_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_READ_16_TO_8_SUPPORTED)
-    0, /* 44 */
-#else  /* !PNG_READ_16_TO_8_SUPPORTED */
-    png_set_strip_16, /* 44 */
-#endif /* !PNG_READ_16_TO_8_SUPPORTED */
-#if !defined(PNG_READ_DITHER_SUPPORTED)
-    0, /* 45 */
-#else  /* !PNG_READ_DITHER_SUPPORTED */
-    0, /* 45 */
-#endif /* !PNG_READ_DITHER_SUPPORTED */
+#if !defined(PNG_READ_BACKGROUND_SUPPORTED)
+    0, /* 47 */
+#else  /* !PNG_READ_BACKGROUND_SUPPORTED */
+    png_set_background, /* 47 */
+#endif /* !PNG_READ_BACKGROUND_SUPPORTED */
+#if !defined(PNG_READ_STRIP_16_TO_8_SUPPORTED)
+    0, /* 48 */
+#else  /* !PNG_READ_STRIP_16_TO_8_SUPPORTED */
+    png_set_strip_16, /* 48 */
+#endif /* !PNG_READ_STRIP_16_TO_8_SUPPORTED */
+#if !defined(PNG_READ_QUANTIZE_SUPPORTED)
+    0, /* 49 */
+#else  /* !PNG_READ_QUANTIZE_SUPPORTED */
+    png_set_quantize, /* 49 */
+#endif /* !PNG_READ_QUANTIZE_SUPPORTED */
 #if !defined(PNG_READ_GAMMA_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 46 */
+    0, /* 50 */
 #else  /* !PNG_READ_GAMMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_set_gamma, /* 46 */
+    png_set_gamma, /* 50 */
 #endif /* !PNG_READ_GAMMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_READ_EMPTY_PLTE_SUPPORTED) && !defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED)
-    0, /* 47 */
-#else  /* !PNG_READ_EMPTY_PLTE_SUPPORTED !PNG_WRITE_EMPTY_PLTE_SUPPORTED */
-    png_permit_empty_plte, /* 47 */
-#endif /* !PNG_READ_EMPTY_PLTE_SUPPORTED !PNG_WRITE_EMPTY_PLTE_SUPPORTED */
 #if !defined(PNG_WRITE_FLUSH_SUPPORTED)
-    0, /* 48 */
+    0, /* 51 */
 #else  /* !PNG_WRITE_FLUSH_SUPPORTED */
-    png_set_flush, /* 48 */
+    png_set_flush, /* 51 */
 #endif /* !PNG_WRITE_FLUSH_SUPPORTED */
 #if !defined(PNG_WRITE_FLUSH_SUPPORTED)
-    0, /* 49 */
+    0, /* 52 */
 #else  /* !PNG_WRITE_FLUSH_SUPPORTED */
-    png_write_flush, /* 49 */
+    png_write_flush, /* 52 */
 #endif /* !PNG_WRITE_FLUSH_SUPPORTED */
-    png_start_read_image, /* 50 */
-    png_read_update_info, /* 51 */
-    png_read_rows, /* 52 */
-    png_read_row, /* 53 */
-    png_read_image, /* 54 */
-    png_write_row, /* 55 */
-    png_write_rows, /* 56 */
-    png_write_image, /* 57 */
-    png_write_end, /* 58 */
-    png_read_end, /* 59 */
-    png_destroy_info_struct, /* 60 */
-    png_destroy_read_struct, /* 61 */
+    png_start_read_image, /* 53 */
+    png_read_update_info, /* 54 */
+#if !defined(PNG_SEQUENTIAL_READ_SUPPORTED)
+    0, /* 55 */
+#else  /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+    png_read_rows, /* 55 */
+#endif /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+#if !defined(PNG_SEQUENTIAL_READ_SUPPORTED)
+    0, /* 56 */
+#else  /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+    png_read_row, /* 56 */
+#endif /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+#if !defined(PNG_SEQUENTIAL_READ_SUPPORTED)
+    0, /* 57 */
+#else  /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+    png_read_image, /* 57 */
+#endif /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+    png_write_row, /* 58 */
+    png_write_rows, /* 59 */
+    png_write_image, /* 60 */
+    png_write_end, /* 61 */
+#if !defined(PNG_SEQUENTIAL_READ_SUPPORTED)
     0, /* 62 */
-    png_destroy_write_struct, /* 63 */
-    0, /* 64 */
-    0, /* 65 */
+#else  /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+    png_read_end, /* 62 */
+#endif /* !PNG_SEQUENTIAL_READ_SUPPORTED */
+    png_destroy_info_struct, /* 63 */
+    png_destroy_read_struct, /* 64 */
+    png_destroy_write_struct, /* 65 */
     png_set_crc_action, /* 66 */
     png_set_filter, /* 67 */
 #if !defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
@@ -208,16 +232,36 @@ const PngtclStubs pngtclStubs = {
 #else  /* !PNG_WRITE_WEIGHTED_FILTER_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
     png_set_filter_heuristics, /* 68 */
 #endif /* !PNG_WRITE_WEIGHTED_FILTER_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_WRITE_SUPPORTED)
+    0, /* 69 */
+#else  /* !PNG_WRITE_SUPPORTED */
     png_set_compression_level, /* 69 */
+#endif /* !PNG_WRITE_SUPPORTED */
+#if !defined(PNG_WRITE_SUPPORTED)
+    0, /* 70 */
+#else  /* !PNG_WRITE_SUPPORTED */
     png_set_compression_mem_level, /* 70 */
+#endif /* !PNG_WRITE_SUPPORTED */
+#if !defined(PNG_WRITE_SUPPORTED)
+    0, /* 71 */
+#else  /* !PNG_WRITE_SUPPORTED */
     png_set_compression_strategy, /* 71 */
+#endif /* !PNG_WRITE_SUPPORTED */
+#if !defined(PNG_WRITE_SUPPORTED)
+    0, /* 72 */
+#else  /* !PNG_WRITE_SUPPORTED */
     png_set_compression_window_bits, /* 72 */
+#endif /* !PNG_WRITE_SUPPORTED */
+#if !defined(PNG_WRITE_SUPPORTED)
+    0, /* 73 */
+#else  /* !PNG_WRITE_SUPPORTED */
     png_set_compression_method, /* 73 */
-#if defined(PNG_NO_STDIO)
+#endif /* !PNG_WRITE_SUPPORTED */
+#if !defined(PNG_STDIO_SUPPORTED)
     0, /* 74 */
-#else  /* PNG_NO_STDIO */
+#else  /* !PNG_STDIO_SUPPORTED */
     png_init_io, /* 74 */
-#endif /* PNG_NO_STDIO */
+#endif /* !PNG_STDIO_SUPPORTED */
     png_set_error_fn, /* 75 */
     png_get_error_ptr, /* 76 */
     png_set_write_fn, /* 77 */
@@ -235,36 +279,36 @@ const PngtclStubs pngtclStubs = {
 #else  /* !PNG_USER_MEM_SUPPORTED */
     png_get_mem_ptr, /* 83 */
 #endif /* !PNG_USER_MEM_SUPPORTED */
-#if !defined(PNG_READ_USER_TRANSFORM_SUPPORTED) && !defined(PNG_LEGACY_SUPPORTED)
+#if !defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
     0, /* 84 */
-#else  /* !PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
+#else  /* !PNG_READ_USER_TRANSFORM_SUPPORTED */
     png_set_read_user_transform_fn, /* 84 */
-#endif /* !PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
-#if !defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) && !defined(PNG_LEGACY_SUPPORTED)
+#endif /* !PNG_READ_USER_TRANSFORM_SUPPORTED */
+#if !defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
     0, /* 85 */
-#else  /* !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
+#else  /* !PNG_WRITE_USER_TRANSFORM_SUPPORTED */
     png_set_write_user_transform_fn, /* 85 */
-#endif /* !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
-#if !defined(PNG_READ_USER_TRANSFORM_SUPPORTED) && !defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) && !defined(PNG_LEGACY_SUPPORTED)
+#endif /* !PNG_WRITE_USER_TRANSFORM_SUPPORTED */
+#if !defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
     0, /* 86 */
-#else  /* !PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
+#else  /* !PNG_USER_TRANSFORM_PTR_SUPPORTED */
     png_set_user_transform_info, /* 86 */
-#endif /* !PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
-#if !defined(PNG_READ_USER_TRANSFORM_SUPPORTED) && !defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) && !defined(PNG_LEGACY_SUPPORTED)
+#endif /* !PNG_USER_TRANSFORM_PTR_SUPPORTED */
+#if !defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
     0, /* 87 */
-#else  /* !PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
+#else  /* !PNG_USER_TRANSFORM_PTR_SUPPORTED */
     png_get_user_transform_ptr, /* 87 */
-#endif /* !PNG_READ_USER_TRANSFORM_SUPPORTED !PNG_WRITE_USER_TRANSFORM_SUPPORTED !PNG_LEGACY_SUPPORTED */
-#if !defined(PNG_READ_USER_CHUNKS_SUPPORTED)
+#endif /* !PNG_USER_TRANSFORM_PTR_SUPPORTED */
+#if !defined(PNG_USER_CHUNKS_SUPPORTED)
     0, /* 88 */
-#else  /* !PNG_READ_USER_CHUNKS_SUPPORTED */
+#else  /* !PNG_USER_CHUNKS_SUPPORTED */
     png_set_read_user_chunk_fn, /* 88 */
-#endif /* !PNG_READ_USER_CHUNKS_SUPPORTED */
-#if !defined(PNG_READ_USER_CHUNKS_SUPPORTED)
+#endif /* !PNG_USER_CHUNKS_SUPPORTED */
+#if !defined(PNG_USER_CHUNKS_SUPPORTED)
     0, /* 89 */
-#else  /* !PNG_READ_USER_CHUNKS_SUPPORTED */
+#else  /* !PNG_USER_CHUNKS_SUPPORTED */
     png_get_user_chunk_ptr, /* 89 */
-#endif /* !PNG_READ_USER_CHUNKS_SUPPORTED */
+#endif /* !PNG_USER_CHUNKS_SUPPORTED */
 #if !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
     0, /* 90 */
 #else  /* !PNG_PROGRESSIVE_READ_SUPPORTED */
@@ -280,1024 +324,631 @@ const PngtclStubs pngtclStubs = {
 #else  /* !PNG_PROGRESSIVE_READ_SUPPORTED */
     png_process_data, /* 92 */
 #endif /* !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
+#if !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_READ_INTERLACING_SUPPORTED)
     0, /* 93 */
-#else  /* !PNG_PROGRESSIVE_READ_SUPPORTED */
+#else  /* !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_READ_INTERLACING_SUPPORTED */
     png_progressive_combine_row, /* 93 */
-#endif /* !PNG_PROGRESSIVE_READ_SUPPORTED */
+#endif /* !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_READ_INTERLACING_SUPPORTED */
     png_malloc, /* 94 */
-    png_free, /* 95 */
-    png_free_data, /* 96 */
-#if !defined(PNG_FREE_ME_SUPPORTED)
-    0, /* 97 */
-#else  /* !PNG_FREE_ME_SUPPORTED */
-    png_data_freer, /* 97 */
-#endif /* !PNG_FREE_ME_SUPPORTED */
+    png_calloc, /* 95 */
+    png_malloc_warn, /* 96 */
+    png_free, /* 97 */
+    png_free_data, /* 98 */
+    png_data_freer, /* 99 */
 #if !defined(PNG_USER_MEM_SUPPORTED)
-    0, /* 98 */
+    0, /* 100 */
 #else  /* !PNG_USER_MEM_SUPPORTED */
-    png_malloc_default, /* 98 */
+    png_malloc_default, /* 100 */
 #endif /* !PNG_USER_MEM_SUPPORTED */
 #if !defined(PNG_USER_MEM_SUPPORTED)
-    0, /* 99 */
+    0, /* 101 */
 #else  /* !PNG_USER_MEM_SUPPORTED */
-    png_free_default, /* 99 */
+    png_free_default, /* 101 */
 #endif /* !PNG_USER_MEM_SUPPORTED */
-    0, /* 100 */
-    0, /* 101 */
-#if !defined(USE_FAR_KEYWORD)
+#if !defined(PNG_ERROR_TEXT_SUPPORTED)
     0, /* 102 */
-#else  /* !USE_FAR_KEYWORD */
-    png_far_to_near, /* 102 */
-#endif /* !USE_FAR_KEYWORD */
-    png_error, /* 103 */
-    png_chunk_error, /* 104 */
+#else  /* !PNG_ERROR_TEXT_SUPPORTED */
+    png_error, /* 102 */
+#endif /* !PNG_ERROR_TEXT_SUPPORTED */
+#if !defined(PNG_ERROR_TEXT_SUPPORTED)
+    0, /* 103 */
+#else  /* !PNG_ERROR_TEXT_SUPPORTED */
+    png_chunk_error, /* 103 */
+#endif /* !PNG_ERROR_TEXT_SUPPORTED */
+#if defined(PNG_ERROR_TEXT_SUPPORTED)
+    0, /* 104 */
+#else  /* PNG_ERROR_TEXT_SUPPORTED */
+    png_err, /* 104 */
+#endif /* PNG_ERROR_TEXT_SUPPORTED */
+#if !defined(PNG_WARNINGS_SUPPORTED)
+    0, /* 105 */
+#else  /* !PNG_WARNINGS_SUPPORTED */
     png_warning, /* 105 */
+#endif /* !PNG_WARNINGS_SUPPORTED */
+#if !defined(PNG_WARNINGS_SUPPORTED)
+    0, /* 106 */
+#else  /* !PNG_WARNINGS_SUPPORTED */
     png_chunk_warning, /* 106 */
-    png_get_valid, /* 107 */
-    png_get_rowbytes, /* 108 */
-#if !defined(PNG_INFO_IMAGE_SUPPORTED)
+#endif /* !PNG_WARNINGS_SUPPORTED */
+#if !defined(PNG_BENIGN_ERRORS_SUPPORTED)
+    0, /* 107 */
+#else  /* !PNG_BENIGN_ERRORS_SUPPORTED */
+    png_benign_error, /* 107 */
+#endif /* !PNG_BENIGN_ERRORS_SUPPORTED */
+#if !defined(PNG_BENIGN_ERRORS_SUPPORTED)
+    0, /* 108 */
+#else  /* !PNG_BENIGN_ERRORS_SUPPORTED */
+    png_chunk_benign_error, /* 108 */
+#endif /* !PNG_BENIGN_ERRORS_SUPPORTED */
+#if !defined(PNG_BENIGN_ERRORS_SUPPORTED)
     0, /* 109 */
+#else  /* !PNG_BENIGN_ERRORS_SUPPORTED */
+    png_set_benign_errors, /* 109 */
+#endif /* !PNG_BENIGN_ERRORS_SUPPORTED */
+    png_get_valid, /* 110 */
+    png_get_rowbytes, /* 111 */
+#if !defined(PNG_INFO_IMAGE_SUPPORTED)
+    0, /* 112 */
 #else  /* !PNG_INFO_IMAGE_SUPPORTED */
-    png_get_rows, /* 109 */
+    png_get_rows, /* 112 */
 #endif /* !PNG_INFO_IMAGE_SUPPORTED */
 #if !defined(PNG_INFO_IMAGE_SUPPORTED)
-    0, /* 110 */
+    0, /* 113 */
 #else  /* !PNG_INFO_IMAGE_SUPPORTED */
-    png_set_rows, /* 110 */
+    png_set_rows, /* 113 */
 #endif /* !PNG_INFO_IMAGE_SUPPORTED */
-    png_get_channels, /* 111 */
+    png_get_channels, /* 114 */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 112 */
+    0, /* 115 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_image_width, /* 112 */
+    png_get_image_width, /* 115 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 113 */
+    0, /* 116 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_image_height, /* 113 */
+    png_get_image_height, /* 116 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 114 */
+    0, /* 117 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_bit_depth, /* 114 */
+    png_get_bit_depth, /* 117 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 115 */
+    0, /* 118 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_color_type, /* 115 */
+    png_get_color_type, /* 118 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 116 */
+    0, /* 119 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_filter_type, /* 116 */
+    png_get_filter_type, /* 119 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 117 */
+    0, /* 120 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_interlace_type, /* 117 */
+    png_get_interlace_type, /* 120 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 118 */
+    0, /* 121 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_compression_type, /* 118 */
+    png_get_compression_type, /* 121 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 119 */
+    0, /* 122 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_pixels_per_meter, /* 119 */
+    png_get_pixels_per_meter, /* 122 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 120 */
+    0, /* 123 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_x_pixels_per_meter, /* 120 */
+    png_get_x_pixels_per_meter, /* 123 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 121 */
+    0, /* 124 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_y_pixels_per_meter, /* 121 */
+    png_get_y_pixels_per_meter, /* 124 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 122 */
+    0, /* 125 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_get_pixel_aspect_ratio, /* 122 */
+    png_get_pixel_aspect_ratio, /* 125 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 123 */
+    0, /* 126 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_x_offset_pixels, /* 123 */
+    png_get_x_offset_pixels, /* 126 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 124 */
+    0, /* 127 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_y_offset_pixels, /* 124 */
+    png_get_y_offset_pixels, /* 127 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 125 */
+    0, /* 128 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_x_offset_microns, /* 125 */
+    png_get_x_offset_microns, /* 128 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
 #if !defined(PNG_EASY_ACCESS_SUPPORTED)
-    0, /* 126 */
+    0, /* 129 */
 #else  /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_y_offset_microns, /* 126 */
+    png_get_y_offset_microns, /* 129 */
 #endif /* !PNG_EASY_ACCESS_SUPPORTED */
-    png_get_signature, /* 127 */
-#if !defined(PNG_READ_bKGD_SUPPORTED)
-    0, /* 128 */
-#else  /* !PNG_READ_bKGD_SUPPORTED */
-    png_get_bKGD, /* 128 */
-#endif /* !PNG_READ_bKGD_SUPPORTED */
+    png_get_signature, /* 130 */
 #if !defined(PNG_bKGD_SUPPORTED)
-    0, /* 129 */
+    0, /* 131 */
+#else  /* !PNG_bKGD_SUPPORTED */
+    png_get_bKGD, /* 131 */
+#endif /* !PNG_bKGD_SUPPORTED */
+#if !defined(PNG_bKGD_SUPPORTED)
+    0, /* 132 */
 #else  /* !PNG_bKGD_SUPPORTED */
-    png_set_bKGD, /* 129 */
+    png_set_bKGD, /* 132 */
 #endif /* !PNG_bKGD_SUPPORTED */
-#if !defined(PNG_READ_cHRM_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 130 */
-#else  /* !PNG_READ_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_get_cHRM, /* 130 */
-#endif /* !PNG_READ_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_cHRM_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+    0, /* 133 */
+#else  /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_get_cHRM, /* 133 */
+#endif /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
 #if !defined(PNG_READ_cHRM_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
-    0, /* 131 */
+    0, /* 134 */
 #else  /* !PNG_READ_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-    png_get_cHRM_fixed, /* 131 */
+    png_get_cHRM_fixed, /* 134 */
 #endif /* !PNG_READ_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
 #if !defined(PNG_cHRM_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 132 */
+    0, /* 135 */
 #else  /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_set_cHRM, /* 132 */
+    png_set_cHRM, /* 135 */
 #endif /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_cHRM_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
-    0, /* 133 */
-#else  /* !PNG_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-    png_set_cHRM_fixed, /* 133 */
-#endif /* !PNG_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-#if !defined(PNG_READ_gAMA_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 134 */
-#else  /* !PNG_READ_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_get_gAMA, /* 134 */
-#endif /* !PNG_READ_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_READ_gAMA_SUPPORTED)
-    0, /* 135 */
-#else  /* !PNG_READ_gAMA_SUPPORTED */
-    png_get_gAMA_fixed, /* 135 */
-#endif /* !PNG_READ_gAMA_SUPPORTED */
-#if !defined(PNG_gAMA_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+#if !defined(PNG_cHRM_SUPPORTED)
     0, /* 136 */
+#else  /* !PNG_cHRM_SUPPORTED */
+    png_set_cHRM_fixed, /* 136 */
+#endif /* !PNG_cHRM_SUPPORTED */
+#if !defined(PNG_gAMA_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+    0, /* 137 */
 #else  /* !PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_set_gAMA, /* 136 */
+    png_get_gAMA, /* 137 */
 #endif /* !PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
 #if !defined(PNG_gAMA_SUPPORTED)
-    0, /* 137 */
+    0, /* 138 */
 #else  /* !PNG_gAMA_SUPPORTED */
-    png_set_gAMA_fixed, /* 137 */
+    png_get_gAMA_fixed, /* 138 */
 #endif /* !PNG_gAMA_SUPPORTED */
-#if !defined(PNG_READ_hIST_SUPPORTED)
-    0, /* 138 */
-#else  /* !PNG_READ_hIST_SUPPORTED */
-    png_get_hIST, /* 138 */
-#endif /* !PNG_READ_hIST_SUPPORTED */
-#if !defined(PNG_hIST_SUPPORTED)
+#if !defined(PNG_gAMA_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
     0, /* 139 */
+#else  /* !PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_set_gAMA, /* 139 */
+#endif /* !PNG_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_gAMA_SUPPORTED)
+    0, /* 140 */
+#else  /* !PNG_gAMA_SUPPORTED */
+    png_set_gAMA_fixed, /* 140 */
+#endif /* !PNG_gAMA_SUPPORTED */
+#if !defined(PNG_hIST_SUPPORTED)
+    0, /* 141 */
 #else  /* !PNG_hIST_SUPPORTED */
-    png_set_hIST, /* 139 */
+    png_get_hIST, /* 141 */
 #endif /* !PNG_hIST_SUPPORTED */
-    png_get_IHDR, /* 140 */
-    png_set_IHDR, /* 141 */
-#if !defined(PNG_READ_oFFs_SUPPORTED)
+#if !defined(PNG_hIST_SUPPORTED)
     0, /* 142 */
-#else  /* !PNG_READ_oFFs_SUPPORTED */
-    png_get_oFFs, /* 142 */
-#endif /* !PNG_READ_oFFs_SUPPORTED */
+#else  /* !PNG_hIST_SUPPORTED */
+    png_set_hIST, /* 142 */
+#endif /* !PNG_hIST_SUPPORTED */
+    png_get_IHDR, /* 143 */
+    png_set_IHDR, /* 144 */
+#if !defined(PNG_oFFs_SUPPORTED)
+    0, /* 145 */
+#else  /* !PNG_oFFs_SUPPORTED */
+    png_get_oFFs, /* 145 */
+#endif /* !PNG_oFFs_SUPPORTED */
 #if !defined(PNG_oFFs_SUPPORTED)
-    0, /* 143 */
+    0, /* 146 */
 #else  /* !PNG_oFFs_SUPPORTED */
-    png_set_oFFs, /* 143 */
+    png_set_oFFs, /* 146 */
 #endif /* !PNG_oFFs_SUPPORTED */
-#if !defined(PNG_READ_pCAL_SUPPORTED)
-    0, /* 144 */
-#else  /* !PNG_READ_pCAL_SUPPORTED */
-    png_get_pCAL, /* 144 */
-#endif /* !PNG_READ_pCAL_SUPPORTED */
 #if !defined(PNG_pCAL_SUPPORTED)
-    0, /* 145 */
+    0, /* 147 */
 #else  /* !PNG_pCAL_SUPPORTED */
-    png_set_pCAL, /* 145 */
+    png_get_pCAL, /* 147 */
+#endif /* !PNG_pCAL_SUPPORTED */
+#if !defined(PNG_pCAL_SUPPORTED)
+    0, /* 148 */
+#else  /* !PNG_pCAL_SUPPORTED */
+    png_set_pCAL, /* 148 */
 #endif /* !PNG_pCAL_SUPPORTED */
-#if !defined(PNG_READ_pHYs_SUPPORTED)
-    0, /* 146 */
-#else  /* !PNG_READ_pHYs_SUPPORTED */
-    png_get_pHYs, /* 146 */
-#endif /* !PNG_READ_pHYs_SUPPORTED */
 #if !defined(PNG_pHYs_SUPPORTED)
-    0, /* 147 */
+    0, /* 149 */
 #else  /* !PNG_pHYs_SUPPORTED */
-    png_set_pHYs, /* 147 */
+    png_get_pHYs, /* 149 */
 #endif /* !PNG_pHYs_SUPPORTED */
-    png_get_PLTE, /* 148 */
-    png_set_PLTE, /* 149 */
-#if !defined(PNG_READ_sBIT_SUPPORTED)
+#if !defined(PNG_pHYs_SUPPORTED)
     0, /* 150 */
-#else  /* !PNG_READ_sBIT_SUPPORTED */
-    png_get_sBIT, /* 150 */
-#endif /* !PNG_READ_sBIT_SUPPORTED */
+#else  /* !PNG_pHYs_SUPPORTED */
+    png_set_pHYs, /* 150 */
+#endif /* !PNG_pHYs_SUPPORTED */
+    png_get_PLTE, /* 151 */
+    png_set_PLTE, /* 152 */
+#if !defined(PNG_sBIT_SUPPORTED)
+    0, /* 153 */
+#else  /* !PNG_sBIT_SUPPORTED */
+    png_get_sBIT, /* 153 */
+#endif /* !PNG_sBIT_SUPPORTED */
 #if !defined(PNG_sBIT_SUPPORTED)
-    0, /* 151 */
+    0, /* 154 */
 #else  /* !PNG_sBIT_SUPPORTED */
-    png_set_sBIT, /* 151 */
+    png_set_sBIT, /* 154 */
 #endif /* !PNG_sBIT_SUPPORTED */
-#if !defined(PNG_READ_sRGB_SUPPORTED)
-    0, /* 152 */
-#else  /* !PNG_READ_sRGB_SUPPORTED */
-    png_get_sRGB, /* 152 */
-#endif /* !PNG_READ_sRGB_SUPPORTED */
 #if !defined(PNG_sRGB_SUPPORTED)
-    0, /* 153 */
+    0, /* 155 */
 #else  /* !PNG_sRGB_SUPPORTED */
-    png_set_sRGB, /* 153 */
+    png_get_sRGB, /* 155 */
 #endif /* !PNG_sRGB_SUPPORTED */
 #if !defined(PNG_sRGB_SUPPORTED)
-    0, /* 154 */
+    0, /* 156 */
 #else  /* !PNG_sRGB_SUPPORTED */
-    png_set_sRGB_gAMA_and_cHRM, /* 154 */
+    png_set_sRGB, /* 156 */
+#endif /* !PNG_sRGB_SUPPORTED */
+#if !defined(PNG_sRGB_SUPPORTED)
+    0, /* 157 */
+#else  /* !PNG_sRGB_SUPPORTED */
+    png_set_sRGB_gAMA_and_cHRM, /* 157 */
 #endif /* !PNG_sRGB_SUPPORTED */
-#if !defined(PNG_READ_iCCP_SUPPORTED)
-    0, /* 155 */
-#else  /* !PNG_READ_iCCP_SUPPORTED */
-    png_get_iCCP, /* 155 */
-#endif /* !PNG_READ_iCCP_SUPPORTED */
 #if !defined(PNG_iCCP_SUPPORTED)
-    0, /* 156 */
+    0, /* 158 */
 #else  /* !PNG_iCCP_SUPPORTED */
-    png_set_iCCP, /* 156 */
+    png_get_iCCP, /* 158 */
+#endif /* !PNG_iCCP_SUPPORTED */
+#if !defined(PNG_iCCP_SUPPORTED)
+    0, /* 159 */
+#else  /* !PNG_iCCP_SUPPORTED */
+    png_set_iCCP, /* 159 */
 #endif /* !PNG_iCCP_SUPPORTED */
-#if !defined(PNG_READ_sPLT_SUPPORTED)
-    0, /* 157 */
-#else  /* !PNG_READ_sPLT_SUPPORTED */
-    png_get_sPLT, /* 157 */
-#endif /* !PNG_READ_sPLT_SUPPORTED */
 #if !defined(PNG_sPLT_SUPPORTED)
-    0, /* 158 */
+    0, /* 160 */
 #else  /* !PNG_sPLT_SUPPORTED */
-    png_set_sPLT, /* 158 */
+    png_get_sPLT, /* 160 */
+#endif /* !PNG_sPLT_SUPPORTED */
+#if !defined(PNG_sPLT_SUPPORTED)
+    0, /* 161 */
+#else  /* !PNG_sPLT_SUPPORTED */
+    png_set_sPLT, /* 161 */
 #endif /* !PNG_sPLT_SUPPORTED */
 #if !defined(PNG_READ_TEXT_SUPPORTED)
-    0, /* 159 */
+    0, /* 162 */
 #else  /* !PNG_READ_TEXT_SUPPORTED */
-    png_get_text, /* 159 */
+    png_get_text, /* 162 */
 #endif /* !PNG_READ_TEXT_SUPPORTED */
 #if !defined(PNG_TEXT_SUPPORTED)
-    0, /* 160 */
+    0, /* 163 */
 #else  /* !PNG_TEXT_SUPPORTED */
-    png_set_text, /* 160 */
+    png_set_text, /* 163 */
 #endif /* !PNG_TEXT_SUPPORTED */
-#if !defined(PNG_READ_tIME_SUPPORTED)
-    0, /* 161 */
-#else  /* !PNG_READ_tIME_SUPPORTED */
-    png_get_tIME, /* 161 */
-#endif /* !PNG_READ_tIME_SUPPORTED */
 #if !defined(PNG_tIME_SUPPORTED)
-    0, /* 162 */
+    0, /* 164 */
 #else  /* !PNG_tIME_SUPPORTED */
-    png_set_tIME, /* 162 */
+    png_get_tIME, /* 164 */
+#endif /* !PNG_tIME_SUPPORTED */
+#if !defined(PNG_tIME_SUPPORTED)
+    0, /* 165 */
+#else  /* !PNG_tIME_SUPPORTED */
+    png_set_tIME, /* 165 */
 #endif /* !PNG_tIME_SUPPORTED */
-#if !defined(PNG_READ_tRNS_SUPPORTED)
-    0, /* 163 */
-#else  /* !PNG_READ_tRNS_SUPPORTED */
-    png_get_tRNS, /* 163 */
-#endif /* !PNG_READ_tRNS_SUPPORTED */
 #if !defined(PNG_tRNS_SUPPORTED)
-    0, /* 164 */
+    0, /* 166 */
 #else  /* !PNG_tRNS_SUPPORTED */
-    png_set_tRNS, /* 164 */
+    png_get_tRNS, /* 166 */
 #endif /* !PNG_tRNS_SUPPORTED */
-#if !defined(PNG_READ_sCAL_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
-    0, /* 165 */
-#else  /* !PNG_READ_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_get_sCAL, /* 165 */
-#endif /* !PNG_READ_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_READ_sCAL_SUPPORTED) || defined(PNG_FLOATING_POINT_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
-    0, /* 166 */
-#else  /* !PNG_READ_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-    png_get_sCAL_s, /* 166 */
-#endif /* !PNG_READ_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-#if !defined(PNG_sCAL_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+#if !defined(PNG_tRNS_SUPPORTED)
     0, /* 167 */
+#else  /* !PNG_tRNS_SUPPORTED */
+    png_set_tRNS, /* 167 */
+#endif /* !PNG_tRNS_SUPPORTED */
+#if !defined(PNG_sCAL_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+    0, /* 168 */
 #else  /* !PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_set_sCAL, /* 167 */
+    png_get_sCAL, /* 168 */
 #endif /* !PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_sCAL_SUPPORTED) || defined(PNG_FLOATING_POINT_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
-    0, /* 168 */
-#else  /* !PNG_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-    png_set_sCAL_s, /* 168 */
-#endif /* !PNG_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-#if !defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
+#if !defined(PNG_sCAL_SUPPORTED)
     0, /* 169 */
-#else  /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
-    png_set_keep_unknown_chunks, /* 169 */
-#endif /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
-#if !defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
+#else  /* !PNG_sCAL_SUPPORTED */
+    png_get_sCAL_s, /* 169 */
+#endif /* !PNG_sCAL_SUPPORTED */
+#if !defined(PNG_sCAL_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
     0, /* 170 */
+#else  /* !PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_set_sCAL, /* 170 */
+#endif /* !PNG_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_sCAL_SUPPORTED)
+    0, /* 171 */
+#else  /* !PNG_sCAL_SUPPORTED */
+    png_set_sCAL_s, /* 171 */
+#endif /* !PNG_sCAL_SUPPORTED */
+#if !defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
+    0, /* 172 */
+#else  /* !PNG_HANDLE_AS_UNKNOWN_SUPPORTED */
+    png_set_keep_unknown_chunks, /* 172 */
+#endif /* !PNG_HANDLE_AS_UNKNOWN_SUPPORTED */
+#if !defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
+    0, /* 173 */
+#else  /* !PNG_HANDLE_AS_UNKNOWN_SUPPORTED */
+    png_handle_as_unknown, /* 173 */
+#endif /* !PNG_HANDLE_AS_UNKNOWN_SUPPORTED */
+#if !defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
+    0, /* 174 */
 #else  /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
-    png_set_unknown_chunks, /* 170 */
+    png_set_unknown_chunks, /* 174 */
 #endif /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
 #if !defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
-    0, /* 171 */
+    0, /* 175 */
 #else  /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
-    png_set_unknown_chunk_location, /* 171 */
+    png_set_unknown_chunk_location, /* 175 */
 #endif /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
 #if !defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
-    0, /* 172 */
+    0, /* 176 */
 #else  /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
-    png_get_unknown_chunks, /* 172 */
+    png_get_unknown_chunks, /* 176 */
 #endif /* !PNG_UNKNOWN_CHUNKS_SUPPORTED */
-    png_set_invalid, /* 173 */
+    png_set_invalid, /* 177 */
 #if !defined(PNG_INFO_IMAGE_SUPPORTED)
-    0, /* 174 */
+    0, /* 178 */
 #else  /* !PNG_INFO_IMAGE_SUPPORTED */
-    png_read_png, /* 174 */
+    png_read_png, /* 178 */
 #endif /* !PNG_INFO_IMAGE_SUPPORTED */
 #if !defined(PNG_INFO_IMAGE_SUPPORTED)
-    0, /* 175 */
+    0, /* 179 */
 #else  /* !PNG_INFO_IMAGE_SUPPORTED */
-    png_write_png, /* 175 */
+    png_write_png, /* 179 */
 #endif /* !PNG_INFO_IMAGE_SUPPORTED */
-#if !defined(PNG_INTERNAL) || defined(PNG_USE_GLOBAL_ARRAYS) || defined(PNG_NO_EXTERN) && !defined(PNG_ALWAYS_EXTERN)
-    0, /* 176 */
-#else  /* !PNG_INTERNAL PNG_USE_GLOBAL_ARRAYS PNG_NO_EXTERN !PNG_ALWAYS_EXTERN */
-    png_sig_bytes, /* 176 */
-#endif /* !PNG_INTERNAL PNG_USE_GLOBAL_ARRAYS PNG_NO_EXTERN !PNG_ALWAYS_EXTERN */
-    png_get_copyright, /* 177 */
-    png_get_header_ver, /* 178 */
-    png_get_header_version, /* 179 */
-    png_get_libpng_ver, /* 180 */
-    0, /* 181 */
-    0, /* 182 */
-    0, /* 183 */
-#if !defined(PNG_INTERNAL)
+    png_get_copyright, /* 180 */
+    png_get_header_ver, /* 181 */
+    png_get_header_version, /* 182 */
+    png_get_libpng_ver, /* 183 */
+#if !defined(PNG_MNG_FEATURES_SUPPORTED)
     0, /* 184 */
-#else  /* !PNG_INTERNAL */
-    png_read_init, /* 184 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_MNG_FEATURES_SUPPORTED */
+    png_permit_mng_features, /* 184 */
+#endif /* !PNG_MNG_FEATURES_SUPPORTED */
+#if !defined(PNG_ERROR_NUMBERS_SUPPORTED)
     0, /* 185 */
-#else  /* !PNG_INTERNAL */
-    png_read_init_2, /* 185 */
-#endif /* !PNG_INTERNAL */
+#else  /* !PNG_ERROR_NUMBERS_SUPPORTED */
+    png_set_strip_error_numbers, /* 185 */
+#endif /* !PNG_ERROR_NUMBERS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 186 */
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_set_user_limits, /* 186 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 187 */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_get_user_width_max, /* 187 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 188 */
-#else  /* !PNG_INTERNAL */
-    png_create_struct, /* 188 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_get_user_height_max, /* 188 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 189 */
-#else  /* !PNG_INTERNAL */
-    png_destroy_struct, /* 189 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_set_chunk_cache_max, /* 189 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 190 */
-#else  /* !PNG_INTERNAL */
-    png_create_struct_2, /* 190 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_get_chunk_cache_max, /* 190 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 191 */
-#else  /* !PNG_INTERNAL */
-    png_destroy_struct_2, /* 191 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_set_chunk_malloc_max, /* 191 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_SET_USER_LIMITS_SUPPORTED)
     0, /* 192 */
-#else  /* !PNG_INTERNAL */
-    png_info_destroy, /* 192 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SET_USER_LIMITS_SUPPORTED */
+    png_get_chunk_malloc_max, /* 192 */
+#endif /* !PNG_SET_USER_LIMITS_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED)
     0, /* 193 */
-#else  /* !PNG_INTERNAL */
-    png_zalloc, /* 193 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED */
+    png_get_pixels_per_inch, /* 193 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED)
     0, /* 194 */
-#else  /* !PNG_INTERNAL */
-    png_zfree, /* 194 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED */
+    png_get_x_pixels_per_inch, /* 194 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED)
     0, /* 195 */
-#else  /* !PNG_INTERNAL */
-    png_reset_crc, /* 195 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED */
+    png_get_y_pixels_per_inch, /* 195 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
     0, /* 196 */
-#else  /* !PNG_INTERNAL */
-    png_write_data, /* 196 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_get_x_offset_inches, /* 196 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
     0, /* 197 */
-#else  /* !PNG_INTERNAL */
-    png_read_data, /* 197 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_get_y_offset_inches, /* 197 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_pHYs_SUPPORTED)
     0, /* 198 */
-#else  /* !PNG_INTERNAL */
-    png_crc_read, /* 198 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_zTXt_SUPPORTED) && !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_READ_iCCP_SUPPORTED) && !defined(PNG_READ_sPLT_SUPPORTED)
+#else  /* !PNG_pHYs_SUPPORTED */
+    png_get_pHYs_dpi, /* 198 */
+#endif /* !PNG_pHYs_SUPPORTED */
+#if !defined(PNG_IO_STATE_SUPPORTED)
     0, /* 199 */
-#else  /* !PNG_INTERNAL !PNG_READ_zTXt_SUPPORTED !PNG_READ_iTXt_SUPPORTED !PNG_READ_iCCP_SUPPORTED !PNG_READ_sPLT_SUPPORTED */
-    png_decompress_chunk, /* 199 */
-#endif /* !PNG_INTERNAL !PNG_READ_zTXt_SUPPORTED !PNG_READ_iTXt_SUPPORTED !PNG_READ_iCCP_SUPPORTED !PNG_READ_sPLT_SUPPORTED */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_IO_STATE_SUPPORTED */
+    png_get_io_state, /* 199 */
+#endif /* !PNG_IO_STATE_SUPPORTED */
+#if !defined(PNG_IO_STATE_SUPPORTED)
     0, /* 200 */
-#else  /* !PNG_INTERNAL */
-    png_crc_finish, /* 200 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_IO_STATE_SUPPORTED */
+    png_get_io_chunk_name, /* 200 */
+#endif /* !PNG_IO_STATE_SUPPORTED */
+#if !defined(PNG_READ_INT_FUNCTIONS_SUPPORTED) || defined(PNG_USE_READ_MACROS)
     0, /* 201 */
-#else  /* !PNG_INTERNAL */
-    png_crc_error, /* 201 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS */
+    png_get_uint_32, /* 201 */
+#endif /* !PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS */
+#if !defined(PNG_READ_INT_FUNCTIONS_SUPPORTED) || defined(PNG_USE_READ_MACROS)
     0, /* 202 */
-#else  /* !PNG_INTERNAL */
-    png_calculate_crc, /* 202 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_FLUSH_SUPPORTED)
+#else  /* !PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS */
+    png_get_uint_16, /* 202 */
+#endif /* !PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS */
+#if !defined(PNG_READ_INT_FUNCTIONS_SUPPORTED) || defined(PNG_USE_READ_MACROS)
     0, /* 203 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_FLUSH_SUPPORTED */
-    png_flush, /* 203 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_FLUSH_SUPPORTED */
-#if !defined(PNG_INTERNAL)
-    0, /* 204 */
-#else  /* !PNG_INTERNAL */
-    png_save_uint_32, /* 204 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_pCAL_SUPPORTED)
+#else  /* !PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS */
+    png_get_int_32, /* 203 */
+#endif /* !PNG_READ_INT_FUNCTIONS_SUPPORTED PNG_USE_READ_MACROS */
+    png_get_uint_31, /* 204 */
+#if !defined(PNG_WRITE_INT_FUNCTIONS_SUPPORTED)
     0, /* 205 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_pCAL_SUPPORTED */
-    png_save_int_32, /* 205 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_pCAL_SUPPORTED */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_WRITE_INT_FUNCTIONS_SUPPORTED */
+    png_save_uint_32, /* 205 */
+#endif /* !PNG_WRITE_INT_FUNCTIONS_SUPPORTED */
+#if !defined(PNG_SAVE_INT_32_SUPPORTED)
     0, /* 206 */
-#else  /* !PNG_INTERNAL */
-    png_save_uint_16, /* 206 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_SAVE_INT_32_SUPPORTED */
+    png_save_int_32, /* 206 */
+#endif /* !PNG_SAVE_INT_32_SUPPORTED */
+#if !defined(PNG_WRITE_INT_FUNCTIONS_SUPPORTED)
     0, /* 207 */
-#else  /* !PNG_INTERNAL */
-    png_write_sig, /* 207 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_WRITE_INT_FUNCTIONS_SUPPORTED */
+    png_save_uint_16, /* 207 */
+#endif /* !PNG_WRITE_INT_FUNCTIONS_SUPPORTED */
+#if !defined(PNG_READ_GAMMA_SUPPORTED)
     0, /* 208 */
-#else  /* !PNG_INTERNAL */
-    png_write_IHDR, /* 208 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_READ_GAMMA_SUPPORTED */
+    png_set_gamma_fixed, /* 208 */
+#endif /* !PNG_READ_GAMMA_SUPPORTED */
+#if !defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
     0, /* 209 */
-#else  /* !PNG_INTERNAL */
-    png_write_PLTE, /* 209 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_WRITE_WEIGHTED_FILTER_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+    png_set_filter_heuristics_fixed, /* 209 */
+#endif /* !PNG_WRITE_WEIGHTED_FILTER_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+#if !defined(PNG_EASY_ACCESS_SUPPORTED)
     0, /* 210 */
-#else  /* !PNG_INTERNAL */
-    png_write_IDAT, /* 210 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_EASY_ACCESS_SUPPORTED */
+    png_get_pixel_aspect_ratio_fixed, /* 210 */
+#endif /* !PNG_EASY_ACCESS_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
     0, /* 211 */
-#else  /* !PNG_INTERNAL */
-    png_write_IEND, /* 211 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_gAMA_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+    png_get_x_offset_inches_fixed, /* 211 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+#if !defined(PNG_INCH_CONVERSIONS_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
     0, /* 212 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_write_gAMA, /* 212 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_gAMA_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_gAMA_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
+#else  /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+    png_get_y_offset_inches_fixed, /* 212 */
+#endif /* !PNG_INCH_CONVERSIONS_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+#if !defined(PNG_sCAL_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
     0, /* 213 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_gAMA_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-    png_write_gAMA_fixed, /* 213 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_gAMA_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_sBIT_SUPPORTED)
+#else  /* !PNG_sCAL_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+    png_set_sCAL_fixed, /* 213 */
+#endif /* !PNG_sCAL_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+#if !defined(PNG_sCAL_SUPPORTED) || !defined(PNG_FLOATING_ARITHMETIC_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
     0, /* 214 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_sBIT_SUPPORTED */
-    png_write_sBIT, /* 214 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_sBIT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_cHRM_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
+#else  /* !PNG_sCAL_SUPPORTED !PNG_FLOATING_ARITHMETIC_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+    png_get_sCAL_fixed, /* 214 */
+#endif /* !PNG_sCAL_SUPPORTED !PNG_FLOATING_ARITHMETIC_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+#if !defined(PNG_READ_BACKGROUND_SUPPORTED)
     0, /* 215 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-    png_write_cHRM, /* 215 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_cHRM_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
+#else  /* !PNG_READ_BACKGROUND_SUPPORTED */
+    png_set_background_fixed, /* 215 */
+#endif /* !PNG_READ_BACKGROUND_SUPPORTED */
+#if !defined(PNG_IO_STATE_SUPPORTED)
     0, /* 216 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-    png_write_cHRM_fixed, /* 216 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_sRGB_SUPPORTED)
+#else  /* !PNG_IO_STATE_SUPPORTED */
+    png_get_io_chunk_type, /* 216 */
+#endif /* !PNG_IO_STATE_SUPPORTED */
+#if !defined(PNG_USER_TRANSFORM_INFO_SUPPORTED)
     0, /* 217 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_sRGB_SUPPORTED */
-    png_write_sRGB, /* 217 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_sRGB_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_iCCP_SUPPORTED)
+#else  /* !PNG_USER_TRANSFORM_INFO_SUPPORTED */
+    png_get_current_row_number, /* 217 */
+#endif /* !PNG_USER_TRANSFORM_INFO_SUPPORTED */
+#if !defined(PNG_USER_TRANSFORM_INFO_SUPPORTED)
     0, /* 218 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_iCCP_SUPPORTED */
-    png_write_iCCP, /* 218 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_iCCP_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_sPLT_SUPPORTED)
+#else  /* !PNG_USER_TRANSFORM_INFO_SUPPORTED */
+    png_get_current_pass_number, /* 218 */
+#endif /* !PNG_USER_TRANSFORM_INFO_SUPPORTED */
+#if !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
     0, /* 219 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_sPLT_SUPPORTED */
-    png_write_sPLT, /* 219 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_sPLT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_tRNS_SUPPORTED)
+#else  /* !PNG_PROGRESSIVE_READ_SUPPORTED */
+    png_process_data_pause, /* 219 */
+#endif /* !PNG_PROGRESSIVE_READ_SUPPORTED */
+#if !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
     0, /* 220 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_tRNS_SUPPORTED */
-    png_write_tRNS, /* 220 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_tRNS_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_bKGD_SUPPORTED)
+#else  /* !PNG_PROGRESSIVE_READ_SUPPORTED */
+    png_process_data_skip, /* 220 */
+#endif /* !PNG_PROGRESSIVE_READ_SUPPORTED */
+#if !defined(PNG_READ_EXPAND_16_SUPPORTED)
     0, /* 221 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_bKGD_SUPPORTED */
-    png_write_bKGD, /* 221 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_bKGD_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_hIST_SUPPORTED)
+#else  /* !PNG_READ_EXPAND_16_SUPPORTED */
+    png_set_expand_16, /* 221 */
+#endif /* !PNG_READ_EXPAND_16_SUPPORTED */
+#if !defined(PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED)
     0, /* 222 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_hIST_SUPPORTED */
-    png_write_hIST, /* 222 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_hIST_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_TEXT_SUPPORTED) && !defined(PNG_WRITE_pCAL_SUPPORTED) && !defined(PNG_WRITE_iCCP_SUPPORTED) && !defined(PNG_WRITE_sPLT_SUPPORTED)
+#else  /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+    png_set_text_compression_level, /* 222 */
+#endif /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+#if !defined(PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED)
     0, /* 223 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_TEXT_SUPPORTED !PNG_WRITE_pCAL_SUPPORTED !PNG_WRITE_iCCP_SUPPORTED !PNG_WRITE_sPLT_SUPPORTED */
-    png_check_keyword, /* 223 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_TEXT_SUPPORTED !PNG_WRITE_pCAL_SUPPORTED !PNG_WRITE_iCCP_SUPPORTED !PNG_WRITE_sPLT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_tEXt_SUPPORTED)
+#else  /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+    png_set_text_compression_mem_level, /* 223 */
+#endif /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+#if !defined(PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED)
     0, /* 224 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_tEXt_SUPPORTED */
-    png_write_tEXt, /* 224 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_tEXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_zTXt_SUPPORTED)
+#else  /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+    png_set_text_compression_strategy, /* 224 */
+#endif /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+#if !defined(PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED)
     0, /* 225 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_zTXt_SUPPORTED */
-    png_write_zTXt, /* 225 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_zTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_iTXt_SUPPORTED)
+#else  /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+    png_set_text_compression_window_bits, /* 225 */
+#endif /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+#if !defined(PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED)
     0, /* 226 */
-#else  /* !PNG_INTERNAL !PNG_iTXt_SUPPORTED */
-    png_write_iTXt, /* 226 */
-#endif /* !PNG_INTERNAL !PNG_iTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_oFFs_SUPPORTED)
+#else  /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+    png_set_text_compression_method, /* 226 */
+#endif /* !PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED */
+#if !defined(PNG_READ_ALPHA_MODE_SUPPORTED)
     0, /* 227 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_oFFs_SUPPORTED */
-    png_write_oFFs, /* 227 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_oFFs_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_pCAL_SUPPORTED)
+#else  /* !PNG_READ_ALPHA_MODE_SUPPORTED */
+    png_set_alpha_mode, /* 227 */
+#endif /* !PNG_READ_ALPHA_MODE_SUPPORTED */
+#if !defined(PNG_READ_ALPHA_MODE_SUPPORTED)
     0, /* 228 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_pCAL_SUPPORTED */
-    png_write_pCAL, /* 228 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_pCAL_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_pHYs_SUPPORTED)
+#else  /* !PNG_READ_ALPHA_MODE_SUPPORTED */
+    png_set_alpha_mode_fixed, /* 228 */
+#endif /* !PNG_READ_ALPHA_MODE_SUPPORTED */
+#if !defined(PNG_READ_SCALE_16_TO_8_SUPPORTED)
     0, /* 229 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_pHYs_SUPPORTED */
-    png_write_pHYs, /* 229 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_pHYs_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_tIME_SUPPORTED)
+#else  /* !PNG_READ_SCALE_16_TO_8_SUPPORTED */
+    png_set_scale_16, /* 229 */
+#endif /* !PNG_READ_SCALE_16_TO_8_SUPPORTED */
+#if !defined(PNG_cHRM_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
     0, /* 230 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_tIME_SUPPORTED */
-    png_write_tIME, /* 230 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_tIME_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_sCAL_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED) || defined(PNG_NO_STDIO)
+#else  /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_get_cHRM_XYZ, /* 230 */
+#endif /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_cHRM_SUPPORTED) || !defined(PNG_FIXED_POINT_SUPPORTED)
     0, /* 231 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED PNG_NO_STDIO */
-    png_write_sCAL, /* 231 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_sCAL_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED PNG_NO_STDIO */
-#if !defined(PNG_INTERNAL) || !defined(PNG_FIXED_POINT_SUPPORTED) || defined(PNG_WRITE_sCAL_SUPPORTED) && defined(PNG_FLOATING_POINT_SUPPORTED) && !defined(PNG_NO_STDIO)
+#else  /* !PNG_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+    png_get_cHRM_XYZ_fixed, /* 231 */
+#endif /* !PNG_cHRM_SUPPORTED !PNG_FIXED_POINT_SUPPORTED */
+#if !defined(PNG_cHRM_SUPPORTED) || !defined(PNG_FLOATING_POINT_SUPPORTED)
     0, /* 232 */
-#else  /* !PNG_INTERNAL !PNG_FIXED_POINT_SUPPORTED PNG_WRITE_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_NO_STDIO */
-    png_write_sCAL_s, /* 232 */
-#endif /* !PNG_INTERNAL !PNG_FIXED_POINT_SUPPORTED PNG_WRITE_sCAL_SUPPORTED PNG_FLOATING_POINT_SUPPORTED !PNG_NO_STDIO */
-#if !defined(PNG_INTERNAL)
+#else  /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+    png_set_cHRM_XYZ, /* 232 */
+#endif /* !PNG_cHRM_SUPPORTED !PNG_FLOATING_POINT_SUPPORTED */
+#if !defined(PNG_cHRM_SUPPORTED)
     0, /* 233 */
-#else  /* !PNG_INTERNAL */
-    png_write_finish_row, /* 233 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 234 */
-#else  /* !PNG_INTERNAL */
-    png_write_start_row, /* 234 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_GAMMA_SUPPORTED)
-    0, /* 235 */
-#else  /* !PNG_INTERNAL !PNG_READ_GAMMA_SUPPORTED */
-    png_build_gamma_table, /* 235 */
-#endif /* !PNG_INTERNAL !PNG_READ_GAMMA_SUPPORTED */
-#if !defined(PNG_INTERNAL)
-    0, /* 236 */
-#else  /* !PNG_INTERNAL */
-    png_combine_row, /* 236 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_INTERLACING_SUPPORTED)
-    0, /* 237 */
-#else  /* !PNG_INTERNAL !PNG_READ_INTERLACING_SUPPORTED */
-    png_do_read_interlace, /* 237 */
-#endif /* !PNG_INTERNAL !PNG_READ_INTERLACING_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_INTERLACING_SUPPORTED)
-    0, /* 238 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_INTERLACING_SUPPORTED */
-    png_do_write_interlace, /* 238 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_INTERLACING_SUPPORTED */
-#if !defined(PNG_INTERNAL)
-    0, /* 239 */
-#else  /* !PNG_INTERNAL */
-    png_read_filter_row, /* 239 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 240 */
-#else  /* !PNG_INTERNAL */
-    png_write_find_filter, /* 240 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 241 */
-#else  /* !PNG_INTERNAL */
-    png_write_filtered_row, /* 241 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 242 */
-#else  /* !PNG_INTERNAL */
-    png_read_finish_row, /* 242 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 243 */
-#else  /* !PNG_INTERNAL */
-    png_read_start_row, /* 243 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 244 */
-#else  /* !PNG_INTERNAL */
-    png_read_transform_info, /* 244 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_FILLER_SUPPORTED)
-    0, /* 245 */
-#else  /* !PNG_INTERNAL !PNG_READ_FILLER_SUPPORTED */
-    png_do_read_filler, /* 245 */
-#endif /* !PNG_INTERNAL !PNG_READ_FILLER_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_SWAP_ALPHA_SUPPORTED)
-    0, /* 246 */
-#else  /* !PNG_INTERNAL !PNG_READ_SWAP_ALPHA_SUPPORTED */
-    png_do_read_swap_alpha, /* 246 */
-#endif /* !PNG_INTERNAL !PNG_READ_SWAP_ALPHA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED)
-    0, /* 247 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_SWAP_ALPHA_SUPPORTED */
-    png_do_write_swap_alpha, /* 247 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_SWAP_ALPHA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_INVERT_ALPHA_SUPPORTED)
-    0, /* 248 */
-#else  /* !PNG_INTERNAL !PNG_READ_INVERT_ALPHA_SUPPORTED */
-    png_do_read_invert_alpha, /* 248 */
-#endif /* !PNG_INTERNAL !PNG_READ_INVERT_ALPHA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED)
-    0, /* 249 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_INVERT_ALPHA_SUPPORTED */
-    png_do_write_invert_alpha, /* 249 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_INVERT_ALPHA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_FILLER_SUPPORTED) && !defined(PNG_READ_STRIP_ALPHA_SUPPORTED)
-    0, /* 250 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_FILLER_SUPPORTED !PNG_READ_STRIP_ALPHA_SUPPORTED */
-    png_do_strip_filler, /* 250 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_FILLER_SUPPORTED !PNG_READ_STRIP_ALPHA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_SWAP_SUPPORTED) && !defined(PNG_WRITE_SWAP_SUPPORTED)
-    0, /* 251 */
-#else  /* !PNG_INTERNAL !PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED */
-    png_do_swap, /* 251 */
-#endif /* !PNG_INTERNAL !PNG_READ_SWAP_SUPPORTED !PNG_WRITE_SWAP_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_PACKSWAP_SUPPORTED) && !defined(PNG_WRITE_PACKSWAP_SUPPORTED)
-    0, /* 252 */
-#else  /* !PNG_INTERNAL !PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED */
-    png_do_packswap, /* 252 */
-#endif /* !PNG_INTERNAL !PNG_READ_PACKSWAP_SUPPORTED !PNG_WRITE_PACKSWAP_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
-    0, /* 253 */
-#else  /* !PNG_INTERNAL !PNG_READ_RGB_TO_GRAY_SUPPORTED */
-    png_do_rgb_to_gray, /* 253 */
-#endif /* !PNG_INTERNAL !PNG_READ_RGB_TO_GRAY_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_GRAY_TO_RGB_SUPPORTED)
-    0, /* 254 */
-#else  /* !PNG_INTERNAL !PNG_READ_GRAY_TO_RGB_SUPPORTED */
-    png_do_gray_to_rgb, /* 254 */
-#endif /* !PNG_INTERNAL !PNG_READ_GRAY_TO_RGB_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_PACK_SUPPORTED)
-    0, /* 255 */
-#else  /* !PNG_INTERNAL !PNG_READ_PACK_SUPPORTED */
-    png_do_unpack, /* 255 */
-#endif /* !PNG_INTERNAL !PNG_READ_PACK_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_SHIFT_SUPPORTED)
-    0, /* 256 */
-#else  /* !PNG_INTERNAL !PNG_READ_SHIFT_SUPPORTED */
-    png_do_unshift, /* 256 */
-#endif /* !PNG_INTERNAL !PNG_READ_SHIFT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_INVERT_SUPPORTED) && !defined(PNG_WRITE_INVERT_SUPPORTED)
-    0, /* 257 */
-#else  /* !PNG_INTERNAL !PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED */
-    png_do_invert, /* 257 */
-#endif /* !PNG_INTERNAL !PNG_READ_INVERT_SUPPORTED !PNG_WRITE_INVERT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_16_TO_8_SUPPORTED)
-    0, /* 258 */
-#else  /* !PNG_INTERNAL !PNG_READ_16_TO_8_SUPPORTED */
-    png_do_chop, /* 258 */
-#endif /* !PNG_INTERNAL !PNG_READ_16_TO_8_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_DITHER_SUPPORTED)
-    0, /* 259 */
-#else  /* !PNG_INTERNAL !PNG_READ_DITHER_SUPPORTED */
-    png_do_dither, /* 259 */
-#endif /* !PNG_INTERNAL !PNG_READ_DITHER_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_DITHER_SUPPORTED) || !defined(PNG_CORRECT_PALETTE_SUPPORTED)
-    0, /* 260 */
-#else  /* !PNG_INTERNAL !PNG_READ_DITHER_SUPPORTED !PNG_CORRECT_PALETTE_SUPPORTED */
-    png_correct_palette, /* 260 */
-#endif /* !PNG_INTERNAL !PNG_READ_DITHER_SUPPORTED !PNG_CORRECT_PALETTE_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_BGR_SUPPORTED) && !defined(PNG_WRITE_BGR_SUPPORTED)
-    0, /* 261 */
-#else  /* !PNG_INTERNAL !PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED */
-    png_do_bgr, /* 261 */
-#endif /* !PNG_INTERNAL !PNG_READ_BGR_SUPPORTED !PNG_WRITE_BGR_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_PACK_SUPPORTED)
-    0, /* 262 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_PACK_SUPPORTED */
-    png_do_pack, /* 262 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_PACK_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_WRITE_SHIFT_SUPPORTED)
-    0, /* 263 */
-#else  /* !PNG_INTERNAL !PNG_WRITE_SHIFT_SUPPORTED */
-    png_do_shift, /* 263 */
-#endif /* !PNG_INTERNAL !PNG_WRITE_SHIFT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_BACKGROUND_SUPPORTED)
-    0, /* 264 */
-#else  /* !PNG_INTERNAL !PNG_READ_BACKGROUND_SUPPORTED */
-    png_do_background, /* 264 */
-#endif /* !PNG_INTERNAL !PNG_READ_BACKGROUND_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_GAMMA_SUPPORTED)
-    0, /* 265 */
-#else  /* !PNG_INTERNAL !PNG_READ_GAMMA_SUPPORTED */
-    png_do_gamma, /* 265 */
-#endif /* !PNG_INTERNAL !PNG_READ_GAMMA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_EXPAND_SUPPORTED)
-    0, /* 266 */
-#else  /* !PNG_INTERNAL !PNG_READ_EXPAND_SUPPORTED */
-    png_do_expand_palette, /* 266 */
-#endif /* !PNG_INTERNAL !PNG_READ_EXPAND_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_EXPAND_SUPPORTED)
-    0, /* 267 */
-#else  /* !PNG_INTERNAL !PNG_READ_EXPAND_SUPPORTED */
-    png_do_expand, /* 267 */
-#endif /* !PNG_INTERNAL !PNG_READ_EXPAND_SUPPORTED */
-#if !defined(PNG_INTERNAL)
-    0, /* 268 */
-#else  /* !PNG_INTERNAL */
-    png_handle_IHDR, /* 268 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 269 */
-#else  /* !PNG_INTERNAL */
-    png_handle_PLTE, /* 269 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 270 */
-#else  /* !PNG_INTERNAL */
-    png_handle_IEND, /* 270 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_bKGD_SUPPORTED)
-    0, /* 271 */
-#else  /* !PNG_INTERNAL !PNG_READ_bKGD_SUPPORTED */
-    png_handle_bKGD, /* 271 */
-#endif /* !PNG_INTERNAL !PNG_READ_bKGD_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_cHRM_SUPPORTED)
-    0, /* 272 */
-#else  /* !PNG_INTERNAL !PNG_READ_cHRM_SUPPORTED */
-    png_handle_cHRM, /* 272 */
-#endif /* !PNG_INTERNAL !PNG_READ_cHRM_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_gAMA_SUPPORTED)
-    0, /* 273 */
-#else  /* !PNG_INTERNAL !PNG_READ_gAMA_SUPPORTED */
-    png_handle_gAMA, /* 273 */
-#endif /* !PNG_INTERNAL !PNG_READ_gAMA_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_hIST_SUPPORTED)
-    0, /* 274 */
-#else  /* !PNG_INTERNAL !PNG_READ_hIST_SUPPORTED */
-    png_handle_hIST, /* 274 */
-#endif /* !PNG_INTERNAL !PNG_READ_hIST_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_iCCP_SUPPORTED)
-    0, /* 275 */
-#else  /* !PNG_INTERNAL !PNG_READ_iCCP_SUPPORTED */
-    png_handle_iCCP, /* 275 */
-#endif /* !PNG_INTERNAL !PNG_READ_iCCP_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_iTXt_SUPPORTED)
-    0, /* 276 */
-#else  /* !PNG_INTERNAL !PNG_iTXt_SUPPORTED */
-    png_handle_iTXt, /* 276 */
-#endif /* !PNG_INTERNAL !PNG_iTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_oFFs_SUPPORTED)
-    0, /* 277 */
-#else  /* !PNG_INTERNAL !PNG_READ_oFFs_SUPPORTED */
-    png_handle_oFFs, /* 277 */
-#endif /* !PNG_INTERNAL !PNG_READ_oFFs_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_pCAL_SUPPORTED)
-    0, /* 278 */
-#else  /* !PNG_INTERNAL !PNG_READ_pCAL_SUPPORTED */
-    png_handle_pCAL, /* 278 */
-#endif /* !PNG_INTERNAL !PNG_READ_pCAL_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_pHYs_SUPPORTED)
-    0, /* 279 */
-#else  /* !PNG_INTERNAL !PNG_READ_pHYs_SUPPORTED */
-    png_handle_pHYs, /* 279 */
-#endif /* !PNG_INTERNAL !PNG_READ_pHYs_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_sBIT_SUPPORTED)
-    0, /* 280 */
-#else  /* !PNG_INTERNAL !PNG_READ_sBIT_SUPPORTED */
-    png_handle_sBIT, /* 280 */
-#endif /* !PNG_INTERNAL !PNG_READ_sBIT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_sCAL_SUPPORTED)
-    0, /* 281 */
-#else  /* !PNG_INTERNAL !PNG_READ_sCAL_SUPPORTED */
-    png_handle_sCAL, /* 281 */
-#endif /* !PNG_INTERNAL !PNG_READ_sCAL_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_sPLT_SUPPORTED)
-    0, /* 282 */
-#else  /* !PNG_INTERNAL !PNG_READ_sPLT_SUPPORTED */
-    png_handle_sPLT, /* 282 */
-#endif /* !PNG_INTERNAL !PNG_READ_sPLT_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_sRGB_SUPPORTED)
-    0, /* 283 */
-#else  /* !PNG_INTERNAL !PNG_READ_sRGB_SUPPORTED */
-    png_handle_sRGB, /* 283 */
-#endif /* !PNG_INTERNAL !PNG_READ_sRGB_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_tEXt_SUPPORTED)
-    0, /* 284 */
-#else  /* !PNG_INTERNAL !PNG_READ_tEXt_SUPPORTED */
-    png_handle_tEXt, /* 284 */
-#endif /* !PNG_INTERNAL !PNG_READ_tEXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_tIME_SUPPORTED)
-    0, /* 285 */
-#else  /* !PNG_INTERNAL !PNG_READ_tIME_SUPPORTED */
-    png_handle_tIME, /* 285 */
-#endif /* !PNG_INTERNAL !PNG_READ_tIME_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_tRNS_SUPPORTED)
-    0, /* 286 */
-#else  /* !PNG_INTERNAL !PNG_READ_tRNS_SUPPORTED */
-    png_handle_tRNS, /* 286 */
-#endif /* !PNG_INTERNAL !PNG_READ_tRNS_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_READ_zTXt_SUPPORTED)
-    0, /* 287 */
-#else  /* !PNG_INTERNAL !PNG_READ_zTXt_SUPPORTED */
-    png_handle_zTXt, /* 287 */
-#endif /* !PNG_INTERNAL !PNG_READ_zTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_HANDLE_AS_UNKNOWN_SUPPORTED)
-    0, /* 288 */
-#else  /* !PNG_INTERNAL !PNG_HANDLE_AS_UNKNOWN_SUPPORTED */
-    png_handle_as_unknown, /* 288 */
-#endif /* !PNG_INTERNAL !PNG_HANDLE_AS_UNKNOWN_SUPPORTED */
-#if !defined(PNG_INTERNAL)
-    0, /* 289 */
-#else  /* !PNG_INTERNAL */
-    png_handle_unknown, /* 289 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 290 */
-#else  /* !PNG_INTERNAL */
-    png_check_chunk_name, /* 290 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 291 */
-#else  /* !PNG_INTERNAL */
-    png_do_read_transformations, /* 291 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 292 */
-#else  /* !PNG_INTERNAL */
-    png_do_write_transformations, /* 292 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL)
-    0, /* 293 */
-#else  /* !PNG_INTERNAL */
-    png_init_read_transformations, /* 293 */
-#endif /* !PNG_INTERNAL */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 294 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_read_chunk, /* 294 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 295 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_read_sig, /* 295 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 296 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_check_crc, /* 296 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 297 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_crc_skip, /* 297 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 298 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_crc_finish, /* 298 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 299 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_fill_buffer, /* 299 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 300 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_save_buffer, /* 300 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 301 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_restore_buffer, /* 301 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 302 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_read_IDAT, /* 302 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 303 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_process_IDAT_data, /* 303 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 304 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_process_row, /* 304 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 305 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_handle_unknown, /* 305 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 306 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_have_info, /* 306 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 307 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_have_end, /* 307 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 308 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_have_row, /* 308 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 309 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_push_read_end, /* 309 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 310 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_process_some_data, /* 310 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED)
-    0, /* 311 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-    png_read_push_finish_row, /* 311 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_tEXt_SUPPORTED)
-    0, /* 312 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_tEXt_SUPPORTED */
-    png_push_handle_tEXt, /* 312 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_tEXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_tEXt_SUPPORTED)
-    0, /* 313 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_tEXt_SUPPORTED */
-    png_push_read_tEXt, /* 313 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_tEXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_zTXt_SUPPORTED)
-    0, /* 314 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_zTXt_SUPPORTED */
-    png_push_handle_zTXt, /* 314 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_zTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_zTXt_SUPPORTED)
-    0, /* 315 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_zTXt_SUPPORTED */
-    png_push_read_zTXt, /* 315 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_zTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_iTXt_SUPPORTED)
-    0, /* 316 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_iTXt_SUPPORTED */
-    png_push_handle_iTXt, /* 316 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_iTXt_SUPPORTED */
-#if !defined(PNG_INTERNAL) || !defined(PNG_PROGRESSIVE_READ_SUPPORTED) || !defined(PNG_iTXt_SUPPORTED)
-    0, /* 317 */
-#else  /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_iTXt_SUPPORTED */
-    png_push_read_iTXt, /* 317 */
-#endif /* !PNG_INTERNAL !PNG_PROGRESSIVE_READ_SUPPORTED !PNG_iTXt_SUPPORTED */
-    png_info_init_3, /* 318 */
+#else  /* !PNG_cHRM_SUPPORTED */
+    png_set_cHRM_XYZ_fixed, /* 233 */
+#endif /* !PNG_cHRM_SUPPORTED */
 };
 
 /* !END!: Do not edit above this line. */