From c5d41979ecabbd8c5de6293f9684fe1a4ad657f6 Mon Sep 17 00:00:00 2001 From: vmagnin Date: Sun, 25 Feb 2024 19:16:17 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20vmagnin/?= =?UTF-8?q?forcolormap@aa1849c54eeed9ae4967ab09b8df8049cd910b27=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 4 +- lists/files.html | 2 +- lists/modules.html | 2 +- lists/procedures.html | 70 ++--- lists/programs.html | 2 +- lists/types.html | 2 +- module/colormap_parameters.html | 2 +- module/forcolormap.html | 58 ++-- module/forcolormap_info.html | 32 +- module/matplotlib_colormaps.html | 2 +- module/miscellaneous_colormaps.html | 16 +- module/scientific_colour_maps.html | 2 +- proc/bezier.html | 8 +- proc/check.html | 22 +- proc/compute_rgb.html | 2 +- proc/create.html | 26 +- proc/create_bezier.html | 28 +- proc/create_lagrange.html | 28 +- proc/cubehelix_colormap.html | 6 +- proc/deallocate_colormaps_info.html | 2 +- proc/deallocate_table.html | 2 +- proc/error.html | 2 +- proc/extract.html | 24 +- proc/factorial.html | 2 +- proc/findcolumnintersections.html | 4 +- proc/fire_colormap.html | 6 +- proc/get_levels.html | 319 +++++++++++++++++--- proc/get_levels~2.html | 319 +++----------------- proc/get_name.html | 316 ++++++++++++++++--- proc/get_name~2.html | 314 +++---------------- proc/get_ncolormaps.html | 2 +- proc/get_rgb.html | 2 +- proc/get_zmax.html | 2 +- proc/get_zmin.html | 2 +- proc/inv_rainbow_colormap.html | 4 +- proc/lagrange.html | 8 +- proc/lagrange_poly.html | 2 +- proc/load.html | 22 +- proc/print.html | 2 +- proc/rainbow_colormap.html | 4 +- proc/reverse.html | 4 +- proc/scale_real_int.html | 2 +- proc/scale_real_real.html | 2 +- proc/set.html | 28 +- proc/set_all.html | 2 +- proc/set_info.html | 8 +- proc/shift.html | 2 +- proc/write.html | 6 +- proc/write_info.html | 2 +- proc/write_ppm_colorbar.html | 2 +- proc/zebra_colormap.html | 4 +- program/colormaps_list.html | 10 +- program/create.html | 22 +- program/demo.html | 56 ++-- program/demo_reverse.html | 52 ++-- program/example1.html | 26 +- program/extract.html | 26 +- program/modify.html | 36 +-- program/write_info.html | 17 +- search.html | 2 +- sourcefile/colormap_class.f90.html | 2 +- sourcefile/colormap_parameters.f90.html | 2 +- sourcefile/colormaps_info.f90.html | 2 +- sourcefile/colormaps_list.f90.html | 10 +- sourcefile/create.f90.html | 2 +- sourcefile/demo.f90.html | 2 +- sourcefile/demo_reverse.f90.html | 2 +- sourcefile/example1.f90.html | 2 +- sourcefile/extract.f90.html | 2 +- sourcefile/info.f90.html | 61 ++-- sourcefile/matplotlib_colormaps.f90.html | 2 +- sourcefile/miscellaneous_colormaps.f90.html | 2 +- sourcefile/modify.f90.html | 2 +- sourcefile/scientific_colour_maps.f90.html | 2 +- src/colormaps_list.f90 | 10 +- src/info.f90 | 16 +- tipuesearch/tipuesearch_content.js | 2 +- type/colormap.html | 30 +- type/colormaps_info.html | 14 +- type/table.html | 14 +- 80 files changed, 1074 insertions(+), 1090 deletions(-) diff --git a/index.html b/index.html index 1fc30b7..d3b58a2 100644 --- a/index.html +++ b/index.html @@ -101,7 +101,7 @@

Basic usage

The library is using the precision wp=>real64 defined in the module iso_fortran_env. And depending on the integers expected by your graphical library, you may need to convert the kinds of red, green, blue variables by writing for example int(red, kind=int16) if you need 16 bit integers.

-

This guideline can help you choose the right kind of colormap. And you can visually choose the available colormaps in the colormaps_list/ForColormap.pdf manual or on this page (under development): https://github.com/gha3mi/forcolormap/tree/dev

+

This guideline can help you choose the right kind of colormap. And you can visually choose the available colormaps in the colormaps_list/ForColormap.pdf manual or on this page (under development): https://github.com/gha3mi/forcolormap/tree/dev

Installation

Requirements

You need, whatever your operating system:

@@ -297,7 +297,7 @@

Derived Types

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/lists/files.html b/lists/files.html index 506262e..4eb7ff4 100644 --- a/lists/files.html +++ b/lists/files.html @@ -437,7 +437,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/lists/modules.html b/lists/modules.html index 712bfab..2d80ead 100644 --- a/lists/modules.html +++ b/lists/modules.html @@ -522,7 +522,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/lists/procedures.html b/lists/procedures.html index c7bdefa..bef0fc4 100644 --- a/lists/procedures.html +++ b/lists/procedures.html @@ -158,25 +158,25 @@

Procedures

get_levels - forcolormap + forcolormap_info Function get_levels - forcolormap_info + forcolormap Function get_name - forcolormap + forcolormap_info Function get_name - forcolormap_info + forcolormap Function @@ -351,33 +351,33 @@

Procedures

- - -proc~get_levels~2 - + + +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - - -proc~get_name~2 - + + +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -624,19 +624,19 @@

Procedures

- - -proc~get_levels - + + +proc~get_levels~2 + forcolormap::Colormap%get_levels - - -proc~get_name - + + +proc~get_name~2 + forcolormap::Colormap%get_name @@ -1002,15 +1002,15 @@

Procedures

- + -program~demo->proc~get_levels +program~demo->proc~get_levels~2 - + -program~demo->proc~get_name +program~demo->proc~get_name~2 @@ -1059,15 +1059,15 @@

Procedures

- + -program~demo_reverse->proc~get_levels +program~demo_reverse->proc~get_levels~2 - + -program~demo_reverse->proc~get_name +program~demo_reverse->proc~get_name~2 @@ -1188,9 +1188,9 @@

Procedures

- + -program~modify->proc~get_levels +program~modify->proc~get_levels~2 @@ -1333,7 +1333,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/lists/programs.html b/lists/programs.html index 3560bfa..84cc2a4 100644 --- a/lists/programs.html +++ b/lists/programs.html @@ -141,7 +141,7 @@

Programs

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/lists/types.html b/lists/types.html index 57050b4..7b8937c 100644 --- a/lists/types.html +++ b/lists/types.html @@ -203,7 +203,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/module/colormap_parameters.html b/module/colormap_parameters.html index 7dae3e5..7e68864 100644 --- a/module/colormap_parameters.html +++ b/module/colormap_parameters.html @@ -695,7 +695,7 @@

Variables

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/module/forcolormap.html b/module/forcolormap.html index b6f5e6d..c960cb5 100644 --- a/module/forcolormap.html +++ b/module/forcolormap.html @@ -152,8 +152,8 @@

Functions

bezier factorial - get_levels - get_name + get_levels + get_name get_zmax get_zmin lagrange @@ -209,10 +209,10 @@

Uses

-

private pure function get_levels(self) result(levels) +

private pure function get_levels(self) result(levels)

@@ -999,7 +999,7 @@

-

private pure function get_name(self) result(name) +

private pure function get_name(self) result(name)

@@ -1153,7 +1153,7 @@

Arguments

- + integer, intent(in), @@ -1168,7 +1168,7 @@

Arguments

- + integer, intent(in), @@ -1643,7 +1643,7 @@

Arguments

- + character(len=*), intent(in) @@ -1688,7 +1688,7 @@

Arguments

- + integer, intent(in), @@ -1758,7 +1758,7 @@

Arguments

- + character(len=*), intent(in) @@ -1803,7 +1803,7 @@

Arguments

- + integer, intent(in), @@ -1818,7 +1818,7 @@

Arguments

- + integer, intent(in) @@ -1888,7 +1888,7 @@

Arguments

- + character(len=*), intent(in) @@ -1933,7 +1933,7 @@

Arguments

- + integer, intent(in), @@ -1948,7 +1948,7 @@

Arguments

- + integer, intent(in) @@ -2033,7 +2033,7 @@

Arguments

- + character(len=*), intent(in), @@ -2373,7 +2373,7 @@

Arguments

- + character(len=*), intent(in), @@ -2428,7 +2428,7 @@

Arguments

- + character(len=*), intent(in) @@ -2473,7 +2473,7 @@

Arguments

- + integer, intent(in), @@ -2488,7 +2488,7 @@

Arguments

- + real(kind=wp), intent(in), @@ -2699,7 +2699,7 @@

Arguments

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/module/forcolormap_info.html b/module/forcolormap_info.html index 2e81e15..7c44b80 100644 --- a/module/forcolormap_info.html +++ b/module/forcolormap_info.html @@ -141,8 +141,8 @@

Functions

@@ -524,12 +524,12 @@

Type-Bound Procedures

procedure, public :: - get_levels + get_levels procedure, public :: - get_name + get_name @@ -594,7 +594,7 @@

Components

- + character(len=:), private, @@ -645,7 +645,7 @@

Components

- + integer, private @@ -679,7 +679,7 @@

Components

- + character(len=:), private, @@ -799,7 +799,7 @@

Arguments

- + integer, intent(in) @@ -825,7 +825,7 @@

-

private pure function get_levels(this, index) result(levels) +

private pure function get_levels(this, index) result(levels)

@@ -885,7 +885,7 @@

-

private pure elemental function get_name(this, index) result(name) +

private pure elemental function get_name(this, index) result(name)

@@ -1179,7 +1179,7 @@

Arguments

- + character(len=*), intent(in) @@ -1269,7 +1269,7 @@

Arguments

- + character(len=*), intent(in) @@ -1284,7 +1284,7 @@

Arguments

- + integer, intent(in) @@ -1354,7 +1354,7 @@

Arguments

- + character(len=*), intent(in), @@ -1444,7 +1444,7 @@

Arguments

- + integer, intent(in), @@ -1570,7 +1570,7 @@

Arguments

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/module/matplotlib_colormaps.html b/module/matplotlib_colormaps.html index 2bc10ed..fc04111 100644 --- a/module/matplotlib_colormaps.html +++ b/module/matplotlib_colormaps.html @@ -622,7 +622,7 @@

Variables

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/module/miscellaneous_colormaps.html b/module/miscellaneous_colormaps.html index 34cc4cb..98ab1a2 100644 --- a/module/miscellaneous_colormaps.html +++ b/module/miscellaneous_colormaps.html @@ -586,7 +586,7 @@

Arguments

- + integer, intent(out), @@ -616,7 +616,7 @@

Arguments

- + real(kind=wp), intent(in), @@ -656,7 +656,7 @@

Arguments

- + integer, intent(in) @@ -671,7 +671,7 @@

Arguments

- + integer, intent(out), @@ -711,7 +711,7 @@

Arguments

- + integer, intent(out), @@ -751,7 +751,7 @@

Arguments

- + integer, intent(out), @@ -791,7 +791,7 @@

Arguments

- + integer, intent(out), @@ -832,7 +832,7 @@

Arguments

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/module/scientific_colour_maps.html b/module/scientific_colour_maps.html index d5bba4f..dd694b8 100644 --- a/module/scientific_colour_maps.html +++ b/module/scientific_colour_maps.html @@ -4546,7 +4546,7 @@

Variables

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/bezier.html b/proc/bezier.html index 525c0b8..27ebc0f 100644 --- a/proc/bezier.html +++ b/proc/bezier.html @@ -163,7 +163,7 @@

Arguments

- + integer, intent(in), @@ -178,7 +178,7 @@

Arguments

- + integer, intent(in), @@ -196,7 +196,7 @@

Arguments

Return Value - + integer, dimension(:,:), allocatable

@@ -524,7 +524,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/check.html b/proc/check.html index 0f0390c..9c5843a 100644 --- a/proc/check.html +++ b/proc/check.html @@ -411,33 +411,33 @@

Calls

forcolormap::Colormap%check - + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -1041,7 +1041,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/compute_rgb.html b/proc/compute_rgb.html index a972faa..5c5d091 100644 --- a/proc/compute_rgb.html +++ b/proc/compute_rgb.html @@ -599,7 +599,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/create.html b/proc/create.html index 6ed5779..d8c6186 100644 --- a/proc/create.html +++ b/proc/create.html @@ -174,7 +174,7 @@

Arguments

- + character(len=*), intent(in) @@ -219,7 +219,7 @@

Arguments

- + integer, intent(in), @@ -303,33 +303,33 @@

Calls

- + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -707,7 +707,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/create_bezier.html b/proc/create_bezier.html index 4d9f99a..ed98564 100644 --- a/proc/create_bezier.html +++ b/proc/create_bezier.html @@ -174,7 +174,7 @@

Arguments

- + character(len=*), intent(in) @@ -219,7 +219,7 @@

Arguments

- + integer, intent(in), @@ -234,7 +234,7 @@

Arguments

- + integer, intent(in) @@ -348,33 +348,33 @@

Calls

- + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -659,7 +659,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/create_lagrange.html b/proc/create_lagrange.html index b79e4a5..7f11b07 100644 --- a/proc/create_lagrange.html +++ b/proc/create_lagrange.html @@ -174,7 +174,7 @@

Arguments

- + character(len=*), intent(in) @@ -219,7 +219,7 @@

Arguments

- + integer, intent(in), @@ -234,7 +234,7 @@

Arguments

- + integer, intent(in) @@ -333,33 +333,33 @@

Calls

- + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -659,7 +659,7 @@

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/cubehelix_colormap.html b/proc/cubehelix_colormap.html index fe2f523..e8588d9 100644 --- a/proc/cubehelix_colormap.html +++ b/proc/cubehelix_colormap.html @@ -163,7 +163,7 @@

Arguments

- + integer, intent(out), @@ -193,7 +193,7 @@

Arguments

- + real(kind=wp), intent(in), @@ -460,7 +460,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/deallocate_colormaps_info.html b/proc/deallocate_colormaps_info.html index 7a9648f..1394c95 100644 --- a/proc/deallocate_colormaps_info.html +++ b/proc/deallocate_colormaps_info.html @@ -480,7 +480,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/deallocate_table.html b/proc/deallocate_table.html index 0aa740c..cf6b813 100644 --- a/proc/deallocate_table.html +++ b/proc/deallocate_table.html @@ -383,7 +383,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/error.html b/proc/error.html index 8058813..f5974f1 100644 --- a/proc/error.html +++ b/proc/error.html @@ -412,7 +412,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/extract.html b/proc/extract.html index b090bba..a2162d5 100644 --- a/proc/extract.html +++ b/proc/extract.html @@ -195,7 +195,7 @@

Arguments

- + character(len=*), intent(in), @@ -360,33 +360,33 @@

Calls

- + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -743,7 +743,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/factorial.html b/proc/factorial.html index f2b8be3..2c05d37 100644 --- a/proc/factorial.html +++ b/proc/factorial.html @@ -380,7 +380,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/findcolumnintersections.html b/proc/findcolumnintersections.html index c514128..ef026bb 100644 --- a/proc/findcolumnintersections.html +++ b/proc/findcolumnintersections.html @@ -163,7 +163,7 @@

Arguments

- + integer, intent(in) @@ -363,7 +363,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/fire_colormap.html b/proc/fire_colormap.html index 512110a..ae7b5bc 100644 --- a/proc/fire_colormap.html +++ b/proc/fire_colormap.html @@ -163,7 +163,7 @@

Arguments

- + integer, intent(in) @@ -178,7 +178,7 @@

Arguments

- + integer, intent(out), @@ -424,7 +424,7 @@

Source Code

Documentation generated by FORD - on 2024-02-24T11:42:25.267219

+ on 2024-02-25T19:15:56.421698


diff --git a/proc/get_levels.html b/proc/get_levels.html index 9245cdf..7023c68 100644 --- a/proc/get_levels.html +++ b/proc/get_levels.html @@ -79,20 +79,20 @@

get_levels
  • 5 statements + title=" 0.3% of total for procedures.">6 statements
  • - Source File + Source File
  • @@ -131,6 +131,12 @@

    Contents

    +
    +

    Source Code

    + +
    @@ -138,13 +144,13 @@

    Contents

    -

    private pure function get_levels(self) result(levels) +

    private pure function get_levels(this, index) result(levels)

    Type Bound

    -

    Colormap

    +

    Colormaps_info

    Arguments

    @@ -159,15 +165,30 @@

    Arguments

    - + + + + + + + + + @@ -177,7 +198,7 @@

    Arguments

    Return Value - + integer

    @@ -194,65 +215,261 @@

    Called by

    - - + + proc~~get_levels~~CalledByGraph - + proc~get_levels - -forcolormap::Colormap%get_levels + +forcolormap_info::Colormaps_info%get_levels - + -program~demo - - -demo +proc~check + + +forcolormap::Colormap%check - + -program~demo->proc~get_levels - - +proc~check->proc~get_levels + + - + -program~demo_reverse - - -demo_reverse +proc~create + + +forcolormap::Colormap%create - + -program~demo_reverse->proc~get_levels - - +proc~create->proc~check + + - + -program~modify - - -modify +proc~create_bezier + + +forcolormap::Colormap%create_bezier - + -program~modify->proc~get_levels - - +proc~create_bezier->proc~check + + + + + +proc~create_lagrange + + +forcolormap::Colormap%create_lagrange + + + + + +proc~create_lagrange->proc~check + + + + + +proc~load + + +forcolormap::Colormap%load + + + + + +proc~load->proc~check + + + + + +proc~set + + +forcolormap::Colormap%set + + + + + +proc~set->proc~check + + + + + +proc~set->proc~create + + + + + +proc~extract + + +forcolormap::Colormap%extract + + + + + +proc~extract->proc~create + + + + + +program~create + + +create + + + + + +program~create->proc~create_bezier + + + + + +program~create->proc~create_lagrange + + + + + +program~demo + + +demo + + + + + +program~demo->proc~create + + + + + +program~demo->proc~load + + + + + +program~demo->proc~set + + + + + +program~demo_reverse + + +demo_reverse + + + + + +program~demo_reverse->proc~create + + + + + +program~demo_reverse->proc~load + + + + + +program~demo_reverse->proc~set + + + + + +program~example1 + + +example1 + + + + + +program~example1->proc~load + + + + + +program~extract + + +extract + + + + + +program~extract->proc~set + + + + + +program~extract->proc~extract + + + + + +program~modify + + +modify + + + + + +program~modify->proc~set + + -
    +
    @@ -362,7 +591,7 @@

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_levels~2.html b/proc/get_levels~2.html index f52528e..276f273 100644 --- a/proc/get_levels~2.html +++ b/proc/get_levels~2.html @@ -79,20 +79,20 @@

    get_levels
  • 6 statements + title=" 0.3% of total for procedures.">5 statements
  • - Source File + Source File
  • @@ -131,12 +131,6 @@

    Contents

    -
    -

    Source Code

    - -
    @@ -144,13 +138,13 @@

    Contents

    -

    private pure function get_levels(this, index) result(levels) +

    private pure function get_levels(self) result(levels)

    Type Bound

    -

    Colormaps_info

    +

    Colormap

    Arguments

    - - class(Colormap), + + class(Colormaps_info), intent(in) ::selfthis + +
    + + integer, + intent(in) + + ::index
    @@ -165,30 +159,15 @@

    Arguments

    - - - - - - - - - + @@ -198,7 +177,7 @@

    Arguments

    Return Value - + integer

    @@ -215,261 +194,65 @@

    Called by

    - - + + proc~~get_levels~2~~CalledByGraph - + proc~get_levels~2 - -forcolormap_info::Colormaps_info%get_levels - - - -proc~check - - -forcolormap::Colormap%check - - - - - -proc~check->proc~get_levels~2 - - - - - -proc~create - - -forcolormap::Colormap%create - - - - - -proc~create->proc~check - - - - - -proc~create_bezier - - -forcolormap::Colormap%create_bezier - - - - - -proc~create_bezier->proc~check - - - - - -proc~create_lagrange - - -forcolormap::Colormap%create_lagrange - - - - - -proc~create_lagrange->proc~check - - - - - -proc~load - - -forcolormap::Colormap%load - - - - - -proc~load->proc~check - - - - - -proc~set - - -forcolormap::Colormap%set - - - - - -proc~set->proc~check - - - - - -proc~set->proc~create - - - - - -proc~extract - - -forcolormap::Colormap%extract - - - - - -proc~extract->proc~create - - - - - -program~create - - -create - - - - - -program~create->proc~create_bezier - - - - - -program~create->proc~create_lagrange - - + +forcolormap::Colormap%get_levels - + program~demo - - -demo + + +demo - - -program~demo->proc~create - - - - - -program~demo->proc~load - - - - - -program~demo->proc~set - - + + +program~demo->proc~get_levels~2 + + - + program~demo_reverse - - -demo_reverse - - - - - -program~demo_reverse->proc~create - - - - - -program~demo_reverse->proc~load - - - - - -program~demo_reverse->proc~set - - - - - -program~example1 - - -example1 - - - - - -program~example1->proc~load - - - - - -program~extract - - -extract + + +demo_reverse - - -program~extract->proc~set - - - - - -program~extract->proc~extract - - + + +program~demo_reverse->proc~get_levels~2 + + - + program~modify - - -modify + + +modify - - -program~modify->proc~set - - + + +program~modify->proc~get_levels~2 + + -
    +
    @@ -591,7 +362,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_name.html b/proc/get_name.html index 323e6bf..cff9e5a 100644 --- a/proc/get_name.html +++ b/proc/get_name.html @@ -79,20 +79,20 @@

    get_name
  • 5 statements + title=" 0.3% of total for procedures.">6 statements
  • - Source File + Source File
  • @@ -131,6 +131,12 @@

    Contents

    +
    +

    Source Code

    +
    + get_name +
    +
    @@ -138,13 +144,13 @@

    Contents

    -

    private pure function get_name(self) result(name) +

    private pure elemental function get_name(this, index) result(name)

    Type Bound

    -

    Colormap

    +

    Colormaps_info

    Arguments

    - - class(Colormaps_info), + + class(Colormap), intent(in) ::this - -
    - - integer, - intent(in) - - ::indexself
    @@ -159,15 +165,30 @@

    Arguments

    - + + + + + + + + + @@ -177,7 +198,7 @@

    Arguments

    Return Value - + character(len=colormap_name_length)

    @@ -194,50 +215,261 @@

    Called by

    - - + + proc~~get_name~~CalledByGraph - + proc~get_name - -forcolormap::Colormap%get_name + +forcolormap_info::Colormaps_info%get_name - + -program~demo - - -demo +proc~check + + +forcolormap::Colormap%check - + -program~demo->proc~get_name - - +proc~check->proc~get_name + + - + -program~demo_reverse - - -demo_reverse +proc~create + + +forcolormap::Colormap%create - + -program~demo_reverse->proc~get_name - - +proc~create->proc~check + + + + + +proc~create_bezier + + +forcolormap::Colormap%create_bezier + + + + + +proc~create_bezier->proc~check + + + + + +proc~create_lagrange + + +forcolormap::Colormap%create_lagrange + + + + + +proc~create_lagrange->proc~check + + + + + +proc~load + + +forcolormap::Colormap%load + + + + + +proc~load->proc~check + + + + + +proc~set + + +forcolormap::Colormap%set + + + + + +proc~set->proc~check + + + + + +proc~set->proc~create + + + + + +proc~extract + + +forcolormap::Colormap%extract + + + + + +proc~extract->proc~create + + + + + +program~create + + +create + + + + + +program~create->proc~create_bezier + + + + + +program~create->proc~create_lagrange + + + + + +program~demo + + +demo + + + + + +program~demo->proc~create + + + + + +program~demo->proc~load + + + + + +program~demo->proc~set + + + + + +program~demo_reverse + + +demo_reverse + + + + + +program~demo_reverse->proc~create + + + + + +program~demo_reverse->proc~load + + + + + +program~demo_reverse->proc~set + + + + + +program~example1 + + +example1 + + + + + +program~example1->proc~load + + + + + +program~extract + + +extract + + + + + +program~extract->proc~set + + + + + +program~extract->proc~extract + + + + + +program~modify + + +modify + + + + + +program~modify->proc~set + + -
    +
    @@ -347,7 +591,7 @@

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_name~2.html b/proc/get_name~2.html index aa818f4..8701568 100644 --- a/proc/get_name~2.html +++ b/proc/get_name~2.html @@ -79,20 +79,20 @@

    get_name
  • 6 statements + title=" 0.3% of total for procedures.">5 statements
  • - Source File + Source File
  • @@ -131,12 +131,6 @@

    Contents

    -
    -

    Source Code

    -
    - get_name -
    -
    @@ -144,13 +138,13 @@

    Contents

    -

    private pure elemental function get_name(this, index) result(name) +

    private pure function get_name(self) result(name)

    Type Bound

    -

    Colormaps_info

    +

    Colormap

    Arguments

    - - class(Colormap), + + class(Colormaps_info), intent(in) ::selfthis + +
    + + integer, + intent(in) + + ::index
    @@ -165,30 +159,15 @@

    Arguments

    - - - - - - - - - + @@ -215,261 +194,50 @@

    Called by

    - - + + proc~~get_name~2~~CalledByGraph - + proc~get_name~2 - -forcolormap_info::Colormaps_info%get_name - - - -proc~check - - -forcolormap::Colormap%check - - - - - -proc~check->proc~get_name~2 - - - - - -proc~create - - -forcolormap::Colormap%create - - - - - -proc~create->proc~check - - - - - -proc~create_bezier - - -forcolormap::Colormap%create_bezier - - - - - -proc~create_bezier->proc~check - - - - - -proc~create_lagrange - - -forcolormap::Colormap%create_lagrange - - - - - -proc~create_lagrange->proc~check - - - - - -proc~load - - -forcolormap::Colormap%load - - - - - -proc~load->proc~check - - - - - -proc~set - - -forcolormap::Colormap%set - - - - - -proc~set->proc~check - - - - - -proc~set->proc~create - - - - - -proc~extract - - -forcolormap::Colormap%extract - - - - - -proc~extract->proc~create - - - - - -program~create - - -create - - - - - -program~create->proc~create_bezier - - - - - -program~create->proc~create_lagrange - - + +forcolormap::Colormap%get_name - + program~demo - - -demo + + +demo - - -program~demo->proc~create - - - - - -program~demo->proc~load - - - - - -program~demo->proc~set - - + + +program~demo->proc~get_name~2 + + - + program~demo_reverse - - -demo_reverse + + +demo_reverse - - -program~demo_reverse->proc~create - - - - - -program~demo_reverse->proc~load - - - - - -program~demo_reverse->proc~set - - - - - -program~example1 - - -example1 - - - - - -program~example1->proc~load - - - - - -program~extract - - -extract - - - - - -program~extract->proc~set - - - - - -program~extract->proc~extract - - - - - -program~modify - - -modify - - - - - -program~modify->proc~set - - + + +program~demo_reverse->proc~get_name~2 + + -
    +
    @@ -591,7 +347,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_ncolormaps.html b/proc/get_ncolormaps.html index df538ad..9046e09 100644 --- a/proc/get_ncolormaps.html +++ b/proc/get_ncolormaps.html @@ -590,7 +590,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_rgb.html b/proc/get_rgb.html index 013834a..360b310 100644 --- a/proc/get_rgb.html +++ b/proc/get_rgb.html @@ -494,7 +494,7 @@

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_zmax.html b/proc/get_zmax.html index 2ebac08..ebf0463 100644 --- a/proc/get_zmax.html +++ b/proc/get_zmax.html @@ -422,7 +422,7 @@

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/get_zmin.html b/proc/get_zmin.html index 453336e..0186593 100644 --- a/proc/get_zmin.html +++ b/proc/get_zmin.html @@ -422,7 +422,7 @@

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/inv_rainbow_colormap.html b/proc/inv_rainbow_colormap.html index bfcfa4a..769bf88 100644 --- a/proc/inv_rainbow_colormap.html +++ b/proc/inv_rainbow_colormap.html @@ -163,7 +163,7 @@

    Arguments

    @@ -410,7 +410,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/lagrange.html b/proc/lagrange.html index 400e2d5..9be788b 100644 --- a/proc/lagrange.html +++ b/proc/lagrange.html @@ -163,7 +163,7 @@

    Arguments

    @@ -178,7 +178,7 @@

    Arguments

    @@ -196,7 +196,7 @@

    Arguments

    Return Value - + integer, dimension(:,:), allocatable

    @@ -525,7 +525,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/lagrange_poly.html b/proc/lagrange_poly.html index 9e8f5b3..54a776e 100644 --- a/proc/lagrange_poly.html +++ b/proc/lagrange_poly.html @@ -418,7 +418,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/load.html b/proc/load.html index 6403555..bd0ba47 100644 --- a/proc/load.html +++ b/proc/load.html @@ -294,33 +294,33 @@

    Calls

    - + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -695,7 +695,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/print.html b/proc/print.html index fb1f942..77775f0 100644 --- a/proc/print.html +++ b/proc/print.html @@ -204,7 +204,7 @@

    Arguments

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/rainbow_colormap.html b/proc/rainbow_colormap.html index cf88f06..0ae66b8 100644 --- a/proc/rainbow_colormap.html +++ b/proc/rainbow_colormap.html @@ -163,7 +163,7 @@

    Arguments

    @@ -410,7 +410,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/reverse.html b/proc/reverse.html index 3201153..e4cc35a 100644 --- a/proc/reverse.html +++ b/proc/reverse.html @@ -180,7 +180,7 @@

    Arguments

    @@ -579,7 +579,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/scale_real_int.html b/proc/scale_real_int.html index 75704f0..71f044f 100644 --- a/proc/scale_real_int.html +++ b/proc/scale_real_int.html @@ -519,7 +519,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/scale_real_real.html b/proc/scale_real_real.html index b202c54..c30d67b 100644 --- a/proc/scale_real_real.html +++ b/proc/scale_real_real.html @@ -423,7 +423,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/set.html b/proc/set.html index 9077751..e7a32eb 100644 --- a/proc/set.html +++ b/proc/set.html @@ -180,7 +180,7 @@

    Arguments

    @@ -225,7 +225,7 @@

    Arguments

    @@ -240,7 +240,7 @@

    Arguments

    @@ -414,33 +414,33 @@

    Calls

    - + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -1300,7 +1300,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/set_all.html b/proc/set_all.html index 000198f..5604132 100644 --- a/proc/set_all.html +++ b/proc/set_all.html @@ -3968,7 +3968,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/set_info.html b/proc/set_info.html index 4387459..8dec93b 100644 --- a/proc/set_info.html +++ b/proc/set_info.html @@ -210,7 +210,7 @@

    Arguments

    @@ -300,7 +300,7 @@

    Arguments

    @@ -315,7 +315,7 @@

    Arguments

    @@ -773,7 +773,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/shift.html b/proc/shift.html index 3e7e651..f4e00bc 100644 --- a/proc/shift.html +++ b/proc/shift.html @@ -359,7 +359,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/write.html b/proc/write.html index cbb3bc1..44551c8 100644 --- a/proc/write.html +++ b/proc/write.html @@ -195,7 +195,7 @@

    Arguments

    @@ -285,7 +285,7 @@

    Arguments

    @@ -663,7 +663,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/write_info.html b/proc/write_info.html index 0ec0045..db0a64a 100644 --- a/proc/write_info.html +++ b/proc/write_info.html @@ -557,7 +557,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/write_ppm_colorbar.html b/proc/write_ppm_colorbar.html index de9b04f..b037f96 100644 --- a/proc/write_ppm_colorbar.html +++ b/proc/write_ppm_colorbar.html @@ -858,7 +858,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/proc/zebra_colormap.html b/proc/zebra_colormap.html index 953aaa3..ece348f 100644 --- a/proc/zebra_colormap.html +++ b/proc/zebra_colormap.html @@ -163,7 +163,7 @@

    Arguments

    @@ -409,7 +409,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/colormaps_list.html b/program/colormaps_list.html index 41060b5..b77118c 100644 --- a/program/colormaps_list.html +++ b/program/colormaps_list.html @@ -521,18 +521,18 @@

    Source Code

    program colormaps_list
         use forcolormap_info, only: Colormaps_info
         implicit none
    - 
    +
         type(Colormaps_info) :: info
    - 
    +
         ! Set all colormap information
         call info%set_all()
    - 
    +
         !! Write colormap information to a file
         call info%write(gradient='Sequential', file_name='colormaps_list/COLORMAPS_LIST_SEQ.md', verbose=4)
         call info%write(gradient='Multi-Sequential', file_name='colormaps_list/COLORMAPS_LIST_MSQ.md', verbose=4)
         call info%write(gradient='Diverging', file_name='colormaps_list/COLORMAPS_LIST_DIV.md', verbose=4)
         call info%write(gradient='Categorical', file_name='colormaps_list/COLORMAPS_LIST_CAT.md', verbose=4)
    -    call info%write(gradient='Cyclic', file_name='colormaps_list/COLORMAPS_LIST_CYC.md', verbose=4)   
    +    call info%write(gradient='Cyclic', file_name='colormaps_list/COLORMAPS_LIST_CYC.md', verbose=4)
     
         ! Deallocate all colormap information
         call info%finalize()
    @@ -558,7 +558,7 @@ 

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/create.html b/program/create.html index 82a4569..bbeb6f1 100644 --- a/program/create.html +++ b/program/create.html @@ -619,33 +619,33 @@

    Calls

    - + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -916,7 +916,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/demo.html b/program/demo.html index 76fc092..f35ef83 100644 --- a/program/demo.html +++ b/program/demo.html @@ -117,10 +117,10 @@

    Variables

    @@ -163,8 +163,8 @@

    Uses

    @@ -222,7 +222,7 @@

    Components

    @@ -239,7 +239,7 @@

    Components

    @@ -301,7 +301,7 @@

    Type-Bound Procedures

    - +

    procedure, public :: colorbar => write_ppm_colorbar @@ -1189,7 +1189,7 @@

    Arguments

    - +

    procedure, public :: get_levels @@ -1199,7 +1199,7 @@

    • - private pure function get_levels(self) result(levels) + private pure function get_levels(self) result(levels)

      @@ -1248,7 +1248,7 @@

      - +

      procedure, public :: get_name @@ -1258,7 +1258,7 @@

      • - private pure function get_name(self) result(name) + private pure function get_name(self) result(name)

        @@ -2035,7 +2035,7 @@

        Source Code

        Documentation generated by FORD - on 2024-02-24T11:42:25.267219

        + on 2024-02-25T19:15:56.421698


      diff --git a/type/colormaps_info.html b/type/colormaps_info.html index 634835a..64952b4 100644 --- a/type/colormaps_info.html +++ b/type/colormaps_info.html @@ -147,8 +147,8 @@

      Type-Bound Procedures

      finalize - get_levels - get_name + get_levels + get_name get_ncolormaps set_all write @@ -363,7 +363,7 @@

      Arguments

      - +

      procedure, public :: get_levels @@ -373,7 +373,7 @@

      • - private pure function get_levels(this, index) result(levels) + private pure function get_levels(this, index) result(levels)

        @@ -437,7 +437,7 @@

        - +

        procedure, public :: get_name @@ -447,7 +447,7 @@

        • - private pure elemental function get_name(this, index) result(name) + private pure elemental function get_name(this, index) result(name)

          @@ -844,7 +844,7 @@

          Source Code

          Documentation generated by FORD - on 2024-02-24T11:42:25.267219

          + on 2024-02-25T19:15:56.421698


        diff --git a/type/table.html b/type/table.html index 03469a7..e2941ca 100644 --- a/type/table.html +++ b/type/table.html @@ -120,12 +120,12 @@

        Variables

        author - colorbar + colorbar family gradient - levels + levels license - name + name package palette url @@ -304,7 +304,7 @@

        Components

    @@ -355,7 +355,7 @@

    Components

    @@ -389,7 +389,7 @@

    Components

    @@ -847,7 +847,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    - - class(Colormaps_info), + + class(Colormap), intent(in) ::this - -
    - - integer, - intent(in) - - ::indexself
    - + integer, intent(out),
    - + integer, intent(in),
    - + integer, intent(in),
    - + integer, intent(out),
    - + character(len=*), intent(in),
    - + character(len=*), intent(in)
    - + integer, intent(in),
    - + real(kind=wp), intent(in),
    - + character(len=*), intent(in)
    - + character(len=*), intent(in)
    - + integer, intent(in)
    - + character(len=*), intent(in),
    - + integer, intent(in),
    - + integer, intent(out),
    - + type(Colormap) @@ -949,7 +949,7 @@

    Variables

    - + integer, @@ -981,7 +981,7 @@

    Variables

    - + integer @@ -1094,7 +1094,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/demo_reverse.html b/program/demo_reverse.html index 208b771..01d7b96 100644 --- a/program/demo_reverse.html +++ b/program/demo_reverse.html @@ -117,9 +117,9 @@

    Variables

    @@ -162,8 +162,8 @@

    Uses

    - + type(Colormap) @@ -964,7 +964,7 @@

    Variables

    - + integer @@ -1076,7 +1076,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/example1.html b/program/example1.html index 83c577b..202829a 100644 --- a/program/example1.html +++ b/program/example1.html @@ -161,9 +161,9 @@

    Uses

    - + type(Colormap) @@ -967,7 +967,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/modify.html b/program/modify.html index 1970434..14536f2 100644 --- a/program/modify.html +++ b/program/modify.html @@ -117,7 +117,7 @@

    Variables

    - cmap + cmap
    @@ -402,18 +402,18 @@

    Calls

    modify - + -proc~get_levels - +proc~get_levels~2 + forcolormap::Colormap%get_levels - + -program~modify->proc~get_levels +program~modify->proc~get_levels~2 @@ -675,33 +675,33 @@

    Calls

    - + -proc~get_levels~2 - +proc~get_levels + forcolormap_info::Colormaps_info%get_levels - + -proc~check->proc~get_levels~2 +proc~check->proc~get_levels - + -proc~get_name~2 - +proc~get_name + forcolormap_info::Colormaps_info%get_name - + -proc~check->proc~get_name~2 +proc~check->proc~get_name @@ -880,7 +880,7 @@

    Variables

    - + type(Colormap) @@ -963,7 +963,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/program/write_info.html b/program/write_info.html index 57db54a..81a73e3 100644 --- a/program/write_info.html +++ b/program/write_info.html @@ -524,31 +524,27 @@

    Source Code

    program write_info
         use forcolormap_info, only: Colormaps_info
         implicit none
    - 
    +
         type(Colormaps_info) :: info
    - 
    +
         ! Set all colormap information
         call info%set_all()
    - 
    +
         !! Print all colormap information using default verbosity (level 1)
         ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name
         call info%write()
    -    
    - 
     
         !! Filter and write colormap information
         !! Available filters: name, family, gradient, palette, author, license, levels
     
         ! Filter by gradient using default verbosity (level 1)
         call info%write(gradient='Sequential', palette='Continuous')
    - 
    +
         ! Filter by gradient and palette using default verbosity (level 1)
         call info%write(gradient='Sequential', palette='Continuous')
    - 
    +
         ! Filter by family and palette using verbosity level 2
         call info%write(family='vik', gradient='Diverging', palette='Continuous', verbose=2)
    - 
    -
     
         !! Write colormap information to a file
         call info%write(gradient='Sequential', file_name='COLORMAPS_LIST.md', verbose=4)
    @@ -556,7 +552,6 @@ 

    Source Code

    call info%write(gradient='Diverging', file_name='COLORMAPS_LIST.md', verbose=4) call info%write(gradient='Categorical', file_name='COLORMAPS_LIST.md', verbose=4) call info%write(gradient='Cyclic', file_name='COLORMAPS_LIST.md', verbose=4) - ! Deallocate all colormap information call info%finalize() @@ -582,7 +577,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/search.html b/search.html index da163d0..58a7015 100644 --- a/search.html +++ b/search.html @@ -100,7 +100,7 @@

    Search Results

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/colormap_class.f90.html b/sourcefile/colormap_class.f90.html index ce3939d..7214923 100644 --- a/sourcefile/colormap_class.f90.html +++ b/sourcefile/colormap_class.f90.html @@ -1765,7 +1765,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/colormap_parameters.f90.html b/sourcefile/colormap_parameters.f90.html index c36b5a1..0b6d2dc 100644 --- a/sourcefile/colormap_parameters.f90.html +++ b/sourcefile/colormap_parameters.f90.html @@ -481,7 +481,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/colormaps_info.f90.html b/sourcefile/colormaps_info.f90.html index 303d25e..d59fd0c 100644 --- a/sourcefile/colormaps_info.f90.html +++ b/sourcefile/colormaps_info.f90.html @@ -4236,7 +4236,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/colormaps_list.f90.html b/sourcefile/colormaps_list.f90.html index 099fa68..dc0f6a8 100644 --- a/sourcefile/colormaps_list.f90.html +++ b/sourcefile/colormaps_list.f90.html @@ -289,18 +289,18 @@

    Source Code

    program colormaps_list use forcolormap_info, only: Colormaps_info implicit none - + type(Colormaps_info) :: info - + ! Set all colormap information call info%set_all() - + !! Write colormap information to a file call info%write(gradient='Sequential', file_name='colormaps_list/COLORMAPS_LIST_SEQ.md', verbose=4) call info%write(gradient='Multi-Sequential', file_name='colormaps_list/COLORMAPS_LIST_MSQ.md', verbose=4) call info%write(gradient='Diverging', file_name='colormaps_list/COLORMAPS_LIST_DIV.md', verbose=4) call info%write(gradient='Categorical', file_name='colormaps_list/COLORMAPS_LIST_CAT.md', verbose=4) - call info%write(gradient='Cyclic', file_name='colormaps_list/COLORMAPS_LIST_CYC.md', verbose=4) + call info%write(gradient='Cyclic', file_name='colormaps_list/COLORMAPS_LIST_CYC.md', verbose=4) ! Deallocate all colormap information call info%finalize() @@ -325,7 +325,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/create.f90.html b/sourcefile/create.f90.html index 69f6031..c0c2e5e 100644 --- a/sourcefile/create.f90.html +++ b/sourcefile/create.f90.html @@ -414,7 +414,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/demo.f90.html b/sourcefile/demo.f90.html index f2a70bd..0f763f9 100644 --- a/sourcefile/demo.f90.html +++ b/sourcefile/demo.f90.html @@ -436,7 +436,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/demo_reverse.f90.html b/sourcefile/demo_reverse.f90.html index 1242765..022c8c5 100644 --- a/sourcefile/demo_reverse.f90.html +++ b/sourcefile/demo_reverse.f90.html @@ -439,7 +439,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/example1.f90.html b/sourcefile/example1.f90.html index 347e42f..8fbcb6b 100644 --- a/sourcefile/example1.f90.html +++ b/sourcefile/example1.f90.html @@ -422,7 +422,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/extract.f90.html b/sourcefile/extract.f90.html index 78848b5..5f64e19 100644 --- a/sourcefile/extract.f90.html +++ b/sourcefile/extract.f90.html @@ -411,7 +411,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/info.f90.html b/sourcefile/info.f90.html index d771d69..7e70dad 100644 --- a/sourcefile/info.f90.html +++ b/sourcefile/info.f90.html @@ -289,44 +289,39 @@

    Source Code

    program write_info use forcolormap_info, only: Colormaps_info implicit none - + type(Colormaps_info) :: info - + ! Set all colormap information call info%set_all() - + !! Print all colormap information using default verbosity (level 1) ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name call info%write() - - - - !! Filter and write colormap information - !! Available filters: name, family, gradient, palette, author, license, levels - - ! Filter by gradient using default verbosity (level 1) - call info%write(gradient='Sequential', palette='Continuous') - - ! Filter by gradient and palette using default verbosity (level 1) - call info%write(gradient='Sequential', palette='Continuous') - - ! Filter by family and palette using verbosity level 2 - call info%write(family='vik', gradient='Diverging', palette='Continuous', verbose=2) - - - - !! Write colormap information to a file - call info%write(gradient='Sequential', file_name='COLORMAPS_LIST.md', verbose=4) - call info%write(gradient='Multi-Sequential', file_name='COLORMAPS_LIST.md', verbose=4) - call info%write(gradient='Diverging', file_name='COLORMAPS_LIST.md', verbose=4) - call info%write(gradient='Categorical', file_name='COLORMAPS_LIST.md', verbose=4) - call info%write(gradient='Cyclic', file_name='COLORMAPS_LIST.md', verbose=4) - - - ! Deallocate all colormap information - call info%finalize() - - end program write_info + + !! Filter and write colormap information + !! Available filters: name, family, gradient, palette, author, license, levels + + ! Filter by gradient using default verbosity (level 1) + call info%write(gradient='Sequential', palette='Continuous') + + ! Filter by gradient and palette using default verbosity (level 1) + call info%write(gradient='Sequential', palette='Continuous') + + ! Filter by family and palette using verbosity level 2 + call info%write(family='vik', gradient='Diverging', palette='Continuous', verbose=2) + + !! Write colormap information to a file + call info%write(gradient='Sequential', file_name='COLORMAPS_LIST.md', verbose=4) + call info%write(gradient='Multi-Sequential', file_name='COLORMAPS_LIST.md', verbose=4) + call info%write(gradient='Diverging', file_name='COLORMAPS_LIST.md', verbose=4) + call info%write(gradient='Categorical', file_name='COLORMAPS_LIST.md', verbose=4) + call info%write(gradient='Cyclic', file_name='COLORMAPS_LIST.md', verbose=4) + + ! Deallocate all colormap information + call info%finalize() + + end program write_info @@ -346,7 +341,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/matplotlib_colormaps.f90.html b/sourcefile/matplotlib_colormaps.f90.html index d2a2a36..c603dbd 100644 --- a/sourcefile/matplotlib_colormaps.f90.html +++ b/sourcefile/matplotlib_colormaps.f90.html @@ -1520,7 +1520,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/miscellaneous_colormaps.f90.html b/sourcefile/miscellaneous_colormaps.f90.html index bcf28d2..8fbd613 100644 --- a/sourcefile/miscellaneous_colormaps.f90.html +++ b/sourcefile/miscellaneous_colormaps.f90.html @@ -849,7 +849,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/modify.f90.html b/sourcefile/modify.f90.html index 62aa78a..e42f468 100644 --- a/sourcefile/modify.f90.html +++ b/sourcefile/modify.f90.html @@ -424,7 +424,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/sourcefile/scientific_colour_maps.f90.html b/sourcefile/scientific_colour_maps.f90.html index f6f92a8..558f032 100644 --- a/sourcefile/scientific_colour_maps.f90.html +++ b/sourcefile/scientific_colour_maps.f90.html @@ -6208,7 +6208,7 @@

    Source Code

    Documentation generated by FORD - on 2024-02-24T11:42:25.267219

    + on 2024-02-25T19:15:56.421698


    diff --git a/src/colormaps_list.f90 b/src/colormaps_list.f90 index fa970c6..8920bd6 100644 --- a/src/colormaps_list.f90 +++ b/src/colormaps_list.f90 @@ -27,20 +27,20 @@ program colormaps_list use forcolormap_info, only: Colormaps_info implicit none - + type(Colormaps_info) :: info - + ! Set all colormap information call info%set_all() - + !! Write colormap information to a file call info%write(gradient='Sequential', file_name='colormaps_list/COLORMAPS_LIST_SEQ.md', verbose=4) call info%write(gradient='Multi-Sequential', file_name='colormaps_list/COLORMAPS_LIST_MSQ.md', verbose=4) call info%write(gradient='Diverging', file_name='colormaps_list/COLORMAPS_LIST_DIV.md', verbose=4) call info%write(gradient='Categorical', file_name='colormaps_list/COLORMAPS_LIST_CAT.md', verbose=4) - call info%write(gradient='Cyclic', file_name='colormaps_list/COLORMAPS_LIST_CYC.md', verbose=4) + call info%write(gradient='Cyclic', file_name='colormaps_list/COLORMAPS_LIST_CYC.md', verbose=4) ! Deallocate all colormap information call info%finalize() -end program colormaps_list \ No newline at end of file +end program colormaps_list diff --git a/src/info.f90 b/src/info.f90 index b9fc433..5303e21 100644 --- a/src/info.f90 +++ b/src/info.f90 @@ -27,31 +27,27 @@ program write_info use forcolormap_info, only: Colormaps_info implicit none - + type(Colormaps_info) :: info - + ! Set all colormap information call info%set_all() - + !! Print all colormap information using default verbosity (level 1) ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name call info%write() - - !! Filter and write colormap information !! Available filters: name, family, gradient, palette, author, license, levels ! Filter by gradient using default verbosity (level 1) call info%write(gradient='Sequential', palette='Continuous') - + ! Filter by gradient and palette using default verbosity (level 1) call info%write(gradient='Sequential', palette='Continuous') - + ! Filter by family and palette using verbosity level 2 call info%write(family='vik', gradient='Diverging', palette='Continuous', verbose=2) - - !! Write colormap information to a file call info%write(gradient='Sequential', file_name='COLORMAPS_LIST.md', verbose=4) @@ -59,10 +55,8 @@ program write_info call info%write(gradient='Diverging', file_name='COLORMAPS_LIST.md', verbose=4) call info%write(gradient='Categorical', file_name='COLORMAPS_LIST.md', verbose=4) call info%write(gradient='Cyclic', file_name='COLORMAPS_LIST.md', verbose=4) - ! Deallocate all colormap information call info%finalize() end program write_info - diff --git a/tipuesearch/tipuesearch_content.js b/tipuesearch/tipuesearch_content.js index 33bcce3..aec7208 100644 --- a/tipuesearch/tipuesearch_content.js +++ b/tipuesearch/tipuesearch_content.js @@ -1 +1 @@ -var tipuesearch = {"pages":[{"title":" ForColormap ","text":"ForColormap ForColormap This Fortran library is independent of any graphical toolkit: its main functionality is to convert a real value to RGB values that you can use with any drawing toolkit. It offers various methods and options to manage colormaps. It includes: the 222 colormaps of the Scientific colour maps collection v8.0.1 by Fabio Crameri. See Fabio Crameri's poster \"Scientific Colour Maps\" for more information and my No Bijection! text about the mysteries and wonders of colors, the \"magma\", \"inferno\",\"plasma\", \"viridis\" matplotlib colormaps , the Dave Green's cubehelix colormap, a few basic colormaps: \"black_body\", \"fire\", \"rainbow\", \"inv_rainbow\", \"zebra\". Basic usage Assuming your graphical library has a setpixelgb() -like function and you know your z values will be for example in the [0, 2] range, you can write something like: use forcolormap , only : Colormap , wp ... type ( Colormap ) :: cmap integer :: red , green , blue real ( wp ) :: z , x , y ... ! Let's use the glasgow colormap: call cmap % set ( \"glasgow\" , 0.0_wp , 2.0_wp ) ... z = f ( x , y ) call cmap % compute_RGB ( z , red , green , blue ) call setpixelrgb ( x , y , red , green , blue ) The library is using the precision wp=>real64 defined in the module iso_fortran_env . And depending on the integers expected by your graphical library, you may need to convert the kinds of red, green, blue variables by writing for example int(red, kind=int16) if you need 16 bit integers. This guideline can help you choose the right kind of colormap. And you can visually choose the available colormaps in the colormaps_list/ForColormap.pdf manual or on this page (under development): https://github.com/gha3mi/forcolormap/tree/dev Installation Requirements You need, whatever your operating system: a modern Fortran compiler, for example GFortran or the Intel ifort/ifx compilers. See the Fortran-lang.org compilers page for other compilers. The Fortran Package Manager fpm or CMake (>=3.24) & pkg-config for building the project. For writing PPM files, the library ForImage is used as a fpm or CMake dependency (automatically downloaded). Testing the project with fpm If you have a GitHub account, just clone the repository. Then launch the demo example, which is creating PPM files with colormaps and colorbars for all the available colormaps: $ git clone git@github.com:vmagnin/forcolormap.git\n$ cd forcolormap\n$ fpm run --example demo Using ForColormap as a fpm dependency To use ForColormap within your own fpm project, add the following lines to your fpm.toml manifest file: [dependencies] forcolormap = { git = \"https://github.com/vmagnin/forcolormap.git\" } Using CMake You can also build the project with CMake: $ git clone git@github.com:vmagnin/forcolormap.git\n$ cd forcolormap\n$ mkdir build && cd build\n$ cmake ..\n$ make\n$ sudo make install Static linking By default, ForColormap is built as a static library by CMake. You can compile your program with the -static option: $ gfortran -static my_program.f90 $( pkg-config --cflags --libs forcolormap forimage ) Note that ForColormap is depending on ForImage, and for linking you must respect that order. Dynamic linking There is a CMake option to obtain a shared library: $ cmake -D BUILD_SHARED_LIBS = true .. You can compile your program like this: $ gfortran my_program.f90 $( pkg-config --cflags --libs forcolormap ) If you encounter linking problems, you should verify the content of your PKG_CONFIG_PATH and LD_LIBRARY_PATH environment variables. For example, in Ubuntu the .pc files will be installed in /usr/local/lib/pkgconfig/ and the libraries in /usr/local/lib/ . Building examples and tests You can build the examples with: $ cmake -D BUILD_FORCOLORMAP_EXAMPLES = true ..\n$ make\n$ cd example The automatic tests can be run with: $ cmake -D BUILD_TESTING = true ..\n$ make\n$ ctest Uninstalling ForColormap From the build directory: $ sudo make uninstall_forcolormap Note that its dependency ForImage will also be uninstalled! You will have to reinstall it if needed. You can also choose and remove files listed in build/install_manifest.txt one by one. See CMake basics for more information. Learning In the example directory, you will find these commented demos: demo.f90 creates demo PPM files for each built-in colormap, plus a PPM file with the corresponding colorbars. It also demonstrates how to create your own colormap defined in an array and how to download a colormap from a .txt file. demo_reverse.f90 demonstrates the usage of the reverse=.true. option to reverse the direction of a colormap. colormaps_list.f90 generates the colormaps_list/COLORMAPS_LIST_*.md files. example1.f90 demonstrates how ForImage can be used to import/export PPM files. create.f90 demonstrates creating a custom colormap using methods like create_lagrange() and create_bezier() . extract.f90 demonstrates how to create a specific colormap by extracting a specified number of colors of a colormap. info.f90 demonstrates how to obtain information about a colormap using the Colormaps_info class. modify.f90 demonstrates how you can modify a colormap with methods like shift() , in concrete cases. They can be launched with the command fpm run --example name_of_the_example (without the .f90 extension). Licenses This project is under MIT license. The logo files are under license CC BY-SA 4.0 . Citing colormaps As any work, a colormap should be cited: For Scientific colour maps, please cite these two items: Crameri, F. (2018a), Scientific colour maps. Zenodo. http://doi.org/10.5281/zenodo.1243862 Crameri, Fabio, Grace E. Shephard, and Philip J. Heron. “The Misuse of Colour in Science Communication.” Nature Communications 11, no. 1 (October 28, 2020): 5444. https://doi.org/10.1038/s41467-020-19160-7. For the matplotlib colormaps, you can cite this webpage https://bids.github.io/colormap/ For the cubehelix colormap, please cite: Green, D. A. “A Colour Scheme for the Display of Astronomical Intensity Images.” arXiv, August 30, 2011. http://arxiv.org/abs/1108.5083. References Articles and books Nuñez, Jamie R., Christopher R. Anderton, and Ryan S. Renslow. “Optimizing Colormaps with Consideration for Color Vision Deficiency to Enable Accurate Interpretation of Scientific Data.” Edited by Jesús Malo. PLOS ONE 13, no. 7, August 1, 2018, e0199239. https://doi.org/10.1371/journal.pone.0199239. Rogowitz, Bernice E, and Lloyd A Treinish. “Why Should Engineers and Scientists Be Worried About Color?” Thyng, Kristen, Chad Greene, Robert Hetland, Heather Zimmerle, and Steven DiMarco. “True Colors of Oceanography: Guidelines for Effective and Accurate Colormap Selection.” Oceanography 29, no. 3, September 1, 2016, pp. 9–13. https://doi.org/10.5670/oceanog.2016.66. Valeur, Bernard. La couleur dans tous ses éclats. Bibliothèque scientifique. Paris: Belin-\"Pour la science\", 2011, ISBN 9782701158761. Valeur, Bernard. Lumière et luminescence - Ces phénomènes lumineux qui nous entourent. Bibliothèque scientifique. Paris: Belin-\"Pour la science\", 2005, ISBN 9782701136035. Web pages About colormaps https://en.wikipedia.org/wiki/Color_gradient https://en.wikipedia.org/wiki/Heat_map Ken Hughes, \"Default colormaps: Are Parula and Viridis really an improvement over Jet?\" , posted on October 1, 2019. \"In Search of a Perfect Colormap\", http://inversed.ru/Blog_2.htm Specific colormaps Cubehelix (Dave Green, public domain): https://people.phy.cam.ac.uk/dag9/CUBEHELIX/ Scientific colour maps (Fabio Crameri, MIT license): https://www.fabiocrameri.ch/colourmaps/ https://s-ink.org/colour-map-guideline https://s-ink.org/scientific-colour-maps Seminar talk by Fabio Crameri about the scientific use of colour in science communication for the University of Oslo GeoHyd seminar: https://www.youtube.com/watch?v=iDPzWARbFrs Matplotlib colormaps (CC0 license / public domain): Stéfan van der Walt and Nathaniel Smith: https://bids.github.io/colormap/ Python version: https://github.com/BIDS/colormap/blob/master/colormaps.py Nathaniel Smith and Stéfan van der Walt, A Better Default Colormap for Matplotlib, SciPy 2015: https://www.youtube.com/watch?v=xAoljeRJ3lU Black Body colormap (CC0 license / public domain) by Kenneth Moreland: \"Color Map Advice for Scientific Visualization\" . Colors for data scientists. Generate and refine palettes of optimally distinct colors. Developer Info Vincent Magnin,\nSeyed Ali Ghasemi","tags":"home","loc":"index.html"},{"title":"Colormap – ForColormap ","text":"type, public :: Colormap Components Type Visibility Attributes Name Initial integer, private :: levels integer, private, dimension(:, :), allocatable :: map character(len=colormap_name_length), private :: name real(kind=wp), private :: zmax real(kind=wp), private :: zmin Type-Bound Procedures procedure, public :: colorbar => write_ppm_colorbar private impure subroutine write_ppm_colorbar (self, filename, width, height, encoding) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename integer, intent(in), optional :: width integer, intent(in), optional :: height character(len=*), intent(in), optional :: encoding procedure, public :: compute_RGB private pure subroutine compute_RGB (self, z, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self real(kind=wp), intent(in) :: z integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue procedure, public :: create private pure subroutine create (self, name, zmin, zmax, map, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: map logical, intent(in), optional :: reverse procedure, public :: create_bezier private pure subroutine create_bezier (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse procedure, public :: create_lagrange private pure subroutine create_lagrange (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse procedure, public :: extract private pure subroutine extract (self, extractedLevels, name, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: extractedLevels character(len=*), intent(in), optional :: name real(kind=wp), intent(in), optional :: zmin real(kind=wp), intent(in), optional :: zmax logical, intent(in), optional :: reverse procedure, public :: get_RGB private pure subroutine get_RGB (self, level, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: level integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue procedure, public :: get_levels private pure function get_levels (self) result(levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value integer procedure, public :: get_name private pure function get_name (self) result(name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value character(len=colormap_name_length) procedure, public :: get_zmax private pure function get_zmax (self) result(zmax) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) procedure, public :: get_zmin private pure function get_zmin (self) result(zmin) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) procedure, public :: load private impure subroutine load (self, filename, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax logical, intent(in), optional :: reverse procedure, public :: print private impure subroutine print (self) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self procedure, public :: reverse private pure subroutine reverse (self, name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in), optional :: name procedure, public :: set private pure subroutine set (self, name, zmin, zmax, levels, varargs, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), optional :: levels real(kind=wp), intent(in), optional, dimension(:) :: varargs logical, intent(in), optional :: reverse procedure, public :: shift private pure subroutine shift (self, sh) Apply a circular shift to the colormap (left is +, right is -) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: sh The shift procedure, private :: check private pure subroutine check (self, check_name, check_zmin, check_zmax, check_levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self logical, intent(in), optional :: check_name logical, intent(in), optional :: check_zmin logical, intent(in), optional :: check_zmax logical, intent(in), optional :: check_levels Source Code type , public :: Colormap character ( colormap_name_length ), private :: name integer , private :: levels ! Number of levels real ( wp ), private :: zmin , zmax ! z range ! An array containing for each level the associated RGB values: integer , dimension (:, :), allocatable , private :: map contains procedure :: set procedure :: create procedure :: create_lagrange procedure :: create_bezier procedure :: load procedure :: get_RGB procedure :: compute_RGB procedure :: get_name procedure :: get_levels procedure :: get_zmin procedure :: get_zmax procedure :: print procedure :: colorbar => write_ppm_colorbar procedure :: reverse procedure :: shift procedure :: extract procedure , private :: check end type Colormap","tags":"","loc":"type/colormap.html"},{"title":"Colormaps_info – ForColormap ","text":"type, public :: Colormaps_info Inherits type~~colormaps_info~~InheritsGraph type~colormaps_info Colormaps_info type~table table type~colormaps_info->type~table colormaps Help Graph Key Nodes of different colours represent the following: Graph Key Type Type This Page's Entity This Page's Entity Solid arrows point from a derived type to the parent type which it\nextends. Dashed arrows point from a derived type to the other\ntypes it contains as a components, with a label listing the name(s) of\nsaid component(s). Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Components Type Visibility Attributes Name Initial type( table ), private :: colormaps (232) Type-Bound Procedures procedure, public :: finalize => deallocate_Colormaps_info private pure elemental subroutine deallocate_Colormaps_info (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this procedure, public :: get_levels private pure function get_levels (this, index) result(levels) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value integer procedure, public :: get_name private pure elemental function get_name (this, index) result(name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value character(len=colormap_name_length) procedure, public :: get_ncolormaps private pure elemental function get_ncolormaps (this) result(ncolormaps) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this Return Value integer procedure, public :: set_all private pure elemental subroutine set_all (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this procedure, public :: write private impure subroutine write (this, verbose, name, family, gradient, palette, author, license, levels, file_name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: name character(len=*), intent(in), optional :: family character(len=*), intent(in), optional :: gradient character(len=*), intent(in), optional :: palette character(len=*), intent(in), optional :: author character(len=*), intent(in), optional :: license integer, intent(in), optional :: levels character(len=*), intent(in), optional :: file_name Source Code type :: Colormaps_info type ( table ), private :: colormaps ( 232 ) ! Array of 'table' type to store multiple colormaps contains procedure :: set_all ! Procedure to set information for all colormaps in the array procedure :: write ! Procedure to filter and write information about the colormaps procedure :: finalize => deallocate_Colormaps_info ! Procedure to finalize the derived type procedure :: get_ncolormaps ! Procedure to get the number of colormaps procedure :: get_name ! Procedure to get the name of a colormap procedure :: get_levels ! Procedure to get the number of levels in a colormap end type Colormaps_info","tags":"","loc":"type/colormaps_info.html"},{"title":"table – ForColormap ","text":"type, private :: table Inherited by type~~table~~InheritedByGraph type~table table type~colormaps_info Colormaps_info type~colormaps_info->type~table colormaps Help Graph Key Nodes of different colours represent the following: Graph Key Type Type This Page's Entity This Page's Entity Solid arrows point from a derived type to the parent type which it\nextends. Dashed arrows point from a derived type to the other\ntypes it contains as a components, with a label listing the name(s) of\nsaid component(s). Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Components Type Visibility Attributes Name Initial character(len=:), private, allocatable :: author character(len=:), private, allocatable :: colorbar character(len=:), private, allocatable :: family character(len=:), private, allocatable :: gradient integer, private :: levels character(len=:), private, allocatable :: license character(len=:), private, allocatable :: name character(len=:), private, allocatable :: package character(len=:), private, allocatable :: palette character(len=:), private, allocatable :: url Type-Bound Procedures procedure, public :: finalize => deallocate_table private pure elemental subroutine deallocate_table (this) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this procedure, public :: set_info private pure elemental subroutine set_info (this, package, family, name, gradient, palette, author, license, url, colorbar, levels) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this character(len=*), intent(in) :: package character(len=*), intent(in) :: family character(len=*), intent(in) :: name character(len=*), intent(in) :: gradient character(len=*), intent(in) :: palette character(len=*), intent(in) :: author character(len=*), intent(in) :: license character(len=*), intent(in) :: url character(len=*), intent(in) :: colorbar integer, intent(in) :: levels procedure, public :: write_info private impure subroutine write_info (this, verbose, file_name) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: file_name Source Code type :: table character ( len = :), allocatable , private :: name ! Name of the colormap character ( len = :), allocatable , private :: family ! Family or category of the colormap character ( len = :), allocatable , private :: gradient ! Type of gradient used in the colormap character ( len = :), allocatable , private :: palette ! Palette used in the colormap character ( len = :), allocatable , private :: colorbar ! Colorbar style associated with the colormap character ( len = :), allocatable , private :: package ! Package or library associated with the colormap character ( len = :), allocatable , private :: author ! Author of the colormap character ( len = :), allocatable , private :: license ! License information for the colormap character ( len = :), allocatable , private :: url ! URL or web link to the colormap information integer , private :: levels ! Number of discrete levels in the colormap contains procedure :: set_info ! Procedure to set information for the colormap procedure :: write_info ! Procedure to print information about the colormap procedure :: finalize => deallocate_table ! Procedure to finalize the derived type end type table","tags":"","loc":"type/table.html"},{"title":"error – ForColormap","text":"impure subroutine error(status, input_name, input_zmin, input_zmax, input_levels) Uses colormap_parameters proc~~error~~UsesGraph proc~error colormap_class.f90::error module~colormap_parameters colormap_parameters proc~error->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Arguments Type Intent Optional Attributes Name logical, intent(in), dimension(:) :: status character(len=*), intent(in) :: input_name real(kind=wp), intent(in) :: input_zmin real(kind=wp), intent(in) :: input_zmax integer, intent(in) :: input_levels Source Code pure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) import wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels end subroutine error","tags":"","loc":"proc/error.html"},{"title":"bezier – ForColormap","text":"private pure function bezier(colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable Calls proc~~bezier~~CallsGraph proc~bezier forcolormap::bezier proc~factorial forcolormap::factorial proc~bezier->proc~factorial Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~bezier~~CalledByGraph proc~bezier forcolormap::bezier proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~bezier program~create create program~create->proc~create_bezier Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function bezier ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Bezier curve order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Bezier interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i ,:) = map_r ( i ,:) + real ( colors ( j + 1 ,:), wp ) * & real ( factorial ( order ), wp ) / ( real ( factorial ( j ), wp ) * real ( factorial ( order - j ), wp )) * t ** j * ( 1.0_wp - t ) ** ( order - j ) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function bezier","tags":"","loc":"proc/bezier.html"},{"title":"factorial – ForColormap","text":"private pure function factorial(n) result(result) Arguments Type Intent Optional Attributes Name integer, intent(in) :: n Return Value integer Called by proc~~factorial~~CalledByGraph proc~factorial forcolormap::factorial proc~bezier forcolormap::bezier proc~bezier->proc~factorial proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~bezier program~create create program~create->proc~create_bezier Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function factorial ( n ) result ( result ) integer , intent ( in ) :: n integer :: result , i result = 1 do concurrent ( i = 2 : n ) result = result * i end do end function factorial","tags":"","loc":"proc/factorial.html"},{"title":"get_levels – ForColormap","text":"private pure function get_levels(self) result(levels) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value integer Called by proc~~get_levels~~CalledByGraph proc~get_levels forcolormap::Colormap%get_levels program~demo demo program~demo->proc~get_levels program~demo_reverse demo_reverse program~demo_reverse->proc~get_levels program~modify modify program~modify->proc~get_levels Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_levels.html"},{"title":"get_name – ForColormap","text":"private pure function get_name(self) result(name) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value character(len=colormap_name_length) Called by proc~~get_name~~CalledByGraph proc~get_name forcolormap::Colormap%get_name program~demo demo program~demo->proc~get_name program~demo_reverse demo_reverse program~demo_reverse->proc~get_name Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_name.html"},{"title":"get_zmax – ForColormap","text":"private pure function get_zmax(self) result(zmax) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) Called by proc~~get_zmax~~CalledByGraph proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~get_zmax program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_zmax.html"},{"title":"get_zmin – ForColormap","text":"private pure function get_zmin(self) result(zmin) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) Called by proc~~get_zmin~~CalledByGraph proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~get_zmin program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_zmin.html"},{"title":"lagrange – ForColormap","text":"private pure function lagrange(colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable Calls proc~~lagrange~~CallsGraph proc~lagrange forcolormap::lagrange proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange->proc~lagrange_poly Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~lagrange~~CalledByGraph proc~lagrange forcolormap::lagrange proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~lagrange program~create create program~create->proc~create_lagrange Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function lagrange ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Lagrange interpolation. order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Lagrange interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i , 1 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 1 ), wp )) map_r ( i , 2 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 2 ), wp )) map_r ( i , 3 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 3 ), wp )) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function lagrange","tags":"","loc":"proc/lagrange.html"},{"title":"lagrange_poly – ForColormap","text":"private pure function lagrange_poly(t, n) result(B) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in) :: t integer, intent(in) :: n order + 1 Return Value real(kind=wp), allocatable, (:) Called by proc~~lagrange_poly~~CalledByGraph proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange forcolormap::lagrange proc~lagrange->proc~lagrange_poly proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~lagrange program~create create program~create->proc~create_lagrange Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function lagrange_poly ( t , n ) result ( B ) real ( wp ), intent ( in ) :: t integer , intent ( in ) :: n !! order + 1 real ( wp ), allocatable :: B (:) integer :: i , l real ( wp ), dimension (:), allocatable :: Xth ! Create an array of n equidistant points between 0 and 1 allocate ( Xth ( n ), source = 0.0_wp ) do i = 1 , n - 1 Xth ( i ) = 0.0_wp + real ( i - 1 , wp ) * ( 1.0_wp - ( 0.0_wp )) / real ( n - 1 , wp ) end do Xth ( n ) = 1.0_wp allocate ( B ( n ), source = 1.0_wp ) l = 0 i = 0 do i = 1 , n do l = 1 , n if ( l /= i ) then if ( abs ( Xth ( i ) - Xth ( l )) >= tiny ( 0.0_wp )) then B ( i ) = B ( i ) * ( t - Xth ( l )) / ( Xth ( i ) - Xth ( l )) end if end if end do end do end function lagrange_poly","tags":"","loc":"proc/lagrange_poly.html"},{"title":"scale_real_int – ForColormap","text":"private pure function scale_real_int(real_array, a, b) result(int_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array integer, intent(in) :: a integer, intent(in) :: b Return Value integer, dimension(size(real_array)) Calls proc~~scale_real_int~~CallsGraph proc~scale_real_int forcolormap::scale_real_int proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int->proc~scale_real_real Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~scale_real_int~~CalledByGraph proc~scale_real_int forcolormap::scale_real_int proc~extract forcolormap::Colormap%extract proc~extract->proc~scale_real_int program~extract extract program~extract->proc~extract Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function scale_real_int ( real_array , a , b ) result ( int_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array integer , intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: normalizedArray integer , dimension ( size ( real_array )) :: int_scaled_array ! Normalize the real array elements to the range [0, 1] normalizedArray = scale_real_real ( real_array , 0.0_wp , 1.0_wp ) ! Scale the real array elements between a and b int_scaled_array = a + nint (( b - a ) * normalizedArray ) end function scale_real_int","tags":"","loc":"proc/scale_real_int.html"},{"title":"scale_real_real – ForColormap","text":"private pure function scale_real_real(real_array, a, b) result(real_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array real(kind=wp), intent(in) :: a real(kind=wp), intent(in) :: b Return Value real(kind=wp), dimension(size(real_array)) Called by proc~~scale_real_real~~CalledByGraph proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int forcolormap::scale_real_int proc~scale_real_int->proc~scale_real_real proc~extract forcolormap::Colormap%extract proc~extract->proc~scale_real_int program~extract extract program~extract->proc~extract Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function scale_real_real ( real_array , a , b ) result ( real_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array real ( wp ), intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: real_scaled_array real ( wp ) :: minValue , maxValue real ( wp ), parameter :: tolerance = 1.0e-12_wp ! Find minimum and maximum values in the input real array minValue = minval ( real_array ) maxValue = maxval ( real_array ) if ( abs ( maxValue - minValue ) < tolerance ) then real_scaled_array = b else real_scaled_array = a + ( b - a ) * ( real_array - minValue ) / ( maxValue - minValue ) end if end function scale_real_real","tags":"","loc":"proc/scale_real_real.html"},{"title":"check – ForColormap","text":"private pure subroutine check(self, check_name, check_zmin, check_zmax, check_levels) Uses forcolormap_info proc~~check~~UsesGraph proc~check forcolormap::Colormap%check module~forcolormap_info forcolormap_info proc~check->module~forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self logical, intent(in), optional :: check_name logical, intent(in), optional :: check_zmin logical, intent(in), optional :: check_zmax logical, intent(in), optional :: check_levels Calls proc~~check~~CallsGraph proc~check forcolormap::Colormap%check proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~check~~CalledByGraph proc~check forcolormap::Colormap%check proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine check ( self , check_name , check_zmin , check_zmax , check_levels ) use forcolormap_info , only : Colormaps_info class ( Colormap ), intent ( inout ) :: self logical , dimension ( 4 ) :: status logical , intent ( in ), optional :: check_name , check_zmin , check_zmax , check_levels real ( wp ) :: temp type ( Colormaps_info ) :: cmap_info integer :: input_levels , i , levels real ( wp ) :: input_zmin , input_zmax character (:), allocatable :: input_name interface pure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) import wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels end subroutine error end interface ! Save input parameters for error message input_levels = self % levels input_zmin = self % zmin input_zmax = self % zmax input_name = self % name ! Initialize status array status = . true . call cmap_info % set_all () if ( present ( check_name )) then if ( check_name ) then ! Check if the colormap is valid if (. not . any ( self % name == colormaps_list )) status ( 1 ) = . false . ! Fix the colormap if it is not valid if ( status ( 1 ) . eqv . . false .) self % name = \"grayC\" ! Find the number of levels of the colormap do i = 1 , cmap_info % get_ncolormaps () if ( self % name == trim ( cmap_info % get_name ( i ))) then levels = cmap_info % get_levels ( i ) exit end if end do ! Check if the number of levels is valid if ( levels /= self % levels . or . self % levels < 1 ) then if ( self % levels /= - 256 ) then if ( levels /= - 1 ) then status ( 3 ) = . false . self % levels = levels end if else self % levels = 256 end if end if ! Fix the number of levels if it is not valid if ( status ( 3 ) . eqv . . false .) then self % levels = levels end if end if end if if ( present ( check_zmin )) then if ( check_zmin ) then ! Check validity of zmin and zmax if ( self % zmin > self % zmax ) status ( 2 ) = . false . ! Fix zmin and zmax if they are not valid if ( status ( 2 ) . eqv . . false .) then temp = self % zmin self % zmin = self % zmax self % zmax = temp end if end if end if if ( present ( check_levels )) then if ( check_levels ) then ! Check if the number of levels is valid if ( self % levels < 1 ) then status ( 4 ) = . false . self % levels = 256 end if end if end if ! Call error subroutine if any status is false if ( any ( status . eqv . . false .))& call error ( status , input_name , input_zmin , input_zmax , input_levels ) end subroutine check","tags":"","loc":"proc/check.html"},{"title":"compute_RGB – ForColormap","text":"private pure subroutine compute_RGB(self, z, red, green, blue) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self real(kind=wp), intent(in) :: z integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue Calls proc~~compute_rgb~~CallsGraph proc~compute_rgb forcolormap::Colormap%compute_RGB proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~compute_rgb~~CalledByGraph proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~compute_rgb program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/compute_rgb.html"},{"title":"create – ForColormap","text":"private pure subroutine create(self, name, zmin, zmax, map, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: map logical, intent(in), optional :: reverse Calls proc~~create~~CallsGraph proc~create forcolormap::Colormap%create proc~check forcolormap::Colormap%check proc~create->proc~check proc~reverse forcolormap::Colormap%reverse proc~create->proc~reverse proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~create~~CalledByGraph proc~create forcolormap::Colormap%create proc~extract forcolormap::Colormap%extract proc~extract->proc~create proc~set forcolormap::Colormap%set proc~set->proc~create program~demo demo program~demo->proc~create program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~set program~extract extract program~extract->proc~extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/create.html"},{"title":"create_bezier – ForColormap","text":"private pure subroutine create_bezier(self, name, zmin, zmax, colors, levels, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse Calls proc~~create_bezier~~CallsGraph proc~create_bezier forcolormap::Colormap%create_bezier proc~bezier forcolormap::bezier proc~create_bezier->proc~bezier proc~check forcolormap::Colormap%check proc~create_bezier->proc~check proc~reverse forcolormap::Colormap%reverse proc~create_bezier->proc~reverse proc~factorial forcolormap::factorial proc~bezier->proc~factorial proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~create_bezier~~CalledByGraph proc~create_bezier forcolormap::Colormap%create_bezier program~create create program~create->proc~create_bezier Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/create_bezier.html"},{"title":"create_lagrange – ForColormap","text":"private pure subroutine create_lagrange(self, name, zmin, zmax, colors, levels, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse Calls proc~~create_lagrange~~CallsGraph proc~create_lagrange forcolormap::Colormap%create_lagrange proc~check forcolormap::Colormap%check proc~create_lagrange->proc~check proc~lagrange forcolormap::lagrange proc~create_lagrange->proc~lagrange proc~reverse forcolormap::Colormap%reverse proc~create_lagrange->proc~reverse proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange->proc~lagrange_poly proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~create_lagrange~~CalledByGraph proc~create_lagrange forcolormap::Colormap%create_lagrange program~create create program~create->proc~create_lagrange Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/create_lagrange.html"},{"title":"extract – ForColormap","text":"private pure subroutine extract(self, extractedLevels, name, zmin, zmax, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: extractedLevels character(len=*), intent(in), optional :: name real(kind=wp), intent(in), optional :: zmin real(kind=wp), intent(in), optional :: zmax logical, intent(in), optional :: reverse Calls proc~~extract~~CallsGraph proc~extract forcolormap::Colormap%extract proc~create forcolormap::Colormap%create proc~extract->proc~create proc~reverse forcolormap::Colormap%reverse proc~extract->proc~reverse proc~scale_real_int forcolormap::scale_real_int proc~extract->proc~scale_real_int proc~create->proc~reverse proc~check forcolormap::Colormap%check proc~create->proc~check proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int->proc~scale_real_real proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~extract~~CalledByGraph proc~extract forcolormap::Colormap%extract program~extract extract program~extract->proc~extract Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine extract ( self , extractedLevels , name , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: extractedLevels character ( * ), intent ( in ), optional :: name real ( wp ), intent ( in ), optional :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: extracted_map ( extractedLevels , 3 ) integer :: ind ( extractedLevels , 3 ) real ( wp ) :: ind_rel ( extractedLevels , 3 ), array_rel ( self % levels , 3 ), step ( 3 ), current_element ( 3 ) integer :: i integer , dimension ( self % levels , 3 ) :: array character ( 3 ) :: extractedLevels_char ! Initialize array with indices do concurrent ( i = 1 : self % levels ) array ( i ,:) = i - 1 end do ! Normalize array elements to the range [0, 1] do concurrent ( i = 1 : 3 ) array_rel (:, i ) = array (:, i ) / maxval ( array (:, i )) end do ! Check if the number of extractedLevels is valid if ( extractedLevels <= 1 . or . extractedLevels > self % levels ) then error stop \"Error: Invalid number of extractedLevels. Must be > 1 and <= levels\" end if step (:) = array_rel ( self % levels ,:) / real ( extractedLevels - 1 , kind = wp ) current_element (:) = array_rel ( 1 ,:) do i = 1 , extractedLevels ind_rel ( i ,:) = current_element current_element = current_element + step end do ! Scale interpolated indices to integers between 0 and self%levels - 1 do concurrent ( i = 1 : 3 ) ind (:, i ) = scale_real_int ( ind_rel (:, i ), 0 , self % levels - 1 ) end do ! Extract colors from the colormap based on interpolated indices do concurrent ( i = 1 : 3 ) extracted_map (:, i ) = self % map ( ind (:, i ), i ) end do ! Set colormap name if provided, otherwise use the number of levels as part of the name if ( present ( name )) then self % name = name else write ( extractedLevels_char , '(I3)' ) extractedLevels self % name = self % name // trim ( extractedLevels_char ) end if ! Set zmin and zmax if provided if ( present ( zmin )) self % zmin = zmin if ( present ( zmax )) self % zmax = zmax ! Create the extracted colormap with the specified parameters call self % create ( self % name , self % zmin , self % zmax , extracted_map ) if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine extract","tags":"","loc":"proc/extract.html"},{"title":"get_RGB – ForColormap","text":"private pure subroutine get_RGB(self, level, red, green, blue) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: level integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue Called by proc~~get_rgb~~CalledByGraph proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb forcolormap::Colormap%compute_RGB proc~compute_rgb->proc~get_rgb proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~compute_rgb program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_rgb.html"},{"title":"load – ForColormap","text":"private impure subroutine load(self, filename, zmin, zmax, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax logical, intent(in), optional :: reverse Calls proc~~load~~CallsGraph proc~load forcolormap::Colormap%load proc~check forcolormap::Colormap%check proc~load->proc~check proc~reverse forcolormap::Colormap%reverse proc~load->proc~reverse proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~load~~CalledByGraph proc~load forcolormap::Colormap%load program~demo demo program~demo->proc~load program~demo_reverse demo_reverse program~demo_reverse->proc~load program~example1 example1 program~example1->proc~load Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine load ( self , filename , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename real ( wp ), intent ( in ) :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: i , n integer :: red , green , blue logical :: file_found integer :: file_unit , ios inquire ( file = filename , exist = file_found ) if ( file_found ) then ! We first count the number of lines (RGB triplets): n = 0 open ( newunit = file_unit , file = filename ) do read ( file_unit , '(3I3)' , iostat = ios ) red , green , blue if ( ios /= 0 ) exit n = n + 1 end do close ( file_unit ) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if allocate ( self % map ( 0 : n - 1 , 1 : 3 )) ! Then we read them and put them in the map: open ( newunit = file_unit , file = filename ) do i = 0 , n - 1 read ( file_unit , * , iostat = ios ) red , green , blue self % map ( i , 1 : 3 ) = [ red , green , blue ] ! Should not happen: if ( ios /= 0 ) exit end do close ( file_unit ) self % name = trim ( filename ) self % zmin = zmin self % zmax = zmax self % levels = n call self % check ( check_zmin = . true ., check_zmax = . true .) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if else stop \"ERROR: COLORMAP FILE NOT FOUND!\" end if end subroutine load","tags":"","loc":"proc/load.html"},{"title":"print – ForColormap","text":"private impure subroutine print(self) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self","tags":"","loc":"proc/print.html"},{"title":"reverse – ForColormap","text":"private pure subroutine reverse(self, name) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in), optional :: name Called by proc~~reverse~~CalledByGraph proc~reverse forcolormap::Colormap%reverse proc~create forcolormap::Colormap%create proc~create->proc~reverse proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~reverse proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~reverse proc~extract forcolormap::Colormap%extract proc~extract->proc~reverse proc~extract->proc~create proc~load forcolormap::Colormap%load proc~load->proc~reverse proc~set forcolormap::Colormap%set proc~set->proc~reverse proc~set->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine reverse ( self , name ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ), optional :: name self % map (:,:) = self % map ( size ( self % map , 1 ) - 1 : 0 : - 1 , :) if ( present ( name )) then self % name = trim ( name ) else self % name = trim ( self % name ) // '_reverse' end if end subroutine reverse","tags":"","loc":"proc/reverse.html"},{"title":"set – ForColormap","text":"private pure subroutine set(self, name, zmin, zmax, levels, varargs, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), optional :: levels real(kind=wp), intent(in), optional, dimension(:) :: varargs logical, intent(in), optional :: reverse Calls proc~~set~~CallsGraph proc~set forcolormap::Colormap%set proc~check forcolormap::Colormap%check proc~set->proc~check proc~create forcolormap::Colormap%create proc~set->proc~create proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~reverse forcolormap::Colormap%reverse proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~create->proc~check proc~create->proc~reverse proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~set~~CalledByGraph proc~set forcolormap::Colormap%set program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine set ( self , name , zmin , zmax , levels , varargs , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , intent ( in ), optional :: levels real ( wp ), dimension (:), intent ( in ), optional :: varargs logical , intent ( in ), optional :: reverse self % name = trim ( name ) self % zmin = zmin self % zmax = zmax if ( present ( levels )) then self % levels = levels else self % levels = - 256 ! This value will be fixed in the check() procedure end if ! Check validity of the colormap and fix it if necessary call self % check ( check_name = . true ., check_zmin = . true ., check_zmax = . true ., check_levels = . true .) select case ( self % name ) ! Miscellaneous colormaps collection case ( \"fire\" ) ! Best with 256 levels but you can try other numbers: call fire_colormap ( self % levels , self % map ) case ( \"rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call rainbow_colormap ( self % map ) case ( \"inv_rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call inv_rainbow_colormap ( self % map ) case ( \"zebra\" ) ! The user can not choose the number of levels: self % levels = 256 call zebra_colormap ( self % map ) case ( \"cubehelix\" ) if ( present ( varargs )) then call cubehelix_colormap ( self % map , self % levels , varargs ) else call cubehelix_colormap ( self % map , self % levels ) end if ! Scientific colour maps collection (Fabio Crameri) ! (The user can not choose the number of levels) case ( \"acton\" ) call self % create ( self % name , self % zmin , self % zmax , acton ) case ( \"acton10\" ) call self % create ( self % name , self % zmin , self % zmax , acton10 ) case ( \"acton100\" ) call self % create ( self % name , self % zmin , self % zmax , acton100 ) case ( \"acton25\" ) call self % create ( self % name , self % zmin , self % zmax , acton25 ) case ( \"acton50\" ) call self % create ( self % name , self % zmin , self % zmax , acton50 ) case ( \"actonS\" ) call self % create ( self % name , self % zmin , self % zmax , actonS ) case ( \"bam\" ) call self % create ( self % name , self % zmin , self % zmax , bam ) case ( \"bam10\" ) call self % create ( self % name , self % zmin , self % zmax , bam10 ) case ( \"bam100\" ) call self % create ( self % name , self % zmin , self % zmax , bam100 ) case ( \"bam25\" ) call self % create ( self % name , self % zmin , self % zmax , bam25 ) case ( \"bam50\" ) call self % create ( self % name , self % zmin , self % zmax , bam50 ) case ( \"bamako\" ) call self % create ( self % name , self % zmin , self % zmax , bamako ) case ( \"bamako10\" ) call self % create ( self % name , self % zmin , self % zmax , bamako10 ) case ( \"bamako100\" ) call self % create ( self % name , self % zmin , self % zmax , bamako100 ) case ( \"bamako25\" ) call self % create ( self % name , self % zmin , self % zmax , bamako25 ) case ( \"bamako50\" ) call self % create ( self % name , self % zmin , self % zmax , bamako50 ) case ( \"bamakoS\" ) call self % create ( self % name , self % zmin , self % zmax , bamakoS ) case ( \"bamO\" ) call self % create ( self % name , self % zmin , self % zmax , bamO ) case ( \"bamO10\" ) call self % create ( self % name , self % zmin , self % zmax , bamO10 ) case ( \"bamO100\" ) call self % create ( self % name , self % zmin , self % zmax , bamO100 ) case ( \"bamO25\" ) call self % create ( self % name , self % zmin , self % zmax , bamO25 ) case ( \"bamO50\" ) call self % create ( self % name , self % zmin , self % zmax , bamO50 ) case ( \"batlow\" ) call self % create ( self % name , self % zmin , self % zmax , batlow ) case ( \"batlow10\" ) call self % create ( self % name , self % zmin , self % zmax , batlow10 ) case ( \"batlow100\" ) call self % create ( self % name , self % zmin , self % zmax , batlow100 ) case ( \"batlow25\" ) call self % create ( self % name , self % zmin , self % zmax , batlow25 ) case ( \"batlow50\" ) call self % create ( self % name , self % zmin , self % zmax , batlow50 ) case ( \"batlowK\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK ) case ( \"batlowK10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK10 ) case ( \"batlowK100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK100 ) case ( \"batlowK25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK25 ) case ( \"batlowK50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK50 ) case ( \"batlowKS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowKS ) case ( \"batlowS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowS ) case ( \"batlowW\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW ) case ( \"batlowW10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW10 ) case ( \"batlowW100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW100 ) case ( \"batlowW25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW25 ) case ( \"batlowW50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW50 ) case ( \"batlowWS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowWS ) case ( \"berlin\" ) call self % create ( self % name , self % zmin , self % zmax , berlin ) case ( \"berlin10\" ) call self % create ( self % name , self % zmin , self % zmax , berlin10 ) case ( \"berlin100\" ) call self % create ( self % name , self % zmin , self % zmax , berlin100 ) case ( \"berlin25\" ) call self % create ( self % name , self % zmin , self % zmax , berlin25 ) case ( \"berlin50\" ) call self % create ( self % name , self % zmin , self % zmax , berlin50 ) case ( \"bilbao\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao ) case ( \"bilbao10\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao10 ) case ( \"bilbao100\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao100 ) case ( \"bilbao25\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao25 ) case ( \"bilbao50\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao50 ) case ( \"bilbaoS\" ) call self % create ( self % name , self % zmin , self % zmax , bilbaoS ) case ( \"broc\" ) call self % create ( self % name , self % zmin , self % zmax , broc ) case ( \"broc10\" ) call self % create ( self % name , self % zmin , self % zmax , broc10 ) case ( \"broc100\" ) call self % create ( self % name , self % zmin , self % zmax , broc100 ) case ( \"broc25\" ) call self % create ( self % name , self % zmin , self % zmax , broc25 ) case ( \"broc50\" ) call self % create ( self % name , self % zmin , self % zmax , broc50 ) case ( \"brocO\" ) call self % create ( self % name , self % zmin , self % zmax , brocO ) case ( \"brocO10\" ) call self % create ( self % name , self % zmin , self % zmax , brocO10 ) case ( \"brocO100\" ) call self % create ( self % name , self % zmin , self % zmax , brocO100 ) case ( \"brocO25\" ) call self % create ( self % name , self % zmin , self % zmax , brocO25 ) case ( \"brocO50\" ) call self % create ( self % name , self % zmin , self % zmax , brocO50 ) case ( \"buda\" ) call self % create ( self % name , self % zmin , self % zmax , buda ) case ( \"buda10\" ) call self % create ( self % name , self % zmin , self % zmax , buda10 ) case ( \"buda100\" ) call self % create ( self % name , self % zmin , self % zmax , buda100 ) case ( \"buda25\" ) call self % create ( self % name , self % zmin , self % zmax , buda25 ) case ( \"buda50\" ) call self % create ( self % name , self % zmin , self % zmax , buda50 ) case ( \"budaS\" ) call self % create ( self % name , self % zmin , self % zmax , budaS ) case ( \"bukavu\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu ) case ( \"bukavu10\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu10 ) case ( \"bukavu100\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu100 ) case ( \"bukavu25\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu25 ) case ( \"bukavu50\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu50 ) case ( \"cork\" ) call self % create ( self % name , self % zmin , self % zmax , cork ) case ( \"cork10\" ) call self % create ( self % name , self % zmin , self % zmax , cork10 ) case ( \"cork100\" ) call self % create ( self % name , self % zmin , self % zmax , cork100 ) case ( \"cork25\" ) call self % create ( self % name , self % zmin , self % zmax , cork25 ) case ( \"cork50\" ) call self % create ( self % name , self % zmin , self % zmax , cork50 ) case ( \"corkO\" ) call self % create ( self % name , self % zmin , self % zmax , corkO ) case ( \"corkO10\" ) call self % create ( self % name , self % zmin , self % zmax , corkO10 ) case ( \"corkO100\" ) call self % create ( self % name , self % zmin , self % zmax , corkO100 ) case ( \"corkO25\" ) call self % create ( self % name , self % zmin , self % zmax , corkO25 ) case ( \"corkO50\" ) call self % create ( self % name , self % zmin , self % zmax , corkO50 ) case ( \"davos\" ) call self % create ( self % name , self % zmin , self % zmax , davos ) case ( \"davos10\" ) call self % create ( self % name , self % zmin , self % zmax , davos10 ) case ( \"davos100\" ) call self % create ( self % name , self % zmin , self % zmax , davos100 ) case ( \"davos25\" ) call self % create ( self % name , self % zmin , self % zmax , davos25 ) case ( \"davos50\" ) call self % create ( self % name , self % zmin , self % zmax , davos50 ) case ( \"davosS\" ) call self % create ( self % name , self % zmin , self % zmax , davosS ) case ( \"devon\" ) call self % create ( self % name , self % zmin , self % zmax , devon ) case ( \"devon10\" ) call self % create ( self % name , self % zmin , self % zmax , devon10 ) case ( \"devon100\" ) call self % create ( self % name , self % zmin , self % zmax , devon100 ) case ( \"devon25\" ) call self % create ( self % name , self % zmin , self % zmax , devon25 ) case ( \"devon50\" ) call self % create ( self % name , self % zmin , self % zmax , devon50 ) case ( \"devonS\" ) call self % create ( self % name , self % zmin , self % zmax , devonS ) case ( \"fes\" ) call self % create ( self % name , self % zmin , self % zmax , fes ) case ( \"fes10\" ) call self % create ( self % name , self % zmin , self % zmax , fes10 ) case ( \"fes100\" ) call self % create ( self % name , self % zmin , self % zmax , fes100 ) case ( \"fes25\" ) call self % create ( self % name , self % zmin , self % zmax , fes25 ) case ( \"fes50\" ) call self % create ( self % name , self % zmin , self % zmax , fes50 ) case ( \"glasgow\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow ) case ( \"glasgow10\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow10 ) case ( \"glasgow100\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow100 ) case ( \"glasgow25\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow25 ) case ( \"glasgow50\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow50 ) case ( \"glasgowS\" ) call self % create ( self % name , self % zmin , self % zmax , glasgowS ) case ( \"grayC\" ) call self % create ( self % name , self % zmin , self % zmax , grayC ) case ( \"grayC10\" ) call self % create ( self % name , self % zmin , self % zmax , grayC10 ) case ( \"grayC100\" ) call self % create ( self % name , self % zmin , self % zmax , grayC100 ) case ( \"grayC25\" ) call self % create ( self % name , self % zmin , self % zmax , grayC25 ) case ( \"grayC50\" ) call self % create ( self % name , self % zmin , self % zmax , grayC50 ) case ( \"grayCS\" ) call self % create ( self % name , self % zmin , self % zmax , grayCS ) case ( \"hawaii\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii ) case ( \"hawaii10\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii10 ) case ( \"hawaii100\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii100 ) case ( \"hawaii25\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii25 ) case ( \"hawaii50\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii50 ) case ( \"hawaiiS\" ) call self % create ( self % name , self % zmin , self % zmax , hawaiiS ) case ( \"imola\" ) call self % create ( self % name , self % zmin , self % zmax , imola ) case ( \"imola10\" ) call self % create ( self % name , self % zmin , self % zmax , imola10 ) case ( \"imola100\" ) call self % create ( self % name , self % zmin , self % zmax , imola100 ) case ( \"imola25\" ) call self % create ( self % name , self % zmin , self % zmax , imola25 ) case ( \"imola50\" ) call self % create ( self % name , self % zmin , self % zmax , imola50 ) case ( \"imolaS\" ) call self % create ( self % name , self % zmin , self % zmax , imolaS ) case ( \"lajolla\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla ) case ( \"lajolla10\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla10 ) case ( \"lajolla100\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla100 ) case ( \"lajolla25\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla25 ) case ( \"lajolla50\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla50 ) case ( \"lajollaS\" ) call self % create ( self % name , self % zmin , self % zmax , lajollaS ) case ( \"lapaz\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz ) case ( \"lapaz10\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz10 ) case ( \"lapaz100\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz100 ) case ( \"lapaz25\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz25 ) case ( \"lapaz50\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz50 ) case ( \"lapazS\" ) call self % create ( self % name , self % zmin , self % zmax , lapazS ) case ( \"lipari\" ) call self % create ( self % name , self % zmin , self % zmax , lipari ) case ( \"lipari10\" ) call self % create ( self % name , self % zmin , self % zmax , lipari10 ) case ( \"lipari100\" ) call self % create ( self % name , self % zmin , self % zmax , lipari100 ) case ( \"lipari25\" ) call self % create ( self % name , self % zmin , self % zmax , lipari25 ) case ( \"lipari50\" ) call self % create ( self % name , self % zmin , self % zmax , lipari50 ) case ( \"lipariS\" ) call self % create ( self % name , self % zmin , self % zmax , lipariS ) case ( \"lisbon\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon ) case ( \"lisbon10\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon10 ) case ( \"lisbon100\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon100 ) case ( \"lisbon25\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon25 ) case ( \"lisbon50\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon50 ) case ( \"managua\" ) call self % create ( self % name , self % zmin , self % zmax , managua ) case ( \"managua10\" ) call self % create ( self % name , self % zmin , self % zmax , managua10 ) case ( \"managua100\" ) call self % create ( self % name , self % zmin , self % zmax , managua100 ) case ( \"managua25\" ) call self % create ( self % name , self % zmin , self % zmax , managua25 ) case ( \"managua50\" ) call self % create ( self % name , self % zmin , self % zmax , managua50 ) case ( \"navia\" ) call self % create ( self % name , self % zmin , self % zmax , navia ) case ( \"navia10\" ) call self % create ( self % name , self % zmin , self % zmax , navia10 ) case ( \"navia100\" ) call self % create ( self % name , self % zmin , self % zmax , navia100 ) case ( \"navia25\" ) call self % create ( self % name , self % zmin , self % zmax , navia25 ) case ( \"navia50\" ) call self % create ( self % name , self % zmin , self % zmax , navia50 ) case ( \"naviaS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaS ) case ( \"naviaW\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW ) case ( \"naviaW10\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW10 ) case ( \"naviaW100\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW100 ) case ( \"naviaW25\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW25 ) case ( \"naviaW50\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW50 ) case ( \"naviaWS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaWS ) case ( \"nuuk\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk ) case ( \"nuuk10\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk10 ) case ( \"nuuk100\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk100 ) case ( \"nuuk25\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk25 ) case ( \"nuuk50\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk50 ) case ( \"nuukS\" ) call self % create ( self % name , self % zmin , self % zmax , nuukS ) case ( \"oleron\" ) call self % create ( self % name , self % zmin , self % zmax , oleron ) case ( \"oleron10\" ) call self % create ( self % name , self % zmin , self % zmax , oleron10 ) case ( \"oleron100\" ) call self % create ( self % name , self % zmin , self % zmax , oleron100 ) case ( \"oleron25\" ) call self % create ( self % name , self % zmin , self % zmax , oleron25 ) case ( \"oleron50\" ) call self % create ( self % name , self % zmin , self % zmax , oleron50 ) case ( \"oslo\" ) call self % create ( self % name , self % zmin , self % zmax , oslo ) case ( \"oslo10\" ) call self % create ( self % name , self % zmin , self % zmax , oslo10 ) case ( \"oslo100\" ) call self % create ( self % name , self % zmin , self % zmax , oslo100 ) case ( \"oslo25\" ) call self % create ( self % name , self % zmin , self % zmax , oslo25 ) case ( \"oslo50\" ) call self % create ( self % name , self % zmin , self % zmax , oslo50 ) case ( \"osloS\" ) call self % create ( self % name , self % zmin , self % zmax , osloS ) case ( \"roma\" ) call self % create ( self % name , self % zmin , self % zmax , roma ) case ( \"roma10\" ) call self % create ( self % name , self % zmin , self % zmax , roma10 ) case ( \"roma100\" ) call self % create ( self % name , self % zmin , self % zmax , roma100 ) case ( \"roma25\" ) call self % create ( self % name , self % zmin , self % zmax , roma25 ) case ( \"roma50\" ) call self % create ( self % name , self % zmin , self % zmax , roma50 ) case ( \"romaO\" ) call self % create ( self % name , self % zmin , self % zmax , romaO ) case ( \"romaO10\" ) call self % create ( self % name , self % zmin , self % zmax , romaO10 ) case ( \"romaO100\" ) call self % create ( self % name , self % zmin , self % zmax , romaO100 ) case ( \"romaO25\" ) call self % create ( self % name , self % zmin , self % zmax , romaO25 ) case ( \"romaO50\" ) call self % create ( self % name , self % zmin , self % zmax , romaO50 ) case ( \"tofino\" ) call self % create ( self % name , self % zmin , self % zmax , tofino ) case ( \"tofino10\" ) call self % create ( self % name , self % zmin , self % zmax , tofino10 ) case ( \"tofino100\" ) call self % create ( self % name , self % zmin , self % zmax , tofino100 ) case ( \"tofino25\" ) call self % create ( self % name , self % zmin , self % zmax , tofino25 ) case ( \"tofino50\" ) call self % create ( self % name , self % zmin , self % zmax , tofino50 ) case ( \"tokyo\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo ) case ( \"tokyo10\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo10 ) case ( \"tokyo100\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo100 ) case ( \"tokyo25\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo25 ) case ( \"tokyo50\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo50 ) case ( \"tokyoS\" ) call self % create ( self % name , self % zmin , self % zmax , tokyoS ) case ( \"turku\" ) call self % create ( self % name , self % zmin , self % zmax , turku ) case ( \"turku10\" ) call self % create ( self % name , self % zmin , self % zmax , turku10 ) case ( \"turku100\" ) call self % create ( self % name , self % zmin , self % zmax , turku100 ) case ( \"turku25\" ) call self % create ( self % name , self % zmin , self % zmax , turku25 ) case ( \"turku50\" ) call self % create ( self % name , self % zmin , self % zmax , turku50 ) case ( \"turkuS\" ) call self % create ( self % name , self % zmin , self % zmax , turkuS ) case ( \"vanimo\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo ) case ( \"vanimo10\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo10 ) case ( \"vanimo100\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo100 ) case ( \"vanimo25\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo25 ) case ( \"vanimo50\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo50 ) case ( \"vik\" ) call self % create ( self % name , self % zmin , self % zmax , vik ) case ( \"vik10\" ) call self % create ( self % name , self % zmin , self % zmax , vik10 ) case ( \"vik100\" ) call self % create ( self % name , self % zmin , self % zmax , vik100 ) case ( \"vik25\" ) call self % create ( self % name , self % zmin , self % zmax , vik25 ) case ( \"vik50\" ) call self % create ( self % name , self % zmin , self % zmax , vik50 ) case ( \"vikO\" ) call self % create ( self % name , self % zmin , self % zmax , vikO ) case ( \"vikO10\" ) call self % create ( self % name , self % zmin , self % zmax , vikO10 ) case ( \"vikO100\" ) call self % create ( self % name , self % zmin , self % zmax , vikO100 ) case ( \"vikO25\" ) call self % create ( self % name , self % zmin , self % zmax , vikO25 ) case ( \"vikO50\" ) call self % create ( self % name , self % zmin , self % zmax , vikO50 ) ! Matplotlib colormaps collection case ( \"magma\" ) call self % create ( self % name , self % zmin , self % zmax , magma ) case ( \"inferno\" ) call self % create ( self % name , self % zmin , self % zmax , inferno ) case ( \"plasma\" ) call self % create ( self % name , self % zmin , self % zmax , plasma ) case ( \"viridis\" ) call self % create ( self % name , self % zmin , self % zmax , viridis ) ! case ( \"black_body\" ) call self % create ( self % name , self % zmin , self % zmax , black_body ) case default self % name = \"grayC\" call self % create ( self % name , self % zmin , self % zmax , grayC ) end select ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine set","tags":"","loc":"proc/set.html"},{"title":"shift – ForColormap","text":"private pure subroutine shift(self, sh) Apply a circular shift to the colormap (left is +, right is -) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: sh The shift Called by proc~~shift~~CalledByGraph proc~shift forcolormap::Colormap%shift program~modify modify program~modify->proc~shift Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine shift ( self , sh ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: sh !! The shift self % map (:,:) = cshift ( self % map (:,:), sh ) end subroutine shift","tags":"","loc":"proc/shift.html"},{"title":"write_ppm_colorbar – ForColormap","text":"private impure subroutine write_ppm_colorbar(self, filename, width, height, encoding) Uses forimage proc~~write_ppm_colorbar~~UsesGraph proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar forimage forimage proc~write_ppm_colorbar->forimage Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename integer, intent(in), optional :: width integer, intent(in), optional :: height character(len=*), intent(in), optional :: encoding Calls proc~~write_ppm_colorbar~~CallsGraph proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~write_ppm_colorbar~~CalledByGraph proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine write_ppm_colorbar ( self , filename , width , height , encoding ) use forimage , only : format_pnm class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename integer :: i , j ! Pixbuffer coordinates integer , intent ( in ), optional :: width , height integer :: pixwidth , pixheight integer , dimension (:,:), allocatable :: rgb_image integer :: red , green , blue real ( wp ) :: z type ( format_pnm ) :: ppm character ( * ), intent ( in ), optional :: encoding if ( present ( width )) then pixwidth = width else pixwidth = 600 end if if ( present ( height )) then pixheight = height else pixheight = 50 end if allocate ( rgb_image ( pixheight , pixwidth * 3 )) do i = 0 , pixwidth - 1 do j = 0 , pixheight - 1 z = self % get_zmin () + i / real ( pixwidth - 1 , kind = wp ) * ( self % get_zmax () - self % get_zmin ()) call self % compute_RGB ( z , red , green , blue ) rgb_image ( pixheight - j , 3 * ( i + 1 ) - 2 ) = red rgb_image ( pixheight - j , 3 * ( i + 1 ) - 1 ) = green rgb_image ( pixheight - j , 3 * ( i + 1 )) = blue end do end do if ( present ( encoding )) then call ppm % set_format ( encoding ) else call ppm % set_format ( 'binary' ) end if call ppm % set_pnm ( encoding = ppm % get_format (),& file_format = 'ppm' ,& width = pixwidth ,& height = pixheight ,& max_color = 255 ,& comment = 'comment' ,& pixels = rgb_image ) call ppm % export_pnm ( filename ) end subroutine write_ppm_colorbar","tags":"","loc":"proc/write_ppm_colorbar.html"},{"title":"findColumnIntersections – ForColormap","text":"private pure function findColumnIntersections(array) result(intersections) Arguments Type Intent Optional Attributes Name integer, intent(in) :: array (:,:) Return Value integer, allocatable, (:) Called by proc~~findcolumnintersections~~CalledByGraph proc~findcolumnintersections forcolormap_info::findColumnIntersections proc~write forcolormap_info::Colormaps_info%write proc~write->proc~findcolumnintersections Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function findColumnIntersections ( array ) result ( intersections ) integer , intent ( in ) :: array (:,:) integer , allocatable :: intersections (:) logical :: found ( size ( array , 1 )) integer :: i , j do i = 1 , size ( array , 1 ) found ( i ) = . true . do j = 2 , size ( array , 2 ) ! Check if all elements in the current column are non-zero if ( . not . all ( array (:, j ) == 0 )) then ! Check if the current element in the first column exists in the current column found ( i ) = found ( i ) . and . any ( array ( i , 1 ) == array (:, j )) end if end do end do ! Allocate and populate the intersections array allocate ( intersections ( size ( pack ( array (:, 1 ), mask = found )))) intersections = pack ( array (:, 1 ), mask = found ) end function findColumnIntersections","tags":"","loc":"proc/findcolumnintersections.html"},{"title":"get_levels – ForColormap","text":"private pure function get_levels(this, index) result(levels) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value integer Called by proc~~get_levels~2~~CalledByGraph proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check forcolormap::Colormap%check proc~check->proc~get_levels~2 proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function get_levels ( this , index ) result ( levels ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index integer :: levels levels = this % colormaps ( index )% levels end function get_levels","tags":"","loc":"proc/get_levels~2.html"},{"title":"get_name – ForColormap","text":"private pure elemental function get_name(this, index) result(name) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value character(len=colormap_name_length) Called by proc~~get_name~2~~CalledByGraph proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check forcolormap::Colormap%check proc~check->proc~get_name~2 proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental function get_name ( this , index ) result ( name ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index character ( colormap_name_length ) :: name name = trim ( this % colormaps ( index )% name ) end function get_name","tags":"","loc":"proc/get_name~2.html"},{"title":"get_ncolormaps – ForColormap","text":"private pure elemental function get_ncolormaps(this) result(ncolormaps) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this Return Value integer Called by proc~~get_ncolormaps~~CalledByGraph proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check forcolormap::Colormap%check proc~check->proc~get_ncolormaps proc~write forcolormap_info::Colormaps_info%write proc~write->proc~get_ncolormaps proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental function get_ncolormaps ( this ) result ( ncolormaps ) class ( Colormaps_info ), intent ( in ) :: this integer :: ncolormaps ncolormaps = size ( this % colormaps ) end function get_ncolormaps","tags":"","loc":"proc/get_ncolormaps.html"},{"title":"deallocate_Colormaps_info – ForColormap","text":"private pure elemental subroutine deallocate_Colormaps_info(this) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this Calls proc~~deallocate_colormaps_info~~CallsGraph proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info->proc~deallocate_table Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~deallocate_colormaps_info~~CalledByGraph proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info program~colormaps_list colormaps_list program~colormaps_list->proc~deallocate_colormaps_info program~write_info write_info program~write_info->proc~deallocate_colormaps_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine deallocate_Colormaps_info ( this ) class ( Colormaps_info ), intent ( inout ) :: this ! integer :: i ! do i = 1, this%get_ncolormaps() ! call this%colormaps(i)%deallocate_table() ! end do call this % colormaps (:)% finalize () end subroutine deallocate_Colormaps_info","tags":"","loc":"proc/deallocate_colormaps_info.html"},{"title":"deallocate_table – ForColormap","text":"private pure elemental subroutine deallocate_table(this) Type Bound table Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this Called by proc~~deallocate_table~~CalledByGraph proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info proc~deallocate_colormaps_info->proc~deallocate_table program~colormaps_list colormaps_list program~colormaps_list->proc~deallocate_colormaps_info program~write_info write_info program~write_info->proc~deallocate_colormaps_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine deallocate_table ( this ) class ( table ), intent ( inout ) :: this if ( allocated ( this % name )) deallocate ( this % name ) if ( allocated ( this % family )) deallocate ( this % family ) if ( allocated ( this % gradient )) deallocate ( this % gradient ) if ( allocated ( this % palette )) deallocate ( this % palette ) if ( allocated ( this % colorbar )) deallocate ( this % colorbar ) if ( allocated ( this % package )) deallocate ( this % package ) if ( allocated ( this % author )) deallocate ( this % author ) if ( allocated ( this % license )) deallocate ( this % license ) if ( allocated ( this % url )) deallocate ( this % url ) end subroutine deallocate_table","tags":"","loc":"proc/deallocate_table.html"},{"title":"set_all – ForColormap","text":"private pure elemental subroutine set_all(this) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this Calls proc~~set_all~~CallsGraph proc~set_all forcolormap_info::Colormaps_info%set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~set_all~~CalledByGraph proc~set_all forcolormap_info::Colormaps_info%set_all proc~check forcolormap::Colormap%check proc~check->proc~set_all program~colormaps_list colormaps_list program~colormaps_list->proc~set_all program~write_info write_info program~write_info->proc~set_all proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine set_all ( this ) class ( Colormaps_info ), intent ( inout ) :: this integer :: i i = 1 call this % colormaps ( i )% set_info (& name = \"acton\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"acton_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton10\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"acton10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton25\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"acton25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton50\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"acton50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton100\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"acton100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"actonS\" ,& family = \"acton\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"actonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bam_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam10\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bam10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam100\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bam100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam25\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bam25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam50\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bam50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamako_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako10\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamako10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako100\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamako100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako25\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamako25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako50\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamako50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamakoS\" ,& family = \"bamako\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bamakoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO10\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO100\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO25\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO50\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowK_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowK10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowK100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowK25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowK50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowKS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowKS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowWS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"berlin_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin10\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"berlin10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin100\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"berlin100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin25\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"berlin25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin50\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"berlin50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bilbao_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao10\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bilbao10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao100\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bilbao100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao25\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bilbao25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao50\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bilbao50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbaoS\" ,& family = \"bilbao\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bilbaoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"broc_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"broc10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"broc100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"broc25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"broc50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO\" ,& family = \"broc\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"brocO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"brocO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"brocO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"brocO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"brocO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"buda_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda10\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"buda10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda100\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"buda100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda25\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"buda25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda50\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"buda50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"budaS\" ,& family = \"buda\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"budaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bukavu_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu10\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bukavu10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu100\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bukavu100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu25\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bukavu25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu50\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bukavu50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"cork_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"cork10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"cork100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"cork25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"cork50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO\" ,& family = \"cork\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"corkO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"corkO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"corkO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"corkO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"corkO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"davos_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos10\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"davos10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos100\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"davos100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos25\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"davos25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos50\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"davos50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davosS\" ,& family = \"davos\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"davosS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"devon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon10\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"devon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon100\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"devon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon25\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"devon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon50\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"devon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devonS\" ,& family = \"devon\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"devonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"fes_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes10\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"fes10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes100\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"fes100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes25\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"fes25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes50\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"fes50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"glasgow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow10\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"glasgow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow100\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"glasgow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow25\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"glasgow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow50\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"glasgow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgowS\" ,& family = \"glasgow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"glasgowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"grayC_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC10\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"grayC10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC100\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"grayC100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC25\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"grayC25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC50\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"grayC50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayCS\" ,& family = \"grayC\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"grayCS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"hawaii_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii10\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"hawaii10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii100\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"hawaii100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii25\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"hawaii25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii50\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"hawaii50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaiiS\" ,& family = \"hawaii\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"hawaiiS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"imola_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola10\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"imola10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola100\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"imola100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola25\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"imola25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola50\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"imola50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imolaS\" ,& family = \"imola\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"imolaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lajolla_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla10\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lajolla10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla100\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lajolla100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla25\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lajolla25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla50\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lajolla50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajollaS\" ,& family = \"lajolla\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lajollaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lapaz_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz10\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lapaz10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz100\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lapaz100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz25\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lapaz25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz50\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lapaz50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapazS\" ,& family = \"lapaz\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lapazS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipariS\" ,& family = \"lipari\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lipariS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lipari_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari10\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lipari10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari100\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lipari100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari25\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lipari25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari50\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lipari50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lisbon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon10\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lisbon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon100\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lisbon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon25\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lisbon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon50\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lisbon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"managua_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua10\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"managua10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua100\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"managua100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua25\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"managua25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua50\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"managua50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"navia_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"navia10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"navia100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"navia25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"navia50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"naviaW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaWS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"naviaW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"naviaW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"naviaW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"naviaW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"nuuk_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk10\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"nuuk10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk100\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"nuuk100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk25\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"nuuk25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk50\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"nuuk50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuukS\" ,& family = \"nuuk\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"nuukS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oleron_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron10\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oleron10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron100\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oleron100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron25\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oleron25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron50\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oleron50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oslo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo10\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oslo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo100\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oslo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo25\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oslo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo50\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oslo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"osloS\" ,& family = \"oslo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"osloS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"roma_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"roma10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"roma100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"roma25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"roma50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO\" ,& family = \"roma\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"romaO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"romaO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"romaO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"romaO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"romaO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tofino_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino10\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tofino10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino100\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tofino100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino25\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tofino25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino50\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tofino50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tokyo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo10\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tokyo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo100\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tokyo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo25\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tokyo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo50\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tokyo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyoS\" ,& family = \"tokyo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"tokyoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"turku_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku10\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"turku10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku100\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"turku100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku25\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"turku25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku50\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"turku50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turkuS\" ,& family = \"turku\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"turkuS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vanimo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo10\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vanimo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo100\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vanimo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo25\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vanimo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo50\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vanimo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vik_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vik10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vik100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vik25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vik50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO\" ,& family = \"vik\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vikO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vikO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vikO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vikO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vikO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) ! Miscellaneous colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"black_body\" ,& family = \"black_body\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 1024 , & colorbar = \"black_body_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Kenneth Moreland\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://www.kennethmoreland.com\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"cubehelix\" ,& family = \"cubehelix\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"cubehelix_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Dave Green\" ,& license = \"Public Domain (Unlicense license)\" ,& url = \"https://people.phy.cam.ac.uk/dag9/CUBEHELIX\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"fire\" ,& family = \"fire\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"fire_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inv_rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inv_rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"zebra\" ,& family = \"zebra\" ,& gradient = \"Categorical\" ,& palette = \"Discrete\" ,& levels = 256 , & colorbar = \"zebra_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) ! Matplotlib colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"magma\" ,& family = \"magma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"magma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inferno\" ,& family = \"inferno\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inferno_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"plasma\" ,& family = \"plasma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"plasma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"viridis\" ,& family = \"viridis\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"viridis_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) end subroutine set_all","tags":"","loc":"proc/set_all.html"},{"title":"set_info – ForColormap","text":"private pure elemental subroutine set_info(this, package, family, name, gradient, palette, author, license, url, colorbar, levels) Type Bound table Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this character(len=*), intent(in) :: package character(len=*), intent(in) :: family character(len=*), intent(in) :: name character(len=*), intent(in) :: gradient character(len=*), intent(in) :: palette character(len=*), intent(in) :: author character(len=*), intent(in) :: license character(len=*), intent(in) :: url character(len=*), intent(in) :: colorbar integer, intent(in) :: levels Called by proc~~set_info~~CalledByGraph proc~set_info forcolormap_info::table%set_info proc~set_all forcolormap_info::Colormaps_info%set_all proc~set_all->proc~set_info proc~check forcolormap::Colormap%check proc~check->proc~set_all program~colormaps_list colormaps_list program~colormaps_list->proc~set_all program~write_info write_info program~write_info->proc~set_all proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine set_info ( this , package , family , name , gradient , palette , author , license , url , colorbar , levels ) class ( table ), intent ( inout ) :: this character ( * ), intent ( in ) :: package , family , name , gradient , palette , author , license , url , colorbar integer , intent ( in ) :: levels allocate ( this % package , source = trim ( package )) allocate ( this % family , source = trim ( family )) allocate ( this % name , source = trim ( name )) allocate ( this % gradient , source = trim ( gradient )) allocate ( this % palette , source = trim ( palette )) allocate ( this % author , source = trim ( author )) allocate ( this % license , source = trim ( license )) allocate ( this % url , source = trim ( url )) allocate ( this % colorbar , source = trim ( colorbar )) this % levels = levels end subroutine set_info","tags":"","loc":"proc/set_info.html"},{"title":"write – ForColormap","text":"private impure subroutine write(this, verbose, name, family, gradient, palette, author, license, levels, file_name) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: name character(len=*), intent(in), optional :: family character(len=*), intent(in), optional :: gradient character(len=*), intent(in), optional :: palette character(len=*), intent(in), optional :: author character(len=*), intent(in), optional :: license integer, intent(in), optional :: levels character(len=*), intent(in), optional :: file_name Calls proc~~write~~CallsGraph proc~write forcolormap_info::Colormaps_info%write proc~findcolumnintersections forcolormap_info::findColumnIntersections proc~write->proc~findcolumnintersections proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~write->proc~get_ncolormaps proc~write_info forcolormap_info::table%write_info proc~write->proc~write_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine write ( this , verbose , name , family , gradient , palette , author , license , levels , file_name ) class ( Colormaps_info ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: name , family , gradient , palette , author , license integer , intent ( in ), optional :: levels character ( * ), intent ( in ), optional :: file_name integer :: i , k , verbose_ , nunit integer :: ind ( this % get_ncolormaps (), 8 ) ! 1: index, 2: name, 3: family, 4: gradient, 5: palette, 6: author, 7: license, 8: levels integer , allocatable :: inter_ind (:) ! Set default values if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if ! Print header for verbose = 1 if ( verbose_ == 1 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar' , '|Package' , '|Author' , '|Licence' , '|URL|' write ( nunit , '(a)' ) '|---|---|---|---|---|---|---|---|---|---|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' , 'Package' , 'Author' , 'Licence' , 'URL' print '(a)' , '*****************************************************************************************& &*****************************************************************************************************& &**********************' end if end if ! Print header for verbose = 4 if ( verbose_ == 4 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,8x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar |' write ( nunit , '(a)' ) '|------------|------------|--------------------|--------------|-------|-------------------------|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' print '(a)' , '**************************************************************************************************' end if end if if ( present ( name ) . or .& present ( family ) . or .& present ( gradient ) . or .& present ( palette ) . or .& present ( author ) . or .& present ( license ) . or .& present ( levels )) then ind = 0 do i = 1 , this % get_ncolormaps () ind ( i , 1 ) = i end do if ( present ( name )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% name == name ) then ind ( k , 2 ) = i k = k + 1 end if end do end if if ( present ( family )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% family == family ) then ind ( k , 3 ) = i k = k + 1 end if end do end if if ( present ( gradient )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% gradient == gradient ) then ind ( k , 4 ) = i k = k + 1 end if end do end if if ( present ( palette )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% palette == palette ) then ind ( k , 5 ) = i k = k + 1 end if end do end if if ( present ( author )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% author == author ) then ind ( k , 6 ) = i k = k + 1 end if end do end if if ( present ( license )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% license == license ) then ind ( k , 7 ) = i k = k + 1 end if end do end if if ( present ( levels )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% levels == levels ) then ind ( k , 8 ) = i k = k + 1 end if end do end if inter_ind = findColumnIntersections ( ind (:,:)) do i = 1 , this % get_ncolormaps () do k = 1 , size ( inter_ind ) if ( inter_ind ( k ) == i ) then call this % colormaps ( i )% write_info ( verbose , file_name ) end if end do end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if else do i = 1 , this % get_ncolormaps () call this % colormaps ( i )% write_info ( verbose , file_name ) end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if end if end subroutine write","tags":"","loc":"proc/write.html"},{"title":"write_info – ForColormap","text":"private impure subroutine write_info(this, verbose, file_name) Type Bound table Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: file_name Called by proc~~write_info~~CalledByGraph proc~write_info forcolormap_info::table%write_info proc~write forcolormap_info::Colormaps_info%write proc~write->proc~write_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine write_info ( this , verbose , file_name ) class ( table ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: file_name integer :: verbose_ , nunit character ( len = 256 ) :: format_table if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if select case ( verbose_ ) case ( 1 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a,' , 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar ,& '|' , this % package ,& '|' , this % author ,& '|' , this % license ,& '|' , this % url , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar ,& this % package ,& this % author ,& this % license ,& this % url end if case ( 2 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a,a)' ) 'Name : ' , this % name write ( nunit , '(a,a)' ) 'Family : ' , this % family write ( nunit , '(a,a)' ) 'Gradient: ' , this % gradient write ( nunit , '(a,a)' ) 'Palette : ' , this % palette write ( nunit , '(a,I4)' ) 'Levels : ' , this % levels write ( nunit , '(a,a)' ) 'Colorbar: ' , this % colorbar write ( nunit , '(a,a)' ) 'Package : ' , this % package write ( nunit , '(a,a)' ) 'Author : ' , this % author write ( nunit , '(a,a)' ) 'Licence : ' , this % license write ( nunit , '(a,a)' ) 'URL : ' , this % url write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a)' ) '' close ( nunit ) else print '(a)' , '' print '(a)' , '**********************************************' print '(a,a)' , 'Name : ' , this % name print '(a,a)' , 'Family : ' , this % family print '(a,a)' , 'Gradient: ' , this % gradient print '(a,a)' , 'Palette : ' , this % palette print '(a,I4)' , 'Levels : ' , this % levels print '(a,a)' , 'Colorbar: ' , this % colorbar print '(a,a)' , 'Package : ' , this % package print '(a,a)' , 'Author : ' , this % author print '(a,a)' , 'Licence : ' , this % license print '(a,a)' , 'URL : ' , this % url print '(a)' , '**********************************************' print '(a)' , '' end if case ( 3 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) this % name close ( nunit ) else print '(a)' , this % name end if case ( 4 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar end if end select end subroutine write_info","tags":"","loc":"proc/write_info.html"},{"title":"cubehelix_colormap – ForColormap","text":"public pure subroutine cubehelix_colormap(map, nlev, varargs) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map integer, intent(in) :: nlev real(kind=wp), intent(in), optional, dimension(:) :: varargs Called by proc~~cubehelix_colormap~~CalledByGraph proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set forcolormap::Colormap%set proc~set->proc~cubehelix_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine cubehelix_colormap ( map , nlev , varargs ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer , intent ( in ) :: nlev real ( wp ), dimension (:), intent ( in ), optional :: varargs integer :: i real ( wp ) :: start , rots , hue , gamma real ( wp ) :: fract , angle , amp if ( present ( varargs )) then if ( size ( varargs ) /= 4 ) error stop \"ERROR: cubehelix varargs(:) must have 4 values\" start = varargs ( 1 ) rots = varargs ( 2 ) hue = varargs ( 3 ) gamma = varargs ( 4 ) else ! Default values: start = 0.5_wp rots = - 1.5_wp hue = 1.0_wp gamma = 1.0_wp end if allocate ( map ( 0 : nlev - 1 , 1 : 3 )) do concurrent ( i = 0 : nlev - 1 ) fract = real ( i , kind = wp ) / ( nlev - 1 ) angle = 2 * pi * ( start / 3 + 1 + rots * fract ) fract = fract ** gamma amp = hue * fract * ( 1 - fract ) / 2 map ( i , 1 ) = nint ( 255 * ( fract + amp * ( - 0.14861_wp * cos ( angle ) + 1.78277_wp * sin ( angle )))) map ( i , 2 ) = nint ( 255 * ( fract + amp * ( - 0.29227_wp * cos ( angle ) - 0.90649_wp * sin ( angle )))) map ( i , 3 ) = nint ( 255 * ( fract + amp * ( + 1.97294_wp * cos ( angle )))) end do end subroutine cubehelix_colormap","tags":"","loc":"proc/cubehelix_colormap.html"},{"title":"fire_colormap – ForColormap","text":"public pure subroutine fire_colormap(levels, map) Arguments Type Intent Optional Attributes Name integer, intent(in) :: levels integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~fire_colormap~~CalledByGraph proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set forcolormap::Colormap%set proc~set->proc~fire_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine fire_colormap ( levels , map ) integer , intent ( in ) :: levels integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: last , i ! Best with 256 levels but you can try other numbers: last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( last - i ) / 20 0.0_wp ) ** 7.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( last - i ) / 12 0.0_wp ) ** 1.8_wp )) map ( i , 3 ) = nint ( last * exp ( - (( last - i ) / 4 0.0_wp ) ** 0.7_wp )) end do end subroutine fire_colormap","tags":"","loc":"proc/fire_colormap.html"},{"title":"inv_rainbow_colormap – ForColormap","text":"public pure subroutine inv_rainbow_colormap(map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~inv_rainbow_colormap~~CalledByGraph proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set forcolormap::Colormap%set proc~set->proc~inv_rainbow_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine inv_rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine inv_rainbow_colormap","tags":"","loc":"proc/inv_rainbow_colormap.html"},{"title":"rainbow_colormap – ForColormap","text":"public pure subroutine rainbow_colormap(map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~rainbow_colormap~~CalledByGraph proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set forcolormap::Colormap%set proc~set->proc~rainbow_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine rainbow_colormap","tags":"","loc":"proc/rainbow_colormap.html"},{"title":"zebra_colormap – ForColormap","text":"public pure subroutine zebra_colormap(map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~zebra_colormap~~CalledByGraph proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set forcolormap::Colormap%set proc~set->proc~zebra_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine zebra_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! Black and white zebras: do i = 0 , 224 , 32 map ( i : i + 15 , :) = 0 map ( i + 16 : i + 31 , :) = 255 end do end subroutine zebra_colormap","tags":"","loc":"proc/zebra_colormap.html"},{"title":"forcolormap – ForColormap","text":"Uses matplotlib_colormaps miscellaneous_colormaps colormap_parameters scientific_colour_maps module~~forcolormap~~UsesGraph module~forcolormap forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~forcolormap~~UsedByGraph module~forcolormap forcolormap program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial character(len=*), public, parameter, dimension(*) :: colormaps_list = [character(colormap_name_length)::miscellaneous_colormaps_list, scientific_colour_maps_list, matplotlib_colormaps_list] Derived Types type, public :: Colormap Components Type Visibility Attributes Name Initial integer, private :: levels integer, private, dimension(:, :), allocatable :: map character(len=colormap_name_length), private :: name real(kind=wp), private :: zmax real(kind=wp), private :: zmin Type-Bound Procedures procedure, public :: colorbar => write_ppm_colorbar procedure, public :: compute_RGB procedure, public :: create procedure, public :: create_bezier procedure, public :: create_lagrange procedure, public :: extract procedure, public :: get_RGB procedure, public :: get_levels procedure, public :: get_name procedure, public :: get_zmax procedure, public :: get_zmin procedure, public :: load procedure, public :: print procedure, public :: reverse procedure, public :: set procedure, public :: shift procedure, private :: check Functions private pure function bezier (colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable private pure function factorial (n) result(result) Arguments Type Intent Optional Attributes Name integer, intent(in) :: n Return Value integer private pure function get_levels (self) result(levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value integer private pure function get_name (self) result(name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value character(len=colormap_name_length) private pure function get_zmax (self) result(zmax) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) private pure function get_zmin (self) result(zmin) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) private pure function lagrange (colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable private pure function lagrange_poly (t, n) result(B) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in) :: t integer, intent(in) :: n order + 1 Return Value real(kind=wp), allocatable, (:) private pure function scale_real_int (real_array, a, b) result(int_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array integer, intent(in) :: a integer, intent(in) :: b Return Value integer, dimension(size(real_array)) private pure function scale_real_real (real_array, a, b) result(real_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array real(kind=wp), intent(in) :: a real(kind=wp), intent(in) :: b Return Value real(kind=wp), dimension(size(real_array)) Subroutines private pure subroutine check (self, check_name, check_zmin, check_zmax, check_levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self logical, intent(in), optional :: check_name logical, intent(in), optional :: check_zmin logical, intent(in), optional :: check_zmax logical, intent(in), optional :: check_levels private pure subroutine compute_RGB (self, z, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self real(kind=wp), intent(in) :: z integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue private pure subroutine create (self, name, zmin, zmax, map, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: map logical, intent(in), optional :: reverse private pure subroutine create_bezier (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse private pure subroutine create_lagrange (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse private pure subroutine extract (self, extractedLevels, name, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: extractedLevels character(len=*), intent(in), optional :: name real(kind=wp), intent(in), optional :: zmin real(kind=wp), intent(in), optional :: zmax logical, intent(in), optional :: reverse private pure subroutine get_RGB (self, level, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: level integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue private impure subroutine load (self, filename, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax logical, intent(in), optional :: reverse private impure subroutine print (self) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self private pure subroutine reverse (self, name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in), optional :: name private pure subroutine set (self, name, zmin, zmax, levels, varargs, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), optional :: levels real(kind=wp), intent(in), optional, dimension(:) :: varargs logical, intent(in), optional :: reverse private pure subroutine shift (self, sh) Apply a circular shift to the colormap (left is +, right is -) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: sh The shift private impure subroutine write_ppm_colorbar (self, filename, width, height, encoding) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename integer, intent(in), optional :: width integer, intent(in), optional :: height character(len=*), intent(in), optional :: encoding","tags":"","loc":"module/forcolormap.html"},{"title":"scientific_colour_maps – ForColormap","text":"Uses colormap_parameters module~~scientific_colour_maps~~UsesGraph module~scientific_colour_maps scientific_colour_maps module~colormap_parameters colormap_parameters module~scientific_colour_maps->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~scientific_colour_maps~~UsedByGraph module~scientific_colour_maps scientific_colour_maps module~forcolormap forcolormap module~forcolormap->module~scientific_colour_maps program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, dimension(0:255, 1:3) :: acton = reshape([38, 13, 64, 39, 14, 65, 40, 15, 66, 41, 17, 67, 42, 18, 68, 43, 19, 69, 43, 20, 70, 44, 22, 72, 45, 23, 73, 46, 24, 74, 47, 25, 75, 48, 27, 76, 49, 28, 77, 50, 29, 78, 50, 30, 79, 51, 31, 80, 52, 33, 82, 53, 34, 83, 54, 35, 84, 54, 36, 85, 55, 37, 86, 56, 38, 87, 57, 39, 88, 58, 41, 89, 59, 42, 90, 59, 43, 91, 60, 44, 92, 61, 45, 93, 62, 46, 94, 62, 47, 95, 63, 49, 96, 64, 50, 97, 65, 51, 98, 66, 52, 99, 66, 53, 100, 67, 54, 101, 68, 55, 102, 69, 56, 103, 69, 57, 104, 70, 58, 105, 71, 60, 106, 72, 61, 107, 72, 62, 108, 73, 63, 109, 74, 64, 110, 75, 65, 111, 75, 66, 112, 76, 67, 113, 77, 68, 114, 78, 69, 115, 78, 70, 116, 79, 71, 117, 80, 72, 118, 81, 73, 119, 81, 74, 120, 82, 75, 121, 83, 76, 122, 84, 77, 123, 84, 78, 123, 85, 79, 124, 86, 80, 125, 87, 81, 126, 87, 82, 127, 88, 83, 128, 89, 84, 129, 90, 85, 130, 91, 86, 131, 92, 87, 131, 93, 88, 132, 94, 89, 133, 95, 90, 134, 96, 91, 134, 97, 91, 135, 98, 92, 136, 99, 93, 136, 101, 93, 137, 102, 94, 138, 103, 95, 138, 104, 95, 138, 105, 96, 139, 107, 96, 139, 108, 96, 140, 109, 97, 140, 110, 97, 140, 111, 97, 140, 113, 97, 140, 114, 98, 141, 115, 98, 141, 116, 98, 141, 117, 98, 141, 119, 98, 141, 120, 98, 141, 121, 99, 141, 122, 99, 141, 123, 99, 141, 125, 99, 142, 126, 99, 142, 127, 99, 142, 128, 99, 142, 129, 99, 142, 131, 99, 142, 132, 99, 142, 133, 100, 142, 134, 100, 142, 136, 100, 142, 137, 100, 142, 138, 100, 142, 139, 100, 142, 141, 100, 142, 142, 100, 142, 143, 100, 142, 145, 100, 143, 146, 100, 143, 147, 101, 143, 149, 101, 143, 150, 101, 143, 151, 101, 143, 153, 101, 143, 154, 101, 143, 155, 101, 143, 157, 101, 143, 158, 101, 143, 160, 101, 143, 161, 102, 143, 162, 102, 143, 164, 102, 143, 165, 102, 144, 167, 102, 144, 168, 102, 144, 170, 102, 144, 171, 102, 144, 172, 103, 144, 174, 103, 144, 175, 103, 144, 177, 103, 144, 178, 103, 144, 180, 103, 145, 181, 104, 145, 183, 104, 145, 184, 104, 145, 186, 104, 145, 187, 105, 146, 189, 105, 146, 190, 106, 146, 191, 106, 147, 193, 107, 147, 194, 107, 148, 195, 108, 148, 197, 109, 149, 198, 109, 150, 199, 110, 150, 200, 111, 151, 201, 112, 152, 202, 113, 153, 203, 114, 153, 204, 115, 154, 205, 116, 155, 206, 117, 156, 206, 119, 157, 207, 120, 158, 208, 121, 159, 208, 122, 160, 209, 124, 161, 210, 125, 163, 210, 126, 164, 211, 127, 165, 211, 129, 166, 211, 130, 167, 212, 131, 168, 212, 133, 169, 213, 134, 170, 213, 135, 171, 214, 136, 172, 214, 138, 173, 214, 139, 175, 215, 140, 176, 215, 142, 177, 216, 143, 178, 216, 144, 179, 216, 146, 180, 217, 147, 181, 217, 148, 182, 217, 149, 184, 218, 151, 185, 218, 152, 186, 219, 153, 187, 219, 155, 188, 219, 156, 189, 220, 157, 190, 220, 159, 191, 221, 160, 192, 221, 161, 194, 221, 163, 195, 222, 164, 196, 222, 165, 197, 222, 167, 198, 223, 168, 199, 223, 169, 200, 223, 171, 201, 224, 172, 202, 224, 173, 203, 225, 174, 204, 225, 176, 205, 225, 177, 206, 226, 178, 207, 226, 180, 208, 226, 181, 209, 227, 182, 210, 227, 183, 211, 227, 185, 212, 228, 186, 213, 228, 187, 214, 228, 188, 215, 229, 190, 216, 229, 191, 217, 229, 192, 218, 229, 193, 219, 230, 194, 220, 230, 196, 221, 230, 197, 222, 231, 198, 222, 231, 199, 223, 231, 200, 224, 232, 202, 225, 232, 203, 226, 232, 204, 227, 232, 205, 228, 233, 206, 228, 233, 207, 229, 233, 208, 230, 233, 209, 231, 234, 211, 232, 234, 212, 233, 234, 213, 233, 235, 214, 234, 235, 215, 235, 235, 216, 236, 235, 217, 237, 236, 218, 237, 236, 219, 238, 236, 220, 239, 236, 221, 240, 237, 222, 240, 237, 223, 241, 237, 224, 242, 237, 225, 243, 238, 226, 243, 238, 227, 244, 238, 228, 245, 238, 229, 246, 239, 230, 246, 239, 231, 247, 239, 232, 248, 239, 233, 248, 239, 233, 249, 240, 234, 250], shape(acton), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: acton10 = reshape([38, 13, 64, 62, 46, 94, 84, 77, 123, 113, 97, 140, 147, 101, 143, 189, 105, 146, 213, 134, 170, 223, 171, 201, 233, 206, 228, 240, 234, 250], shape(acton10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: acton100 = reshape([38, 13, 64, 41, 17, 67, 43, 19, 69, 45, 23, 73, 47, 25, 75, 50, 29, 78, 51, 31, 80, 54, 35, 84, 56, 38, 87, 58, 41, 89, 60, 44, 92, 62, 46, 94, 64, 50, 97, 66, 52, 99, 68, 55, 102, 70, 58, 105, 72, 61, 107, 74, 64, 110, 75, 66, 112, 78, 69, 115, 80, 72, 118, 81, 74, 120, 84, 77, 123, 85, 79, 124, 87, 82, 127, 89, 84, 129, 92, 87, 131, 95, 90, 134, 97, 91, 135, 101, 93, 137, 103, 95, 138, 107, 96, 139, 109, 97, 140, 113, 97, 140, 116, 98, 141, 119, 98, 141, 122, 99, 141, 125, 99, 142, 128, 99, 142, 131, 99, 142, 134, 100, 142, 138, 100, 142, 141, 100, 142, 145, 100, 143, 147, 101, 143, 151, 101, 143, 154, 101, 143, 158, 101, 143, 162, 102, 143, 165, 102, 144, 170, 102, 144, 172, 103, 144, 177, 103, 144, 181, 104, 145, 184, 104, 145, 189, 105, 146, 191, 106, 147, 195, 108, 148, 198, 109, 150, 201, 112, 152, 204, 115, 154, 206, 117, 156, 208, 121, 159, 209, 124, 161, 211, 127, 165, 211, 130, 167, 213, 134, 170, 214, 138, 173, 215, 140, 176, 216, 144, 179, 217, 147, 181, 218, 151, 185, 219, 153, 187, 220, 157, 190, 221, 161, 194, 222, 164, 196, 223, 168, 199, 223, 171, 201, 225, 174, 204, 225, 177, 206, 226, 181, 209, 227, 185, 212, 228, 187, 214, 229, 191, 217, 229, 193, 219, 230, 197, 222, 231, 200, 224, 232, 203, 226, 233, 206, 228, 233, 208, 230, 234, 212, 233, 235, 214, 234, 235, 217, 237, 236, 220, 239, 237, 222, 240, 237, 225, 243, 238, 227, 244, 239, 230, 246, 239, 232, 248, 240, 234, 250], shape(acton100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: acton25 = reshape([38, 13, 64, 48, 27, 76, 56, 38, 87, 65, 51, 98, 73, 63, 109, 81, 73, 119, 89, 84, 129, 99, 93, 136, 113, 97, 140, 126, 99, 142, 138, 100, 142, 153, 101, 143, 168, 102, 144, 183, 104, 145, 198, 109, 150, 207, 120, 158, 213, 134, 170, 217, 148, 182, 221, 161, 194, 225, 176, 205, 229, 190, 216, 232, 202, 225, 235, 214, 234, 237, 224, 242, 240, 234, 250], shape(acton25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: acton50 = reshape([38, 13, 64, 43, 19, 69, 47, 25, 75, 52, 33, 82, 56, 38, 87, 60, 44, 92, 64, 50, 97, 68, 55, 102, 72, 62, 108, 76, 67, 113, 80, 72, 118, 84, 77, 123, 87, 82, 127, 93, 88, 132, 98, 92, 136, 104, 95, 138, 110, 97, 140, 116, 98, 141, 123, 99, 141, 129, 99, 142, 136, 100, 142, 142, 100, 142, 149, 101, 143, 157, 101, 143, 164, 102, 143, 171, 102, 144, 178, 103, 144, 187, 105, 146, 194, 107, 148, 200, 111, 151, 205, 116, 155, 208, 122, 160, 211, 130, 167, 214, 136, 172, 216, 143, 178, 217, 149, 184, 219, 156, 189, 222, 164, 196, 223, 171, 201, 225, 177, 206, 227, 183, 211, 229, 190, 216, 230, 197, 222, 232, 203, 226, 233, 208, 230, 235, 214, 234, 236, 219, 238, 237, 225, 243, 239, 230, 246, 240, 234, 250], shape(acton50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: actonS = reshape([38, 13, 64, 240, 234, 250, 168, 102, 144, 89, 84, 129, 221, 163, 195, 65, 51, 98, 208, 121, 159, 126, 99, 142, 232, 203, 226, 146, 100, 143, 52, 33, 82, 215, 142, 177, 227, 183, 211, 191, 106, 147, 77, 68, 114, 107, 96, 139, 236, 220, 239, 224, 173, 203, 157, 101, 143, 180, 103, 145, 97, 91, 135, 201, 112, 152, 45, 23, 73, 218, 152, 186, 229, 193, 219, 212, 131, 168, 59, 42, 90, 234, 212, 233, 71, 60, 106, 116, 98, 141, 83, 76, 122, 136, 100, 142, 238, 228, 245, 74, 64, 110, 86, 80, 125, 217, 147, 181, 223, 168, 199, 186, 104, 145, 231, 198, 222, 141, 100, 142, 237, 224, 242, 80, 72, 118, 210, 126, 164, 174, 103, 144, 93, 88, 132, 102, 94, 138, 214, 136, 172, 226, 178, 207, 49, 28, 77, 121, 99, 141, 228, 188, 215, 235, 216, 236, 233, 207, 229, 111, 97, 140, 131, 99, 142, 68, 55, 102, 151, 101, 143, 205, 116, 155, 197, 109, 149, 220, 157, 190, 42, 18, 68, 162, 102, 143, 55, 37, 86, 62, 46, 94, 239, 231, 247, 154, 101, 143, 114, 98, 141, 54, 35, 84, 177, 103, 144, 95, 90, 134, 199, 110, 150, 43, 20, 70, 211, 129, 166, 143, 100, 142, 214, 139, 175, 104, 95, 138, 99, 93, 136, 149, 101, 143, 203, 114, 153, 66, 53, 100, 69, 57, 104, 84, 78, 123, 60, 44, 92, 63, 49, 96, 87, 82, 127, 223, 171, 201, 209, 124, 161, 206, 119, 157, 237, 222, 240, 219, 155, 188, 226, 181, 209, 160, 101, 143, 91, 86, 131, 236, 218, 237, 230, 196, 221, 228, 186, 213, 47, 25, 75, 235, 214, 234, 216, 144, 179, 238, 226, 243], shape(actonS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bam = reshape([101, 2, 75, 103, 5, 78, 106, 7, 80, 108, 10, 82, 110, 13, 84, 112, 16, 87, 114, 18, 89, 117, 20, 91, 119, 23, 93, 121, 25, 95, 123, 27, 97, 125, 29, 99, 127, 31, 102, 129, 33, 104, 132, 35, 106, 134, 37, 108, 136, 39, 110, 138, 40, 112, 140, 42, 114, 142, 44, 116, 144, 46, 118, 146, 48, 120, 147, 49, 122, 149, 51, 124, 151, 53, 126, 153, 55, 127, 155, 56, 129, 157, 58, 131, 158, 60, 133, 160, 62, 135, 162, 63, 136, 164, 65, 138, 165, 67, 140, 167, 68, 142, 169, 70, 143, 170, 72, 145, 172, 73, 147, 173, 75, 148, 175, 77, 150, 176, 78, 151, 178, 80, 153, 179, 82, 154, 181, 84, 156, 182, 85, 157, 184, 87, 159, 185, 89, 160, 186, 90, 162, 188, 92, 163, 189, 94, 165, 191, 96, 166, 192, 98, 168, 193, 100, 169, 194, 102, 171, 196, 104, 172, 197, 106, 174, 198, 108, 175, 200, 110, 176, 201, 112, 178, 202, 114, 179, 203, 116, 181, 204, 118, 182, 206, 120, 183, 207, 122, 185, 208, 124, 186, 209, 127, 188, 210, 129, 189, 211, 131, 190, 212, 133, 192, 213, 135, 193, 214, 138, 194, 215, 140, 196, 216, 142, 197, 217, 145, 198, 218, 147, 200, 219, 149, 201, 220, 151, 202, 221, 154, 203, 222, 156, 205, 223, 158, 206, 223, 161, 207, 224, 163, 208, 225, 165, 209, 226, 167, 211, 227, 170, 212, 228, 172, 213, 228, 174, 214, 229, 176, 215, 230, 179, 216, 231, 181, 218, 231, 183, 219, 232, 185, 220, 233, 187, 221, 234, 189, 222, 234, 192, 223, 235, 194, 224, 236, 196, 225, 236, 198, 226, 237, 200, 227, 238, 202, 228, 238, 204, 229, 239, 206, 230, 239, 208, 231, 240, 209, 232, 241, 211, 233, 241, 213, 233, 242, 215, 234, 242, 216, 235, 243, 218, 236, 243, 220, 236, 243, 221, 237, 244, 223, 238, 244, 224, 238, 245, 226, 239, 245, 227, 239, 245, 228, 240, 245, 230, 240, 246, 231, 240, 246, 232, 241, 246, 233, 241, 246, 234, 241, 246, 235, 241, 246, 236, 241, 246, 237, 241, 246, 238, 241, 246, 239, 241, 246, 239, 241, 246, 240, 241, 246, 241, 241, 246, 241, 240, 246, 242, 240, 245, 242, 240, 245, 242, 239, 245, 243, 239, 244, 243, 238, 244, 243, 237, 243, 243, 237, 243, 243, 236, 242, 243, 235, 242, 243, 234, 241, 243, 233, 240, 243, 232, 239, 243, 230, 239, 243, 229, 238, 242, 228, 237, 242, 226, 236, 242, 224, 235, 241, 223, 234, 241, 221, 232, 240, 219, 231, 240, 217, 230, 239, 215, 229, 239, 213, 227, 238, 211, 226, 237, 209, 224, 236, 207, 223, 236, 204, 221, 235, 202, 220, 234, 199, 218, 233, 197, 216, 232, 194, 214, 231, 191, 212, 230, 189, 210, 228, 186, 208, 227, 183, 206, 226, 180, 204, 225, 177, 202, 223, 174, 200, 222, 171, 198, 221, 168, 195, 219, 165, 193, 218, 162, 191, 216, 159, 188, 215, 155, 186, 213, 152, 183, 211, 149, 181, 210, 146, 178, 208, 143, 176, 206, 140, 173, 205, 137, 171, 203, 134, 168, 201, 131, 166, 199, 128, 163, 198, 125, 161, 196, 122, 158, 194, 119, 156, 192, 116, 153, 190, 114, 151, 188, 111, 148, 187, 109, 146, 185, 106, 143, 183, 104, 141, 181, 101, 138, 179, 99, 136, 177, 97, 134, 176, 94, 131, 174, 92, 129, 172, 90, 127, 170, 88, 124, 168, 86, 122, 167, 84, 120, 165, 82, 118, 163, 80, 116, 162, 79, 114, 160, 77, 112, 158, 75, 109, 156, 73, 107, 155, 72, 105, 153, 70, 103, 152, 69, 101, 150, 67, 100, 148, 65, 98, 147, 64, 96, 145, 62, 94, 144, 61, 92, 142, 60, 90, 141, 58, 88, 139, 57, 87, 138, 55, 85, 136, 54, 83, 135, 53, 81, 133, 51, 80, 132, 50, 78, 130, 49, 76, 129, 47, 75, 127, 46, 73, 126, 45, 71, 124, 43, 69, 123, 42, 68, 121, 41, 66, 120, 39, 64, 118, 38, 62, 117, 37, 61, 115, 35, 59, 113, 34, 57, 112, 33, 55, 110, 31, 53, 109, 30, 51, 107, 28, 50, 105, 27, 48, 104, 25, 46, 102, 24, 44, 100, 22, 42, 99, 21, 40, 97, 19, 38, 95, 18, 36, 93, 16, 34, 92, 14, 32, 90, 13, 30, 88, 11, 27, 86, 9, 25, 85, 7, 23, 83, 6, 21, 81, 4, 18, 79, 3, 15, 77, 1, 13, 76, 0], shape(bam), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bam10 = reshape([101, 2, 75, 158, 60, 133, 201, 112, 178, 228, 174, 214, 245, 227, 239, 239, 243, 229, 193, 218, 162, 124, 168, 86, 69, 123, 42, 13, 76, 0], shape(bam10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bam100 = reshape([101, 2, 75, 108, 10, 82, 112, 16, 87, 119, 23, 93, 123, 27, 97, 129, 33, 104, 134, 37, 108, 140, 42, 114, 146, 48, 120, 149, 51, 124, 155, 56, 129, 158, 60, 133, 164, 65, 138, 167, 68, 142, 172, 73, 147, 176, 78, 151, 179, 82, 154, 184, 87, 159, 186, 90, 162, 191, 96, 166, 194, 102, 171, 197, 106, 174, 201, 112, 178, 203, 116, 181, 207, 122, 185, 209, 127, 188, 212, 133, 192, 215, 140, 196, 217, 145, 198, 220, 151, 202, 222, 156, 205, 224, 163, 208, 226, 167, 211, 228, 174, 214, 231, 181, 218, 232, 185, 220, 234, 192, 223, 236, 196, 225, 238, 202, 228, 239, 206, 230, 241, 211, 233, 242, 216, 235, 243, 220, 236, 244, 224, 238, 245, 227, 239, 246, 231, 240, 246, 233, 241, 246, 236, 241, 246, 239, 241, 246, 240, 241, 246, 242, 240, 245, 242, 239, 244, 243, 237, 242, 243, 235, 241, 243, 233, 239, 243, 229, 237, 242, 226, 234, 241, 221, 231, 240, 217, 227, 238, 211, 223, 236, 204, 220, 234, 199, 214, 231, 191, 210, 228, 186, 204, 225, 177, 200, 222, 171, 193, 218, 162, 186, 213, 152, 181, 210, 146, 173, 205, 137, 168, 201, 131, 161, 196, 122, 156, 192, 116, 148, 187, 109, 141, 181, 101, 136, 177, 97, 129, 172, 90, 124, 168, 86, 118, 163, 80, 114, 160, 77, 107, 155, 72, 101, 150, 67, 98, 147, 64, 92, 142, 60, 88, 139, 57, 83, 135, 53, 78, 130, 49, 75, 127, 46, 69, 123, 42, 66, 120, 39, 61, 115, 35, 57, 112, 33, 51, 107, 28, 46, 102, 24, 42, 99, 21, 36, 93, 16, 32, 90, 13, 25, 85, 7, 21, 81, 4, 13, 76, 0], shape(bam100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bam25 = reshape([101, 2, 75, 125, 29, 99, 146, 48, 120, 165, 67, 140, 182, 85, 157, 196, 104, 172, 209, 127, 188, 219, 149, 201, 228, 174, 214, 236, 198, 226, 242, 216, 235, 246, 232, 241, 246, 241, 240, 242, 243, 234, 231, 240, 217, 216, 232, 194, 193, 218, 162, 166, 199, 128, 141, 181, 101, 116, 162, 79, 94, 144, 61, 76, 129, 47, 57, 112, 33, 38, 95, 18, 13, 76, 0], shape(bam25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bam50 = reshape([101, 2, 75, 112, 16, 87, 123, 27, 97, 136, 39, 110, 146, 48, 120, 155, 56, 129, 164, 65, 138, 172, 73, 147, 181, 84, 156, 188, 92, 163, 194, 102, 171, 201, 112, 178, 207, 122, 185, 213, 135, 193, 218, 147, 200, 223, 158, 206, 227, 170, 212, 231, 181, 218, 235, 194, 224, 238, 204, 229, 241, 213, 233, 243, 221, 237, 245, 228, 240, 246, 235, 241, 246, 239, 241, 245, 242, 240, 243, 243, 237, 239, 243, 230, 235, 241, 223, 229, 239, 213, 221, 235, 202, 212, 230, 189, 200, 222, 171, 188, 215, 155, 176, 206, 140, 163, 198, 125, 151, 188, 111, 136, 177, 97, 124, 168, 86, 114, 160, 77, 103, 152, 69, 94, 144, 61, 83, 135, 53, 75, 127, 46, 66, 120, 39, 57, 112, 33, 48, 104, 25, 36, 93, 16, 25, 85, 7, 13, 76, 0], shape(bam50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bamO = reshape([79, 48, 67, 80, 47, 69, 81, 47, 70, 83, 48, 71, 84, 48, 73, 86, 48, 75, 88, 48, 77, 90, 49, 78, 92, 50, 80, 94, 50, 82, 96, 51, 84, 98, 52, 87, 100, 53, 89, 103, 54, 91, 105, 55, 93, 107, 56, 95, 109, 57, 97, 112, 58, 99, 114, 59, 101, 116, 61, 103, 118, 62, 105, 121, 63, 107, 123, 65, 109, 125, 66, 111, 127, 68, 113, 129, 69, 115, 131, 70, 117, 133, 72, 119, 135, 73, 121, 137, 75, 123, 139, 76, 125, 141, 78, 126, 143, 79, 128, 145, 81, 130, 147, 82, 132, 148, 84, 133, 150, 85, 135, 152, 87, 137, 154, 88, 138, 155, 90, 140, 157, 91, 141, 159, 93, 143, 160, 94, 145, 162, 96, 146, 163, 97, 148, 165, 99, 149, 167, 101, 151, 168, 102, 152, 170, 104, 154, 171, 105, 155, 173, 107, 157, 174, 109, 158, 176, 110, 160, 177, 112, 161, 179, 114, 163, 181, 116, 164, 182, 118, 166, 184, 119, 167, 185, 121, 169, 187, 123, 170, 188, 125, 172, 190, 127, 173, 191, 129, 175, 192, 131, 176, 194, 133, 178, 195, 135, 179, 197, 137, 181, 198, 139, 182, 199, 141, 184, 201, 143, 185, 202, 146, 186, 203, 148, 188, 204, 150, 189, 205, 152, 190, 207, 154, 191, 208, 156, 193, 209, 158, 194, 210, 160, 195, 210, 163, 196, 211, 165, 197, 212, 167, 198, 213, 169, 199, 214, 171, 199, 214, 173, 200, 215, 174, 201, 215, 176, 201, 216, 178, 202, 216, 180, 202, 217, 181, 203, 217, 183, 203, 217, 184, 203, 217, 186, 204, 218, 187, 204, 218, 188, 204, 218, 190, 204, 218, 191, 204, 218, 192, 204, 218, 193, 204, 218, 194, 204, 218, 195, 204, 218, 196, 203, 217, 197, 203, 217, 197, 203, 217, 198, 203, 217, 199, 202, 217, 199, 202, 216, 200, 202, 216, 201, 201, 216, 201, 201, 216, 202, 200, 215, 202, 200, 215, 202, 199, 215, 203, 199, 214, 203, 199, 214, 203, 198, 214, 204, 197, 213, 204, 197, 213, 204, 196, 212, 204, 196, 212, 205, 195, 212, 205, 194, 211, 205, 194, 211, 205, 193, 210, 205, 192, 209, 205, 191, 209, 205, 190, 208, 205, 189, 207, 205, 188, 206, 205, 187, 205, 205, 186, 204, 205, 185, 203, 204, 183, 202, 204, 182, 201, 204, 180, 200, 203, 178, 198, 203, 177, 197, 202, 175, 195, 201, 173, 194, 200, 170, 192, 199, 168, 190, 198, 166, 188, 197, 164, 186, 196, 161, 184, 194, 158, 182, 193, 156, 180, 191, 153, 178, 190, 151, 176, 188, 148, 173, 186, 145, 171, 184, 143, 169, 182, 140, 167, 181, 138, 164, 179, 135, 162, 177, 133, 160, 175, 131, 158, 173, 128, 156, 171, 126, 154, 169, 124, 152, 167, 122, 150, 165, 120, 148, 163, 118, 146, 161, 116, 145, 159, 114, 143, 158, 112, 141, 156, 110, 139, 154, 109, 138, 152, 107, 136, 150, 105, 134, 148, 104, 133, 147, 102, 131, 145, 101, 130, 143, 99, 128, 141, 98, 127, 140, 97, 125, 138, 95, 124, 136, 94, 123, 135, 93, 121, 133, 92, 120, 131, 91, 119, 130, 90, 117, 128, 88, 116, 127, 87, 115, 125, 86, 114, 124, 85, 113, 122, 84, 111, 121, 83, 110, 119, 82, 109, 117, 82, 108, 116, 81, 107, 114, 80, 106, 113, 79, 105, 111, 78, 103, 110, 77, 102, 108, 76, 101, 107, 76, 100, 105, 75, 99, 104, 74, 98, 102, 73, 97, 101, 72, 96, 99, 72, 95, 98, 71, 94, 96, 70, 93, 95, 70, 92, 93, 69, 91, 92, 68, 90, 91, 68, 89, 89, 67, 88, 88, 66, 87, 86, 66, 87, 85, 65, 86, 84, 65, 85, 83, 64, 84, 81, 64, 84, 80, 63, 83, 79, 63, 82, 78, 63, 81, 77, 62, 81, 76, 62, 80, 75, 61, 80, 73, 61, 79, 72, 61, 79, 72, 60, 78, 71, 60, 78, 70, 60, 77, 69, 60, 77, 68, 59, 76, 67, 59, 76, 66, 59, 75, 65, 59, 75, 64, 59, 75, 64, 59, 74, 63, 58, 74, 62, 58, 74, 61, 58, 74, 60, 58, 73, 60, 58, 73, 59, 58, 73, 58, 58, 73, 57, 58, 73, 57, 58, 73, 56, 58, 72, 55, 58, 72, 54, 59, 72, 54, 59, 72, 53, 59, 73, 52, 59, 73, 52, 60, 73, 51, 60, 73, 50, 61, 74, 50, 61, 74, 49, 62, 75, 49, 62, 75, 49, 63, 76, 48, 64, 77, 48, 65, 78, 48, 66], shape(bamO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bamO10 = reshape([79, 48, 67, 135, 73, 121, 184, 119, 167, 215, 176, 201, 214, 203, 199, 186, 196, 161, 131, 145, 101, 97, 101, 72, 76, 66, 59, 78, 48, 66], shape(bamO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bamO100 = reshape([79, 48, 67, 83, 48, 71, 86, 48, 75, 92, 50, 80, 96, 51, 84, 103, 54, 91, 107, 56, 95, 114, 59, 101, 121, 63, 107, 125, 66, 111, 131, 70, 117, 135, 73, 121, 141, 78, 126, 145, 81, 130, 150, 85, 135, 155, 90, 140, 159, 93, 143, 163, 97, 148, 167, 101, 151, 171, 105, 155, 176, 110, 160, 179, 114, 163, 184, 119, 167, 187, 123, 170, 191, 129, 175, 194, 133, 178, 198, 139, 182, 202, 146, 186, 204, 150, 189, 208, 156, 193, 210, 160, 195, 212, 167, 198, 214, 171, 199, 215, 176, 201, 217, 181, 203, 217, 184, 203, 218, 188, 204, 218, 191, 204, 218, 194, 204, 218, 196, 203, 217, 198, 203, 216, 200, 202, 216, 201, 201, 215, 202, 199, 214, 203, 199, 213, 204, 197, 212, 204, 196, 211, 205, 194, 209, 205, 191, 208, 205, 189, 205, 205, 186, 203, 204, 183, 200, 203, 178, 195, 201, 173, 192, 199, 168, 186, 196, 161, 182, 193, 156, 176, 188, 148, 171, 184, 143, 164, 179, 135, 158, 173, 128, 154, 169, 124, 148, 163, 118, 145, 159, 114, 139, 154, 109, 136, 150, 105, 131, 145, 101, 127, 140, 97, 124, 136, 94, 120, 131, 91, 117, 128, 88, 114, 124, 85, 111, 121, 83, 108, 116, 81, 105, 111, 78, 102, 108, 76, 99, 104, 74, 97, 101, 72, 94, 96, 70, 92, 93, 69, 89, 89, 67, 87, 85, 65, 85, 83, 64, 83, 79, 63, 81, 77, 62, 80, 73, 61, 78, 71, 60, 77, 69, 60, 76, 66, 59, 75, 64, 59, 74, 62, 58, 74, 60, 58, 73, 58, 58, 73, 56, 58, 72, 54, 59, 73, 52, 59, 73, 51, 60, 74, 49, 62, 75, 49, 63, 78, 48, 66], shape(bamO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bamO25 = reshape([79, 48, 67, 98, 52, 87, 121, 63, 107, 143, 79, 128, 162, 96, 146, 177, 112, 161, 194, 133, 178, 207, 154, 191, 215, 176, 201, 218, 192, 204, 216, 200, 202, 213, 204, 196, 206, 205, 187, 194, 200, 170, 171, 184, 143, 150, 165, 120, 131, 145, 101, 116, 127, 87, 105, 111, 78, 93, 95, 70, 84, 80, 63, 78, 70, 60, 74, 60, 58, 72, 53, 59, 78, 48, 66], shape(bamO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bamO50 = reshape([79, 48, 67, 86, 48, 75, 96, 51, 84, 109, 57, 97, 121, 63, 107, 131, 70, 117, 141, 78, 126, 150, 85, 135, 160, 94, 145, 168, 102, 152, 176, 110, 160, 184, 119, 167, 191, 129, 175, 199, 141, 184, 205, 152, 190, 210, 163, 196, 214, 173, 200, 217, 181, 203, 218, 190, 204, 218, 195, 204, 217, 199, 202, 216, 202, 200, 214, 203, 198, 212, 205, 194, 209, 205, 190, 204, 205, 185, 198, 203, 177, 188, 197, 164, 178, 190, 151, 167, 181, 138, 156, 171, 126, 146, 161, 116, 136, 150, 105, 128, 141, 98, 121, 133, 92, 115, 125, 86, 109, 117, 82, 102, 108, 76, 97, 101, 72, 92, 93, 69, 87, 86, 66, 84, 80, 63, 80, 73, 61, 77, 69, 60, 75, 64, 59, 74, 60, 58, 73, 57, 58, 73, 52, 59, 74, 49, 62, 78, 48, 66], shape(bamO50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bamako = reshape([0, 59, 71, 0, 59, 71, 1, 59, 71, 1, 60, 71, 2, 60, 70, 2, 60, 70, 3, 60, 70, 3, 61, 69, 4, 61, 69, 4, 61, 69, 5, 62, 69, 5, 62, 68, 6, 62, 68, 6, 63, 68, 7, 63, 67, 7, 63, 67, 8, 63, 67, 8, 64, 66, 9, 64, 66, 9, 64, 66, 10, 65, 66, 10, 65, 65, 11, 65, 65, 11, 66, 65, 12, 66, 64, 12, 66, 64, 13, 67, 64, 13, 67, 63, 14, 67, 63, 14, 68, 63, 15, 68, 62, 15, 68, 62, 16, 69, 62, 16, 69, 61, 17, 69, 61, 18, 70, 61, 18, 70, 60, 19, 71, 60, 19, 71, 60, 20, 71, 59, 20, 72, 59, 21, 72, 58, 22, 72, 58, 22, 73, 58, 23, 73, 57, 23, 74, 57, 24, 74, 57, 25, 74, 56, 25, 75, 56, 26, 75, 55, 27, 76, 55, 27, 76, 55, 28, 77, 54, 29, 77, 54, 29, 77, 53, 30, 78, 53, 31, 78, 52, 32, 79, 52, 32, 79, 51, 33, 80, 51, 34, 80, 51, 34, 81, 50, 35, 81, 50, 36, 82, 49, 37, 82, 49, 38, 83, 48, 38, 83, 48, 39, 84, 47, 40, 84, 47, 41, 85, 46, 41, 85, 46, 42, 86, 45, 43, 86, 45, 44, 87, 44, 45, 87, 44, 46, 88, 43, 46, 88, 43, 47, 89, 42, 48, 90, 42, 49, 90, 41, 50, 91, 41, 51, 91, 40, 52, 92, 39, 53, 92, 39, 53, 93, 38, 54, 94, 38, 55, 94, 37, 56, 95, 37, 57, 95, 36, 58, 96, 35, 59, 97, 35, 60, 97, 34, 61, 98, 34, 62, 98, 33, 63, 99, 33, 64, 100, 32, 65, 100, 31, 66, 101, 31, 67, 102, 30, 68, 102, 30, 69, 103, 29, 70, 104, 28, 71, 104, 28, 72, 105, 27, 73, 105, 26, 74, 106, 26, 75, 107, 25, 76, 107, 24, 77, 108, 24, 78, 109, 23, 79, 110, 23, 80, 110, 22, 81, 111, 21, 82, 112, 21, 83, 112, 20, 84, 113, 19, 85, 114, 19, 86, 114, 18, 88, 115, 17, 89, 116, 17, 90, 116, 16, 91, 117, 15, 92, 118, 15, 93, 119, 14, 94, 119, 13, 95, 120, 13, 96, 121, 12, 97, 121, 11, 99, 122, 10, 100, 123, 10, 101, 124, 9, 102, 124, 8, 103, 125, 7, 104, 126, 7, 105, 126, 6, 106, 127, 5, 107, 128, 5, 109, 128, 4, 110, 129, 4, 111, 130, 3, 112, 130, 3, 113, 131, 2, 115, 131, 2, 116, 132, 1, 117, 132, 1, 119, 133, 1, 120, 133, 1, 121, 134, 0, 123, 134, 0, 124, 134, 0, 125, 135, 0, 127, 135, 0, 128, 135, 0, 129, 136, 0, 131, 136, 0, 132, 136, 0, 133, 136, 0, 135, 137, 0, 136, 137, 0, 137, 137, 0, 139, 137, 0, 140, 138, 0, 141, 138, 0, 143, 138, 0, 144, 139, 0, 145, 139, 0, 147, 139, 1, 148, 140, 1, 149, 140, 1, 151, 141, 2, 152, 141, 3, 153, 142, 3, 155, 142, 4, 156, 143, 5, 157, 144, 6, 158, 145, 8, 160, 146, 9, 161, 146, 11, 162, 147, 13, 164, 148, 14, 165, 149, 16, 166, 150, 17, 168, 151, 19, 169, 152, 21, 170, 153, 22, 172, 154, 24, 173, 155, 26, 174, 156, 27, 176, 157, 29, 177, 158, 31, 178, 159, 32, 180, 160, 34, 181, 161, 36, 183, 162, 37, 184, 163, 39, 185, 165, 41, 187, 166, 43, 188, 167, 44, 190, 168, 46, 191, 169, 48, 192, 170, 50, 194, 171, 52, 195, 172, 53, 197, 173, 55, 198, 174, 57, 199, 175, 59, 201, 176, 61, 202, 178, 63, 203, 179, 65, 205, 180, 68, 206, 181, 70, 207, 182, 72, 208, 183, 74, 210, 184, 77, 211, 185, 79, 212, 187, 81, 213, 188, 84, 214, 189, 86, 215, 190, 89, 217, 191, 91, 218, 192, 93, 219, 193, 96, 220, 194, 98, 221, 196, 100, 222, 197, 103, 223, 198, 105, 224, 199, 108, 226, 200, 110, 227, 201, 112, 228, 202, 115, 229, 203, 117, 230, 204, 119, 231, 205, 122, 232, 207, 124, 233, 208, 126, 234, 209, 129, 235, 210, 131, 236, 211, 133, 237, 212, 136, 239, 213, 138, 240, 214, 140, 241, 215, 142, 242, 216, 145, 243, 217, 147, 244, 218, 149, 245, 219, 151, 246, 220, 154, 247, 221, 156, 248, 222, 158, 249, 223, 160, 250, 224, 163, 251, 225, 165, 252, 226, 167, 253, 227, 169, 254, 228, 171, 255, 229, 173], shape(bamako), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bamako10 = reshape([0, 59, 71, 14, 67, 63, 32, 79, 52, 54, 94, 38, 82, 112, 21, 115, 131, 2, 152, 141, 3, 190, 168, 46, 226, 200, 110, 255, 229, 173], shape(bamako10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bamako100 = reshape([0, 59, 71, 1, 60, 71, 2, 60, 70, 4, 61, 69, 5, 62, 69, 6, 63, 68, 7, 63, 67, 9, 64, 66, 10, 65, 65, 11, 66, 65, 13, 67, 64, 14, 67, 63, 15, 68, 62, 16, 69, 61, 18, 70, 60, 20, 71, 59, 21, 72, 58, 23, 73, 57, 24, 74, 57, 26, 75, 55, 28, 77, 54, 29, 77, 53, 32, 79, 52, 33, 80, 51, 35, 81, 50, 37, 82, 49, 39, 84, 47, 41, 85, 46, 43, 86, 45, 46, 88, 43, 47, 89, 42, 50, 91, 41, 52, 92, 39, 54, 94, 38, 57, 95, 36, 59, 97, 35, 62, 98, 33, 64, 100, 32, 67, 102, 30, 69, 103, 29, 72, 105, 27, 75, 107, 25, 77, 108, 24, 80, 110, 22, 82, 112, 21, 85, 114, 19, 88, 115, 17, 91, 117, 15, 94, 119, 13, 96, 121, 12, 100, 123, 10, 102, 124, 8, 105, 126, 6, 109, 128, 4, 111, 130, 3, 115, 131, 2, 117, 132, 1, 121, 134, 0, 124, 134, 0, 128, 135, 0, 132, 136, 0, 135, 137, 0, 139, 137, 0, 141, 138, 0, 145, 139, 0, 148, 140, 1, 152, 141, 3, 156, 143, 5, 158, 145, 8, 162, 147, 13, 165, 149, 16, 169, 152, 21, 172, 154, 24, 176, 157, 29, 180, 160, 34, 183, 162, 37, 187, 166, 43, 190, 168, 46, 194, 171, 52, 197, 173, 55, 201, 176, 61, 205, 180, 68, 207, 182, 72, 211, 185, 79, 213, 188, 84, 217, 191, 91, 220, 194, 98, 222, 197, 103, 226, 200, 110, 228, 202, 115, 231, 205, 122, 233, 208, 126, 236, 211, 133, 240, 214, 140, 242, 216, 145, 245, 219, 151, 247, 221, 156, 250, 224, 163, 252, 226, 167, 255, 229, 173], shape(bamako100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bamako25 = reshape([0, 59, 71, 5, 62, 68, 10, 65, 65, 16, 69, 62, 22, 73, 58, 29, 77, 54, 37, 82, 49, 45, 87, 44, 54, 94, 38, 65, 100, 31, 75, 107, 25, 86, 114, 18, 99, 122, 10, 110, 129, 4, 124, 134, 0, 137, 137, 0, 152, 141, 3, 166, 150, 17, 180, 160, 34, 195, 172, 53, 210, 184, 77, 221, 196, 100, 233, 208, 126, 244, 218, 149, 255, 229, 173], shape(bamako25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bamako50 = reshape([0, 59, 71, 2, 60, 70, 5, 62, 69, 8, 63, 67, 10, 65, 65, 13, 67, 64, 15, 68, 62, 18, 70, 60, 22, 72, 58, 25, 74, 56, 28, 77, 54, 32, 79, 52, 35, 81, 50, 40, 84, 47, 44, 87, 44, 48, 90, 42, 53, 92, 39, 57, 95, 36, 63, 99, 33, 68, 102, 30, 73, 105, 26, 78, 109, 23, 83, 112, 20, 90, 116, 16, 95, 120, 13, 101, 124, 9, 106, 127, 5, 113, 131, 2, 120, 133, 1, 127, 135, 0, 133, 136, 0, 140, 138, 0, 148, 140, 1, 155, 142, 4, 161, 146, 11, 168, 151, 19, 174, 156, 27, 183, 162, 37, 190, 168, 46, 197, 173, 55, 203, 179, 65, 210, 184, 77, 217, 191, 91, 222, 197, 103, 228, 202, 115, 233, 208, 126, 239, 213, 138, 245, 219, 151, 250, 224, 163, 255, 229, 173], shape(bamako50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bamakoS = reshape([0, 59, 71, 255, 229, 173, 99, 122, 10, 37, 82, 49, 180, 160, 34, 65, 100, 31, 221, 196, 100, 16, 69, 62, 139, 137, 0, 8, 63, 67, 25, 75, 56, 239, 213, 138, 117, 132, 1, 81, 111, 21, 202, 178, 63, 50, 91, 41, 160, 146, 9, 149, 140, 1, 247, 221, 156, 128, 135, 0, 73, 105, 26, 43, 86, 45, 107, 128, 5, 20, 72, 59, 57, 95, 36, 191, 169, 48, 212, 187, 81, 12, 66, 64, 90, 116, 16, 4, 61, 69, 31, 78, 52, 230, 204, 119, 170, 153, 22, 243, 217, 147, 123, 134, 0, 85, 114, 19, 103, 125, 7, 251, 225, 165, 133, 136, 0, 207, 182, 72, 61, 98, 34, 2, 60, 70, 28, 77, 54, 94, 119, 13, 14, 67, 63, 77, 108, 24, 23, 73, 57, 46, 88, 43, 10, 65, 66, 112, 130, 3, 197, 173, 55, 185, 165, 41, 234, 209, 129, 165, 149, 16, 40, 84, 47, 217, 191, 91, 69, 103, 29, 18, 70, 60, 34, 80, 51, 6, 62, 68, 53, 93, 38, 144, 139, 0, 155, 142, 4, 226, 200, 110, 176, 157, 29, 199, 175, 59, 188, 167, 44, 11, 65, 65, 24, 74, 57, 125, 135, 0, 52, 92, 39, 41, 85, 46, 205, 180, 68, 131, 136, 0, 157, 144, 6, 152, 141, 3, 241, 215, 142, 15, 68, 62, 115, 131, 2, 88, 115, 17, 96, 121, 12, 29, 77, 53, 183, 162, 37, 35, 81, 50, 22, 72, 58, 228, 202, 115, 3, 60, 70, 5, 62, 69, 79, 110, 23, 9, 64, 66, 253, 227, 169, 141, 138, 0, 147, 139, 1, 59, 97, 35, 92, 118, 15, 1, 59, 71, 38, 83, 48, 223, 198, 105, 17, 69, 61, 67, 102, 30], shape(bamakoS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: batlow = reshape([1, 25, 89, 2, 27, 89, 3, 28, 90, 4, 30, 90, 5, 31, 90, 6, 33, 91, 7, 34, 91, 7, 36, 91, 8, 37, 91, 9, 39, 92, 10, 40, 92, 10, 42, 92, 11, 43, 92, 11, 45, 93, 12, 46, 93, 12, 47, 93, 13, 49, 93, 13, 50, 94, 13, 51, 94, 14, 53, 94, 14, 54, 94, 14, 55, 94, 15, 56, 95, 15, 57, 95, 15, 59, 95, 15, 60, 95, 16, 61, 95, 16, 62, 95, 16, 63, 96, 16, 64, 96, 17, 65, 96, 17, 66, 96, 17, 67, 96, 17, 68, 96, 18, 69, 97, 18, 70, 97, 18, 71, 97, 18, 72, 97, 19, 73, 97, 19, 74, 97, 19, 75, 97, 20, 76, 98, 20, 77, 98, 20, 78, 98, 21, 79, 98, 21, 79, 98, 22, 80, 98, 22, 81, 98, 23, 82, 98, 23, 83, 98, 24, 84, 98, 24, 85, 98, 25, 86, 98, 25, 87, 98, 26, 87, 98, 27, 88, 98, 27, 89, 98, 28, 90, 98, 29, 91, 98, 30, 92, 98, 30, 93, 98, 31, 93, 97, 32, 94, 97, 33, 95, 97, 34, 96, 97, 35, 96, 96, 36, 97, 96, 37, 98, 96, 38, 99, 95, 39, 99, 95, 40, 100, 95, 42, 101, 94, 43, 101, 94, 44, 102, 93, 45, 103, 93, 47, 103, 92, 48, 104, 92, 49, 105, 91, 51, 105, 90, 52, 106, 90, 53, 106, 89, 55, 107, 88, 56, 108, 88, 58, 108, 87, 59, 109, 86, 60, 109, 86, 62, 110, 85, 63, 110, 84, 65, 111, 83, 66, 111, 82, 68, 112, 82, 69, 112, 81, 71, 113, 80, 72, 113, 79, 74, 114, 78, 76, 114, 77, 77, 115, 77, 79, 115, 76, 80, 116, 75, 82, 116, 74, 83, 117, 73, 85, 117, 72, 87, 118, 71, 88, 118, 70, 90, 119, 69, 91, 119, 69, 93, 120, 68, 95, 120, 67, 96, 121, 66, 98, 121, 65, 99, 122, 64, 101, 122, 63, 103, 123, 62, 104, 123, 62, 106, 123, 61, 108, 124, 60, 109, 124, 59, 111, 125, 58, 113, 125, 57, 115, 126, 56, 116, 126, 56, 118, 127, 55, 120, 127, 54, 121, 128, 53, 123, 128, 52, 125, 129, 52, 127, 129, 51, 129, 130, 50, 130, 130, 49, 132, 131, 49, 134, 131, 48, 136, 132, 47, 138, 132, 47, 140, 133, 46, 142, 133, 46, 143, 134, 45, 145, 134, 45, 147, 135, 44, 149, 135, 44, 151, 136, 44, 153, 136, 44, 155, 137, 43, 157, 137, 43, 159, 137, 43, 161, 138, 43, 163, 138, 44, 165, 139, 44, 167, 139, 44, 169, 140, 44, 171, 140, 45, 173, 140, 45, 175, 141, 46, 177, 141, 47, 179, 142, 47, 181, 142, 48, 183, 142, 49, 185, 143, 50, 187, 143, 51, 189, 143, 52, 190, 144, 53, 192, 144, 54, 194, 144, 55, 196, 145, 56, 198, 145, 58, 200, 145, 59, 202, 146, 60, 203, 146, 62, 205, 146, 63, 207, 147, 64, 209, 147, 66, 210, 147, 67, 212, 148, 69, 214, 148, 70, 216, 148, 72, 217, 149, 74, 219, 149, 75, 221, 149, 77, 222, 150, 79, 224, 150, 81, 225, 151, 82, 227, 151, 84, 228, 151, 86, 230, 152, 88, 231, 152, 90, 233, 153, 92, 234, 153, 94, 235, 154, 96, 237, 154, 98, 238, 155, 100, 239, 155, 103, 240, 156, 105, 241, 157, 107, 242, 157, 109, 243, 158, 112, 244, 159, 114, 245, 159, 116, 246, 160, 119, 247, 161, 121, 248, 161, 123, 248, 162, 126, 249, 163, 128, 249, 163, 130, 250, 164, 133, 250, 165, 135, 251, 166, 137, 251, 166, 140, 252, 167, 142, 252, 168, 144, 252, 169, 147, 252, 169, 149, 253, 170, 151, 253, 171, 154, 253, 172, 156, 253, 172, 158, 253, 173, 160, 253, 174, 162, 253, 175, 165, 253, 175, 167, 253, 176, 169, 253, 177, 171, 253, 178, 173, 253, 178, 175, 253, 179, 177, 253, 180, 180, 253, 180, 182, 253, 181, 184, 253, 182, 186, 253, 183, 188, 253, 183, 190, 253, 184, 192, 253, 185, 194, 253, 186, 196, 253, 186, 199, 253, 187, 201, 253, 188, 203, 253, 188, 205, 252, 189, 207, 252, 190, 209, 252, 191, 211, 252, 191, 214, 252, 192, 216, 252, 193, 218, 252, 194, 220, 252, 195, 223, 252, 195, 225, 252, 196, 227, 252, 197, 229, 251, 198, 232, 251, 198, 234, 251, 199, 236, 251, 200, 239, 251, 201, 241, 251, 202, 243, 251, 202, 246, 250, 203, 248, 250, 204, 250], shape(batlow), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: batlow10 = reshape([1, 25, 89, 16, 63, 96, 28, 90, 98, 60, 109, 86, 104, 123, 62, 157, 137, 43, 210, 147, 67, 248, 161, 123, 253, 183, 188, 250, 204, 250], shape(batlow10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlow100 = reshape([1, 25, 89, 4, 30, 90, 6, 33, 91, 8, 37, 91, 10, 40, 92, 11, 45, 93, 12, 47, 93, 13, 51, 94, 14, 55, 94, 15, 57, 95, 16, 61, 95, 16, 63, 96, 17, 66, 96, 17, 68, 96, 18, 71, 97, 19, 74, 97, 20, 76, 98, 21, 79, 98, 22, 80, 98, 23, 83, 98, 25, 86, 98, 26, 87, 98, 28, 90, 98, 30, 92, 98, 32, 94, 97, 34, 96, 97, 37, 98, 96, 40, 100, 95, 43, 101, 94, 47, 103, 92, 49, 105, 91, 53, 106, 89, 56, 108, 88, 60, 109, 86, 65, 111, 83, 68, 112, 82, 72, 113, 79, 76, 114, 77, 80, 116, 75, 83, 117, 73, 88, 118, 70, 93, 120, 68, 96, 121, 66, 101, 122, 63, 104, 123, 62, 109, 124, 59, 113, 125, 57, 118, 127, 55, 123, 128, 52, 127, 129, 51, 132, 131, 49, 136, 132, 47, 142, 133, 46, 147, 135, 44, 151, 136, 44, 157, 137, 43, 161, 138, 43, 167, 139, 44, 171, 140, 45, 177, 141, 47, 183, 142, 49, 187, 143, 51, 192, 144, 54, 196, 145, 56, 202, 146, 60, 205, 146, 63, 210, 147, 67, 216, 148, 72, 219, 149, 75, 224, 150, 81, 227, 151, 84, 231, 152, 90, 234, 153, 94, 238, 155, 100, 241, 157, 107, 243, 158, 112, 246, 160, 119, 248, 161, 123, 249, 163, 130, 250, 165, 135, 252, 167, 142, 252, 169, 149, 253, 171, 154, 253, 173, 160, 253, 175, 165, 253, 177, 171, 253, 179, 177, 253, 180, 182, 253, 183, 188, 253, 184, 192, 253, 186, 199, 253, 188, 203, 252, 190, 209, 252, 192, 216, 252, 194, 220, 252, 196, 227, 251, 198, 232, 251, 200, 239, 251, 202, 243, 250, 204, 250], shape(batlow100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: batlow25 = reshape([1, 25, 89, 10, 42, 92, 14, 55, 94, 17, 67, 96, 20, 78, 98, 25, 87, 98, 34, 96, 97, 45, 103, 93, 60, 109, 86, 77, 115, 77, 93, 120, 68, 111, 125, 58, 130, 130, 49, 149, 135, 44, 171, 140, 45, 190, 144, 53, 210, 147, 67, 228, 151, 86, 241, 157, 107, 250, 164, 133, 253, 172, 158, 253, 180, 180, 253, 188, 203, 252, 195, 225, 250, 204, 250], shape(batlow25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: batlow50 = reshape([1, 25, 89, 6, 33, 91, 10, 40, 92, 13, 49, 93, 14, 55, 94, 16, 61, 95, 17, 66, 96, 18, 71, 97, 20, 77, 98, 22, 81, 98, 25, 86, 98, 28, 90, 98, 32, 94, 97, 38, 99, 95, 44, 102, 93, 51, 105, 90, 58, 108, 87, 65, 111, 83, 74, 114, 78, 82, 116, 74, 90, 119, 69, 98, 121, 65, 106, 123, 61, 116, 126, 56, 125, 129, 52, 134, 131, 48, 143, 134, 45, 155, 137, 43, 165, 139, 44, 175, 141, 46, 185, 143, 50, 194, 144, 55, 205, 146, 63, 214, 148, 70, 222, 150, 79, 230, 152, 88, 237, 154, 98, 243, 158, 112, 248, 161, 123, 250, 165, 135, 252, 169, 147, 253, 172, 158, 253, 177, 171, 253, 180, 182, 253, 184, 192, 253, 188, 203, 252, 191, 214, 252, 196, 227, 251, 200, 239, 250, 204, 250], shape(batlow50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: batlowK = reshape([4, 5, 10, 5, 7, 13, 6, 8, 15, 7, 10, 17, 9, 12, 19, 10, 13, 21, 11, 15, 23, 12, 16, 25, 13, 17, 26, 14, 18, 28, 15, 20, 30, 15, 21, 31, 16, 22, 33, 16, 23, 35, 17, 24, 37, 17, 26, 39, 18, 27, 41, 18, 28, 43, 19, 30, 45, 20, 31, 47, 20, 32, 49, 21, 34, 51, 21, 35, 53, 22, 37, 55, 23, 38, 57, 23, 39, 59, 24, 41, 61, 25, 43, 63, 26, 44, 65, 26, 46, 67, 27, 47, 69, 28, 49, 70, 29, 50, 72, 30, 52, 74, 31, 53, 75, 32, 55, 77, 33, 56, 79, 34, 58, 80, 35, 59, 81, 36, 61, 83, 37, 62, 84, 38, 64, 85, 39, 65, 86, 40, 67, 87, 41, 68, 88, 42, 69, 89, 43, 71, 90, 44, 72, 91, 45, 73, 91, 46, 74, 92, 47, 75, 93, 48, 77, 93, 49, 78, 94, 50, 79, 94, 51, 80, 94, 52, 81, 95, 53, 82, 95, 54, 83, 95, 55, 84, 95, 56, 85, 95, 57, 85, 95, 58, 86, 95, 59, 87, 95, 60, 88, 95, 61, 89, 95, 62, 89, 95, 62, 90, 95, 63, 91, 94, 64, 92, 94, 65, 92, 94, 66, 93, 94, 67, 93, 93, 67, 94, 93, 68, 95, 93, 69, 95, 92, 70, 96, 92, 71, 97, 92, 72, 97, 91, 73, 98, 91, 73, 98, 90, 74, 99, 90, 75, 99, 89, 76, 100, 89, 77, 101, 88, 78, 101, 88, 79, 102, 87, 80, 102, 87, 81, 103, 86, 82, 103, 86, 83, 104, 85, 84, 105, 85, 85, 105, 84, 86, 106, 83, 87, 106, 83, 88, 107, 82, 89, 108, 81, 90, 108, 81, 91, 109, 80, 92, 110, 79, 94, 110, 79, 95, 111, 78, 96, 112, 77, 97, 112, 77, 98, 113, 76, 99, 114, 75, 101, 114, 75, 102, 115, 74, 103, 116, 73, 105, 116, 73, 106, 117, 72, 107, 118, 71, 108, 118, 71, 110, 119, 70, 111, 120, 69, 113, 120, 69, 114, 121, 68, 115, 122, 67, 117, 123, 67, 118, 123, 66, 120, 124, 65, 121, 125, 65, 123, 126, 64, 125, 126, 63, 126, 127, 63, 128, 128, 62, 129, 129, 62, 131, 129, 61, 133, 130, 61, 134, 131, 60, 136, 132, 60, 138, 133, 59, 140, 133, 59, 142, 134, 58, 143, 135, 58, 145, 136, 58, 147, 136, 57, 149, 137, 57, 151, 138, 57, 153, 139, 56, 155, 139, 56, 157, 140, 56, 159, 141, 56, 161, 142, 56, 163, 142, 56, 165, 143, 56, 167, 144, 56, 169, 145, 57, 171, 145, 57, 173, 146, 57, 175, 147, 58, 177, 147, 58, 179, 148, 59, 181, 149, 59, 183, 149, 60, 186, 150, 61, 188, 150, 61, 190, 151, 62, 192, 152, 63, 194, 152, 64, 196, 153, 65, 198, 153, 66, 200, 154, 67, 201, 154, 69, 203, 155, 70, 205, 155, 71, 207, 156, 73, 209, 156, 74, 211, 157, 76, 212, 157, 77, 214, 157, 79, 216, 158, 80, 217, 158, 82, 219, 159, 84, 220, 159, 85, 222, 160, 87, 223, 160, 89, 225, 160, 91, 226, 161, 93, 228, 161, 95, 229, 161, 96, 230, 162, 98, 231, 162, 100, 232, 163, 102, 234, 163, 104, 235, 163, 106, 236, 164, 108, 237, 164, 110, 238, 165, 112, 239, 165, 114, 240, 165, 116, 240, 166, 118, 241, 166, 120, 242, 167, 122, 243, 167, 124, 243, 167, 126, 244, 168, 128, 245, 168, 130, 245, 169, 132, 246, 169, 134, 246, 170, 136, 247, 170, 139, 247, 171, 141, 248, 171, 143, 248, 172, 145, 249, 172, 146, 249, 173, 148, 250, 173, 150, 250, 174, 152, 250, 174, 154, 251, 175, 156, 251, 175, 158, 251, 176, 160, 251, 176, 162, 252, 177, 164, 252, 177, 166, 252, 178, 168, 252, 178, 170, 252, 179, 172, 252, 179, 174, 253, 180, 176, 253, 181, 178, 253, 181, 180, 253, 182, 182, 253, 182, 183, 253, 183, 185, 253, 183, 187, 253, 184, 189, 253, 185, 191, 253, 185, 193, 253, 186, 195, 253, 187, 197, 253, 187, 199, 253, 188, 201, 253, 188, 203, 253, 189, 205, 253, 190, 207, 253, 190, 209, 253, 191, 211, 253, 192, 214, 253, 193, 216, 253, 193, 218, 253, 194, 220, 253, 195, 222, 253, 195, 224, 252, 196, 226, 252, 197, 228, 252, 198, 231, 252, 198, 233, 252, 199, 235, 252, 200, 237, 251, 200, 239, 251, 201, 241, 251, 202, 244, 251, 203, 246, 251, 203, 248, 250, 204, 250], shape(batlowK), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: batlowK10 = reshape([4, 5, 10, 26, 44, 65, 54, 83, 95, 79, 102, 87, 111, 120, 69, 161, 142, 56, 216, 158, 80, 246, 169, 134, 253, 185, 191, 250, 204, 250], shape(batlowK10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowK100 = reshape([4, 5, 10, 7, 10, 17, 10, 13, 21, 13, 17, 26, 15, 20, 30, 16, 23, 35, 17, 26, 39, 19, 30, 45, 21, 34, 51, 22, 37, 55, 24, 41, 61, 26, 44, 65, 28, 49, 70, 30, 52, 74, 33, 56, 79, 36, 61, 83, 38, 64, 85, 41, 68, 88, 43, 71, 90, 46, 74, 92, 49, 78, 94, 51, 80, 94, 54, 83, 95, 56, 85, 95, 59, 87, 95, 61, 89, 95, 63, 91, 94, 66, 93, 94, 67, 94, 93, 70, 96, 92, 72, 97, 91, 74, 99, 90, 76, 100, 89, 79, 102, 87, 82, 103, 86, 84, 105, 85, 87, 106, 83, 89, 108, 81, 92, 110, 79, 95, 111, 78, 98, 113, 76, 102, 115, 74, 105, 116, 73, 108, 118, 71, 111, 120, 69, 115, 122, 67, 118, 123, 66, 123, 126, 64, 128, 128, 62, 131, 129, 61, 136, 132, 60, 140, 133, 59, 145, 136, 58, 151, 138, 57, 155, 139, 56, 161, 142, 56, 165, 143, 56, 171, 145, 57, 175, 147, 58, 181, 149, 59, 188, 150, 61, 192, 152, 63, 198, 153, 66, 201, 154, 69, 207, 156, 73, 211, 157, 76, 216, 158, 80, 220, 159, 85, 223, 160, 89, 228, 161, 95, 230, 162, 98, 234, 163, 104, 236, 164, 108, 239, 165, 114, 241, 166, 120, 243, 167, 124, 245, 168, 130, 246, 169, 134, 247, 171, 141, 248, 172, 145, 250, 173, 150, 251, 175, 156, 251, 176, 160, 252, 177, 166, 252, 178, 170, 253, 180, 176, 253, 182, 182, 253, 183, 185, 253, 185, 191, 253, 186, 195, 253, 188, 201, 253, 189, 205, 253, 191, 211, 253, 193, 218, 253, 195, 222, 252, 197, 228, 252, 198, 233, 251, 200, 239, 251, 202, 244, 250, 204, 250], shape(batlowK100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: batlowK25 = reshape([4, 5, 10, 15, 21, 31, 21, 34, 51, 29, 50, 72, 40, 67, 87, 50, 79, 94, 61, 89, 95, 69, 95, 92, 79, 102, 87, 90, 108, 81, 102, 115, 74, 117, 123, 67, 134, 131, 60, 153, 139, 56, 175, 147, 58, 196, 153, 65, 216, 158, 80, 231, 162, 100, 241, 166, 120, 248, 171, 143, 252, 177, 164, 253, 182, 183, 253, 189, 205, 252, 196, 226, 250, 204, 250], shape(batlowK25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: batlowK50 = reshape([4, 5, 10, 10, 13, 21, 15, 20, 30, 18, 27, 41, 21, 34, 51, 24, 41, 61, 28, 49, 70, 33, 56, 79, 39, 65, 86, 44, 72, 91, 49, 78, 94, 54, 83, 95, 59, 87, 95, 64, 92, 94, 68, 95, 93, 73, 98, 91, 77, 101, 88, 82, 103, 86, 88, 107, 82, 94, 110, 79, 99, 114, 75, 106, 117, 72, 113, 120, 69, 121, 125, 65, 129, 129, 62, 138, 133, 59, 147, 136, 57, 159, 141, 56, 169, 145, 57, 179, 148, 59, 190, 151, 62, 200, 154, 67, 211, 157, 76, 219, 159, 84, 226, 161, 93, 232, 163, 102, 238, 165, 112, 243, 167, 124, 246, 169, 134, 248, 172, 145, 250, 174, 154, 252, 177, 164, 253, 180, 176, 253, 183, 185, 253, 186, 195, 253, 189, 205, 253, 193, 216, 252, 197, 228, 251, 200, 239, 250, 204, 250], shape(batlowK50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowKS = reshape([4, 5, 10, 253, 192, 214, 120, 124, 65, 57, 85, 95, 229, 161, 96, 27, 47, 69, 175, 147, 58, 84, 105, 85, 250, 174, 154, 17, 26, 39, 145, 136, 58, 205, 155, 71, 70, 96, 92, 253, 182, 183, 42, 69, 89, 101, 114, 75, 243, 167, 126, 50, 79, 94, 253, 187, 199, 252, 178, 168, 247, 171, 141, 13, 17, 26, 63, 91, 94, 110, 119, 70, 133, 130, 61, 92, 110, 79, 190, 151, 62, 159, 141, 56, 219, 159, 84, 77, 101, 88, 35, 59, 81, 21, 35, 53, 238, 165, 112, 212, 157, 77, 31, 53, 75, 253, 180, 176, 24, 41, 61, 198, 153, 66, 9, 12, 19, 167, 144, 56, 46, 74, 92, 253, 185, 191, 67, 93, 93, 73, 98, 90, 234, 163, 104, 126, 127, 63, 88, 107, 82, 115, 122, 67, 183, 149, 60, 96, 112, 77, 16, 22, 33, 225, 160, 91, 54, 83, 95, 241, 166, 120, 105, 116, 73, 249, 173, 148, 251, 176, 162, 245, 169, 132, 140, 133, 59, 61, 89, 95, 151, 138, 57, 19, 30, 45, 80, 102, 87, 39, 65, 86, 253, 189, 205, 216, 158, 80, 251, 175, 158, 222, 160, 87, 11, 15, 23, 129, 129, 62, 155, 139, 56, 48, 77, 93, 82, 103, 86, 240, 165, 116, 65, 92, 94, 107, 118, 71, 236, 164, 108, 90, 108, 81, 248, 172, 145, 179, 148, 59, 20, 32, 49, 253, 190, 209, 123, 126, 64, 33, 56, 79, 23, 38, 57, 15, 20, 30, 6, 8, 15, 75, 99, 89, 163, 142, 56, 252, 179, 172, 194, 152, 64, 136, 132, 60, 52, 81, 95, 59, 87, 95, 209, 156, 74, 72, 97, 91, 113, 120, 69, 29, 50, 72, 98, 113, 76, 253, 186, 195], shape(batlowKS), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowS = reshape([1, 25, 89, 250, 204, 250, 130, 130, 49, 34, 96, 97, 241, 157, 107, 17, 67, 96, 253, 180, 180, 77, 115, 77, 192, 144, 54, 103, 123, 62, 252, 191, 214, 161, 138, 43, 252, 168, 144, 53, 106, 89, 13, 49, 93, 23, 82, 98, 219, 149, 75, 248, 162, 126, 43, 101, 94, 145, 134, 45, 90, 119, 69, 27, 89, 98, 253, 186, 196, 177, 141, 47, 8, 37, 91, 19, 75, 97, 65, 111, 83, 231, 152, 90, 15, 59, 95, 251, 198, 232, 253, 174, 162, 116, 126, 56, 207, 147, 64, 169, 140, 44, 252, 195, 223, 48, 104, 92, 253, 183, 188, 5, 31, 90, 109, 124, 59, 18, 71, 97, 59, 109, 86, 21, 79, 98, 200, 145, 59, 225, 151, 82, 71, 113, 80, 14, 54, 94, 11, 43, 92, 16, 63, 96, 30, 93, 98, 25, 86, 98, 251, 201, 241, 250, 165, 135, 253, 171, 154, 38, 99, 95, 96, 121, 66, 138, 132, 47, 253, 188, 205, 253, 177, 171, 245, 159, 116, 123, 128, 52, 153, 136, 44, 237, 154, 98, 83, 117, 73, 185, 143, 50, 212, 148, 69, 249, 163, 130, 253, 178, 175, 243, 158, 112, 93, 120, 68, 56, 108, 88, 12, 46, 93, 252, 169, 149, 16, 61, 95, 3, 28, 90, 40, 100, 95, 252, 193, 218, 203, 146, 62, 80, 116, 75, 253, 175, 167, 196, 145, 56, 165, 139, 44, 99, 122, 64, 251, 199, 236, 251, 166, 140, 7, 34, 91, 20, 77, 98, 120, 127, 54, 149, 135, 44, 36, 97, 96, 106, 123, 61, 74, 114, 78, 19, 73, 97, 252, 196, 227, 62, 110, 85, 253, 172, 158, 13, 51, 94, 113, 125, 57, 17, 65, 96, 51, 105, 90, 252, 190, 209], shape(batlowS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: batlowW = reshape([1, 25, 89, 2, 27, 89, 3, 28, 90, 4, 30, 90, 5, 31, 90, 6, 33, 91, 7, 34, 91, 7, 36, 91, 8, 37, 91, 9, 39, 92, 10, 40, 92, 10, 42, 92, 11, 43, 92, 11, 45, 93, 12, 46, 93, 12, 47, 93, 13, 49, 93, 13, 50, 94, 13, 51, 94, 14, 53, 94, 14, 54, 94, 14, 55, 94, 15, 56, 95, 15, 58, 95, 15, 59, 95, 15, 60, 95, 16, 61, 95, 16, 62, 95, 16, 63, 96, 16, 64, 96, 16, 65, 96, 17, 66, 96, 17, 67, 96, 17, 68, 96, 17, 69, 97, 18, 70, 97, 18, 71, 97, 18, 71, 97, 18, 72, 97, 19, 73, 97, 19, 74, 97, 19, 75, 97, 20, 76, 98, 20, 77, 98, 20, 78, 98, 21, 79, 98, 21, 80, 98, 22, 80, 98, 22, 81, 98, 22, 82, 98, 23, 83, 98, 23, 84, 98, 24, 85, 98, 24, 86, 98, 25, 87, 98, 26, 88, 98, 26, 88, 98, 27, 89, 98, 28, 90, 98, 28, 91, 98, 29, 92, 98, 30, 93, 98, 31, 93, 98, 31, 94, 98, 32, 95, 97, 33, 96, 97, 34, 97, 97, 35, 97, 97, 36, 98, 97, 37, 99, 96, 38, 100, 96, 39, 100, 96, 40, 101, 95, 42, 102, 95, 43, 103, 94, 44, 103, 94, 45, 104, 94, 46, 105, 93, 48, 105, 93, 49, 106, 92, 50, 107, 92, 52, 107, 91, 53, 108, 90, 54, 108, 90, 56, 109, 89, 57, 110, 89, 58, 110, 88, 60, 111, 87, 61, 112, 86, 63, 112, 86, 64, 113, 85, 66, 113, 84, 67, 114, 84, 69, 115, 83, 70, 115, 82, 72, 116, 81, 73, 116, 81, 75, 117, 80, 76, 117, 79, 78, 118, 78, 79, 119, 77, 81, 119, 77, 83, 120, 76, 84, 120, 75, 86, 121, 74, 87, 122, 73, 89, 122, 73, 91, 123, 72, 92, 123, 71, 94, 124, 70, 95, 124, 69, 97, 125, 69, 99, 126, 68, 100, 126, 67, 102, 127, 66, 104, 127, 65, 105, 128, 64, 107, 129, 64, 109, 129, 63, 110, 130, 62, 112, 130, 61, 114, 131, 61, 116, 132, 60, 117, 132, 59, 119, 133, 58, 121, 133, 57, 123, 134, 57, 124, 135, 56, 126, 135, 55, 128, 136, 55, 130, 137, 54, 132, 137, 53, 134, 138, 53, 136, 139, 52, 138, 139, 52, 140, 140, 51, 142, 141, 51, 144, 141, 51, 146, 142, 50, 148, 143, 50, 150, 143, 50, 152, 144, 50, 154, 145, 50, 156, 146, 50, 158, 146, 51, 160, 147, 51, 162, 148, 51, 164, 148, 52, 167, 149, 53, 169, 150, 54, 171, 151, 55, 173, 151, 56, 175, 152, 57, 177, 153, 58, 179, 153, 59, 181, 154, 61, 183, 155, 63, 186, 155, 64, 187, 156, 66, 189, 157, 68, 191, 157, 70, 193, 158, 72, 195, 159, 74, 197, 159, 76, 198, 160, 78, 200, 160, 80, 202, 161, 82, 203, 161, 84, 205, 162, 86, 206, 162, 88, 208, 163, 90, 209, 163, 92, 211, 164, 94, 212, 164, 96, 213, 165, 98, 215, 165, 100, 216, 165, 102, 217, 166, 105, 218, 166, 107, 219, 167, 109, 220, 167, 111, 221, 167, 112, 223, 168, 114, 224, 168, 116, 225, 169, 118, 226, 169, 120, 227, 169, 122, 228, 170, 124, 229, 170, 126, 229, 171, 128, 230, 171, 130, 231, 171, 132, 232, 172, 134, 233, 172, 136, 234, 173, 137, 235, 173, 139, 236, 174, 141, 237, 175, 143, 238, 175, 145, 238, 176, 148, 239, 177, 150, 240, 177, 152, 241, 178, 154, 242, 179, 156, 243, 180, 158, 243, 181, 161, 244, 182, 163, 245, 183, 166, 246, 185, 168, 247, 186, 170, 247, 187, 173, 248, 189, 175, 249, 190, 178, 249, 192, 181, 250, 193, 183, 250, 195, 186, 251, 197, 188, 252, 198, 191, 252, 200, 193, 252, 202, 196, 253, 204, 198, 253, 205, 201, 253, 207, 203, 254, 209, 205, 254, 211, 207, 254, 213, 210, 254, 214, 212, 254, 216, 214, 255, 218, 216, 255, 219, 218, 255, 221, 219, 255, 223, 221, 255, 224, 223, 255, 226, 225, 255, 227, 226, 255, 229, 228, 255, 230, 230, 255, 232, 231, 255, 233, 233, 255, 234, 234, 255, 236, 235, 255, 237, 237, 255, 239, 238, 255, 240, 240, 255, 241, 241, 255, 242, 242, 255, 244, 243, 255, 245, 245, 255, 246, 246, 255, 247, 247, 255, 248, 248, 255, 250, 249, 255, 251, 251, 255, 252, 252, 255, 253, 253, 255, 254, 254], shape(batlowW), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: batlowW10 = reshape([1, 25, 89, 16, 63, 96, 27, 89, 98, 57, 110, 89, 100, 126, 67, 154, 145, 50, 208, 163, 90, 238, 175, 145, 254, 216, 214, 255, 254, 254], shape(batlowW10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowW100 = reshape([1, 25, 89, 4, 30, 90, 6, 33, 91, 8, 37, 91, 10, 40, 92, 11, 45, 93, 12, 47, 93, 13, 51, 94, 14, 55, 94, 15, 58, 95, 16, 61, 95, 16, 63, 96, 17, 66, 96, 17, 68, 96, 18, 71, 97, 19, 73, 97, 19, 75, 97, 20, 78, 98, 21, 80, 98, 22, 82, 98, 24, 85, 98, 25, 87, 98, 27, 89, 98, 28, 91, 98, 31, 93, 98, 32, 95, 97, 35, 97, 97, 38, 100, 96, 40, 101, 95, 44, 103, 94, 46, 105, 93, 50, 107, 92, 53, 108, 90, 57, 110, 89, 61, 112, 86, 64, 113, 85, 69, 115, 83, 72, 116, 81, 76, 117, 79, 79, 119, 77, 84, 120, 75, 89, 122, 73, 92, 123, 71, 97, 125, 69, 100, 126, 67, 105, 128, 64, 109, 129, 63, 114, 131, 61, 119, 133, 58, 123, 134, 57, 128, 136, 55, 132, 137, 53, 138, 139, 52, 144, 141, 51, 148, 143, 50, 154, 145, 50, 158, 146, 51, 164, 148, 52, 169, 150, 54, 175, 152, 57, 181, 154, 61, 186, 155, 64, 191, 157, 70, 195, 159, 74, 200, 160, 80, 203, 161, 84, 208, 163, 90, 212, 164, 96, 215, 165, 100, 218, 166, 107, 220, 167, 111, 224, 168, 116, 226, 169, 120, 229, 170, 126, 231, 171, 132, 233, 172, 136, 236, 174, 141, 238, 175, 145, 240, 177, 152, 242, 179, 156, 244, 182, 163, 247, 186, 170, 248, 189, 175, 250, 193, 183, 251, 197, 188, 252, 202, 196, 253, 207, 203, 254, 211, 207, 254, 216, 214, 255, 219, 218, 255, 224, 223, 255, 227, 226, 255, 232, 231, 255, 236, 235, 255, 239, 238, 255, 242, 242, 255, 245, 245, 255, 248, 248, 255, 251, 251, 255, 254, 254], shape(batlowW100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: batlowW25 = reshape([1, 25, 89, 10, 42, 92, 14, 55, 94, 17, 67, 96, 20, 77, 98, 24, 86, 98, 32, 95, 97, 43, 103, 94, 57, 110, 89, 73, 116, 81, 89, 122, 73, 107, 129, 64, 126, 135, 55, 146, 142, 50, 169, 150, 54, 189, 157, 68, 208, 163, 90, 221, 167, 112, 231, 171, 132, 241, 178, 154, 249, 192, 181, 254, 209, 205, 255, 227, 226, 255, 241, 241, 255, 254, 254], shape(batlowW25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: batlowW50 = reshape([1, 25, 89, 6, 33, 91, 10, 40, 92, 13, 49, 93, 14, 55, 94, 16, 61, 95, 17, 66, 96, 18, 71, 97, 20, 76, 98, 22, 80, 98, 24, 85, 98, 27, 89, 98, 31, 93, 98, 36, 98, 97, 42, 102, 95, 48, 105, 93, 54, 108, 90, 61, 112, 86, 70, 115, 82, 78, 118, 78, 86, 121, 74, 94, 124, 70, 102, 127, 66, 112, 130, 61, 121, 133, 57, 130, 137, 54, 140, 140, 51, 152, 144, 50, 162, 148, 51, 173, 151, 56, 183, 155, 63, 193, 158, 72, 203, 161, 84, 211, 164, 94, 217, 166, 105, 223, 168, 114, 228, 170, 124, 233, 172, 136, 238, 175, 145, 242, 179, 156, 246, 185, 168, 249, 192, 181, 252, 202, 196, 254, 211, 207, 255, 219, 218, 255, 227, 226, 255, 234, 234, 255, 242, 242, 255, 248, 248, 255, 254, 254], shape(batlowW50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowWS = reshape([255, 254, 254, 1, 25, 89, 124, 135, 56, 231, 171, 132, 32, 95, 97, 189, 157, 68, 254, 209, 205, 17, 67, 96, 73, 116, 81, 13, 49, 93, 156, 146, 50, 50, 107, 92, 22, 81, 98, 245, 183, 166, 255, 234, 234, 215, 165, 100, 99, 126, 68, 19, 74, 97, 173, 151, 56, 203, 161, 84, 8, 37, 91, 255, 245, 245, 224, 168, 116, 86, 121, 74, 61, 112, 86, 255, 223, 221, 250, 195, 186, 26, 88, 98, 238, 176, 148, 140, 140, 51, 15, 59, 95, 40, 101, 95, 110, 130, 62, 255, 229, 228, 45, 104, 94, 148, 143, 50, 132, 137, 53, 219, 167, 109, 209, 163, 92, 14, 54, 94, 164, 148, 52, 24, 85, 98, 248, 189, 175, 255, 240, 240, 235, 173, 139, 67, 114, 84, 36, 98, 97, 11, 43, 92, 255, 250, 249, 242, 179, 156, 92, 123, 71, 181, 154, 61, 252, 202, 196, 18, 71, 97, 117, 132, 59, 29, 92, 98, 56, 109, 89, 254, 216, 214, 20, 78, 98, 197, 159, 76, 79, 119, 77, 16, 63, 96, 5, 31, 90, 228, 170, 124, 104, 127, 65, 21, 80, 98, 53, 108, 90, 89, 122, 73, 193, 158, 72, 255, 237, 237, 3, 28, 90, 64, 113, 85, 240, 177, 152, 255, 219, 218, 229, 171, 128, 16, 61, 95, 237, 175, 143, 136, 139, 52, 15, 56, 95, 247, 186, 170, 152, 144, 50, 70, 115, 82, 83, 120, 76, 48, 105, 93, 226, 169, 120, 169, 150, 54, 23, 83, 98, 12, 46, 93, 160, 147, 51, 221, 167, 112, 177, 153, 58, 217, 166, 105, 243, 181, 161, 255, 226, 225, 253, 205, 201, 107, 129, 64, 255, 242, 242, 13, 51, 94, 252, 198, 191, 249, 192, 181], shape(batlowWS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: berlin = reshape([158, 176, 255, 156, 176, 254, 154, 176, 253, 152, 175, 252, 149, 175, 251, 147, 175, 250, 145, 174, 249, 142, 174, 247, 140, 174, 246, 138, 174, 245, 135, 173, 244, 133, 173, 243, 130, 173, 242, 128, 172, 241, 126, 172, 240, 123, 172, 238, 121, 171, 237, 118, 171, 236, 116, 170, 235, 113, 170, 233, 111, 169, 232, 108, 169, 230, 106, 168, 229, 103, 168, 227, 101, 167, 226, 98, 166, 224, 96, 165, 223, 93, 165, 221, 91, 164, 219, 88, 163, 217, 86, 162, 215, 84, 160, 213, 81, 159, 211, 79, 158, 209, 77, 157, 207, 75, 155, 205, 72, 154, 202, 70, 152, 200, 68, 151, 198, 67, 149, 195, 65, 148, 193, 63, 146, 190, 62, 144, 188, 60, 142, 185, 59, 141, 183, 57, 139, 180, 56, 137, 178, 55, 135, 175, 54, 133, 173, 53, 132, 170, 51, 130, 168, 50, 128, 166, 50, 126, 163, 49, 124, 161, 48, 122, 158, 47, 120, 156, 46, 118, 153, 45, 117, 151, 44, 115, 148, 44, 113, 146, 43, 111, 143, 42, 109, 141, 41, 107, 139, 41, 105, 136, 40, 104, 134, 39, 102, 131, 39, 100, 129, 38, 98, 127, 37, 96, 124, 36, 94, 122, 36, 93, 120, 35, 91, 117, 34, 89, 115, 34, 87, 113, 33, 85, 110, 32, 84, 108, 32, 82, 106, 31, 80, 104, 30, 78, 101, 30, 77, 99, 29, 75, 97, 28, 73, 95, 28, 71, 92, 27, 70, 90, 26, 68, 88, 26, 66, 86, 25, 65, 83, 25, 63, 81, 24, 61, 79, 23, 60, 77, 23, 58, 75, 22, 56, 73, 22, 55, 71, 21, 53, 68, 21, 51, 66, 20, 50, 64, 20, 48, 62, 19, 47, 60, 19, 45, 58, 18, 44, 56, 18, 42, 54, 18, 41, 52, 17, 39, 50, 17, 38, 48, 17, 36, 46, 17, 35, 44, 17, 33, 42, 17, 32, 40, 16, 31, 38, 16, 29, 37, 16, 28, 35, 17, 27, 33, 17, 26, 32, 17, 25, 30, 17, 24, 28, 17, 22, 27, 17, 21, 25, 17, 20, 24, 17, 19, 23, 18, 18, 21, 18, 18, 20, 19, 17, 18, 20, 16, 17, 20, 15, 16, 21, 14, 14, 22, 14, 13, 23, 13, 11, 24, 12, 10, 25, 12, 9, 26, 12, 8, 27, 11, 7, 28, 11, 6, 29, 11, 5, 30, 11, 4, 32, 11, 4, 33, 11, 3, 34, 12, 2, 35, 12, 2, 36, 12, 2, 37, 12, 1, 38, 13, 1, 39, 13, 1, 40, 13, 1, 42, 14, 1, 43, 14, 1, 44, 14, 0, 45, 14, 0, 47, 14, 0, 48, 15, 0, 49, 15, 0, 51, 15, 0, 52, 15, 0, 53, 16, 0, 55, 16, 0, 56, 16, 0, 57, 17, 0, 59, 17, 0, 60, 17, 1, 62, 18, 1, 63, 18, 1, 65, 18, 1, 66, 19, 1, 68, 19, 1, 69, 20, 1, 71, 20, 1, 72, 21, 2, 74, 21, 2, 75, 22, 2, 77, 22, 2, 79, 23, 3, 80, 24, 3, 82, 24, 4, 84, 25, 5, 86, 26, 5, 87, 27, 6, 89, 28, 7, 91, 29, 8, 93, 30, 9, 95, 31, 10, 97, 32, 11, 99, 33, 12, 101, 35, 14, 104, 36, 15, 106, 37, 16, 108, 39, 17, 110, 40, 19, 112, 42, 20, 115, 43, 22, 117, 45, 23, 119, 47, 25, 121, 48, 27, 123, 50, 28, 125, 52, 30, 128, 54, 32, 130, 55, 34, 132, 57, 36, 134, 59, 38, 136, 61, 40, 138, 63, 42, 140, 64, 44, 142, 66, 46, 144, 68, 48, 146, 70, 50, 148, 72, 52, 150, 74, 54, 152, 76, 57, 154, 77, 59, 156, 79, 61, 158, 81, 63, 160, 83, 65, 162, 85, 68, 164, 87, 70, 166, 89, 72, 168, 90, 74, 170, 92, 76, 172, 94, 79, 174, 96, 81, 176, 98, 83, 178, 100, 85, 180, 102, 88, 182, 104, 90, 184, 106, 92, 186, 107, 95, 188, 109, 97, 190, 111, 99, 192, 113, 101, 194, 115, 104, 196, 117, 106, 198, 119, 108, 200, 121, 111, 202, 123, 113, 204, 125, 115, 206, 127, 118, 208, 129, 120, 210, 131, 122, 213, 133, 125, 215, 135, 127, 217, 137, 130, 219, 139, 132, 221, 141, 134, 223, 143, 137, 225, 145, 139, 227, 147, 142, 229, 149, 144, 231, 151, 146, 234, 153, 149, 236, 155, 151, 238, 157, 154, 240, 159, 156, 242, 161, 159, 244, 163, 161, 246, 165, 163, 249, 167, 166, 251, 169, 168, 253, 171, 171, 255, 173, 173], shape(berlin), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: berlin10 = reshape([158, 176, 255, 91, 164, 219, 45, 117, 151, 26, 66, 86, 17, 25, 30, 40, 13, 1, 80, 24, 3, 138, 63, 42, 196, 117, 106, 255, 173, 173], shape(berlin10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: berlin100 = reshape([158, 176, 255, 152, 175, 252, 147, 175, 250, 140, 174, 246, 135, 173, 244, 128, 172, 241, 123, 172, 238, 116, 170, 235, 108, 169, 230, 103, 168, 227, 96, 165, 223, 91, 164, 219, 84, 160, 213, 79, 158, 209, 72, 154, 202, 67, 149, 195, 63, 146, 190, 59, 141, 183, 56, 137, 178, 53, 132, 170, 50, 126, 163, 48, 122, 158, 45, 117, 151, 44, 113, 146, 41, 107, 139, 40, 104, 134, 38, 98, 127, 36, 93, 120, 34, 89, 115, 32, 84, 108, 31, 80, 104, 29, 75, 97, 28, 71, 92, 26, 66, 86, 24, 61, 79, 23, 58, 75, 21, 53, 68, 20, 50, 64, 19, 45, 58, 18, 42, 54, 17, 38, 48, 17, 33, 42, 16, 31, 38, 17, 27, 33, 17, 25, 30, 17, 21, 25, 17, 19, 23, 19, 17, 18, 21, 14, 14, 23, 13, 11, 26, 12, 8, 28, 11, 6, 32, 11, 4, 35, 12, 2, 37, 12, 1, 40, 13, 1, 43, 14, 1, 47, 14, 0, 49, 15, 0, 53, 16, 0, 57, 17, 0, 60, 17, 1, 65, 18, 1, 68, 19, 1, 72, 21, 2, 75, 22, 2, 80, 24, 3, 86, 26, 5, 89, 28, 7, 95, 31, 10, 99, 33, 12, 106, 37, 16, 110, 40, 19, 117, 45, 23, 123, 50, 28, 128, 54, 32, 134, 59, 38, 138, 63, 42, 144, 68, 48, 148, 72, 52, 154, 77, 59, 160, 83, 65, 164, 87, 70, 170, 92, 76, 174, 96, 81, 180, 102, 88, 186, 107, 95, 190, 111, 99, 196, 117, 106, 200, 121, 111, 206, 127, 118, 210, 131, 122, 217, 137, 130, 223, 143, 137, 227, 147, 142, 234, 153, 149, 238, 157, 154, 244, 163, 161, 249, 167, 166, 255, 173, 173], shape(berlin100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: berlin25 = reshape([158, 176, 255, 133, 173, 243, 108, 169, 230, 81, 159, 211, 60, 142, 185, 49, 124, 161, 40, 104, 134, 33, 85, 110, 26, 66, 86, 20, 48, 62, 17, 33, 42, 17, 20, 24, 25, 12, 9, 36, 12, 2, 49, 15, 0, 63, 18, 1, 80, 24, 3, 101, 35, 14, 123, 50, 28, 146, 70, 50, 168, 90, 74, 188, 109, 97, 210, 131, 122, 231, 151, 146, 255, 173, 173], shape(berlin25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: berlin50 = reshape([158, 176, 255, 147, 175, 250, 135, 173, 244, 121, 171, 237, 108, 169, 230, 96, 165, 223, 84, 160, 213, 72, 154, 202, 62, 144, 188, 55, 135, 175, 50, 126, 163, 45, 117, 151, 41, 107, 139, 37, 96, 124, 34, 87, 113, 30, 78, 101, 27, 70, 90, 24, 61, 79, 21, 51, 66, 18, 44, 56, 17, 36, 46, 16, 29, 37, 17, 24, 28, 18, 18, 20, 22, 14, 13, 27, 11, 7, 33, 11, 3, 39, 13, 1, 45, 14, 0, 52, 15, 0, 59, 17, 0, 66, 19, 1, 75, 22, 2, 84, 25, 5, 93, 30, 9, 104, 36, 15, 115, 43, 22, 128, 54, 32, 138, 63, 42, 148, 72, 52, 158, 81, 63, 168, 90, 74, 180, 102, 88, 190, 111, 99, 200, 121, 111, 210, 131, 122, 221, 141, 134, 234, 153, 149, 244, 163, 161, 255, 173, 173], shape(berlin50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bilbao = reshape([76, 0, 1, 78, 1, 3, 79, 2, 5, 81, 4, 7, 82, 5, 9, 84, 7, 11, 85, 8, 13, 87, 10, 14, 88, 11, 16, 90, 13, 17, 91, 14, 19, 93, 16, 20, 94, 17, 21, 96, 19, 22, 97, 20, 24, 98, 21, 25, 100, 22, 26, 101, 24, 27, 103, 25, 29, 104, 26, 30, 105, 27, 31, 107, 29, 32, 108, 30, 34, 109, 31, 35, 110, 32, 36, 112, 33, 38, 113, 34, 39, 114, 35, 40, 115, 37, 41, 117, 38, 43, 118, 39, 44, 119, 40, 45, 120, 41, 47, 122, 42, 48, 123, 43, 49, 124, 45, 50, 125, 46, 52, 126, 47, 53, 128, 48, 54, 129, 49, 55, 130, 50, 57, 131, 51, 58, 132, 52, 59, 133, 53, 60, 135, 55, 62, 136, 56, 63, 137, 57, 64, 138, 58, 65, 139, 59, 66, 140, 60, 67, 141, 61, 69, 142, 63, 70, 143, 64, 71, 144, 65, 72, 145, 66, 73, 146, 67, 74, 147, 69, 75, 148, 70, 75, 149, 71, 76, 149, 72, 77, 150, 73, 78, 151, 74, 79, 152, 76, 79, 152, 77, 80, 153, 78, 81, 153, 79, 81, 154, 80, 82, 154, 81, 82, 155, 82, 83, 155, 83, 83, 156, 84, 83, 156, 85, 84, 157, 86, 84, 157, 87, 84, 157, 88, 85, 158, 89, 85, 158, 90, 85, 158, 91, 86, 158, 92, 86, 159, 93, 86, 159, 94, 86, 159, 94, 86, 159, 95, 87, 160, 96, 87, 160, 97, 87, 160, 98, 87, 160, 99, 87, 161, 99, 88, 161, 100, 88, 161, 101, 88, 161, 102, 88, 161, 103, 88, 162, 103, 89, 162, 104, 89, 162, 105, 89, 162, 106, 89, 163, 107, 89, 163, 107, 89, 163, 108, 90, 163, 109, 90, 163, 110, 90, 164, 110, 90, 164, 111, 90, 164, 112, 90, 164, 113, 91, 164, 113, 91, 165, 114, 91, 165, 115, 91, 165, 116, 91, 165, 116, 91, 165, 117, 91, 166, 118, 92, 166, 118, 92, 166, 119, 92, 166, 120, 92, 166, 121, 92, 167, 121, 92, 167, 122, 93, 167, 123, 93, 167, 124, 93, 167, 124, 93, 168, 125, 93, 168, 126, 93, 168, 126, 94, 168, 127, 94, 168, 128, 94, 169, 129, 94, 169, 129, 94, 169, 130, 94, 169, 131, 94, 169, 132, 95, 170, 132, 95, 170, 133, 95, 170, 134, 95, 170, 134, 95, 170, 135, 95, 171, 136, 96, 171, 137, 96, 171, 137, 96, 171, 138, 96, 171, 139, 96, 172, 140, 96, 172, 141, 97, 172, 141, 97, 172, 142, 97, 172, 143, 97, 173, 144, 97, 173, 145, 98, 173, 145, 98, 173, 146, 98, 174, 147, 98, 174, 148, 99, 174, 149, 99, 174, 150, 99, 175, 150, 100, 175, 151, 100, 175, 152, 100, 175, 153, 101, 176, 154, 102, 176, 155, 102, 177, 156, 103, 177, 157, 104, 177, 158, 104, 178, 159, 105, 178, 160, 106, 179, 161, 107, 179, 162, 109, 179, 163, 110, 180, 164, 111, 180, 165, 113, 181, 167, 114, 181, 168, 116, 182, 169, 117, 182, 170, 119, 183, 171, 121, 183, 172, 122, 184, 172, 124, 184, 173, 126, 185, 174, 128, 185, 175, 130, 186, 176, 131, 186, 177, 133, 187, 178, 135, 187, 178, 137, 188, 179, 139, 188, 180, 141, 189, 181, 142, 189, 181, 144, 190, 182, 146, 190, 183, 148, 191, 183, 149, 191, 184, 151, 191, 185, 153, 192, 185, 154, 192, 186, 156, 193, 187, 158, 193, 187, 159, 193, 188, 161, 194, 188, 163, 194, 189, 164, 195, 190, 166, 195, 190, 167, 195, 191, 169, 196, 191, 170, 196, 192, 172, 197, 193, 173, 197, 193, 175, 197, 194, 176, 198, 194, 178, 198, 195, 179, 199, 195, 180, 199, 196, 182, 199, 197, 183, 200, 197, 185, 200, 198, 186, 201, 199, 188, 202, 199, 189, 202, 200, 190, 203, 201, 192, 203, 202, 193, 204, 202, 195, 205, 203, 196, 206, 204, 198, 206, 205, 199, 207, 206, 201, 208, 207, 203, 209, 208, 204, 210, 210, 206, 212, 211, 207, 213, 212, 209, 214, 213, 211, 215, 215, 212, 217, 216, 214, 218, 218, 216, 219, 219, 218, 221, 221, 219, 222, 222, 221, 224, 224, 223, 225, 225, 225, 227, 227, 226, 229, 229, 228, 230, 230, 230, 232, 232, 232, 234, 234, 233, 235, 235, 235, 237, 237, 237, 239, 239, 239, 241, 241, 240, 242, 242, 242, 244, 244, 244, 246, 246, 246, 248, 248, 248, 250, 250, 250, 251, 251, 251, 253, 253, 253, 255, 255, 255], shape(bilbao), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bilbao10 = reshape([76, 0, 1, 115, 37, 41, 148, 70, 75, 160, 98, 87, 166, 119, 92, 172, 141, 97, 181, 167, 114, 194, 188, 163, 210, 210, 206, 255, 255, 255], shape(bilbao10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bilbao100 = reshape([76, 0, 1, 81, 4, 7, 84, 7, 11, 88, 11, 16, 91, 14, 19, 96, 19, 22, 98, 21, 25, 103, 25, 29, 107, 29, 32, 109, 31, 35, 113, 34, 39, 115, 37, 41, 119, 40, 45, 122, 42, 48, 125, 46, 52, 129, 49, 55, 131, 51, 58, 135, 55, 62, 137, 57, 64, 140, 60, 67, 143, 64, 71, 145, 66, 73, 148, 70, 75, 149, 72, 77, 152, 76, 79, 153, 78, 81, 154, 81, 82, 156, 84, 83, 157, 86, 84, 158, 89, 85, 158, 91, 86, 159, 94, 86, 159, 95, 87, 160, 98, 87, 161, 100, 88, 161, 102, 88, 162, 104, 89, 162, 106, 89, 163, 108, 90, 163, 110, 90, 164, 112, 90, 165, 114, 91, 165, 116, 91, 166, 118, 92, 166, 119, 92, 167, 121, 92, 167, 123, 93, 168, 125, 93, 168, 127, 94, 169, 129, 94, 169, 131, 94, 170, 132, 95, 170, 134, 95, 171, 137, 96, 171, 138, 96, 172, 141, 97, 172, 142, 97, 173, 145, 98, 173, 146, 98, 174, 149, 99, 175, 151, 100, 175, 153, 101, 177, 156, 103, 177, 158, 104, 179, 161, 107, 179, 163, 110, 181, 167, 114, 182, 170, 119, 183, 172, 122, 185, 174, 128, 186, 176, 131, 187, 178, 137, 188, 180, 141, 190, 182, 146, 191, 184, 151, 192, 185, 154, 193, 187, 159, 194, 188, 163, 195, 190, 167, 196, 191, 170, 197, 193, 175, 198, 195, 179, 199, 196, 182, 200, 198, 186, 202, 199, 189, 203, 202, 193, 206, 204, 198, 207, 206, 201, 210, 210, 206, 213, 212, 209, 217, 216, 214, 219, 219, 218, 224, 224, 223, 229, 229, 228, 232, 232, 232, 237, 237, 237, 241, 241, 240, 246, 246, 246, 250, 250, 250, 255, 255, 255], shape(bilbao100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bilbao25 = reshape([76, 0, 1, 93, 16, 20, 107, 29, 32, 120, 41, 47, 133, 53, 60, 144, 65, 72, 153, 78, 81, 157, 88, 85, 160, 98, 87, 163, 107, 89, 165, 114, 91, 167, 122, 93, 169, 130, 94, 171, 137, 96, 173, 146, 98, 176, 155, 102, 181, 167, 114, 186, 177, 133, 191, 184, 151, 195, 191, 169, 200, 197, 185, 206, 205, 199, 219, 219, 218, 235, 235, 235, 255, 255, 255], shape(bilbao25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bilbao50 = reshape([76, 0, 1, 84, 7, 11, 91, 14, 19, 100, 22, 26, 107, 29, 32, 113, 34, 39, 119, 40, 45, 125, 46, 52, 132, 52, 59, 138, 58, 65, 143, 64, 71, 148, 70, 75, 152, 76, 79, 155, 82, 83, 157, 87, 84, 158, 92, 86, 160, 96, 87, 161, 100, 88, 162, 105, 89, 163, 109, 90, 164, 113, 91, 165, 116, 91, 166, 120, 92, 167, 124, 93, 168, 128, 94, 169, 132, 95, 170, 135, 95, 172, 140, 96, 173, 144, 97, 174, 148, 99, 175, 152, 100, 177, 157, 104, 179, 163, 110, 182, 169, 117, 184, 173, 126, 187, 178, 135, 189, 181, 144, 192, 185, 154, 194, 188, 163, 196, 191, 170, 198, 194, 178, 200, 197, 185, 203, 202, 193, 207, 206, 201, 213, 212, 209, 219, 219, 218, 227, 227, 226, 237, 237, 237, 246, 246, 246, 255, 255, 255], shape(bilbao50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bilbaoS = reshape([76, 0, 1, 248, 248, 248, 169, 129, 94, 152, 77, 80, 190, 183, 148, 119, 40, 45, 162, 106, 89, 175, 153, 101, 204, 202, 195, 159, 93, 86, 138, 58, 65, 182, 170, 119, 100, 22, 26, 221, 221, 219, 172, 140, 96, 197, 193, 173, 166, 118, 92, 161, 99, 88, 173, 146, 98, 234, 234, 233, 129, 49, 55, 88, 11, 16, 164, 112, 90, 179, 161, 107, 193, 188, 161, 156, 85, 84, 146, 67, 74, 186, 177, 133, 170, 134, 95, 109, 31, 35, 210, 210, 206, 167, 123, 93, 200, 197, 185, 161, 103, 88, 174, 150, 99, 198, 195, 179, 180, 165, 113, 160, 96, 87, 171, 137, 96, 142, 63, 70, 188, 180, 141, 154, 81, 82, 94, 17, 21, 158, 89, 85, 149, 72, 77, 82, 5, 9, 133, 53, 60, 227, 227, 226, 184, 173, 126, 215, 215, 212, 163, 109, 90, 241, 241, 240, 124, 45, 50, 195, 190, 167, 168, 126, 93, 165, 115, 91, 192, 185, 154, 172, 143, 97, 177, 157, 104, 114, 35, 40, 104, 26, 30, 169, 131, 94, 206, 205, 199, 202, 200, 190, 166, 121, 92, 244, 244, 244, 189, 181, 144, 136, 56, 63, 168, 127, 94, 176, 155, 102, 199, 196, 182, 172, 141, 97, 237, 237, 237, 117, 38, 43, 155, 83, 83, 165, 116, 91, 122, 42, 48, 148, 70, 75, 140, 60, 67, 181, 168, 116, 160, 98, 87, 193, 187, 158, 170, 135, 95, 151, 74, 79, 183, 172, 122, 85, 8, 13, 173, 145, 98, 230, 230, 230, 162, 104, 89, 171, 138, 96, 213, 212, 209, 153, 79, 81, 196, 191, 170, 126, 47, 53, 201, 199, 188, 158, 91, 86, 194, 189, 164, 187, 178, 137, 112, 33, 38, 224, 224, 223], shape(bilbaoS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: broc = reshape([44, 26, 76, 44, 27, 78, 44, 29, 79, 43, 30, 81, 43, 32, 82, 43, 33, 84, 43, 35, 85, 43, 36, 87, 43, 38, 88, 43, 39, 90, 43, 41, 91, 43, 42, 93, 42, 44, 94, 42, 45, 96, 42, 46, 97, 42, 48, 99, 42, 49, 100, 42, 51, 102, 41, 53, 103, 41, 54, 105, 41, 56, 106, 41, 57, 108, 41, 59, 109, 41, 60, 111, 41, 62, 113, 40, 63, 114, 40, 65, 116, 40, 67, 117, 40, 68, 119, 40, 70, 120, 40, 71, 122, 41, 73, 124, 41, 75, 125, 41, 76, 127, 41, 78, 128, 42, 80, 130, 42, 81, 131, 43, 83, 133, 44, 85, 134, 45, 87, 136, 46, 88, 137, 47, 90, 139, 48, 92, 140, 49, 94, 142, 51, 95, 143, 52, 97, 145, 54, 99, 146, 55, 101, 147, 57, 102, 149, 59, 104, 150, 61, 106, 151, 63, 107, 153, 65, 109, 154, 67, 111, 155, 69, 113, 156, 71, 114, 158, 73, 116, 159, 75, 118, 160, 77, 120, 161, 80, 121, 163, 82, 123, 164, 84, 125, 165, 86, 127, 166, 88, 128, 167, 91, 130, 169, 93, 132, 170, 95, 133, 171, 97, 135, 172, 100, 137, 173, 102, 139, 175, 104, 140, 176, 107, 142, 177, 109, 144, 178, 111, 146, 179, 113, 147, 181, 116, 149, 182, 118, 151, 183, 120, 153, 184, 123, 155, 186, 125, 156, 187, 127, 158, 188, 130, 160, 189, 132, 162, 190, 134, 163, 192, 137, 165, 193, 139, 167, 194, 141, 169, 195, 144, 170, 197, 146, 172, 198, 148, 174, 199, 151, 176, 200, 153, 178, 202, 155, 179, 203, 158, 181, 204, 160, 183, 205, 162, 185, 206, 165, 187, 208, 167, 188, 209, 170, 190, 210, 172, 192, 211, 174, 194, 213, 177, 196, 214, 179, 197, 215, 181, 199, 216, 184, 201, 218, 186, 203, 219, 189, 205, 220, 191, 207, 221, 194, 208, 223, 196, 210, 224, 198, 212, 225, 201, 214, 226, 203, 216, 228, 206, 217, 229, 208, 219, 230, 210, 221, 231, 213, 223, 232, 215, 224, 233, 217, 226, 234, 220, 228, 235, 222, 229, 236, 224, 231, 236, 226, 232, 237, 228, 234, 237, 230, 235, 237, 231, 236, 237, 233, 237, 237, 234, 238, 236, 235, 238, 236, 236, 239, 235, 237, 239, 233, 237, 239, 232, 238, 239, 231, 238, 239, 229, 238, 239, 227, 237, 238, 225, 237, 238, 223, 236, 237, 221, 236, 236, 219, 235, 235, 217, 234, 234, 214, 233, 233, 212, 232, 232, 210, 231, 231, 207, 230, 230, 205, 229, 229, 203, 228, 228, 200, 227, 226, 198, 225, 225, 196, 224, 224, 193, 223, 223, 191, 222, 222, 189, 221, 221, 186, 220, 219, 184, 218, 218, 181, 217, 217, 179, 216, 216, 177, 215, 215, 174, 213, 213, 172, 212, 212, 170, 211, 211, 167, 210, 210, 165, 208, 208, 162, 207, 207, 160, 206, 206, 158, 204, 204, 155, 203, 203, 153, 201, 201, 150, 200, 200, 148, 198, 198, 145, 197, 197, 143, 195, 195, 140, 193, 193, 138, 192, 191, 135, 190, 190, 133, 188, 188, 131, 186, 186, 128, 184, 184, 126, 182, 182, 124, 180, 180, 121, 178, 178, 119, 176, 176, 117, 174, 174, 115, 172, 172, 113, 170, 170, 111, 168, 168, 109, 166, 166, 107, 163, 163, 105, 161, 161, 103, 159, 159, 101, 157, 157, 99, 155, 155, 98, 153, 153, 96, 151, 151, 94, 149, 149, 92, 147, 147, 91, 145, 145, 89, 143, 143, 87, 141, 141, 86, 139, 139, 84, 137, 137, 82, 135, 135, 81, 133, 133, 79, 131, 131, 77, 129, 129, 76, 127, 127, 74, 125, 125, 72, 123, 123, 71, 121, 121, 69, 119, 119, 68, 117, 117, 66, 116, 116, 64, 114, 114, 63, 112, 112, 61, 110, 110, 60, 108, 108, 58, 106, 106, 56, 104, 104, 55, 102, 102, 53, 100, 100, 52, 98, 98, 50, 97, 96, 49, 95, 95, 47, 93, 93, 45, 91, 91, 44, 89, 89, 42, 87, 87, 41, 85, 85, 39, 84, 84, 38, 82, 82, 36, 80, 80, 35, 78, 78, 33, 76, 76, 32, 75, 75, 31, 73, 73, 29, 71, 71, 28, 69, 69, 26, 67, 67, 25, 66, 66, 24, 64, 64, 22, 62, 62, 21, 60, 61, 20, 59, 59, 18, 57, 57, 17, 55, 56, 16, 54, 54, 15, 52, 52, 14, 50, 51, 12, 49, 49, 11, 47, 48, 10, 46, 46, 8, 44, 44, 7, 43, 43, 5, 41, 41, 4, 40, 40, 2, 38, 38, 0], shape(broc), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: broc10 = reshape([44, 26, 76, 40, 68, 119, 75, 118, 160, 139, 167, 194, 206, 217, 229, 232, 232, 210, 197, 197, 143, 141, 141, 86, 85, 85, 39, 38, 38, 0], shape(broc10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: broc100 = reshape([44, 26, 76, 43, 30, 81, 43, 33, 84, 43, 38, 88, 43, 41, 91, 42, 45, 96, 42, 48, 99, 41, 53, 103, 41, 57, 108, 41, 60, 111, 40, 65, 116, 40, 68, 119, 41, 73, 124, 41, 76, 127, 42, 81, 131, 45, 87, 136, 47, 90, 139, 51, 95, 143, 54, 99, 146, 59, 104, 150, 65, 109, 154, 69, 113, 156, 75, 118, 160, 80, 121, 163, 86, 127, 166, 91, 130, 169, 97, 135, 172, 104, 140, 176, 109, 144, 178, 116, 149, 182, 120, 153, 184, 127, 158, 188, 132, 162, 190, 139, 167, 194, 146, 172, 198, 151, 176, 200, 158, 181, 204, 162, 185, 206, 170, 190, 210, 174, 194, 213, 181, 199, 216, 189, 205, 220, 194, 208, 223, 201, 214, 226, 206, 217, 229, 213, 223, 232, 217, 226, 234, 224, 231, 236, 230, 235, 237, 233, 237, 237, 236, 239, 235, 237, 239, 232, 238, 239, 227, 236, 237, 221, 235, 235, 217, 232, 232, 210, 230, 230, 205, 227, 226, 198, 224, 224, 193, 221, 221, 186, 217, 217, 179, 215, 215, 174, 211, 211, 167, 208, 208, 162, 204, 204, 155, 201, 201, 150, 197, 197, 143, 192, 191, 135, 188, 188, 131, 182, 182, 124, 178, 178, 119, 172, 172, 113, 168, 168, 109, 161, 161, 103, 155, 155, 98, 151, 151, 94, 145, 145, 89, 141, 141, 86, 135, 135, 81, 131, 131, 77, 125, 125, 72, 119, 119, 68, 116, 116, 64, 110, 110, 60, 106, 106, 56, 100, 100, 52, 95, 95, 47, 91, 91, 44, 85, 85, 39, 82, 82, 36, 76, 76, 32, 73, 73, 29, 67, 67, 25, 62, 62, 21, 59, 59, 18, 54, 54, 15, 50, 51, 12, 46, 46, 8, 43, 43, 5, 38, 38, 0], shape(broc100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: broc25 = reshape([44, 26, 76, 43, 42, 93, 41, 57, 108, 41, 75, 125, 49, 94, 142, 67, 111, 155, 91, 130, 169, 113, 147, 181, 139, 167, 194, 165, 187, 208, 189, 205, 220, 215, 224, 233, 235, 238, 236, 236, 236, 219, 224, 224, 193, 212, 212, 170, 197, 197, 143, 176, 176, 117, 155, 155, 98, 133, 133, 79, 112, 112, 61, 93, 93, 45, 73, 73, 29, 55, 56, 16, 38, 38, 0], shape(broc25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: broc50 = reshape([44, 26, 76, 43, 33, 84, 43, 41, 91, 42, 49, 100, 41, 57, 108, 40, 65, 116, 41, 73, 124, 42, 81, 131, 48, 92, 140, 55, 101, 147, 65, 109, 154, 75, 118, 160, 86, 127, 166, 100, 137, 173, 111, 146, 179, 123, 155, 186, 134, 163, 192, 146, 172, 198, 160, 183, 205, 172, 192, 211, 184, 201, 218, 196, 210, 224, 208, 219, 230, 222, 229, 236, 231, 236, 237, 237, 239, 233, 237, 238, 225, 233, 233, 212, 228, 228, 200, 222, 222, 189, 216, 216, 177, 210, 210, 165, 201, 201, 150, 193, 193, 138, 184, 184, 126, 174, 174, 115, 163, 163, 105, 151, 151, 94, 141, 141, 86, 131, 131, 77, 121, 121, 69, 112, 112, 61, 100, 100, 52, 91, 91, 44, 82, 82, 36, 73, 73, 29, 64, 64, 22, 54, 54, 15, 46, 46, 8, 38, 38, 0], shape(broc50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: brocO = reshape([55, 47, 56, 54, 47, 57, 54, 47, 58, 54, 47, 59, 54, 47, 60, 54, 48, 61, 54, 48, 63, 54, 48, 64, 54, 48, 65, 54, 49, 67, 54, 49, 68, 54, 50, 70, 54, 50, 71, 54, 51, 73, 54, 51, 74, 54, 52, 76, 54, 53, 78, 54, 53, 80, 54, 54, 81, 54, 55, 83, 54, 56, 85, 54, 57, 87, 55, 58, 89, 55, 59, 91, 55, 60, 92, 55, 61, 94, 55, 63, 96, 56, 64, 98, 56, 65, 100, 56, 67, 102, 57, 68, 104, 57, 69, 106, 58, 71, 108, 58, 72, 111, 59, 74, 113, 59, 76, 115, 60, 77, 117, 61, 79, 119, 62, 81, 121, 62, 82, 123, 63, 84, 124, 64, 86, 126, 65, 87, 128, 66, 89, 130, 67, 91, 132, 68, 93, 134, 69, 94, 136, 71, 96, 138, 72, 98, 139, 73, 100, 141, 74, 102, 143, 76, 103, 144, 77, 105, 146, 79, 107, 148, 80, 109, 149, 82, 111, 151, 83, 112, 153, 85, 114, 154, 86, 116, 156, 88, 118, 157, 90, 120, 159, 91, 121, 160, 93, 123, 162, 95, 125, 163, 97, 127, 165, 99, 129, 166, 100, 130, 167, 102, 132, 169, 104, 134, 170, 106, 136, 171, 108, 137, 173, 110, 139, 174, 112, 141, 175, 114, 143, 177, 116, 144, 178, 118, 146, 179, 120, 148, 180, 122, 150, 182, 124, 151, 183, 126, 153, 184, 128, 155, 185, 130, 157, 186, 132, 158, 187, 134, 160, 189, 136, 162, 190, 138, 163, 191, 140, 165, 192, 142, 167, 193, 145, 168, 194, 147, 170, 195, 149, 172, 196, 151, 173, 197, 153, 175, 198, 155, 177, 199, 157, 178, 200, 159, 180, 200, 161, 181, 201, 163, 183, 202, 165, 184, 203, 167, 186, 204, 169, 187, 204, 171, 189, 205, 173, 190, 205, 175, 192, 206, 177, 193, 206, 179, 194, 207, 181, 196, 207, 183, 197, 208, 184, 198, 208, 186, 200, 208, 188, 201, 208, 189, 202, 208, 191, 203, 208, 193, 204, 208, 194, 205, 208, 196, 206, 208, 197, 207, 207, 198, 207, 207, 199, 208, 206, 201, 209, 206, 202, 209, 205, 203, 210, 204, 203, 210, 203, 204, 211, 203, 205, 211, 202, 206, 211, 200, 206, 211, 199, 207, 211, 198, 207, 211, 197, 207, 211, 195, 207, 211, 194, 207, 211, 192, 207, 211, 190, 207, 210, 189, 207, 210, 187, 207, 209, 185, 206, 208, 183, 206, 208, 181, 205, 207, 179, 205, 206, 177, 204, 205, 175, 203, 204, 173, 202, 203, 171, 201, 202, 169, 200, 201, 166, 199, 200, 164, 198, 198, 162, 197, 197, 160, 196, 196, 157, 194, 194, 155, 193, 193, 153, 191, 191, 150, 190, 190, 148, 188, 188, 146, 187, 187, 144, 185, 185, 141, 184, 183, 139, 182, 182, 137, 180, 180, 134, 179, 178, 132, 177, 176, 130, 175, 175, 127, 173, 173, 125, 171, 171, 123, 170, 169, 121, 168, 167, 119, 166, 165, 116, 164, 164, 114, 162, 162, 112, 160, 160, 110, 158, 158, 108, 157, 156, 106, 155, 154, 104, 153, 152, 102, 151, 150, 100, 149, 148, 98, 147, 146, 96, 145, 145, 94, 143, 143, 92, 141, 141, 90, 139, 139, 89, 137, 137, 87, 136, 135, 85, 134, 133, 83, 132, 131, 81, 130, 129, 80, 128, 127, 78, 126, 126, 76, 124, 124, 75, 123, 122, 73, 121, 120, 72, 119, 118, 70, 117, 116, 69, 115, 114, 67, 114, 113, 66, 112, 111, 65, 110, 109, 63, 108, 107, 62, 107, 105, 61, 105, 104, 59, 103, 102, 58, 102, 100, 57, 100, 98, 56, 98, 97, 55, 97, 95, 54, 95, 93, 53, 94, 92, 52, 92, 90, 51, 91, 89, 50, 89, 87, 49, 88, 85, 48, 86, 84, 47, 85, 82, 46, 84, 81, 46, 82, 79, 45, 81, 78, 45, 80, 77, 44, 79, 75, 43, 77, 74, 43, 76, 72, 43, 75, 71, 42, 74, 70, 42, 73, 69, 42, 72, 67, 41, 71, 66, 41, 70, 65, 41, 69, 64, 41, 68, 63, 41, 67, 62, 41, 66, 61, 41, 66, 60, 41, 65, 59, 41, 64, 58, 41, 63, 57, 41, 63, 56, 41, 62, 56, 42, 62, 55, 42, 61, 54, 42, 60, 53, 43, 60, 53, 43, 59, 52, 43, 59, 52, 44, 59, 51, 44, 58, 51, 45, 58, 50, 46, 57, 50, 46, 57, 49, 47, 57, 49, 48, 56, 48, 48, 56, 48, 49, 56, 48, 50, 56, 48, 51, 55, 47, 52, 55, 47, 53, 55, 47, 54, 55, 47, 55], shape(brocO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: brocO10 = reshape([55, 47, 56, 56, 65, 100, 85, 114, 154, 138, 163, 191, 193, 204, 208, 202, 203, 171, 158, 158, 108, 107, 105, 61, 68, 63, 41, 55, 47, 55], shape(brocO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: brocO100 = reshape([55, 47, 56, 54, 47, 59, 54, 48, 61, 54, 48, 65, 54, 49, 68, 54, 51, 73, 54, 52, 76, 54, 54, 81, 54, 57, 87, 55, 59, 91, 55, 63, 96, 56, 65, 100, 57, 69, 106, 58, 72, 111, 60, 77, 117, 62, 82, 123, 64, 86, 126, 67, 91, 132, 69, 94, 136, 73, 100, 141, 77, 105, 146, 80, 109, 149, 85, 114, 154, 88, 118, 157, 93, 123, 162, 97, 127, 165, 102, 132, 169, 108, 137, 173, 112, 141, 175, 118, 146, 179, 122, 150, 182, 128, 155, 185, 132, 158, 187, 138, 163, 191, 145, 168, 194, 149, 172, 196, 155, 177, 199, 159, 180, 200, 165, 184, 203, 169, 187, 204, 175, 192, 206, 181, 196, 207, 184, 198, 208, 189, 202, 208, 193, 204, 208, 197, 207, 207, 199, 208, 206, 203, 210, 204, 205, 211, 202, 206, 211, 199, 207, 211, 195, 207, 211, 192, 207, 210, 187, 206, 208, 181, 205, 206, 177, 202, 203, 171, 200, 201, 166, 197, 197, 160, 194, 194, 155, 190, 190, 148, 185, 185, 141, 182, 182, 137, 177, 176, 130, 173, 173, 125, 168, 167, 119, 164, 164, 114, 158, 158, 108, 153, 152, 102, 149, 148, 98, 143, 143, 92, 139, 139, 89, 134, 133, 83, 130, 129, 80, 124, 124, 75, 119, 118, 70, 115, 114, 67, 110, 109, 63, 107, 105, 61, 102, 100, 57, 98, 97, 55, 94, 92, 52, 89, 87, 49, 86, 84, 47, 82, 79, 45, 80, 77, 44, 76, 72, 43, 73, 69, 42, 71, 66, 41, 68, 63, 41, 66, 61, 41, 64, 58, 41, 63, 56, 41, 61, 54, 42, 59, 52, 43, 59, 51, 44, 57, 50, 46, 57, 49, 48, 56, 48, 50, 55, 47, 52, 55, 47, 55], shape(brocO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: brocO25 = reshape([55, 47, 56, 54, 50, 70, 54, 57, 87, 58, 71, 108, 66, 89, 130, 79, 107, 148, 97, 127, 165, 116, 144, 178, 138, 163, 191, 161, 181, 201, 181, 196, 207, 198, 207, 207, 207, 211, 197, 205, 207, 179, 194, 194, 155, 179, 178, 132, 158, 158, 108, 137, 137, 87, 119, 118, 70, 100, 98, 56, 84, 81, 46, 72, 67, 41, 63, 56, 41, 58, 50, 46, 55, 47, 55], shape(brocO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: brocO50 = reshape([55, 47, 56, 54, 48, 61, 54, 49, 68, 54, 53, 78, 54, 57, 87, 55, 63, 96, 57, 69, 106, 60, 77, 117, 65, 87, 128, 71, 96, 138, 77, 105, 146, 85, 114, 154, 93, 123, 162, 104, 134, 170, 114, 143, 177, 124, 151, 183, 134, 160, 189, 145, 168, 194, 157, 178, 200, 167, 186, 204, 177, 193, 206, 186, 200, 208, 194, 205, 208, 202, 209, 205, 206, 211, 200, 207, 211, 194, 207, 209, 185, 203, 204, 173, 198, 198, 162, 191, 191, 150, 184, 183, 139, 175, 175, 127, 164, 164, 114, 155, 154, 104, 145, 145, 94, 136, 135, 85, 126, 126, 76, 115, 114, 67, 107, 105, 61, 98, 97, 55, 91, 89, 50, 84, 81, 46, 76, 72, 43, 71, 66, 41, 66, 61, 41, 63, 56, 41, 60, 53, 43, 57, 50, 46, 56, 48, 50, 55, 47, 55], shape(brocO50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: buda = reshape([179, 1, 179, 179, 3, 178, 179, 5, 177, 179, 7, 176, 179, 9, 175, 179, 11, 174, 179, 13, 174, 179, 15, 173, 179, 17, 172, 179, 18, 171, 179, 20, 170, 179, 22, 169, 179, 23, 169, 179, 24, 168, 179, 26, 167, 179, 27, 166, 179, 28, 166, 179, 30, 165, 179, 31, 164, 179, 32, 164, 179, 33, 163, 179, 35, 162, 179, 36, 162, 179, 37, 161, 179, 38, 160, 179, 39, 160, 179, 40, 159, 179, 41, 159, 179, 43, 158, 179, 44, 158, 179, 45, 157, 179, 46, 157, 179, 47, 156, 179, 48, 156, 180, 49, 155, 180, 50, 155, 180, 51, 154, 180, 52, 154, 180, 53, 153, 180, 54, 153, 181, 55, 152, 181, 56, 152, 181, 57, 152, 181, 58, 151, 182, 59, 151, 182, 60, 150, 182, 61, 150, 182, 62, 150, 183, 63, 149, 183, 64, 149, 183, 65, 149, 184, 66, 148, 184, 67, 148, 184, 68, 148, 184, 69, 147, 185, 70, 147, 185, 71, 147, 185, 72, 146, 186, 73, 146, 186, 74, 146, 186, 75, 145, 187, 75, 145, 187, 76, 145, 187, 77, 144, 188, 78, 144, 188, 79, 144, 188, 80, 143, 188, 81, 143, 189, 82, 143, 189, 83, 143, 189, 84, 142, 190, 85, 142, 190, 85, 142, 190, 86, 141, 191, 87, 141, 191, 88, 141, 191, 89, 140, 191, 90, 140, 192, 91, 140, 192, 92, 140, 192, 92, 139, 193, 93, 139, 193, 94, 139, 193, 95, 138, 194, 96, 138, 194, 97, 138, 194, 98, 138, 194, 99, 137, 195, 99, 137, 195, 100, 137, 195, 101, 136, 196, 102, 136, 196, 103, 136, 196, 104, 136, 196, 105, 135, 197, 105, 135, 197, 106, 135, 197, 107, 134, 198, 108, 134, 198, 109, 134, 198, 110, 134, 198, 110, 133, 199, 111, 133, 199, 112, 133, 199, 113, 132, 199, 114, 132, 200, 115, 132, 200, 115, 132, 200, 116, 131, 201, 117, 131, 201, 118, 131, 201, 119, 131, 201, 120, 130, 202, 121, 130, 202, 121, 130, 202, 122, 129, 202, 123, 129, 203, 124, 129, 203, 125, 129, 203, 126, 128, 203, 126, 128, 204, 127, 128, 204, 128, 128, 204, 129, 127, 204, 130, 127, 205, 131, 127, 205, 132, 127, 205, 132, 126, 205, 133, 126, 206, 134, 126, 206, 135, 126, 206, 136, 126, 206, 137, 125, 207, 138, 125, 207, 138, 125, 207, 139, 125, 207, 140, 124, 207, 141, 124, 208, 142, 124, 208, 143, 124, 208, 144, 124, 208, 145, 123, 209, 145, 123, 209, 146, 123, 209, 147, 123, 209, 148, 122, 209, 149, 122, 210, 150, 122, 210, 151, 122, 210, 151, 122, 210, 152, 121, 210, 153, 121, 211, 154, 121, 211, 155, 121, 211, 156, 120, 211, 157, 120, 212, 158, 120, 212, 158, 120, 212, 159, 120, 212, 160, 119, 212, 161, 119, 213, 162, 119, 213, 163, 119, 213, 164, 119, 213, 165, 118, 214, 165, 118, 214, 166, 118, 214, 167, 118, 214, 168, 117, 214, 169, 117, 215, 170, 117, 215, 171, 117, 215, 172, 117, 215, 173, 116, 216, 173, 116, 216, 174, 116, 216, 175, 116, 216, 176, 115, 216, 177, 115, 217, 178, 115, 217, 179, 115, 217, 180, 115, 217, 181, 114, 218, 181, 114, 218, 182, 114, 218, 183, 114, 218, 184, 113, 218, 185, 113, 219, 186, 113, 219, 187, 113, 219, 188, 113, 219, 189, 112, 220, 190, 112, 220, 191, 112, 220, 191, 112, 220, 192, 111, 221, 193, 111, 221, 194, 111, 221, 195, 111, 221, 196, 110, 221, 197, 110, 222, 198, 110, 222, 199, 110, 222, 200, 110, 222, 201, 109, 223, 202, 109, 223, 202, 109, 223, 203, 109, 223, 204, 108, 224, 205, 108, 224, 206, 108, 224, 207, 108, 224, 208, 107, 224, 209, 107, 225, 210, 107, 225, 211, 107, 225, 212, 107, 226, 213, 106, 226, 214, 106, 226, 215, 106, 226, 216, 106, 227, 217, 105, 227, 218, 105, 227, 219, 105, 228, 220, 105, 228, 221, 105, 229, 222, 104, 229, 223, 104, 229, 224, 104, 230, 225, 104, 231, 226, 104, 231, 227, 104, 232, 228, 103, 232, 229, 103, 233, 230, 103, 234, 231, 103, 235, 232, 103, 235, 233, 103, 236, 235, 103, 237, 236, 103, 238, 237, 103, 239, 238, 102, 240, 239, 102, 241, 240, 102, 242, 242, 102, 243, 243, 102, 244, 244, 102, 246, 245, 102, 247, 246, 102, 248, 248, 102, 249, 249, 102, 250, 250, 102, 251, 251, 102, 253, 253, 102, 254, 254, 102, 255, 255, 102], shape(buda), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: buda10 = reshape([179, 1, 179, 179, 43, 158, 185, 72, 146, 194, 97, 138, 202, 121, 130, 209, 145, 123, 215, 170, 117, 221, 195, 111, 229, 223, 104, 255, 255, 102], shape(buda10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: buda100 = reshape([179, 1, 179, 179, 7, 176, 179, 11, 174, 179, 17, 172, 179, 20, 170, 179, 24, 168, 179, 27, 166, 179, 31, 164, 179, 35, 162, 179, 37, 161, 179, 40, 159, 179, 43, 158, 179, 46, 157, 179, 48, 156, 180, 51, 154, 180, 54, 153, 181, 56, 152, 182, 59, 151, 182, 61, 150, 183, 64, 149, 184, 67, 148, 184, 69, 147, 185, 72, 146, 186, 74, 146, 187, 76, 145, 188, 78, 144, 188, 81, 143, 189, 84, 142, 190, 85, 142, 191, 88, 141, 191, 90, 140, 192, 92, 139, 193, 94, 139, 194, 97, 138, 195, 99, 137, 195, 101, 136, 196, 104, 136, 197, 105, 135, 198, 108, 134, 198, 110, 134, 199, 112, 133, 200, 115, 132, 200, 116, 131, 201, 119, 131, 202, 121, 130, 202, 123, 129, 203, 125, 129, 204, 127, 128, 204, 130, 127, 205, 132, 127, 206, 134, 126, 206, 136, 126, 207, 138, 125, 207, 141, 124, 208, 143, 124, 209, 145, 123, 209, 147, 123, 210, 150, 122, 210, 151, 122, 211, 154, 121, 211, 157, 120, 212, 158, 120, 212, 161, 119, 213, 163, 119, 214, 165, 118, 214, 167, 118, 215, 170, 117, 215, 173, 116, 216, 174, 116, 216, 177, 115, 217, 179, 115, 218, 181, 114, 218, 183, 114, 219, 186, 113, 219, 189, 112, 220, 191, 112, 221, 193, 111, 221, 195, 111, 222, 198, 110, 222, 200, 110, 223, 202, 109, 224, 205, 108, 224, 207, 108, 225, 210, 107, 225, 212, 107, 226, 215, 106, 227, 218, 105, 228, 220, 105, 229, 223, 104, 230, 225, 104, 232, 228, 103, 233, 230, 103, 235, 233, 103, 238, 237, 103, 240, 239, 102, 243, 243, 102, 246, 245, 102, 249, 249, 102, 251, 251, 102, 255, 255, 102], shape(buda100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: buda25 = reshape([179, 1, 179, 179, 22, 169, 179, 35, 162, 179, 47, 156, 181, 58, 151, 184, 68, 148, 188, 78, 144, 191, 87, 141, 194, 97, 138, 197, 106, 135, 200, 115, 132, 203, 124, 129, 205, 133, 126, 208, 142, 124, 210, 151, 122, 212, 160, 119, 215, 170, 117, 217, 180, 115, 219, 189, 112, 222, 199, 110, 224, 209, 107, 227, 219, 105, 233, 230, 103, 242, 242, 102, 255, 255, 102], shape(buda25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: buda50 = reshape([179, 1, 179, 179, 11, 174, 179, 20, 170, 179, 28, 166, 179, 35, 162, 179, 40, 159, 179, 46, 157, 180, 51, 154, 181, 57, 152, 182, 62, 150, 184, 67, 148, 185, 72, 146, 187, 76, 145, 189, 82, 143, 190, 86, 141, 192, 91, 140, 193, 95, 138, 195, 99, 137, 196, 105, 135, 198, 109, 134, 199, 113, 132, 201, 117, 131, 202, 121, 130, 203, 126, 128, 205, 131, 127, 206, 135, 126, 207, 139, 125, 208, 145, 123, 209, 149, 122, 210, 153, 121, 212, 158, 120, 213, 162, 119, 214, 167, 118, 215, 172, 117, 216, 176, 115, 217, 181, 114, 218, 185, 113, 220, 191, 112, 221, 195, 111, 222, 200, 110, 223, 204, 108, 224, 209, 107, 226, 215, 106, 228, 220, 105, 230, 225, 104, 233, 230, 103, 237, 236, 103, 243, 243, 102, 249, 249, 102, 255, 255, 102], shape(buda50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: budaS = reshape([179, 1, 179, 255, 255, 102, 205, 133, 126, 188, 78, 144, 220, 190, 112, 179, 47, 156, 212, 161, 119, 197, 106, 135, 227, 219, 105, 192, 92, 139, 179, 28, 166, 209, 147, 123, 201, 120, 130, 183, 63, 149, 237, 236, 103, 216, 175, 116, 223, 204, 108, 181, 55, 152, 218, 182, 114, 179, 17, 172, 221, 197, 110, 199, 113, 132, 231, 227, 104, 246, 245, 102, 195, 99, 137, 179, 38, 160, 211, 154, 121, 207, 140, 124, 203, 126, 128, 185, 71, 147, 190, 85, 142, 214, 168, 117, 225, 211, 107, 221, 193, 111, 179, 23, 169, 198, 110, 134, 250, 250, 102, 200, 116, 131, 191, 89, 140, 212, 158, 120, 226, 215, 106, 219, 186, 113, 204, 130, 127, 215, 172, 117, 213, 165, 118, 194, 96, 138, 229, 223, 104, 196, 103, 136, 241, 240, 102, 210, 151, 122, 179, 33, 163, 182, 59, 151, 179, 43, 158, 202, 123, 129, 179, 9, 175, 206, 137, 125, 234, 231, 103, 208, 144, 124, 222, 201, 109, 186, 75, 145, 184, 67, 148, 217, 179, 115, 189, 82, 143, 180, 51, 154, 224, 207, 108, 179, 26, 167, 179, 20, 170, 192, 91, 140, 183, 65, 149, 216, 173, 116, 232, 229, 103, 198, 108, 134, 179, 45, 157, 222, 199, 110, 205, 132, 127, 216, 177, 115, 215, 170, 117, 201, 118, 131, 213, 163, 119, 212, 159, 120, 207, 138, 125, 182, 61, 150, 206, 135, 126, 221, 195, 111, 199, 111, 133, 220, 191, 112, 217, 181, 114, 248, 248, 102, 189, 84, 142, 193, 94, 139, 195, 101, 136, 179, 5, 177, 211, 156, 120, 209, 145, 123, 194, 98, 138, 200, 115, 132, 203, 125, 129, 187, 76, 145, 181, 57, 152, 179, 40, 159], shape(budaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bukavu = reshape([26, 51, 51, 26, 52, 53, 26, 53, 55, 26, 53, 57, 27, 54, 59, 27, 55, 61, 27, 56, 63, 27, 57, 65, 27, 58, 67, 28, 59, 69, 28, 60, 71, 28, 61, 73, 28, 62, 76, 29, 62, 78, 29, 63, 80, 29, 64, 82, 30, 66, 85, 30, 67, 87, 30, 68, 90, 30, 69, 92, 31, 70, 95, 31, 71, 98, 31, 72, 101, 32, 74, 104, 32, 75, 107, 32, 76, 110, 33, 78, 113, 33, 79, 117, 34, 81, 120, 34, 82, 123, 34, 84, 127, 35, 85, 130, 35, 87, 134, 36, 89, 137, 36, 91, 140, 37, 92, 143, 37, 94, 146, 38, 96, 149, 39, 98, 151, 39, 100, 154, 40, 102, 156, 41, 104, 159, 41, 105, 161, 42, 107, 163, 42, 109, 166, 43, 111, 168, 44, 113, 170, 44, 115, 173, 45, 117, 175, 45, 118, 177, 46, 120, 180, 47, 122, 182, 47, 124, 184, 48, 126, 186, 49, 127, 189, 50, 129, 191, 50, 131, 192, 52, 133, 194, 53, 135, 196, 54, 137, 197, 56, 138, 198, 58, 140, 198, 59, 142, 199, 61, 144, 199, 63, 146, 200, 65, 147, 200, 67, 149, 200, 69, 151, 200, 71, 153, 200, 73, 154, 200, 75, 156, 200, 76, 158, 201, 78, 160, 201, 80, 161, 201, 82, 163, 201, 84, 165, 201, 86, 166, 201, 88, 168, 201, 89, 170, 201, 91, 171, 202, 93, 173, 202, 95, 174, 202, 97, 176, 202, 98, 178, 202, 100, 179, 202, 102, 181, 202, 104, 183, 202, 106, 184, 203, 107, 186, 203, 109, 187, 203, 111, 189, 203, 113, 191, 203, 114, 192, 203, 116, 194, 203, 118, 195, 203, 120, 197, 204, 122, 199, 204, 124, 200, 204, 127, 202, 204, 129, 204, 205, 132, 205, 205, 135, 207, 206, 138, 209, 207, 142, 211, 208, 146, 213, 209, 149, 215, 209, 153, 217, 210, 157, 218, 211, 160, 220, 212, 164, 222, 213, 168, 224, 214, 172, 226, 215, 175, 228, 216, 179, 230, 217, 182, 231, 218, 186, 233, 219, 190, 235, 220, 193, 237, 220, 197, 239, 221, 200, 240, 222, 204, 242, 223, 207, 244, 224, 211, 246, 225, 214, 247, 226, 218, 249, 227, 221, 251, 227, 224, 252, 228, 228, 254, 229, 1, 64, 38, 2, 65, 37, 3, 66, 36, 4, 68, 35, 5, 69, 34, 6, 70, 33, 7, 71, 32, 8, 73, 31, 9, 74, 30, 11, 75, 29, 12, 77, 28, 14, 78, 27, 15, 80, 26, 17, 81, 25, 19, 83, 24, 21, 84, 23, 23, 86, 22, 26, 88, 21, 28, 89, 20, 31, 91, 19, 34, 93, 19, 37, 94, 18, 40, 96, 18, 43, 98, 18, 47, 99, 18, 50, 101, 19, 54, 102, 19, 57, 103, 20, 61, 105, 21, 64, 106, 22, 68, 107, 23, 71, 108, 25, 75, 109, 26, 78, 110, 27, 82, 111, 29, 85, 111, 30, 88, 112, 32, 91, 113, 33, 94, 113, 35, 97, 114, 36, 100, 114, 37, 103, 115, 39, 105, 115, 40, 108, 116, 41, 111, 116, 43, 113, 117, 44, 116, 117, 45, 118, 118, 46, 120, 118, 47, 123, 118, 49, 125, 119, 50, 127, 119, 51, 130, 120, 52, 132, 120, 53, 134, 120, 54, 136, 121, 56, 139, 121, 57, 141, 122, 58, 143, 122, 59, 145, 123, 60, 147, 123, 62, 150, 124, 63, 152, 124, 64, 154, 125, 66, 156, 126, 67, 158, 126, 69, 161, 127, 71, 163, 128, 73, 165, 130, 75, 167, 131, 77, 170, 132, 79, 172, 134, 82, 174, 135, 84, 176, 137, 87, 178, 139, 90, 180, 141, 93, 182, 143, 96, 183, 145, 99, 185, 147, 102, 187, 149, 105, 188, 151, 108, 190, 153, 111, 191, 156, 114, 192, 158, 118, 194, 160, 121, 195, 162, 124, 196, 165, 127, 197, 167, 130, 198, 169, 133, 200, 172, 137, 201, 174, 140, 202, 176, 143, 203, 178, 146, 204, 181, 150, 205, 183, 153, 206, 185, 156, 207, 187, 160, 208, 189, 163, 210, 192, 166, 211, 194, 170, 212, 196, 173, 213, 198, 176, 214, 200, 180, 215, 202, 183, 216, 204, 186, 217, 205, 190, 218, 207, 193, 219, 209, 196, 220, 211, 199, 221, 212, 202, 222, 214, 205, 223, 215, 208, 224, 217, 210, 225, 218, 213, 226, 219, 216, 227, 221, 219, 227, 222, 221, 228, 223, 224, 229, 225, 227, 230, 226, 229, 231, 227, 232, 232, 229, 235, 233, 230, 237, 233, 231, 240, 234, 233, 243, 235, 234, 246, 236, 236, 249, 237, 237, 252], shape(bukavu), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bukavu10 = reshape([26, 51, 51, 34, 81, 120, 52, 133, 194, 102, 181, 202, 179, 230, 217, 19, 83, 24, 105, 115, 40, 170, 132, 79, 211, 194, 170, 237, 237, 252], shape(bukavu10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bukavu100 = reshape([26, 51, 51, 26, 53, 57, 27, 55, 61, 27, 58, 67, 28, 60, 71, 29, 62, 78, 29, 64, 82, 30, 68, 90, 31, 71, 98, 32, 74, 104, 33, 78, 113, 34, 81, 120, 35, 85, 130, 36, 89, 137, 37, 94, 146, 39, 100, 154, 41, 104, 159, 42, 109, 166, 44, 113, 170, 45, 118, 177, 47, 124, 184, 49, 127, 189, 52, 133, 194, 54, 137, 197, 59, 142, 199, 63, 146, 200, 69, 151, 200, 75, 156, 200, 78, 160, 201, 84, 165, 201, 88, 168, 201, 93, 173, 202, 97, 176, 202, 102, 181, 202, 107, 186, 203, 111, 189, 203, 116, 194, 203, 120, 197, 204, 127, 202, 204, 132, 205, 205, 142, 211, 208, 153, 217, 210, 160, 220, 212, 172, 226, 215, 179, 230, 217, 190, 235, 220, 197, 239, 221, 207, 244, 224, 218, 249, 227, 224, 252, 228, 2, 65, 37, 4, 68, 35, 7, 71, 32, 11, 75, 29, 14, 78, 27, 19, 83, 24, 23, 86, 22, 31, 91, 19, 37, 94, 18, 47, 99, 18, 57, 103, 20, 64, 106, 22, 75, 109, 26, 82, 111, 29, 91, 113, 33, 97, 114, 36, 105, 115, 40, 113, 117, 44, 118, 118, 46, 125, 119, 50, 130, 120, 52, 136, 121, 56, 141, 122, 58, 147, 123, 62, 154, 125, 66, 158, 126, 69, 165, 130, 75, 170, 132, 79, 176, 137, 87, 180, 141, 93, 185, 147, 102, 190, 153, 111, 192, 158, 118, 196, 165, 127, 198, 169, 133, 202, 176, 143, 205, 183, 153, 207, 187, 160, 211, 194, 170, 213, 198, 176, 216, 204, 186, 218, 207, 193, 221, 212, 202, 224, 217, 210, 226, 219, 216, 228, 223, 224, 230, 226, 229, 233, 230, 237, 234, 233, 243, 237, 237, 252], shape(bukavu100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bukavu25 = reshape([26, 51, 51, 28, 61, 73, 31, 71, 98, 35, 87, 134, 42, 107, 163, 48, 126, 186, 63, 146, 200, 82, 163, 201, 102, 181, 202, 122, 199, 204, 153, 217, 210, 193, 237, 220, 1, 64, 38, 12, 77, 28, 37, 94, 18, 71, 108, 25, 105, 115, 40, 132, 120, 53, 154, 125, 66, 178, 139, 90, 195, 162, 124, 206, 185, 156, 218, 207, 193, 227, 222, 221, 237, 237, 252], shape(bukavu25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bukavu50 = reshape([26, 51, 51, 27, 55, 61, 28, 60, 71, 30, 66, 85, 31, 71, 98, 33, 78, 113, 35, 85, 130, 37, 94, 146, 41, 105, 161, 44, 115, 173, 47, 124, 184, 52, 133, 194, 59, 142, 199, 71, 153, 200, 80, 161, 201, 89, 170, 201, 98, 178, 202, 107, 186, 203, 118, 195, 203, 129, 204, 205, 146, 213, 209, 164, 222, 213, 182, 231, 218, 204, 242, 223, 221, 251, 227, 3, 66, 36, 8, 73, 31, 17, 81, 25, 28, 89, 20, 43, 98, 18, 61, 105, 21, 78, 110, 27, 97, 114, 36, 111, 116, 43, 123, 118, 49, 134, 120, 54, 145, 123, 60, 158, 126, 69, 170, 132, 79, 180, 141, 93, 188, 151, 108, 195, 162, 124, 202, 176, 143, 207, 187, 160, 213, 198, 176, 218, 207, 193, 223, 215, 208, 228, 223, 224, 233, 230, 237, 237, 237, 252], shape(bukavu50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: cork = reshape([44, 25, 76, 44, 27, 78, 44, 29, 79, 43, 30, 81, 43, 32, 83, 43, 34, 84, 43, 35, 86, 43, 37, 87, 43, 38, 89, 43, 40, 91, 43, 41, 92, 42, 43, 94, 42, 44, 95, 42, 46, 97, 42, 47, 98, 42, 49, 100, 42, 50, 101, 41, 52, 103, 41, 54, 104, 41, 55, 106, 41, 57, 107, 41, 58, 109, 40, 60, 110, 40, 61, 112, 40, 63, 114, 40, 64, 115, 40, 66, 117, 40, 67, 118, 40, 69, 120, 40, 70, 121, 40, 72, 123, 40, 74, 124, 40, 75, 126, 40, 77, 127, 41, 79, 129, 41, 80, 130, 42, 82, 132, 42, 83, 133, 43, 85, 135, 44, 87, 136, 45, 89, 138, 46, 90, 139, 47, 92, 141, 48, 94, 142, 50, 95, 143, 51, 97, 145, 53, 99, 146, 54, 100, 147, 56, 102, 149, 58, 104, 150, 60, 105, 151, 61, 107, 152, 63, 108, 153, 65, 110, 155, 67, 112, 156, 69, 113, 157, 71, 115, 158, 73, 116, 159, 75, 118, 160, 76, 119, 161, 78, 121, 162, 80, 122, 163, 82, 124, 164, 84, 125, 165, 86, 127, 166, 88, 128, 167, 90, 130, 168, 92, 131, 169, 94, 133, 170, 96, 134, 172, 98, 136, 173, 100, 137, 174, 102, 139, 175, 104, 141, 176, 106, 142, 177, 109, 144, 178, 111, 146, 179, 113, 147, 180, 115, 149, 182, 117, 151, 183, 119, 152, 184, 122, 154, 185, 124, 156, 186, 126, 157, 187, 129, 159, 189, 131, 161, 190, 133, 163, 191, 136, 164, 192, 138, 166, 194, 140, 168, 195, 143, 170, 196, 145, 172, 197, 148, 174, 199, 150, 175, 200, 153, 177, 201, 155, 179, 203, 158, 181, 204, 160, 183, 205, 163, 185, 207, 165, 187, 208, 168, 189, 209, 170, 191, 211, 173, 193, 212, 176, 195, 213, 178, 197, 215, 181, 199, 216, 184, 201, 218, 186, 203, 219, 189, 205, 220, 192, 207, 222, 194, 209, 223, 197, 211, 225, 200, 213, 226, 202, 215, 227, 205, 217, 229, 208, 219, 230, 210, 221, 231, 213, 223, 232, 215, 225, 233, 218, 227, 234, 220, 229, 235, 222, 230, 236, 224, 232, 237, 226, 233, 237, 227, 235, 237, 229, 236, 237, 230, 237, 237, 230, 237, 237, 230, 237, 236, 230, 238, 235, 230, 238, 234, 229, 237, 232, 228, 237, 231, 227, 236, 229, 226, 235, 227, 224, 234, 225, 222, 233, 223, 220, 232, 221, 218, 231, 219, 216, 229, 217, 214, 228, 214, 212, 226, 212, 210, 225, 210, 207, 223, 207, 205, 222, 205, 203, 220, 203, 200, 219, 200, 198, 217, 198, 196, 215, 195, 193, 214, 193, 191, 212, 191, 188, 211, 188, 186, 209, 186, 183, 207, 183, 181, 206, 181, 178, 204, 178, 176, 202, 176, 174, 201, 173, 171, 199, 171, 169, 197, 168, 166, 196, 166, 164, 194, 163, 161, 192, 161, 159, 191, 159, 156, 189, 156, 154, 187, 154, 151, 186, 151, 149, 184, 149, 146, 183, 146, 144, 181, 144, 142, 179, 141, 139, 178, 139, 137, 176, 136, 134, 174, 134, 132, 173, 132, 130, 171, 129, 127, 170, 127, 125, 168, 125, 123, 167, 122, 120, 165, 120, 118, 163, 118, 116, 162, 115, 113, 160, 113, 111, 159, 111, 109, 157, 108, 107, 156, 106, 104, 154, 104, 102, 153, 102, 100, 151, 100, 98, 150, 97, 96, 149, 95, 93, 147, 93, 91, 146, 91, 89, 144, 89, 87, 143, 87, 85, 141, 85, 83, 140, 82, 81, 139, 80, 79, 137, 78, 77, 136, 76, 75, 134, 74, 73, 133, 72, 71, 132, 70, 69, 130, 68, 67, 129, 66, 65, 127, 64, 63, 126, 62, 61, 125, 60, 59, 123, 58, 57, 122, 56, 55, 120, 54, 53, 119, 52, 51, 117, 50, 49, 116, 48, 47, 114, 46, 45, 112, 44, 43, 111, 42, 42, 109, 40, 40, 107, 38, 38, 106, 37, 37, 104, 35, 35, 102, 33, 34, 100, 32, 32, 99, 30, 31, 97, 29, 30, 95, 27, 29, 93, 26, 28, 91, 25, 27, 89, 23, 26, 88, 22, 25, 86, 21, 24, 84, 20, 24, 82, 19, 23, 80, 18, 23, 78, 18, 22, 76, 17, 22, 75, 16, 21, 73, 15, 21, 71, 15, 20, 69, 14, 20, 67, 13, 19, 65, 13, 19, 64, 12, 19, 62, 12, 18, 60, 11, 18, 58, 10, 18, 56, 10, 17, 55, 9, 17, 53, 8, 17, 51, 8, 16, 49, 7, 16, 48, 6, 16, 46, 5, 16, 44, 5, 15, 43, 4, 15, 41, 3], shape(cork), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: cork10 = reshape([44, 25, 76, 40, 69, 120, 73, 116, 159, 131, 161, 190, 202, 215, 227, 210, 225, 210, 142, 179, 141, 79, 137, 78, 28, 91, 25, 15, 41, 3], shape(cork10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: cork100 = reshape([44, 25, 76, 43, 30, 81, 43, 34, 84, 43, 38, 89, 43, 41, 92, 42, 46, 97, 42, 49, 100, 41, 54, 104, 41, 58, 109, 40, 61, 112, 40, 66, 117, 40, 69, 120, 40, 74, 124, 40, 77, 127, 42, 82, 132, 44, 87, 136, 46, 90, 139, 50, 95, 143, 53, 99, 146, 58, 104, 150, 63, 108, 153, 67, 112, 156, 73, 116, 159, 76, 119, 161, 82, 124, 164, 86, 127, 166, 92, 131, 169, 98, 136, 173, 102, 139, 175, 109, 144, 178, 113, 147, 180, 119, 152, 184, 124, 156, 186, 131, 161, 190, 138, 166, 194, 143, 170, 196, 150, 175, 200, 155, 179, 203, 163, 185, 207, 168, 189, 209, 176, 195, 213, 184, 201, 218, 189, 205, 220, 197, 211, 225, 202, 215, 227, 210, 221, 231, 215, 225, 233, 222, 230, 236, 227, 235, 237, 230, 237, 237, 230, 238, 235, 229, 237, 232, 226, 235, 227, 220, 232, 221, 216, 229, 217, 210, 225, 210, 205, 222, 205, 198, 217, 198, 193, 214, 193, 186, 209, 186, 178, 204, 178, 174, 201, 173, 166, 196, 166, 161, 192, 161, 154, 187, 154, 149, 184, 149, 142, 179, 141, 134, 174, 134, 130, 171, 129, 123, 167, 122, 118, 163, 118, 111, 159, 111, 107, 156, 106, 100, 151, 100, 93, 147, 93, 89, 144, 89, 83, 140, 82, 79, 137, 78, 73, 133, 72, 69, 130, 68, 63, 126, 62, 57, 122, 56, 53, 119, 52, 47, 114, 46, 43, 111, 42, 38, 106, 37, 34, 100, 32, 31, 97, 29, 28, 91, 25, 26, 88, 22, 24, 82, 19, 23, 78, 18, 21, 73, 15, 20, 67, 13, 19, 64, 12, 18, 58, 10, 17, 55, 9, 16, 49, 7, 16, 46, 5, 15, 41, 3], shape(cork100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: cork25 = reshape([44, 25, 76, 42, 43, 94, 41, 58, 109, 40, 75, 126, 48, 94, 142, 65, 110, 155, 86, 127, 166, 106, 142, 177, 131, 161, 190, 158, 181, 204, 184, 201, 218, 213, 223, 232, 230, 237, 236, 218, 231, 219, 193, 214, 193, 169, 197, 168, 142, 179, 141, 116, 162, 115, 93, 147, 93, 71, 132, 70, 49, 116, 48, 32, 99, 30, 23, 78, 18, 18, 60, 11, 15, 41, 3], shape(cork25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: cork50 = reshape([44, 25, 76, 43, 34, 84, 43, 41, 92, 42, 50, 101, 41, 58, 109, 40, 66, 117, 40, 74, 124, 42, 82, 132, 47, 92, 141, 54, 100, 147, 63, 108, 153, 73, 116, 159, 82, 124, 164, 94, 133, 170, 104, 141, 176, 115, 149, 182, 126, 157, 187, 138, 166, 194, 153, 177, 201, 165, 187, 208, 178, 197, 215, 192, 207, 222, 205, 217, 229, 220, 229, 235, 229, 236, 237, 230, 238, 234, 224, 234, 225, 212, 226, 212, 200, 219, 200, 188, 211, 188, 176, 202, 176, 164, 194, 163, 149, 184, 149, 137, 176, 136, 125, 168, 125, 113, 160, 113, 102, 153, 102, 89, 144, 89, 79, 137, 78, 69, 130, 68, 59, 123, 58, 49, 116, 48, 38, 106, 37, 31, 97, 29, 26, 88, 22, 23, 78, 18, 20, 69, 14, 18, 58, 10, 16, 49, 7, 15, 41, 3], shape(cork50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: corkO = reshape([63, 62, 58, 63, 62, 59, 63, 62, 60, 63, 61, 61, 62, 61, 62, 62, 61, 63, 62, 61, 64, 62, 61, 65, 62, 61, 66, 62, 61, 67, 62, 61, 68, 62, 61, 69, 62, 61, 70, 62, 61, 71, 62, 61, 72, 62, 61, 73, 62, 61, 75, 62, 61, 76, 62, 62, 77, 62, 62, 79, 62, 63, 80, 62, 63, 82, 62, 64, 83, 62, 64, 85, 62, 65, 86, 62, 65, 88, 62, 66, 90, 62, 67, 91, 62, 68, 93, 62, 69, 95, 63, 70, 97, 63, 71, 98, 63, 72, 100, 64, 73, 102, 64, 74, 104, 64, 75, 106, 65, 76, 108, 65, 78, 110, 66, 79, 112, 66, 80, 114, 67, 82, 116, 68, 83, 118, 68, 85, 120, 69, 86, 122, 70, 88, 124, 71, 89, 126, 71, 91, 128, 72, 93, 130, 73, 94, 132, 74, 96, 134, 75, 98, 135, 77, 99, 137, 78, 101, 139, 79, 103, 141, 80, 105, 143, 81, 106, 145, 83, 108, 146, 84, 110, 148, 86, 112, 150, 87, 113, 151, 88, 115, 153, 90, 117, 155, 92, 119, 156, 93, 120, 158, 95, 122, 159, 96, 124, 161, 98, 126, 162, 100, 127, 164, 101, 129, 165, 103, 131, 166, 105, 133, 168, 106, 134, 169, 108, 136, 171, 110, 138, 172, 112, 140, 173, 114, 141, 174, 115, 143, 176, 117, 145, 177, 119, 146, 178, 121, 148, 179, 123, 150, 180, 124, 151, 182, 126, 153, 183, 128, 155, 184, 130, 156, 185, 132, 158, 186, 134, 160, 187, 135, 161, 188, 137, 163, 189, 139, 164, 190, 141, 166, 191, 143, 167, 192, 144, 169, 192, 146, 171, 193, 148, 172, 194, 150, 174, 195, 151, 175, 195, 153, 177, 196, 154, 178, 197, 156, 179, 197, 158, 181, 198, 159, 182, 198, 161, 184, 199, 162, 185, 199, 163, 186, 199, 165, 187, 200, 166, 189, 200, 167, 190, 200, 168, 191, 200, 169, 192, 200, 170, 193, 200, 171, 194, 200, 172, 195, 200, 173, 196, 200, 174, 197, 199, 174, 198, 199, 175, 198, 199, 175, 199, 198, 176, 200, 197, 176, 200, 197, 176, 201, 196, 176, 201, 195, 176, 202, 194, 176, 202, 193, 176, 202, 192, 176, 202, 191, 176, 202, 190, 175, 203, 189, 175, 203, 188, 174, 202, 187, 173, 202, 185, 173, 202, 184, 172, 202, 182, 171, 202, 181, 170, 201, 179, 169, 201, 178, 168, 200, 176, 167, 200, 175, 166, 199, 173, 165, 199, 171, 163, 198, 170, 162, 197, 168, 161, 196, 166, 159, 196, 164, 158, 195, 163, 156, 194, 161, 155, 193, 159, 153, 192, 157, 152, 191, 155, 150, 190, 153, 149, 189, 151, 147, 188, 149, 145, 187, 147, 144, 186, 145, 142, 185, 143, 140, 183, 141, 139, 182, 139, 137, 181, 137, 135, 180, 135, 134, 178, 133, 132, 177, 131, 130, 176, 129, 128, 174, 127, 127, 173, 125, 125, 172, 123, 123, 170, 121, 122, 169, 119, 120, 167, 117, 118, 166, 115, 117, 164, 113, 115, 163, 111, 113, 161, 108, 112, 159, 106, 110, 158, 104, 108, 156, 102, 107, 154, 100, 105, 153, 98, 104, 151, 96, 102, 149, 94, 101, 148, 92, 99, 146, 90, 98, 144, 88, 96, 142, 86, 95, 141, 84, 94, 139, 82, 92, 137, 80, 91, 135, 78, 90, 134, 76, 89, 132, 74, 87, 130, 73, 86, 128, 71, 85, 127, 69, 84, 125, 68, 83, 123, 66, 82, 121, 65, 81, 120, 63, 80, 118, 62, 79, 116, 60, 79, 115, 59, 78, 113, 58, 77, 111, 56, 76, 110, 55, 76, 108, 54, 75, 107, 53, 74, 105, 52, 74, 104, 51, 73, 102, 50, 73, 101, 50, 72, 100, 49, 72, 98, 48, 71, 97, 48, 71, 96, 47, 70, 94, 47, 70, 93, 46, 70, 92, 46, 69, 91, 45, 69, 89, 45, 69, 88, 45, 69, 87, 45, 68, 86, 44, 68, 85, 44, 68, 84, 44, 68, 83, 44, 67, 82, 44, 67, 81, 44, 67, 80, 44, 67, 79, 44, 67, 79, 44, 66, 78, 45, 66, 77, 45, 66, 76, 45, 66, 75, 45, 66, 75, 46, 66, 74, 46, 66, 73, 46, 65, 72, 47, 65, 72, 47, 65, 71, 47, 65, 71, 48, 65, 70, 48, 65, 69, 49, 65, 69, 49, 65, 68, 50, 64, 68, 50, 64, 67, 51, 64, 67, 51, 64, 66, 52, 64, 66, 52, 64, 65, 53, 64, 65, 54, 64, 64, 54, 63, 64, 55, 63, 63, 56, 63, 63, 56, 63, 63, 57, 63, 62, 58], shape(corkO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: corkO10 = reshape([63, 62, 58, 62, 68, 93, 84, 110, 148, 132, 158, 186, 173, 196, 200, 161, 196, 166, 115, 163, 111, 79, 115, 59, 67, 79, 44, 63, 62, 58], shape(corkO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: corkO100 = reshape([63, 62, 58, 63, 61, 61, 62, 61, 63, 62, 61, 66, 62, 61, 68, 62, 61, 71, 62, 61, 73, 62, 62, 77, 62, 63, 82, 62, 64, 85, 62, 66, 90, 62, 68, 93, 63, 71, 98, 64, 73, 102, 65, 76, 108, 66, 80, 114, 68, 83, 118, 70, 88, 124, 71, 91, 128, 74, 96, 134, 78, 101, 139, 80, 105, 143, 84, 110, 148, 87, 113, 151, 92, 119, 156, 95, 122, 159, 100, 127, 164, 105, 133, 168, 108, 136, 171, 114, 141, 174, 117, 145, 177, 123, 150, 180, 126, 153, 183, 132, 158, 186, 137, 163, 189, 141, 166, 191, 146, 171, 193, 150, 174, 195, 154, 178, 197, 158, 181, 198, 162, 185, 199, 166, 189, 200, 168, 191, 200, 171, 194, 200, 173, 196, 200, 175, 198, 199, 176, 200, 197, 176, 201, 195, 176, 202, 192, 176, 202, 190, 174, 202, 187, 173, 202, 184, 170, 201, 179, 167, 200, 175, 165, 199, 171, 161, 196, 166, 158, 195, 163, 153, 192, 157, 150, 190, 153, 145, 187, 147, 140, 183, 141, 137, 181, 137, 132, 177, 131, 128, 174, 127, 123, 170, 121, 120, 167, 117, 115, 163, 111, 110, 158, 104, 107, 154, 100, 102, 149, 94, 99, 146, 90, 95, 141, 84, 92, 137, 80, 89, 132, 74, 85, 127, 69, 83, 123, 66, 80, 118, 62, 79, 115, 59, 76, 110, 55, 75, 107, 53, 73, 102, 50, 72, 98, 48, 71, 96, 47, 70, 92, 46, 69, 89, 45, 68, 86, 44, 68, 83, 44, 67, 81, 44, 67, 79, 44, 66, 77, 45, 66, 75, 46, 66, 73, 46, 65, 71, 47, 65, 69, 49, 65, 68, 50, 64, 67, 51, 64, 66, 52, 64, 64, 54, 63, 63, 56, 63, 62, 58], shape(corkO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: corkO25 = reshape([63, 62, 58, 62, 61, 69, 62, 63, 82, 63, 72, 100, 69, 86, 122, 79, 103, 141, 95, 122, 159, 112, 140, 173, 132, 158, 186, 151, 175, 195, 166, 189, 200, 175, 199, 198, 175, 203, 188, 166, 199, 173, 150, 190, 153, 134, 178, 133, 115, 163, 111, 98, 144, 88, 85, 127, 69, 76, 108, 54, 70, 93, 46, 67, 82, 44, 66, 73, 46, 64, 67, 51, 63, 62, 58], shape(corkO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: corkO50 = reshape([63, 62, 58, 62, 61, 63, 62, 61, 68, 62, 61, 75, 62, 63, 82, 62, 66, 90, 63, 71, 98, 65, 76, 108, 68, 85, 120, 72, 93, 130, 78, 101, 139, 84, 110, 148, 92, 119, 156, 101, 129, 165, 110, 138, 172, 119, 146, 178, 128, 155, 184, 137, 163, 189, 148, 172, 194, 156, 179, 197, 163, 186, 199, 169, 192, 200, 174, 197, 199, 176, 201, 196, 176, 202, 191, 173, 202, 185, 169, 201, 178, 162, 197, 168, 155, 193, 159, 147, 188, 149, 139, 182, 139, 130, 176, 129, 120, 167, 117, 112, 159, 106, 104, 151, 96, 96, 142, 86, 90, 134, 76, 83, 123, 66, 79, 115, 59, 75, 107, 53, 72, 100, 49, 70, 93, 46, 68, 86, 44, 67, 81, 44, 66, 77, 45, 66, 73, 46, 65, 70, 48, 64, 67, 51, 64, 64, 54, 63, 62, 58], shape(corkO50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: davos = reshape([0, 5, 74, 0, 7, 76, 0, 9, 77, 0, 11, 79, 1, 12, 80, 1, 14, 81, 2, 15, 83, 2, 16, 84, 3, 18, 86, 4, 19, 87, 4, 20, 89, 5, 22, 90, 5, 23, 91, 6, 24, 93, 7, 26, 94, 7, 27, 96, 8, 28, 97, 9, 30, 98, 10, 31, 100, 11, 32, 101, 11, 34, 103, 12, 35, 104, 13, 36, 105, 14, 38, 107, 14, 39, 108, 15, 40, 109, 16, 42, 111, 17, 43, 112, 17, 44, 113, 18, 46, 115, 19, 47, 116, 19, 48, 117, 20, 50, 119, 21, 51, 120, 22, 52, 121, 23, 54, 122, 23, 55, 124, 24, 56, 125, 25, 58, 126, 26, 59, 127, 26, 60, 128, 27, 62, 130, 28, 63, 131, 29, 64, 132, 30, 65, 133, 30, 67, 134, 31, 68, 135, 32, 69, 136, 33, 71, 137, 34, 72, 138, 35, 73, 139, 35, 74, 140, 36, 76, 141, 37, 77, 142, 38, 78, 143, 39, 79, 144, 40, 81, 144, 41, 82, 145, 42, 83, 146, 42, 84, 147, 43, 86, 147, 44, 87, 148, 45, 88, 149, 46, 89, 149, 47, 90, 150, 48, 91, 151, 49, 92, 151, 50, 94, 152, 51, 95, 152, 52, 96, 153, 53, 97, 153, 54, 98, 154, 55, 99, 154, 56, 100, 154, 57, 101, 155, 58, 102, 155, 58, 103, 155, 59, 104, 156, 60, 105, 156, 61, 106, 156, 62, 107, 156, 63, 108, 157, 64, 109, 157, 65, 110, 157, 66, 111, 157, 67, 112, 157, 68, 112, 157, 69, 113, 157, 70, 114, 157, 71, 115, 157, 72, 116, 157, 73, 117, 157, 74, 118, 157, 75, 118, 157, 76, 119, 157, 77, 120, 157, 78, 121, 157, 79, 121, 157, 80, 122, 156, 81, 123, 156, 82, 124, 156, 83, 124, 156, 84, 125, 156, 85, 126, 155, 86, 127, 155, 86, 127, 155, 87, 128, 155, 88, 129, 154, 89, 129, 154, 90, 130, 154, 91, 131, 153, 92, 131, 153, 93, 132, 153, 94, 133, 152, 95, 133, 152, 96, 134, 152, 97, 134, 151, 98, 135, 151, 99, 136, 151, 100, 136, 150, 101, 137, 150, 101, 138, 149, 102, 138, 149, 103, 139, 149, 104, 139, 148, 105, 140, 148, 106, 141, 147, 107, 141, 147, 108, 142, 147, 109, 142, 146, 110, 143, 146, 111, 144, 145, 112, 144, 145, 113, 145, 145, 114, 145, 144, 115, 146, 144, 116, 147, 143, 116, 147, 143, 117, 148, 143, 118, 149, 142, 119, 149, 142, 120, 150, 141, 121, 150, 141, 122, 151, 141, 123, 152, 140, 124, 152, 140, 125, 153, 140, 126, 154, 139, 127, 154, 139, 128, 155, 139, 129, 156, 138, 130, 157, 138, 131, 157, 138, 132, 158, 137, 134, 159, 137, 135, 160, 137, 136, 160, 137, 137, 161, 136, 138, 162, 136, 139, 163, 136, 140, 163, 136, 141, 164, 136, 143, 165, 136, 144, 166, 135, 145, 167, 135, 146, 168, 135, 147, 169, 135, 149, 170, 135, 150, 171, 135, 151, 172, 135, 153, 173, 136, 154, 174, 136, 155, 175, 136, 157, 176, 136, 158, 177, 136, 160, 178, 137, 161, 179, 137, 163, 180, 137, 164, 182, 138, 166, 183, 138, 168, 184, 139, 169, 185, 139, 171, 187, 140, 173, 188, 140, 174, 189, 141, 176, 191, 142, 178, 192, 143, 180, 193, 144, 182, 195, 145, 184, 196, 146, 185, 198, 147, 187, 199, 148, 189, 201, 149, 191, 202, 150, 193, 204, 152, 195, 205, 153, 197, 207, 155, 199, 208, 156, 201, 210, 158, 203, 211, 159, 205, 213, 161, 207, 214, 162, 208, 216, 164, 210, 217, 166, 212, 219, 168, 214, 220, 169, 216, 222, 171, 217, 223, 173, 219, 224, 175, 221, 226, 177, 222, 227, 179, 224, 228, 181, 225, 229, 182, 227, 231, 184, 228, 232, 186, 230, 233, 188, 231, 234, 190, 232, 235, 192, 234, 236, 194, 235, 237, 196, 236, 238, 198, 237, 239, 199, 238, 239, 201, 239, 240, 203, 240, 241, 205, 241, 242, 207, 242, 242, 208, 243, 243, 210, 243, 244, 212, 244, 244, 214, 245, 245, 215, 245, 246, 217, 246, 246, 219, 247, 247, 221, 247, 247, 222, 248, 248, 224, 248, 248, 225, 249, 249, 227, 249, 249, 229, 250, 249, 230, 250, 250, 232, 251, 250, 233, 251, 251, 235, 251, 251, 236, 252, 251, 238, 252, 252, 240, 252, 252, 241, 252, 252, 243, 253, 253, 244, 253, 253, 246, 253, 253, 247, 254, 253, 249, 254, 254, 250, 254, 254, 252, 254, 254, 253, 254, 254, 254], shape(davos), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: davos10 = reshape([0, 5, 74, 17, 44, 113, 41, 82, 145, 67, 112, 157, 94, 133, 152, 121, 150, 141, 153, 173, 136, 201, 210, 158, 243, 243, 210, 254, 254, 254], shape(davos10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: davos100 = reshape([0, 5, 74, 0, 11, 79, 1, 14, 81, 3, 18, 86, 4, 20, 89, 6, 24, 93, 7, 27, 96, 10, 31, 100, 12, 35, 104, 14, 38, 107, 16, 42, 111, 17, 44, 113, 19, 48, 117, 21, 51, 120, 23, 55, 124, 26, 59, 127, 27, 62, 130, 30, 65, 133, 31, 68, 135, 34, 72, 138, 36, 76, 141, 38, 78, 143, 41, 82, 145, 42, 84, 147, 45, 88, 149, 47, 90, 150, 50, 94, 152, 53, 97, 153, 55, 99, 154, 58, 102, 155, 59, 104, 156, 62, 107, 156, 64, 109, 157, 67, 112, 157, 70, 114, 157, 72, 116, 157, 75, 118, 157, 77, 120, 157, 80, 122, 156, 82, 124, 156, 85, 126, 155, 87, 128, 155, 89, 129, 154, 92, 131, 153, 94, 133, 152, 97, 134, 151, 99, 136, 151, 101, 138, 149, 104, 139, 148, 106, 141, 147, 109, 142, 146, 111, 144, 145, 114, 145, 144, 116, 147, 143, 118, 149, 142, 121, 150, 141, 123, 152, 140, 126, 154, 139, 128, 155, 139, 131, 157, 138, 135, 160, 137, 137, 161, 136, 140, 163, 136, 143, 165, 136, 146, 168, 135, 149, 170, 135, 153, 173, 136, 157, 176, 136, 160, 178, 137, 164, 182, 138, 168, 184, 139, 173, 188, 140, 176, 191, 142, 182, 195, 145, 187, 199, 148, 191, 202, 150, 197, 207, 155, 201, 210, 158, 207, 214, 162, 210, 217, 166, 216, 222, 171, 221, 226, 177, 224, 228, 181, 228, 232, 186, 231, 234, 190, 235, 237, 196, 238, 239, 201, 240, 241, 205, 243, 243, 210, 244, 244, 214, 246, 246, 219, 247, 247, 222, 249, 249, 227, 250, 250, 232, 251, 251, 235, 252, 252, 240, 252, 252, 243, 253, 253, 247, 254, 254, 250, 254, 254, 254], shape(davos100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: davos25 = reshape([0, 5, 74, 5, 22, 90, 12, 35, 104, 20, 50, 119, 29, 64, 132, 37, 77, 142, 47, 90, 150, 57, 101, 155, 67, 112, 157, 78, 121, 157, 87, 128, 155, 98, 135, 151, 108, 142, 147, 117, 148, 143, 128, 155, 139, 139, 163, 136, 153, 173, 136, 169, 185, 139, 187, 199, 148, 208, 216, 164, 227, 231, 184, 239, 240, 203, 247, 247, 222, 252, 251, 238, 254, 254, 254], shape(davos25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: davos50 = reshape([0, 5, 74, 1, 14, 81, 4, 20, 89, 8, 28, 97, 12, 35, 104, 16, 42, 111, 19, 48, 117, 23, 55, 124, 28, 63, 131, 32, 69, 136, 36, 76, 141, 41, 82, 145, 45, 88, 149, 51, 95, 152, 56, 100, 154, 60, 105, 156, 65, 110, 157, 70, 114, 157, 76, 119, 157, 81, 123, 156, 86, 127, 155, 90, 130, 154, 95, 133, 152, 101, 137, 150, 105, 140, 148, 110, 143, 146, 115, 146, 144, 120, 150, 141, 125, 153, 140, 130, 157, 138, 136, 160, 137, 141, 164, 136, 149, 170, 135, 155, 175, 136, 163, 180, 137, 171, 187, 140, 180, 193, 144, 191, 202, 150, 201, 210, 158, 210, 217, 166, 219, 224, 175, 227, 231, 184, 235, 237, 196, 240, 241, 205, 244, 244, 214, 247, 247, 222, 250, 249, 230, 252, 252, 240, 253, 253, 247, 254, 254, 254], shape(davos50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: davosS = reshape([0, 5, 74, 253, 253, 244, 104, 139, 148, 178, 192, 143, 45, 88, 149, 232, 235, 192, 19, 48, 117, 75, 118, 157, 135, 160, 137, 154, 174, 136, 90, 130, 154, 118, 149, 142, 60, 105, 156, 7, 27, 96, 32, 69, 136, 207, 214, 162, 246, 246, 219, 144, 166, 135, 53, 97, 153, 14, 38, 107, 221, 226, 177, 126, 154, 139, 26, 59, 127, 83, 124, 156, 250, 250, 232, 191, 202, 150, 241, 242, 207, 3, 18, 86, 67, 112, 157, 98, 135, 151, 166, 183, 138, 39, 79, 144, 111, 144, 145, 252, 251, 238, 237, 239, 199, 130, 157, 138, 86, 127, 155, 57, 101, 155, 160, 178, 137, 199, 208, 156, 1, 12, 80, 11, 32, 101, 49, 92, 151, 214, 220, 169, 122, 151, 141, 248, 248, 225, 23, 54, 122, 115, 146, 144, 35, 74, 140, 17, 43, 112, 227, 231, 184, 94, 133, 152, 71, 115, 157, 29, 64, 132, 79, 121, 157, 139, 163, 136, 149, 170, 135, 63, 108, 157, 101, 138, 149, 5, 22, 90, 42, 83, 146, 108, 142, 147, 173, 188, 140, 184, 196, 146, 243, 244, 212, 12, 35, 104, 239, 240, 203, 58, 103, 155, 128, 155, 139, 77, 120, 157, 249, 249, 229, 169, 185, 139, 230, 233, 188, 120, 150, 141, 146, 168, 135, 69, 113, 157, 34, 72, 138, 18, 46, 115, 27, 62, 130, 247, 247, 222, 2, 15, 83, 224, 228, 181, 106, 141, 147, 195, 205, 153, 88, 129, 154, 65, 110, 157, 163, 180, 137, 73, 117, 157, 116, 147, 143, 235, 237, 196, 210, 217, 166, 37, 77, 142, 85, 126, 155, 203, 211, 159, 21, 51, 120, 151, 172, 135, 217, 223, 173, 96, 134, 152, 113, 145, 145, 187, 199, 148], shape(davosS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: devon = reshape([44, 26, 76, 44, 27, 77, 44, 28, 78, 43, 28, 79, 43, 29, 80, 43, 30, 81, 43, 31, 82, 43, 32, 83, 43, 33, 84, 43, 34, 85, 43, 35, 86, 43, 36, 87, 43, 37, 88, 43, 38, 88, 43, 39, 89, 42, 40, 90, 42, 41, 91, 42, 41, 92, 42, 42, 93, 42, 43, 94, 42, 44, 95, 42, 45, 96, 42, 46, 97, 42, 47, 98, 41, 48, 99, 41, 49, 100, 41, 50, 101, 41, 51, 102, 41, 52, 103, 41, 53, 104, 41, 54, 105, 41, 55, 106, 41, 56, 106, 40, 57, 107, 40, 57, 108, 40, 58, 109, 40, 59, 110, 40, 60, 111, 40, 61, 112, 40, 62, 113, 40, 63, 114, 40, 64, 115, 39, 65, 116, 39, 66, 117, 39, 67, 118, 39, 68, 120, 39, 69, 121, 39, 70, 122, 39, 71, 123, 39, 72, 124, 39, 73, 125, 39, 74, 126, 39, 76, 127, 39, 77, 129, 39, 78, 130, 39, 79, 131, 39, 80, 132, 39, 81, 134, 39, 82, 135, 39, 83, 136, 40, 84, 138, 40, 85, 139, 40, 86, 140, 40, 87, 142, 41, 88, 143, 41, 89, 144, 41, 90, 146, 42, 91, 147, 42, 92, 149, 43, 93, 150, 43, 93, 152, 44, 94, 153, 44, 95, 154, 45, 96, 156, 46, 97, 157, 46, 98, 159, 47, 98, 160, 48, 99, 162, 48, 100, 163, 49, 101, 164, 50, 101, 166, 50, 102, 167, 51, 103, 169, 52, 104, 170, 53, 104, 171, 54, 105, 173, 55, 106, 174, 56, 106, 176, 57, 107, 177, 58, 108, 178, 59, 109, 180, 60, 109, 181, 61, 110, 183, 62, 111, 184, 63, 112, 185, 65, 113, 187, 66, 114, 188, 68, 114, 189, 69, 115, 191, 71, 116, 192, 72, 117, 193, 74, 118, 195, 76, 119, 196, 77, 120, 197, 79, 121, 198, 81, 122, 200, 83, 123, 201, 85, 124, 202, 87, 124, 203, 89, 125, 204, 91, 126, 205, 93, 127, 206, 95, 128, 207, 97, 129, 208, 99, 130, 209, 101, 131, 210, 103, 132, 211, 105, 133, 212, 107, 134, 213, 109, 135, 214, 111, 136, 215, 113, 136, 216, 115, 137, 216, 117, 138, 217, 119, 139, 218, 121, 140, 219, 123, 141, 220, 125, 142, 220, 126, 143, 221, 128, 143, 222, 130, 144, 223, 132, 145, 223, 134, 146, 224, 136, 147, 225, 138, 148, 225, 140, 149, 226, 141, 149, 227, 143, 150, 227, 145, 151, 228, 147, 152, 229, 149, 153, 229, 150, 154, 230, 152, 155, 231, 154, 155, 231, 155, 156, 232, 157, 157, 232, 158, 158, 233, 160, 159, 233, 162, 160, 234, 163, 161, 234, 164, 162, 235, 166, 163, 235, 167, 164, 236, 168, 165, 236, 170, 165, 237, 171, 166, 237, 172, 167, 237, 173, 168, 238, 174, 169, 238, 175, 170, 238, 176, 171, 238, 177, 172, 239, 178, 173, 239, 179, 173, 239, 180, 174, 239, 181, 175, 240, 182, 176, 240, 183, 177, 240, 184, 178, 240, 185, 179, 240, 186, 179, 241, 186, 180, 241, 187, 181, 241, 188, 182, 241, 189, 183, 241, 190, 184, 242, 190, 185, 242, 191, 185, 242, 192, 186, 242, 193, 187, 242, 194, 188, 242, 194, 189, 243, 195, 190, 243, 196, 191, 243, 197, 192, 243, 198, 192, 243, 198, 193, 243, 199, 194, 244, 200, 195, 244, 201, 196, 244, 202, 197, 244, 202, 198, 244, 203, 198, 244, 204, 199, 244, 205, 200, 245, 206, 201, 245, 206, 202, 245, 207, 203, 245, 208, 204, 245, 209, 205, 245, 210, 205, 246, 210, 206, 246, 211, 207, 246, 212, 208, 246, 213, 209, 246, 214, 210, 246, 214, 211, 247, 215, 212, 247, 216, 212, 247, 217, 213, 247, 218, 214, 247, 218, 215, 247, 219, 216, 248, 220, 217, 248, 221, 218, 248, 222, 219, 248, 222, 220, 248, 223, 220, 248, 224, 221, 249, 225, 222, 249, 226, 223, 249, 227, 224, 249, 227, 225, 249, 228, 226, 250, 229, 227, 250, 230, 228, 250, 231, 228, 250, 232, 229, 250, 232, 230, 250, 233, 231, 251, 234, 232, 251, 235, 233, 251, 236, 234, 251, 237, 235, 251, 237, 236, 251, 238, 237, 252, 239, 238, 252, 240, 238, 252, 241, 239, 252, 242, 240, 252, 242, 241, 252, 243, 242, 253, 244, 243, 253, 245, 244, 253, 246, 245, 253, 247, 246, 253, 247, 247, 253, 248, 248, 254, 249, 249, 254, 250, 249, 254, 251, 250, 254, 252, 251, 254, 252, 252, 254, 253, 253, 255, 254, 254, 255, 255, 255, 255], shape(devon), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: devon10 = reshape([44, 26, 76, 41, 52, 103, 39, 81, 134, 54, 105, 173, 97, 129, 208, 152, 155, 231, 186, 179, 241, 208, 204, 245, 232, 229, 250, 255, 255, 255], shape(devon10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: devon100 = reshape([44, 26, 76, 43, 28, 79, 43, 30, 81, 43, 33, 84, 43, 35, 86, 43, 38, 88, 42, 40, 90, 42, 42, 93, 42, 45, 96, 42, 47, 98, 41, 50, 101, 41, 52, 103, 41, 55, 106, 40, 57, 107, 40, 59, 110, 40, 62, 113, 40, 64, 115, 39, 67, 118, 39, 69, 121, 39, 72, 124, 39, 76, 127, 39, 78, 130, 39, 81, 134, 39, 83, 136, 40, 86, 140, 41, 88, 143, 42, 91, 147, 43, 93, 152, 44, 95, 154, 46, 98, 159, 48, 99, 162, 50, 101, 166, 51, 103, 169, 54, 105, 173, 57, 107, 177, 59, 109, 180, 62, 111, 184, 65, 113, 187, 69, 115, 191, 72, 117, 193, 77, 120, 197, 83, 123, 201, 87, 124, 203, 93, 127, 206, 97, 129, 208, 103, 132, 211, 107, 134, 213, 113, 136, 216, 119, 139, 218, 123, 141, 220, 128, 143, 222, 132, 145, 223, 138, 148, 225, 143, 150, 227, 147, 152, 229, 152, 155, 231, 155, 156, 232, 160, 159, 233, 163, 161, 234, 167, 164, 236, 171, 166, 237, 173, 168, 238, 176, 171, 238, 178, 173, 239, 181, 175, 240, 183, 177, 240, 186, 179, 241, 188, 182, 241, 190, 184, 242, 192, 186, 242, 194, 188, 242, 196, 191, 243, 198, 192, 243, 200, 195, 244, 202, 198, 244, 204, 199, 244, 206, 202, 245, 208, 204, 245, 210, 206, 246, 212, 208, 246, 214, 211, 247, 217, 213, 247, 218, 215, 247, 221, 218, 248, 222, 220, 248, 225, 222, 249, 227, 225, 249, 229, 227, 250, 232, 229, 250, 233, 231, 251, 236, 234, 251, 237, 236, 251, 240, 238, 252, 242, 241, 252, 244, 243, 253, 247, 246, 253, 248, 248, 254, 251, 250, 254, 252, 252, 254, 255, 255, 255], shape(devon100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: devon25 = reshape([44, 26, 76, 43, 36, 87, 42, 45, 96, 41, 56, 106, 39, 66, 117, 39, 77, 129, 41, 88, 143, 46, 97, 157, 54, 105, 173, 66, 114, 188, 83, 123, 201, 105, 133, 212, 126, 143, 221, 145, 151, 228, 163, 161, 234, 175, 170, 238, 186, 179, 241, 194, 189, 243, 202, 198, 244, 211, 207, 246, 220, 217, 248, 228, 226, 250, 237, 236, 251, 246, 245, 253, 255, 255, 255], shape(devon25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: devon50 = reshape([44, 26, 76, 43, 30, 81, 43, 35, 86, 42, 41, 91, 42, 45, 96, 41, 50, 101, 41, 55, 106, 40, 59, 110, 39, 65, 116, 39, 70, 122, 39, 76, 127, 39, 81, 134, 40, 86, 140, 42, 92, 149, 45, 96, 156, 48, 100, 163, 52, 104, 170, 57, 107, 177, 63, 112, 185, 71, 116, 192, 79, 121, 198, 89, 125, 204, 99, 130, 209, 111, 136, 215, 121, 140, 219, 130, 144, 223, 140, 149, 226, 150, 154, 230, 158, 158, 233, 166, 163, 235, 172, 167, 237, 177, 172, 239, 183, 177, 240, 187, 181, 241, 191, 185, 242, 195, 190, 243, 199, 194, 244, 204, 199, 244, 208, 204, 245, 212, 208, 246, 216, 212, 247, 220, 217, 248, 225, 222, 249, 229, 227, 250, 233, 231, 251, 237, 236, 251, 242, 240, 252, 247, 246, 253, 251, 250, 254, 255, 255, 255], shape(devon50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: devonS = reshape([44, 26, 76, 248, 248, 254, 119, 139, 218, 40, 86, 140, 198, 192, 243, 41, 55, 106, 62, 111, 184, 222, 220, 248, 171, 166, 237, 42, 41, 91, 149, 153, 229, 89, 125, 204, 235, 233, 251, 186, 179, 241, 39, 70, 122, 48, 99, 162, 210, 206, 246, 40, 62, 113, 74, 118, 195, 54, 105, 173, 43, 33, 84, 134, 146, 224, 204, 199, 244, 242, 240, 252, 42, 47, 98, 192, 186, 242, 162, 160, 234, 178, 173, 239, 217, 213, 247, 228, 226, 250, 43, 93, 150, 39, 78, 130, 105, 133, 212, 43, 37, 88, 68, 114, 189, 126, 143, 221, 207, 203, 245, 40, 58, 109, 97, 129, 208, 41, 51, 102, 214, 210, 246, 58, 108, 178, 45, 96, 156, 39, 66, 117, 43, 29, 80, 245, 244, 253, 81, 122, 200, 238, 237, 252, 141, 149, 227, 232, 229, 250, 155, 156, 232, 39, 82, 135, 189, 183, 241, 201, 196, 244, 182, 176, 240, 50, 102, 167, 226, 223, 249, 195, 190, 243, 167, 164, 236, 39, 73, 125, 42, 43, 94, 41, 90, 146, 175, 170, 238, 111, 136, 215, 220, 217, 248, 93, 127, 206, 44, 28, 78, 49, 101, 164, 123, 141, 220, 41, 88, 143, 190, 185, 242, 233, 231, 251, 152, 155, 231, 40, 84, 138, 237, 235, 251, 43, 39, 89, 173, 168, 238, 240, 238, 252, 115, 137, 216, 243, 242, 253, 39, 80, 132, 130, 144, 223, 218, 215, 247, 40, 64, 115, 206, 201, 245, 41, 53, 104, 71, 116, 192, 212, 208, 246, 184, 178, 240, 85, 124, 202, 158, 158, 233, 42, 45, 96, 39, 76, 127, 43, 31, 82, 215, 212, 247, 43, 35, 86, 145, 151, 228, 40, 60, 111, 164, 162, 235, 187, 181, 241], shape(devonS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: fes = reshape([13, 13, 13, 15, 15, 15, 18, 18, 18, 20, 20, 20, 22, 22, 22, 24, 24, 24, 25, 25, 25, 27, 27, 27, 29, 29, 29, 31, 31, 31, 33, 33, 33, 34, 34, 34, 36, 36, 36, 38, 38, 38, 40, 40, 40, 41, 41, 41, 43, 43, 43, 45, 45, 45, 46, 46, 46, 48, 48, 48, 50, 50, 50, 52, 52, 52, 53, 53, 53, 55, 55, 55, 57, 57, 57, 59, 59, 59, 60, 60, 60, 62, 62, 62, 64, 64, 64, 65, 65, 65, 67, 67, 67, 69, 69, 69, 70, 70, 70, 72, 72, 72, 73, 73, 73, 75, 75, 75, 77, 77, 77, 78, 78, 78, 80, 80, 80, 82, 82, 82, 83, 83, 83, 85, 85, 85, 86, 86, 86, 88, 88, 88, 89, 89, 89, 91, 91, 91, 92, 92, 92, 94, 94, 94, 96, 96, 96, 97, 97, 97, 99, 99, 99, 100, 100, 100, 101, 101, 101, 103, 103, 103, 104, 104, 104, 106, 106, 106, 107, 107, 107, 109, 109, 109, 110, 110, 110, 112, 112, 112, 113, 113, 113, 114, 114, 114, 116, 116, 116, 117, 117, 117, 119, 119, 119, 120, 120, 120, 121, 121, 121, 123, 123, 123, 124, 124, 124, 126, 126, 126, 127, 127, 127, 129, 129, 129, 130, 130, 130, 132, 132, 132, 133, 133, 133, 135, 135, 135, 136, 136, 136, 138, 138, 138, 139, 139, 139, 141, 141, 141, 142, 142, 142, 144, 144, 144, 146, 146, 146, 147, 147, 147, 149, 149, 149, 151, 151, 151, 153, 153, 153, 154, 154, 154, 156, 156, 156, 158, 158, 158, 160, 160, 160, 161, 161, 161, 163, 163, 163, 165, 165, 165, 167, 167, 167, 169, 169, 169, 171, 171, 171, 173, 173, 173, 175, 175, 175, 177, 177, 177, 179, 179, 179, 181, 181, 181, 183, 183, 183, 185, 185, 185, 187, 187, 187, 189, 189, 189, 191, 191, 191, 193, 193, 193, 195, 195, 195, 197, 197, 197, 200, 200, 200, 202, 202, 202, 204, 204, 204, 206, 206, 206, 209, 209, 209, 211, 211, 211, 213, 213, 213, 216, 216, 216, 218, 218, 218, 221, 221, 221, 223, 223, 223, 226, 226, 226, 228, 228, 228, 231, 231, 231, 233, 233, 233, 236, 236, 236, 238, 238, 238, 241, 241, 241, 2, 64, 38, 5, 65, 38, 9, 66, 37, 12, 67, 36, 15, 68, 35, 18, 70, 35, 21, 71, 34, 24, 72, 34, 27, 73, 33, 30, 74, 33, 33, 75, 32, 36, 76, 32, 39, 78, 32, 43, 79, 32, 46, 80, 32, 49, 81, 32, 52, 82, 32, 55, 83, 32, 58, 84, 32, 61, 85, 32, 63, 85, 33, 66, 86, 33, 69, 87, 34, 72, 88, 34, 74, 89, 34, 77, 89, 35, 80, 90, 35, 82, 91, 36, 85, 91, 36, 87, 92, 37, 90, 93, 37, 92, 93, 38, 94, 94, 38, 97, 94, 38, 99, 95, 39, 101, 96, 39, 104, 96, 40, 106, 97, 40, 108, 97, 41, 111, 98, 41, 113, 98, 41, 115, 99, 42, 117, 100, 42, 120, 100, 43, 122, 101, 43, 124, 101, 44, 127, 102, 44, 129, 103, 45, 131, 103, 45, 134, 104, 46, 136, 104, 46, 139, 105, 47, 141, 106, 47, 144, 107, 48, 146, 107, 48, 149, 108, 49, 151, 109, 50, 154, 110, 51, 156, 111, 52, 159, 112, 53, 161, 113, 55, 164, 115, 56, 166, 116, 58, 168, 118, 60, 171, 119, 62, 173, 121, 64, 175, 123, 66, 177, 125, 69, 179, 127, 71, 181, 129, 74, 182, 131, 77, 184, 133, 80, 185, 135, 83, 186, 137, 86, 188, 139, 89, 189, 142, 92, 190, 144, 95, 191, 146, 98, 192, 148, 101, 193, 151, 105, 194, 153, 108, 195, 155, 111, 196, 157, 114, 197, 159, 117, 198, 162, 120, 198, 164, 124, 199, 166, 127, 200, 168, 130, 201, 171, 133, 202, 173, 137, 203, 175, 140, 204, 177, 143, 205, 179, 146, 206, 182, 150, 207, 184, 153, 208, 186, 156, 209, 188, 160, 210, 190, 163, 210, 192, 166, 211, 194, 170, 212, 196, 173, 213, 198, 176, 214, 200, 180, 215, 202, 183, 216, 204, 186, 217, 206, 189, 218, 207, 193, 219, 209, 196, 220, 211, 199, 221, 212, 202, 222, 214, 205, 223, 215, 207, 224, 217, 210, 225, 218, 213, 226, 219, 216, 226, 221, 218, 227, 222, 221, 228, 223, 224, 229, 224, 226, 230, 226, 229, 231, 227, 232, 232, 228, 234, 232, 230, 237, 233, 231, 240, 234, 233, 243, 235, 234, 246, 236, 235, 249, 237, 237, 252], shape(fes), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: fes10 = reshape([13, 13, 13, 64, 64, 64, 109, 109, 109, 151, 151, 151, 206, 206, 206, 46, 80, 32, 117, 100, 42, 182, 131, 77, 211, 194, 170, 237, 237, 252], shape(fes10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: fes100 = reshape([13, 13, 13, 20, 20, 20, 24, 24, 24, 29, 29, 29, 33, 33, 33, 38, 38, 38, 41, 41, 41, 46, 46, 46, 52, 52, 52, 55, 55, 55, 60, 60, 60, 64, 64, 64, 69, 69, 69, 72, 72, 72, 77, 77, 77, 82, 82, 82, 85, 85, 85, 89, 89, 89, 92, 92, 92, 97, 97, 97, 101, 101, 101, 104, 104, 104, 109, 109, 109, 112, 112, 112, 116, 116, 116, 119, 119, 119, 123, 123, 123, 127, 127, 127, 130, 130, 130, 135, 135, 135, 138, 138, 138, 142, 142, 142, 146, 146, 146, 151, 151, 151, 156, 156, 156, 160, 160, 160, 165, 165, 165, 169, 169, 169, 175, 175, 175, 179, 179, 179, 185, 185, 185, 191, 191, 191, 195, 195, 195, 202, 202, 202, 206, 206, 206, 213, 213, 213, 218, 218, 218, 226, 226, 226, 233, 233, 233, 238, 238, 238, 5, 65, 38, 12, 67, 36, 21, 71, 34, 30, 74, 33, 36, 76, 32, 46, 80, 32, 52, 82, 32, 61, 85, 32, 66, 86, 33, 74, 89, 34, 82, 91, 36, 87, 92, 37, 94, 94, 38, 99, 95, 39, 106, 97, 40, 111, 98, 41, 117, 100, 42, 124, 101, 44, 129, 103, 45, 136, 104, 46, 141, 106, 47, 149, 108, 49, 154, 110, 51, 161, 113, 55, 168, 118, 60, 173, 121, 64, 179, 127, 71, 182, 131, 77, 186, 137, 86, 189, 142, 92, 192, 148, 101, 195, 155, 111, 197, 159, 117, 199, 166, 127, 201, 171, 133, 204, 177, 143, 207, 184, 153, 209, 188, 160, 211, 194, 170, 213, 198, 176, 216, 204, 186, 218, 207, 193, 221, 212, 202, 224, 217, 210, 226, 219, 216, 228, 223, 224, 230, 226, 229, 232, 230, 237, 234, 233, 243, 237, 237, 252], shape(fes100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: fes25 = reshape([13, 13, 13, 34, 34, 34, 52, 52, 52, 70, 70, 70, 88, 88, 88, 103, 103, 103, 119, 119, 119, 133, 133, 133, 151, 151, 151, 171, 171, 171, 191, 191, 191, 216, 216, 216, 2, 64, 38, 33, 75, 32, 66, 86, 33, 92, 93, 38, 117, 100, 42, 144, 107, 48, 168, 118, 60, 188, 139, 89, 198, 164, 124, 208, 186, 156, 218, 207, 193, 227, 222, 221, 237, 237, 252], shape(fes25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: fes50 = reshape([13, 13, 13, 24, 24, 24, 33, 33, 33, 43, 43, 43, 52, 52, 52, 60, 60, 60, 69, 69, 69, 77, 77, 77, 86, 86, 86, 94, 94, 94, 101, 101, 101, 109, 109, 109, 116, 116, 116, 124, 124, 124, 132, 132, 132, 139, 139, 139, 147, 147, 147, 156, 156, 156, 167, 167, 167, 177, 177, 177, 187, 187, 187, 197, 197, 197, 209, 209, 209, 223, 223, 223, 236, 236, 236, 9, 66, 37, 24, 72, 34, 43, 79, 32, 58, 84, 32, 72, 88, 34, 85, 91, 36, 97, 94, 38, 111, 98, 41, 122, 101, 43, 134, 104, 46, 146, 107, 48, 159, 112, 53, 173, 121, 64, 182, 131, 77, 189, 142, 92, 194, 153, 108, 198, 164, 124, 204, 177, 143, 209, 188, 160, 213, 198, 176, 218, 207, 193, 223, 215, 207, 228, 223, 224, 232, 230, 237, 237, 237, 252], shape(fes50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: glasgow = reshape([54, 19, 56, 55, 19, 55, 56, 19, 55, 57, 20, 54, 58, 20, 53, 59, 20, 52, 60, 20, 51, 61, 21, 51, 62, 21, 50, 63, 21, 49, 64, 21, 48, 64, 22, 47, 65, 22, 47, 66, 22, 46, 67, 22, 45, 68, 23, 44, 69, 23, 44, 70, 23, 43, 70, 23, 42, 71, 24, 41, 72, 24, 41, 73, 24, 40, 74, 24, 39, 75, 25, 38, 75, 25, 38, 76, 25, 37, 77, 25, 36, 78, 26, 36, 79, 26, 35, 80, 26, 34, 80, 26, 33, 81, 27, 33, 82, 27, 32, 83, 27, 31, 84, 27, 30, 85, 28, 30, 86, 28, 29, 87, 28, 28, 87, 28, 27, 88, 29, 27, 89, 29, 26, 90, 29, 25, 91, 30, 24, 92, 30, 24, 93, 30, 23, 94, 31, 22, 95, 31, 21, 96, 32, 20, 97, 32, 19, 98, 33, 19, 99, 33, 18, 101, 34, 17, 102, 34, 16, 103, 35, 15, 104, 36, 14, 105, 37, 13, 106, 37, 12, 107, 38, 11, 108, 39, 11, 108, 40, 10, 109, 41, 9, 110, 42, 8, 111, 43, 7, 112, 44, 6, 112, 45, 6, 113, 46, 5, 113, 47, 4, 114, 49, 4, 114, 50, 3, 115, 51, 3, 115, 52, 3, 115, 53, 2, 116, 55, 2, 116, 56, 2, 116, 57, 1, 116, 58, 1, 116, 59, 1, 116, 60, 1, 116, 62, 1, 116, 63, 1, 117, 64, 1, 117, 65, 0, 117, 66, 0, 117, 67, 0, 117, 68, 0, 116, 69, 0, 116, 70, 0, 116, 71, 0, 116, 73, 0, 116, 74, 0, 116, 75, 0, 116, 76, 0, 116, 77, 0, 116, 78, 1, 116, 79, 1, 116, 80, 1, 116, 81, 1, 116, 82, 1, 116, 83, 2, 116, 84, 2, 116, 85, 3, 116, 86, 3, 115, 87, 4, 115, 88, 4, 115, 89, 5, 115, 90, 6, 115, 91, 7, 115, 92, 8, 114, 94, 10, 114, 95, 11, 114, 96, 13, 114, 97, 14, 114, 98, 16, 113, 99, 17, 113, 100, 19, 113, 101, 21, 113, 102, 23, 112, 102, 24, 112, 103, 26, 112, 104, 28, 112, 105, 30, 111, 106, 32, 111, 107, 33, 111, 108, 35, 110, 109, 37, 110, 110, 39, 110, 111, 41, 109, 112, 43, 109, 112, 45, 109, 113, 47, 108, 114, 49, 108, 115, 50, 108, 116, 52, 107, 117, 54, 107, 117, 56, 107, 118, 58, 106, 119, 60, 106, 120, 62, 106, 121, 64, 105, 122, 66, 105, 122, 68, 105, 123, 70, 104, 124, 72, 104, 125, 74, 104, 125, 76, 103, 126, 77, 103, 127, 79, 103, 128, 81, 102, 129, 83, 102, 129, 85, 102, 130, 87, 101, 131, 89, 101, 132, 91, 101, 132, 93, 101, 133, 95, 100, 134, 97, 100, 135, 99, 100, 136, 100, 99, 136, 102, 99, 137, 104, 99, 138, 106, 98, 139, 108, 98, 139, 110, 98, 140, 112, 97, 141, 114, 97, 142, 116, 97, 142, 118, 97, 143, 120, 96, 144, 121, 96, 145, 123, 96, 146, 125, 96, 146, 127, 96, 147, 129, 96, 148, 131, 95, 149, 133, 95, 149, 135, 96, 150, 137, 96, 151, 138, 96, 152, 140, 96, 153, 142, 96, 153, 144, 97, 154, 146, 97, 155, 148, 98, 156, 150, 98, 157, 152, 99, 158, 154, 100, 159, 155, 101, 159, 157, 102, 160, 159, 103, 161, 161, 104, 162, 163, 105, 163, 165, 107, 164, 166, 108, 165, 168, 110, 165, 170, 111, 166, 171, 113, 167, 173, 114, 168, 175, 116, 169, 176, 118, 170, 178, 119, 170, 179, 121, 171, 181, 123, 172, 183, 125, 173, 184, 126, 174, 185, 128, 174, 187, 130, 175, 188, 132, 176, 190, 134, 177, 191, 135, 177, 193, 137, 178, 194, 139, 179, 195, 141, 180, 197, 142, 180, 198, 144, 181, 200, 146, 182, 201, 148, 182, 202, 149, 183, 204, 151, 184, 205, 153, 185, 206, 155, 185, 207, 156, 186, 209, 158, 187, 210, 160, 187, 211, 161, 188, 213, 163, 189, 214, 165, 189, 215, 166, 190, 216, 168, 191, 218, 170, 191, 219, 171, 192, 220, 173, 193, 221, 175, 193, 223, 176, 194, 224, 178, 195, 225, 180, 195, 226, 181, 196, 228, 183, 197, 229, 185, 198, 230, 187, 198, 231, 188, 199, 233, 190, 200, 234, 192, 200, 236, 194, 201, 237, 196, 202, 238, 198, 203, 240, 200, 204, 241, 202, 204, 243, 204, 205, 244, 206, 206, 246, 208, 207, 247, 210, 208, 249, 212, 209, 250, 215, 209, 252, 217, 210, 253, 219, 211, 255], shape(glasgow), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: glasgow10 = reshape([54, 19, 56, 79, 26, 35, 107, 38, 11, 116, 69, 0, 113, 99, 17, 104, 124, 72, 96, 146, 125, 116, 169, 176, 166, 190, 216, 219, 211, 255], shape(glasgow10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: glasgow100 = reshape([54, 19, 56, 57, 20, 54, 59, 20, 52, 62, 21, 50, 64, 21, 48, 66, 22, 46, 68, 23, 44, 70, 23, 42, 73, 24, 40, 75, 25, 38, 77, 25, 36, 79, 26, 35, 81, 27, 33, 83, 27, 31, 86, 28, 29, 88, 29, 27, 90, 29, 25, 93, 30, 23, 95, 31, 21, 98, 33, 19, 102, 34, 16, 104, 36, 14, 107, 38, 11, 108, 40, 10, 111, 43, 7, 112, 45, 6, 114, 49, 4, 115, 52, 3, 116, 55, 2, 116, 58, 1, 116, 60, 1, 117, 64, 1, 117, 66, 0, 116, 69, 0, 116, 73, 0, 116, 75, 0, 116, 78, 1, 116, 80, 1, 116, 83, 2, 116, 85, 3, 115, 88, 4, 115, 91, 7, 114, 94, 10, 114, 97, 14, 113, 99, 17, 113, 102, 23, 112, 103, 26, 111, 106, 32, 110, 109, 37, 110, 111, 41, 109, 113, 47, 108, 115, 50, 107, 117, 56, 106, 120, 62, 105, 122, 66, 104, 124, 72, 104, 125, 76, 103, 128, 81, 102, 129, 85, 101, 132, 91, 100, 134, 97, 100, 136, 100, 99, 138, 106, 98, 139, 110, 97, 142, 116, 97, 143, 120, 96, 146, 125, 96, 148, 131, 95, 149, 135, 96, 152, 140, 96, 153, 144, 98, 156, 150, 99, 158, 154, 102, 160, 159, 105, 163, 165, 108, 165, 168, 113, 167, 173, 116, 169, 176, 121, 171, 181, 125, 173, 184, 130, 175, 188, 135, 177, 193, 139, 179, 195, 144, 181, 200, 148, 182, 202, 153, 185, 206, 158, 187, 210, 161, 188, 213, 166, 190, 216, 170, 191, 219, 175, 193, 223, 178, 195, 225, 183, 197, 229, 188, 199, 233, 192, 200, 236, 198, 203, 240, 202, 204, 243, 208, 207, 247, 212, 209, 250, 219, 211, 255], shape(glasgow100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: glasgow25 = reshape([54, 19, 56, 64, 22, 47, 73, 24, 40, 82, 27, 32, 92, 30, 24, 103, 35, 15, 112, 45, 6, 116, 57, 1, 116, 69, 0, 116, 81, 1, 115, 91, 7, 112, 102, 24, 109, 112, 45, 106, 121, 64, 102, 129, 85, 99, 137, 104, 96, 146, 125, 97, 154, 146, 105, 163, 165, 123, 172, 183, 142, 180, 198, 160, 187, 211, 178, 195, 225, 196, 202, 238, 219, 211, 255], shape(glasgow25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: glasgow50 = reshape([54, 19, 56, 59, 20, 52, 64, 21, 48, 69, 23, 44, 73, 24, 40, 77, 25, 36, 81, 27, 33, 86, 28, 29, 91, 30, 24, 96, 32, 20, 102, 34, 16, 107, 38, 11, 111, 43, 7, 114, 50, 3, 116, 56, 2, 116, 62, 1, 117, 67, 0, 116, 73, 0, 116, 79, 1, 116, 84, 2, 115, 89, 5, 114, 95, 11, 113, 100, 19, 112, 105, 30, 110, 110, 39, 108, 114, 49, 107, 118, 58, 105, 123, 70, 103, 127, 79, 101, 131, 89, 100, 135, 99, 98, 139, 108, 97, 143, 120, 96, 147, 129, 96, 151, 138, 97, 155, 148, 101, 159, 157, 108, 165, 168, 116, 169, 176, 125, 173, 184, 134, 177, 191, 142, 180, 198, 153, 185, 206, 161, 188, 213, 170, 191, 219, 178, 195, 225, 187, 198, 231, 198, 203, 240, 208, 207, 247, 219, 211, 255], shape(glasgow50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: glasgowS = reshape([54, 19, 56, 219, 211, 255, 109, 112, 45, 112, 45, 6, 105, 163, 165, 82, 27, 32, 160, 187, 211, 116, 81, 1, 99, 138, 106, 132, 176, 190, 104, 125, 76, 69, 23, 44, 97, 32, 19, 114, 98, 16, 187, 198, 231, 117, 64, 1, 96, 150, 137, 112, 105, 30, 101, 132, 91, 202, 204, 243, 115, 89, 5, 106, 37, 12, 173, 193, 221, 146, 182, 201, 118, 170, 178, 106, 119, 60, 116, 55, 2, 116, 73, 0, 75, 25, 38, 62, 21, 50, 96, 144, 121, 89, 29, 26, 98, 156, 150, 93, 30, 23, 108, 116, 52, 72, 24, 41, 58, 20, 53, 86, 28, 29, 97, 141, 114, 79, 26, 35, 101, 159, 157, 100, 135, 99, 102, 34, 16, 116, 77, 0, 113, 102, 23, 114, 50, 3, 153, 185, 206, 105, 122, 68, 65, 22, 47, 139, 179, 195, 194, 201, 237, 116, 59, 1, 166, 190, 216, 116, 85, 3, 109, 41, 9, 96, 147, 129, 210, 208, 249, 125, 173, 184, 110, 109, 37, 111, 166, 171, 114, 94, 10, 180, 195, 226, 102, 129, 83, 117, 68, 0, 96, 153, 142, 116, 83, 2, 80, 26, 33, 97, 142, 118, 110, 111, 41, 67, 22, 45, 106, 121, 64, 116, 62, 1, 156, 186, 209, 56, 19, 55, 104, 36, 14, 170, 191, 219, 111, 43, 7, 116, 75, 0, 115, 87, 4, 135, 177, 193, 101, 133, 95, 142, 180, 198, 74, 24, 39, 99, 33, 18, 96, 146, 125, 70, 23, 42, 114, 168, 175, 99, 136, 102, 128, 174, 187, 95, 31, 21, 108, 165, 168, 121, 171, 181, 183, 197, 229, 113, 100, 19, 108, 39, 11, 116, 70, 0, 116, 79, 1, 111, 107, 33, 115, 91, 7, 95, 149, 133], shape(glasgowS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: grayC = reshape([0, 0, 0, 2, 2, 2, 4, 4, 4, 5, 5, 5, 7, 7, 7, 9, 9, 9, 11, 11, 11, 13, 13, 13, 14, 14, 14, 15, 15, 15, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 49, 49, 49, 50, 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, 73, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, 79, 79, 80, 80, 80, 81, 81, 81, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, 85, 85, 85, 86, 86, 86, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, 90, 91, 91, 91, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 95, 95, 95, 96, 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 99, 99, 99, 100, 100, 100, 101, 101, 101, 102, 102, 102, 103, 103, 103, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 106, 106, 106, 107, 107, 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 116, 116, 116, 117, 117, 117, 118, 118, 118, 119, 119, 119, 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 122, 122, 123, 123, 123, 124, 124, 124, 125, 125, 125, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 128, 128, 128, 129, 129, 129, 130, 130, 130, 131, 131, 131, 132, 132, 132, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, 141, 142, 142, 142, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 149, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, 192, 193, 193, 193, 195, 195, 195, 196, 196, 196, 197, 197, 197, 198, 198, 198, 199, 199, 199, 200, 200, 200, 202, 202, 202, 203, 203, 203, 204, 204, 204, 205, 205, 205, 206, 206, 206, 208, 208, 208, 209, 209, 209, 210, 210, 210, 211, 211, 211, 213, 213, 213, 214, 214, 214, 215, 215, 215, 216, 216, 216, 218, 218, 218, 219, 219, 219, 220, 220, 220, 222, 222, 222, 223, 223, 223, 224, 224, 224, 226, 226, 226, 227, 227, 227, 228, 228, 228, 230, 230, 230, 231, 231, 231, 232, 232, 232, 234, 234, 234, 235, 235, 235, 236, 236, 236, 238, 238, 238, 239, 239, 239, 241, 241, 241, 242, 242, 242, 243, 243, 243, 245, 245, 245, 246, 246, 246, 248, 248, 248, 249, 249, 249, 251, 251, 251, 252, 252, 252, 254, 254, 254, 255, 255, 255], shape(grayC), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: grayC10 = reshape([0, 0, 0, 35, 35, 35, 61, 61, 61, 86, 86, 86, 108, 108, 108, 130, 130, 130, 154, 154, 154, 182, 182, 182, 216, 216, 216, 255, 255, 255], shape(grayC10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: grayC100 = reshape([0, 0, 0, 5, 5, 5, 9, 9, 9, 14, 14, 14, 17, 17, 17, 20, 20, 20, 22, 22, 22, 25, 25, 25, 28, 28, 28, 30, 30, 30, 33, 33, 33, 35, 35, 35, 37, 37, 37, 39, 39, 39, 42, 42, 42, 45, 45, 45, 47, 47, 47, 49, 49, 49, 51, 51, 51, 54, 54, 54, 57, 57, 57, 59, 59, 59, 61, 61, 61, 63, 63, 63, 66, 66, 66, 68, 68, 68, 70, 70, 70, 73, 73, 73, 75, 75, 75, 77, 77, 77, 79, 79, 79, 81, 81, 81, 83, 83, 83, 86, 86, 86, 88, 88, 88, 90, 90, 90, 92, 92, 92, 94, 94, 94, 96, 96, 96, 98, 98, 98, 100, 100, 100, 103, 103, 103, 104, 104, 104, 106, 106, 106, 108, 108, 108, 110, 110, 110, 112, 112, 112, 114, 114, 114, 116, 116, 116, 118, 118, 118, 120, 120, 120, 122, 122, 122, 124, 124, 124, 126, 126, 126, 128, 128, 128, 130, 130, 130, 132, 132, 132, 134, 134, 134, 136, 136, 136, 138, 138, 138, 141, 141, 141, 142, 142, 142, 145, 145, 145, 147, 147, 147, 149, 149, 149, 151, 151, 151, 154, 154, 154, 157, 157, 157, 159, 159, 159, 162, 162, 162, 164, 164, 164, 167, 167, 167, 169, 169, 169, 172, 172, 172, 175, 175, 175, 177, 177, 177, 180, 180, 180, 182, 182, 182, 185, 185, 185, 188, 188, 188, 191, 191, 191, 195, 195, 195, 197, 197, 197, 200, 200, 200, 203, 203, 203, 206, 206, 206, 210, 210, 210, 213, 213, 213, 216, 216, 216, 219, 219, 219, 223, 223, 223, 226, 226, 226, 230, 230, 230, 234, 234, 234, 236, 236, 236, 241, 241, 241, 243, 243, 243, 248, 248, 248, 251, 251, 251, 255, 255, 255], shape(grayC100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: grayC25 = reshape([0, 0, 0, 18, 18, 18, 28, 28, 28, 38, 38, 38, 49, 49, 49, 58, 58, 58, 68, 68, 68, 76, 76, 76, 86, 86, 86, 95, 95, 95, 103, 103, 103, 111, 111, 111, 119, 119, 119, 127, 127, 127, 136, 136, 136, 144, 144, 144, 154, 154, 154, 165, 165, 165, 175, 175, 175, 187, 187, 187, 199, 199, 199, 211, 211, 211, 226, 226, 226, 239, 239, 239, 255, 255, 255], shape(grayC25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: grayC50 = reshape([0, 0, 0, 9, 9, 9, 17, 17, 17, 23, 23, 23, 28, 28, 28, 33, 33, 33, 37, 37, 37, 42, 42, 42, 48, 48, 48, 52, 52, 52, 57, 57, 57, 61, 61, 61, 66, 66, 66, 71, 71, 71, 75, 75, 75, 80, 80, 80, 84, 84, 84, 88, 88, 88, 93, 93, 93, 97, 97, 97, 101, 101, 101, 105, 105, 105, 109, 109, 109, 113, 113, 113, 117, 117, 117, 121, 121, 121, 125, 125, 125, 129, 129, 129, 133, 133, 133, 137, 137, 137, 142, 142, 142, 146, 146, 146, 151, 151, 151, 156, 156, 156, 161, 161, 161, 166, 166, 166, 171, 171, 171, 177, 177, 177, 182, 182, 182, 188, 188, 188, 193, 193, 193, 199, 199, 199, 206, 206, 206, 213, 213, 213, 219, 219, 219, 226, 226, 226, 232, 232, 232, 241, 241, 241, 248, 248, 248, 255, 255, 255], shape(grayC50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: grayCS = reshape([7, 7, 7, 249, 249, 249, 119, 119, 119, 69, 69, 69, 173, 173, 173, 208, 208, 208, 41, 41, 41, 95, 95, 95, 143, 143, 143, 107, 107, 107, 157, 157, 157, 27, 27, 27, 189, 189, 189, 55, 55, 55, 82, 82, 82, 227, 227, 227, 131, 131, 131, 238, 238, 238, 113, 113, 113, 89, 89, 89, 62, 62, 62, 198, 198, 198, 19, 19, 19, 165, 165, 165, 136, 136, 136, 101, 101, 101, 216, 216, 216, 76, 76, 76, 181, 181, 181, 49, 49, 49, 150, 150, 150, 125, 125, 125, 34, 34, 34, 104, 104, 104, 147, 147, 147, 128, 128, 128, 59, 59, 59, 140, 140, 140, 222, 222, 222, 14, 14, 14, 45, 45, 45, 193, 193, 193, 23, 23, 23, 66, 66, 66, 92, 92, 92, 232, 232, 232, 169, 169, 169, 37, 37, 37, 110, 110, 110, 86, 86, 86, 116, 116, 116, 73, 73, 73, 243, 243, 243, 203, 203, 203, 177, 177, 177, 161, 161, 161, 98, 98, 98, 30, 30, 30, 51, 51, 51, 79, 79, 79, 122, 122, 122, 134, 134, 134, 185, 185, 185, 154, 154, 154, 211, 211, 211, 138, 138, 138, 39, 39, 39, 32, 32, 32, 17, 17, 17, 60, 60, 60, 129, 129, 129, 205, 205, 205, 87, 87, 87, 64, 64, 64, 25, 25, 25, 235, 235, 235, 81, 81, 81, 152, 152, 152, 71, 71, 71, 84, 84, 84, 179, 179, 179, 57, 57, 57, 200, 200, 200, 43, 43, 43, 246, 246, 246, 159, 159, 159, 99, 99, 99, 214, 214, 214, 11, 11, 11, 175, 175, 175, 219, 219, 219, 142, 142, 142, 167, 167, 167, 115, 115, 115, 171, 171, 171, 21, 21, 21, 75, 75, 75, 53, 53, 53, 91, 91, 91, 230, 230, 230], shape(grayCS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: hawaii = reshape([140, 2, 115, 141, 4, 114, 141, 6, 113, 141, 8, 112, 141, 10, 111, 142, 13, 110, 142, 14, 109, 142, 16, 108, 142, 18, 107, 142, 19, 106, 143, 21, 105, 143, 22, 104, 143, 24, 103, 143, 25, 102, 143, 26, 101, 144, 28, 100, 144, 29, 99, 144, 30, 99, 144, 31, 98, 144, 32, 97, 144, 33, 96, 145, 35, 95, 145, 36, 94, 145, 37, 93, 145, 38, 92, 145, 39, 91, 145, 40, 90, 146, 41, 90, 146, 42, 89, 146, 43, 88, 146, 44, 87, 146, 45, 86, 146, 46, 85, 146, 47, 84, 147, 48, 84, 147, 49, 83, 147, 50, 82, 147, 51, 81, 147, 52, 80, 147, 53, 80, 147, 54, 79, 148, 55, 78, 148, 56, 77, 148, 57, 77, 148, 58, 76, 148, 59, 75, 148, 60, 74, 148, 61, 74, 149, 62, 73, 149, 63, 72, 149, 64, 71, 149, 65, 71, 149, 66, 70, 149, 67, 69, 149, 68, 69, 149, 69, 68, 150, 70, 67, 150, 71, 66, 150, 72, 66, 150, 73, 65, 150, 74, 64, 150, 75, 64, 150, 76, 63, 150, 77, 62, 151, 78, 62, 151, 79, 61, 151, 80, 60, 151, 81, 60, 151, 82, 59, 151, 83, 58, 151, 83, 58, 151, 84, 57, 152, 85, 56, 152, 86, 56, 152, 87, 55, 152, 88, 54, 152, 89, 54, 152, 90, 53, 152, 92, 52, 153, 93, 52, 153, 94, 51, 153, 95, 50, 153, 96, 50, 153, 97, 49, 153, 98, 48, 153, 99, 48, 153, 100, 47, 154, 101, 46, 154, 102, 46, 154, 103, 45, 154, 104, 44, 154, 105, 44, 154, 106, 43, 154, 107, 42, 155, 108, 42, 155, 109, 41, 155, 111, 40, 155, 112, 40, 155, 113, 39, 155, 114, 38, 155, 115, 38, 155, 116, 37, 156, 117, 36, 156, 119, 36, 156, 120, 35, 156, 121, 35, 156, 122, 34, 156, 123, 33, 156, 125, 33, 156, 126, 32, 156, 127, 32, 156, 128, 31, 157, 129, 31, 157, 131, 30, 157, 132, 30, 157, 133, 29, 157, 135, 29, 157, 136, 29, 157, 137, 28, 157, 138, 28, 157, 140, 28, 157, 141, 28, 157, 142, 28, 157, 144, 28, 156, 145, 28, 156, 146, 28, 156, 148, 28, 156, 149, 28, 156, 150, 28, 156, 152, 29, 155, 153, 29, 155, 154, 30, 155, 156, 31, 155, 157, 31, 154, 159, 32, 154, 160, 33, 154, 161, 34, 153, 163, 35, 153, 164, 36, 152, 165, 38, 152, 166, 39, 151, 168, 40, 151, 169, 42, 150, 170, 43, 149, 171, 45, 149, 173, 46, 148, 174, 48, 147, 175, 50, 147, 176, 51, 146, 177, 53, 145, 179, 55, 145, 180, 57, 144, 181, 59, 143, 182, 60, 142, 183, 62, 141, 184, 64, 140, 185, 66, 140, 186, 68, 139, 187, 70, 138, 188, 72, 137, 189, 74, 136, 190, 76, 135, 190, 78, 134, 191, 80, 133, 192, 82, 132, 193, 84, 131, 194, 87, 130, 195, 89, 130, 195, 91, 129, 196, 93, 128, 197, 95, 127, 198, 97, 126, 198, 99, 125, 199, 101, 124, 200, 103, 123, 201, 105, 122, 201, 108, 121, 202, 110, 120, 203, 112, 119, 204, 114, 118, 204, 116, 117, 205, 118, 116, 206, 121, 115, 206, 123, 114, 207, 125, 113, 208, 127, 112, 208, 129, 112, 209, 131, 111, 210, 134, 110, 210, 136, 109, 211, 138, 108, 212, 140, 107, 212, 142, 106, 213, 145, 105, 214, 147, 104, 214, 149, 104, 215, 151, 103, 216, 153, 102, 216, 156, 101, 217, 158, 100, 218, 160, 100, 218, 162, 99, 219, 165, 98, 220, 167, 98, 220, 169, 97, 221, 171, 97, 222, 174, 96, 222, 176, 96, 223, 178, 96, 224, 180, 95, 224, 183, 95, 225, 185, 95, 226, 187, 95, 226, 189, 95, 227, 192, 95, 228, 194, 96, 228, 196, 96, 229, 198, 97, 229, 200, 97, 230, 202, 98, 231, 205, 99, 231, 207, 100, 232, 209, 102, 232, 211, 103, 233, 213, 104, 233, 215, 106, 234, 217, 108, 235, 219, 109, 235, 220, 111, 235, 222, 113, 236, 224, 115, 236, 226, 118, 237, 227, 120, 237, 229, 122, 238, 231, 125, 238, 232, 127, 238, 234, 130, 239, 235, 132, 239, 236, 135, 239, 238, 138, 240, 239, 141, 240, 240, 143, 240, 241, 146, 240, 243, 149, 241, 244, 152, 241, 245, 154, 241, 246, 157, 241, 247, 160, 241, 248, 163, 241, 249, 166, 241, 249, 168, 242, 250, 171, 242, 251, 174, 242, 252, 177, 242, 253, 179, 242, 253], shape(hawaii), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: hawaii10 = reshape([140, 2, 115, 146, 42, 89, 150, 71, 66, 153, 99, 48, 157, 131, 30, 151, 169, 42, 128, 197, 95, 102, 216, 156, 108, 235, 219, 179, 242, 253], shape(hawaii10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: hawaii100 = reshape([140, 2, 115, 141, 8, 112, 142, 13, 110, 142, 18, 107, 143, 21, 105, 143, 25, 102, 144, 28, 100, 144, 31, 98, 145, 35, 95, 145, 37, 93, 145, 40, 90, 146, 42, 89, 146, 45, 86, 146, 47, 84, 147, 50, 82, 147, 53, 80, 148, 55, 78, 148, 58, 76, 148, 60, 74, 149, 63, 72, 149, 66, 70, 149, 68, 69, 150, 71, 66, 150, 73, 65, 150, 76, 63, 151, 78, 62, 151, 81, 60, 151, 83, 58, 152, 85, 56, 152, 88, 54, 152, 90, 53, 153, 94, 51, 153, 96, 50, 153, 99, 48, 154, 102, 46, 154, 104, 44, 154, 107, 42, 155, 109, 41, 155, 113, 39, 155, 115, 38, 156, 119, 36, 156, 122, 34, 156, 125, 33, 156, 128, 31, 157, 131, 30, 157, 135, 29, 157, 137, 28, 157, 141, 28, 156, 145, 28, 156, 148, 28, 156, 152, 29, 155, 154, 30, 154, 159, 32, 153, 163, 35, 152, 165, 38, 151, 169, 42, 149, 171, 45, 147, 175, 50, 146, 177, 53, 144, 181, 59, 141, 184, 64, 140, 186, 68, 137, 189, 74, 135, 190, 78, 132, 193, 84, 130, 195, 89, 128, 197, 95, 125, 199, 101, 123, 201, 105, 120, 203, 112, 118, 204, 116, 115, 206, 123, 113, 208, 127, 111, 210, 134, 108, 212, 140, 106, 213, 145, 104, 215, 151, 102, 216, 156, 100, 218, 162, 98, 220, 167, 97, 222, 174, 96, 224, 180, 95, 225, 185, 95, 227, 192, 96, 228, 196, 97, 230, 202, 100, 232, 209, 103, 233, 213, 108, 235, 219, 111, 235, 222, 118, 237, 227, 122, 238, 231, 130, 239, 235, 138, 240, 239, 143, 240, 241, 152, 241, 245, 157, 241, 247, 166, 241, 249, 171, 242, 251, 179, 242, 253], shape(hawaii100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: hawaii25 = reshape([140, 2, 115, 143, 22, 104, 145, 35, 95, 146, 46, 85, 148, 57, 77, 149, 67, 69, 151, 78, 62, 152, 87, 55, 153, 99, 48, 155, 111, 40, 156, 122, 34, 157, 136, 29, 156, 150, 28, 153, 164, 36, 146, 177, 53, 138, 188, 72, 128, 197, 95, 117, 205, 118, 108, 212, 140, 99, 219, 165, 95, 226, 189, 102, 232, 211, 122, 238, 231, 149, 241, 244, 179, 242, 253], shape(hawaii25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: hawaii50 = reshape([140, 2, 115, 142, 13, 110, 143, 21, 105, 144, 29, 99, 145, 35, 95, 145, 40, 90, 146, 45, 86, 147, 50, 82, 148, 56, 77, 148, 61, 74, 149, 66, 70, 150, 71, 66, 150, 76, 63, 151, 82, 59, 152, 86, 56, 152, 92, 52, 153, 97, 49, 154, 102, 46, 155, 108, 42, 155, 114, 38, 156, 120, 35, 156, 126, 32, 157, 132, 30, 157, 140, 28, 156, 146, 28, 155, 153, 29, 154, 160, 33, 151, 168, 40, 148, 174, 48, 145, 180, 57, 140, 185, 66, 136, 190, 76, 130, 195, 89, 126, 198, 99, 121, 202, 110, 116, 206, 121, 112, 209, 131, 106, 213, 145, 102, 216, 156, 98, 220, 167, 96, 223, 178, 95, 226, 189, 97, 230, 202, 103, 233, 213, 111, 235, 222, 122, 238, 231, 135, 239, 238, 152, 241, 245, 166, 241, 249, 179, 242, 253], shape(hawaii50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: hawaiiS = reshape([140, 2, 115, 179, 242, 253, 156, 150, 28, 151, 78, 62, 107, 212, 142, 146, 46, 85, 137, 189, 74, 155, 111, 40, 103, 233, 213, 122, 201, 108, 149, 62, 73, 96, 223, 178, 149, 171, 45, 144, 29, 99, 153, 94, 51, 157, 129, 31, 135, 239, 238, 147, 54, 79, 96, 228, 196, 157, 241, 247, 157, 140, 28, 142, 18, 107, 156, 120, 35, 150, 70, 67, 100, 218, 160, 152, 85, 56, 114, 207, 125, 130, 195, 91, 144, 181, 59, 145, 38, 92, 154, 102, 46, 154, 161, 34, 115, 236, 226, 152, 166, 39, 151, 82, 59, 146, 42, 89, 148, 58, 76, 153, 98, 48, 156, 145, 28, 156, 125, 33, 155, 156, 31, 118, 204, 116, 157, 135, 29, 141, 10, 111, 143, 24, 103, 147, 176, 51, 168, 242, 250, 126, 198, 99, 125, 238, 232, 152, 89, 54, 154, 106, 43, 98, 231, 205, 98, 220, 169, 155, 115, 38, 95, 226, 187, 150, 74, 64, 140, 185, 66, 149, 66, 70, 133, 192, 82, 104, 215, 151, 144, 33, 96, 147, 50, 82, 111, 210, 134, 146, 240, 243, 108, 235, 219, 143, 26, 101, 149, 64, 71, 135, 190, 78, 152, 92, 52, 147, 52, 80, 149, 68, 69, 152, 241, 245, 153, 100, 47, 151, 83, 58, 124, 200, 103, 141, 6, 113, 145, 40, 90, 155, 113, 39, 152, 87, 55, 109, 211, 138, 112, 208, 129, 100, 232, 209, 148, 174, 48, 145, 179, 55, 153, 164, 36, 97, 229, 200, 157, 137, 28, 156, 122, 34, 139, 187, 70, 153, 96, 50, 145, 36, 94, 156, 127, 32, 150, 72, 66, 116, 206, 121, 95, 224, 183, 156, 148, 28, 128, 197, 95, 151, 80, 60, 154, 159, 32, 155, 108, 42], shape(hawaiiS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: imola = reshape([26, 51, 179, 26, 52, 178, 27, 53, 178, 27, 53, 177, 28, 54, 177, 28, 55, 177, 28, 55, 176, 29, 56, 176, 29, 57, 176, 30, 57, 175, 30, 58, 175, 30, 59, 175, 31, 60, 174, 31, 60, 174, 31, 61, 174, 32, 62, 173, 32, 62, 173, 32, 63, 173, 33, 64, 172, 33, 64, 172, 33, 65, 172, 34, 66, 171, 34, 66, 171, 34, 67, 171, 35, 68, 170, 35, 68, 170, 35, 69, 170, 36, 70, 169, 36, 70, 169, 36, 71, 169, 37, 72, 168, 37, 72, 168, 37, 73, 168, 38, 74, 167, 38, 74, 167, 38, 75, 167, 39, 76, 166, 39, 76, 166, 39, 77, 166, 40, 78, 165, 40, 78, 165, 40, 79, 165, 41, 80, 164, 41, 80, 164, 41, 81, 164, 42, 82, 163, 42, 82, 163, 42, 83, 163, 43, 83, 162, 43, 84, 162, 43, 85, 162, 44, 85, 161, 44, 86, 161, 44, 87, 161, 45, 87, 160, 45, 88, 160, 45, 89, 160, 46, 89, 159, 46, 90, 159, 46, 91, 159, 47, 91, 158, 47, 92, 158, 47, 93, 158, 48, 93, 157, 48, 94, 157, 48, 95, 156, 49, 95, 156, 49, 96, 156, 50, 96, 155, 50, 97, 155, 50, 98, 155, 51, 98, 154, 51, 99, 154, 52, 100, 153, 52, 100, 153, 52, 101, 152, 53, 101, 152, 53, 102, 152, 54, 103, 151, 54, 103, 151, 55, 104, 150, 55, 104, 150, 56, 105, 149, 56, 106, 149, 57, 106, 148, 57, 107, 148, 58, 107, 147, 58, 108, 147, 59, 108, 146, 59, 109, 146, 60, 110, 145, 60, 110, 145, 61, 111, 144, 61, 111, 144, 62, 112, 143, 62, 112, 143, 63, 113, 142, 64, 114, 141, 64, 114, 141, 65, 115, 140, 65, 115, 140, 66, 116, 139, 66, 116, 139, 67, 117, 138, 68, 118, 138, 68, 118, 137, 69, 119, 137, 69, 119, 136, 70, 120, 136, 70, 121, 135, 71, 121, 135, 72, 122, 134, 72, 123, 134, 73, 123, 133, 74, 124, 133, 74, 125, 132, 75, 125, 132, 76, 126, 131, 76, 127, 131, 77, 127, 130, 78, 128, 130, 78, 129, 129, 79, 129, 129, 80, 130, 129, 81, 131, 128, 81, 132, 128, 82, 133, 128, 83, 133, 127, 84, 134, 127, 85, 135, 127, 86, 136, 126, 86, 137, 126, 87, 138, 126, 88, 138, 125, 89, 139, 125, 90, 140, 125, 91, 141, 125, 92, 142, 124, 92, 143, 124, 93, 144, 124, 94, 145, 123, 95, 146, 123, 96, 146, 123, 97, 147, 123, 98, 148, 122, 99, 149, 122, 100, 150, 122, 101, 151, 122, 102, 152, 122, 103, 153, 121, 103, 154, 121, 104, 155, 121, 105, 156, 121, 106, 157, 120, 107, 158, 120, 108, 159, 120, 109, 160, 120, 110, 161, 119, 111, 162, 119, 112, 163, 119, 113, 164, 119, 114, 165, 118, 115, 166, 118, 116, 167, 118, 117, 168, 118, 118, 169, 117, 119, 170, 117, 120, 171, 117, 121, 172, 117, 122, 173, 116, 123, 174, 116, 124, 175, 116, 125, 176, 116, 126, 177, 115, 127, 178, 115, 128, 179, 115, 129, 180, 115, 130, 181, 114, 131, 182, 114, 132, 183, 114, 133, 184, 114, 134, 185, 113, 135, 186, 113, 136, 187, 113, 137, 188, 113, 138, 189, 112, 139, 190, 112, 140, 191, 112, 141, 192, 112, 142, 193, 111, 144, 194, 111, 145, 195, 111, 146, 196, 110, 147, 198, 110, 148, 199, 110, 149, 200, 110, 150, 201, 109, 151, 202, 109, 152, 203, 109, 153, 204, 109, 155, 205, 108, 156, 206, 108, 157, 207, 108, 158, 208, 108, 159, 210, 107, 161, 211, 107, 162, 212, 107, 163, 213, 107, 164, 214, 106, 166, 215, 106, 167, 216, 106, 169, 217, 106, 170, 218, 105, 172, 219, 105, 173, 221, 105, 175, 222, 105, 176, 223, 104, 178, 224, 104, 180, 225, 104, 181, 226, 104, 183, 227, 104, 185, 228, 104, 187, 229, 103, 189, 230, 103, 191, 231, 103, 192, 232, 103, 194, 233, 103, 196, 234, 103, 198, 235, 103, 200, 235, 103, 202, 236, 103, 205, 237, 102, 207, 238, 102, 209, 239, 102, 211, 240, 102, 213, 240, 102, 215, 241, 102, 217, 242, 102, 219, 243, 102, 221, 244, 102, 223, 244, 102, 226, 245, 102, 228, 246, 102, 230, 246, 102, 232, 247, 102, 234, 248, 102, 236, 249, 102, 238, 249, 102, 240, 250, 102, 242, 251, 102, 245, 251, 102, 247, 252, 102, 249, 253, 102, 251, 254, 102, 253, 254, 102, 255, 255, 102], shape(imola), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: imola10 = reshape([26, 51, 179, 36, 70, 169, 46, 89, 159, 57, 107, 148, 73, 123, 133, 96, 146, 123, 123, 174, 116, 152, 203, 109, 196, 234, 103, 255, 255, 102], shape(imola10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: imola100 = reshape([26, 51, 179, 27, 53, 177, 28, 55, 177, 29, 57, 176, 30, 58, 175, 31, 60, 174, 32, 62, 173, 33, 64, 172, 34, 66, 171, 34, 67, 171, 35, 69, 170, 36, 70, 169, 37, 72, 168, 38, 74, 167, 39, 76, 166, 40, 78, 165, 40, 79, 165, 41, 81, 164, 42, 82, 163, 43, 84, 162, 44, 86, 161, 45, 87, 160, 46, 89, 159, 46, 91, 159, 47, 93, 158, 48, 94, 157, 49, 96, 156, 50, 98, 155, 51, 99, 154, 52, 101, 152, 53, 102, 152, 55, 104, 150, 56, 105, 149, 57, 107, 148, 59, 108, 146, 60, 110, 145, 61, 111, 144, 62, 112, 143, 64, 114, 141, 65, 115, 140, 67, 117, 138, 69, 119, 137, 70, 120, 136, 72, 122, 134, 73, 123, 133, 75, 125, 132, 76, 127, 131, 78, 129, 129, 81, 131, 128, 82, 133, 128, 85, 135, 127, 86, 137, 126, 89, 139, 125, 92, 142, 124, 93, 144, 124, 96, 146, 123, 98, 148, 122, 101, 151, 122, 103, 153, 121, 105, 156, 121, 108, 159, 120, 110, 161, 119, 113, 164, 119, 115, 166, 118, 118, 169, 117, 120, 171, 117, 123, 174, 116, 126, 177, 115, 128, 179, 115, 131, 182, 114, 133, 184, 114, 136, 187, 113, 138, 189, 112, 141, 192, 112, 145, 195, 111, 147, 198, 110, 150, 201, 109, 152, 203, 109, 156, 206, 108, 158, 208, 108, 162, 212, 107, 166, 215, 106, 169, 217, 106, 173, 221, 105, 176, 223, 104, 181, 226, 104, 187, 229, 103, 191, 231, 103, 196, 234, 103, 200, 235, 103, 207, 238, 102, 211, 240, 102, 217, 242, 102, 223, 244, 102, 228, 246, 102, 234, 248, 102, 238, 249, 102, 245, 251, 102, 249, 253, 102, 255, 255, 102], shape(imola100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: imola25 = reshape([26, 51, 179, 30, 59, 175, 34, 66, 171, 37, 73, 168, 41, 80, 164, 44, 87, 161, 48, 94, 157, 52, 100, 153, 57, 107, 148, 63, 113, 142, 69, 119, 137, 76, 126, 131, 84, 134, 127, 92, 143, 124, 103, 153, 121, 112, 163, 119, 123, 174, 116, 134, 185, 113, 145, 195, 111, 157, 207, 108, 172, 219, 105, 189, 230, 103, 211, 240, 102, 232, 247, 102, 255, 255, 102], shape(imola25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: imola50 = reshape([26, 51, 179, 28, 55, 177, 30, 58, 175, 32, 62, 173, 34, 66, 171, 35, 69, 170, 37, 72, 168, 39, 76, 166, 41, 80, 164, 42, 83, 163, 44, 86, 161, 46, 89, 159, 47, 93, 158, 50, 96, 155, 52, 100, 153, 54, 103, 151, 56, 106, 149, 59, 108, 146, 62, 112, 143, 65, 115, 140, 68, 118, 138, 70, 121, 135, 74, 124, 133, 78, 128, 130, 81, 132, 128, 86, 136, 126, 90, 140, 125, 95, 146, 123, 100, 150, 122, 104, 155, 121, 109, 160, 120, 114, 165, 118, 120, 171, 117, 125, 176, 116, 130, 181, 114, 135, 186, 113, 140, 191, 112, 147, 198, 110, 152, 203, 109, 158, 208, 108, 164, 214, 106, 172, 219, 105, 181, 226, 104, 191, 231, 103, 200, 235, 103, 211, 240, 102, 221, 244, 102, 234, 248, 102, 245, 251, 102, 255, 255, 102], shape(imola50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: imolaS = reshape([26, 51, 179, 255, 255, 102, 84, 134, 127, 48, 94, 157, 145, 195, 111, 63, 113, 142, 189, 230, 103, 37, 73, 168, 113, 164, 119, 43, 83, 162, 221, 244, 102, 72, 123, 134, 32, 62, 173, 163, 213, 107, 98, 148, 122, 55, 104, 150, 128, 179, 115, 175, 222, 105, 45, 89, 160, 136, 187, 113, 205, 237, 102, 68, 118, 138, 59, 108, 146, 238, 249, 102, 91, 141, 125, 105, 156, 121, 40, 78, 165, 35, 68, 170, 51, 99, 154, 29, 57, 176, 78, 128, 130, 153, 204, 109, 121, 172, 117, 70, 120, 136, 140, 191, 112, 87, 138, 126, 117, 168, 118, 169, 217, 106, 102, 152, 122, 65, 115, 140, 61, 111, 144, 33, 65, 172, 230, 246, 102, 57, 106, 148, 53, 101, 152, 28, 54, 177, 94, 145, 123, 247, 252, 102, 44, 86, 161, 158, 208, 108, 36, 70, 169, 181, 226, 104, 149, 200, 110, 75, 125, 132, 39, 76, 166, 213, 240, 102, 41, 81, 164, 31, 60, 174, 109, 160, 120, 132, 183, 114, 50, 96, 155, 196, 234, 103, 81, 131, 128, 47, 91, 158, 124, 175, 116, 92, 143, 124, 37, 72, 168, 33, 64, 172, 54, 103, 151, 130, 181, 114, 76, 127, 131, 86, 136, 126, 31, 61, 174, 35, 69, 170, 62, 112, 143, 60, 110, 145, 251, 254, 102, 156, 206, 108, 126, 177, 115, 200, 235, 103, 89, 139, 125, 64, 114, 141, 192, 232, 103, 47, 93, 158, 42, 82, 163, 134, 185, 113, 49, 95, 156, 41, 80, 164, 56, 105, 149, 58, 107, 147, 27, 53, 178, 50, 98, 155, 147, 198, 110, 242, 251, 102, 52, 100, 153, 119, 170, 117, 234, 248, 102, 100, 150, 122, 69, 119, 137, 115, 166, 118], shape(imolaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lajolla = reshape([25, 25, 0, 26, 26, 1, 27, 26, 1, 28, 26, 1, 29, 27, 2, 30, 27, 2, 30, 27, 3, 31, 28, 3, 32, 28, 4, 33, 28, 4, 34, 28, 5, 35, 29, 5, 36, 29, 6, 36, 29, 7, 37, 30, 7, 38, 30, 8, 39, 30, 8, 40, 31, 9, 41, 31, 9, 42, 31, 10, 43, 32, 10, 44, 32, 11, 45, 32, 12, 46, 33, 12, 47, 33, 13, 48, 33, 13, 49, 34, 14, 50, 34, 15, 51, 34, 15, 52, 35, 16, 53, 35, 16, 54, 36, 17, 55, 36, 17, 57, 36, 18, 58, 37, 19, 59, 37, 19, 60, 38, 20, 61, 38, 20, 63, 38, 21, 64, 39, 22, 65, 39, 22, 67, 40, 23, 68, 40, 23, 69, 41, 24, 71, 41, 25, 72, 42, 26, 74, 42, 26, 75, 43, 27, 77, 43, 28, 78, 44, 29, 80, 44, 29, 81, 45, 30, 83, 45, 31, 84, 46, 32, 86, 46, 33, 87, 47, 33, 89, 47, 34, 91, 48, 35, 92, 48, 36, 94, 49, 37, 96, 50, 38, 97, 50, 39, 99, 51, 40, 101, 51, 41, 103, 52, 42, 105, 53, 43, 106, 53, 44, 108, 54, 44, 110, 54, 45, 112, 55, 46, 114, 56, 47, 116, 56, 48, 118, 57, 49, 120, 57, 50, 121, 58, 51, 123, 59, 52, 125, 59, 53, 127, 60, 54, 129, 60, 55, 131, 61, 56, 133, 62, 57, 135, 62, 58, 137, 63, 58, 139, 63, 59, 141, 64, 60, 143, 64, 61, 146, 65, 62, 148, 65, 62, 150, 66, 63, 152, 66, 64, 154, 67, 64, 156, 67, 65, 158, 68, 66, 160, 68, 66, 162, 69, 67, 164, 69, 68, 166, 70, 68, 168, 70, 69, 171, 71, 69, 173, 71, 70, 175, 72, 70, 177, 72, 71, 179, 73, 71, 181, 73, 71, 183, 74, 72, 185, 74, 72, 187, 75, 72, 188, 76, 73, 190, 76, 73, 192, 77, 73, 194, 77, 74, 196, 78, 74, 197, 79, 74, 199, 80, 75, 201, 81, 75, 202, 81, 75, 204, 82, 75, 205, 83, 76, 207, 84, 76, 208, 85, 76, 209, 86, 76, 210, 88, 76, 212, 89, 77, 213, 90, 77, 214, 91, 77, 215, 92, 77, 215, 94, 77, 216, 95, 77, 217, 96, 78, 218, 97, 78, 219, 99, 78, 219, 100, 78, 220, 101, 78, 220, 103, 78, 221, 104, 78, 221, 105, 79, 222, 107, 79, 222, 108, 79, 223, 109, 79, 223, 110, 79, 224, 112, 79, 224, 113, 79, 224, 114, 79, 225, 116, 79, 225, 117, 80, 225, 118, 80, 225, 119, 80, 226, 121, 80, 226, 122, 80, 226, 123, 80, 227, 124, 80, 227, 125, 80, 227, 127, 80, 227, 128, 80, 228, 129, 80, 228, 130, 81, 228, 131, 81, 228, 133, 81, 229, 134, 81, 229, 135, 81, 229, 136, 81, 229, 137, 81, 230, 139, 81, 230, 140, 81, 230, 141, 81, 230, 142, 81, 230, 143, 82, 231, 144, 82, 231, 146, 82, 231, 147, 82, 231, 148, 82, 232, 149, 82, 232, 150, 82, 232, 151, 82, 232, 152, 82, 233, 154, 82, 233, 155, 82, 233, 156, 82, 233, 157, 83, 234, 158, 83, 234, 159, 83, 234, 161, 83, 234, 162, 83, 235, 163, 83, 235, 164, 83, 235, 165, 83, 235, 166, 83, 235, 168, 83, 236, 169, 83, 236, 170, 84, 236, 171, 84, 236, 172, 84, 237, 174, 84, 237, 175, 84, 237, 176, 84, 237, 177, 84, 238, 179, 85, 238, 180, 85, 238, 181, 85, 239, 182, 85, 239, 184, 86, 239, 185, 86, 239, 186, 86, 240, 188, 87, 240, 189, 87, 240, 190, 88, 241, 192, 88, 241, 193, 89, 241, 194, 90, 241, 196, 90, 242, 197, 91, 242, 199, 92, 242, 200, 93, 243, 202, 95, 243, 203, 96, 244, 205, 97, 244, 206, 99, 244, 208, 101, 245, 209, 103, 245, 211, 105, 245, 212, 107, 246, 214, 109, 246, 215, 111, 247, 217, 113, 247, 218, 116, 247, 220, 119, 248, 221, 121, 248, 223, 124, 248, 224, 127, 249, 226, 130, 249, 227, 132, 250, 229, 135, 250, 230, 138, 250, 231, 141, 251, 232, 144, 251, 234, 147, 251, 235, 150, 251, 236, 153, 252, 237, 156, 252, 239, 159, 252, 240, 162, 252, 241, 165, 253, 242, 168, 253, 243, 171, 253, 244, 174, 253, 245, 176, 254, 246, 179, 254, 247, 182, 254, 248, 184, 254, 249, 187, 254, 250, 190, 254, 251, 192, 255, 252, 195, 255, 253, 198, 255, 254, 200, 255, 254, 203], shape(lajolla), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lajolla10 = reshape([25, 25, 0, 51, 34, 15, 91, 48, 35, 143, 64, 61, 199, 80, 75, 224, 114, 79, 231, 148, 82, 238, 181, 85, 248, 223, 124, 255, 254, 203], shape(lajolla10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lajolla100 = reshape([25, 25, 0, 28, 26, 1, 30, 27, 2, 32, 28, 4, 34, 28, 5, 36, 29, 7, 38, 30, 8, 41, 31, 9, 44, 32, 11, 46, 33, 12, 49, 34, 14, 51, 34, 15, 54, 36, 17, 57, 36, 18, 60, 38, 20, 64, 39, 22, 67, 40, 23, 71, 41, 25, 74, 42, 26, 78, 44, 29, 83, 45, 31, 86, 46, 33, 91, 48, 35, 94, 49, 37, 99, 51, 40, 103, 52, 42, 108, 54, 44, 114, 56, 47, 118, 57, 49, 123, 59, 52, 127, 60, 54, 133, 62, 57, 137, 63, 58, 143, 64, 61, 150, 66, 63, 154, 67, 64, 160, 68, 66, 164, 69, 68, 171, 71, 69, 175, 72, 70, 181, 73, 71, 187, 75, 72, 190, 76, 73, 196, 78, 74, 199, 80, 75, 204, 82, 75, 207, 84, 76, 210, 88, 76, 214, 91, 77, 215, 94, 77, 218, 97, 78, 219, 100, 78, 221, 104, 78, 222, 108, 79, 223, 110, 79, 224, 114, 79, 225, 117, 80, 226, 121, 80, 226, 123, 80, 227, 127, 80, 228, 130, 81, 228, 133, 81, 229, 136, 81, 230, 139, 81, 230, 142, 81, 231, 144, 82, 231, 148, 82, 232, 151, 82, 233, 154, 82, 233, 157, 83, 234, 159, 83, 235, 163, 83, 235, 165, 83, 236, 169, 83, 236, 172, 84, 237, 175, 84, 238, 179, 85, 238, 181, 85, 239, 185, 86, 240, 188, 87, 241, 192, 88, 241, 196, 90, 242, 199, 92, 243, 203, 96, 244, 206, 99, 245, 211, 105, 246, 215, 111, 247, 218, 116, 248, 223, 124, 249, 226, 130, 250, 230, 138, 251, 232, 144, 251, 236, 153, 252, 240, 162, 253, 242, 168, 253, 245, 176, 254, 247, 182, 254, 250, 190, 255, 252, 195, 255, 254, 203], shape(lajolla100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lajolla25 = reshape([25, 25, 0, 35, 29, 5, 44, 32, 11, 55, 36, 17, 69, 41, 24, 84, 46, 32, 103, 52, 42, 121, 58, 51, 143, 64, 61, 166, 70, 68, 187, 75, 72, 205, 83, 76, 217, 96, 78, 223, 109, 79, 226, 123, 80, 229, 135, 81, 231, 148, 82, 234, 161, 83, 236, 172, 84, 239, 186, 86, 243, 202, 95, 247, 217, 113, 251, 232, 144, 253, 244, 174, 255, 254, 203], shape(lajolla25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lajolla50 = reshape([25, 25, 0, 30, 27, 2, 34, 28, 5, 39, 30, 8, 44, 32, 11, 49, 34, 14, 54, 36, 17, 60, 38, 20, 68, 40, 23, 75, 43, 27, 83, 45, 31, 91, 48, 35, 99, 51, 40, 110, 54, 45, 120, 57, 50, 129, 60, 55, 139, 63, 59, 150, 66, 63, 162, 69, 67, 173, 71, 70, 183, 74, 72, 192, 77, 73, 201, 81, 75, 209, 86, 76, 215, 92, 77, 219, 99, 78, 221, 105, 79, 224, 113, 79, 225, 119, 80, 227, 125, 80, 228, 131, 81, 229, 137, 81, 231, 144, 82, 232, 150, 82, 233, 156, 82, 234, 162, 83, 235, 168, 83, 237, 175, 84, 238, 181, 85, 240, 188, 87, 241, 194, 90, 243, 202, 95, 245, 211, 105, 247, 218, 116, 249, 226, 130, 251, 232, 144, 252, 239, 159, 253, 245, 176, 254, 250, 190, 255, 254, 203], shape(lajolla50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lajollaS = reshape([25, 25, 0, 255, 254, 203, 217, 96, 78, 103, 52, 42, 237, 174, 84, 55, 36, 17, 229, 136, 81, 166, 70, 68, 247, 218, 116, 241, 194, 90, 133, 62, 57, 77, 43, 28, 233, 155, 82, 225, 117, 80, 39, 30, 8, 197, 79, 74, 252, 240, 162, 150, 66, 63, 235, 164, 83, 183, 74, 72, 231, 146, 82, 250, 230, 138, 239, 184, 86, 32, 28, 4, 244, 206, 99, 227, 127, 80, 118, 57, 49, 47, 33, 13, 222, 107, 79, 89, 47, 34, 209, 86, 76, 65, 39, 22, 254, 248, 184, 245, 212, 107, 158, 68, 66, 36, 29, 6, 125, 59, 53, 141, 64, 60, 214, 91, 77, 224, 112, 79, 234, 159, 83, 175, 72, 70, 251, 235, 150, 83, 45, 31, 236, 169, 83, 248, 224, 127, 226, 122, 80, 242, 200, 93, 29, 27, 2, 220, 101, 78, 43, 32, 10, 60, 38, 20, 190, 76, 73, 96, 50, 38, 230, 141, 81, 110, 54, 45, 238, 179, 85, 232, 150, 82, 71, 41, 25, 51, 34, 15, 204, 82, 75, 240, 189, 87, 228, 131, 81, 253, 244, 174, 254, 251, 192, 179, 73, 71, 114, 56, 47, 230, 139, 81, 86, 46, 33, 231, 148, 82, 74, 42, 26, 45, 32, 12, 251, 232, 144, 224, 114, 79, 194, 77, 74, 49, 34, 14, 225, 119, 80, 53, 35, 16, 106, 53, 44, 63, 38, 21, 162, 69, 67, 187, 75, 72, 252, 237, 156, 246, 215, 111, 239, 186, 86, 37, 30, 7, 212, 89, 77, 207, 84, 76, 215, 94, 77, 254, 246, 179, 121, 58, 51, 58, 37, 19, 241, 192, 88, 30, 27, 3, 253, 242, 168, 238, 181, 85, 249, 227, 132, 235, 166, 83, 229, 134, 81, 255, 253, 198], shape(lajollaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lapaz = reshape([26, 12, 100, 27, 14, 101, 27, 15, 102, 27, 16, 103, 28, 18, 104, 28, 19, 104, 28, 20, 105, 29, 22, 106, 29, 23, 107, 29, 24, 108, 30, 25, 109, 30, 26, 109, 30, 28, 110, 31, 29, 111, 31, 30, 112, 31, 31, 113, 32, 32, 113, 32, 33, 114, 32, 35, 115, 32, 36, 116, 33, 37, 117, 33, 38, 117, 33, 39, 118, 33, 40, 119, 34, 41, 120, 34, 42, 121, 34, 43, 121, 34, 44, 122, 35, 45, 123, 35, 47, 124, 35, 48, 124, 35, 49, 125, 36, 50, 126, 36, 51, 127, 36, 52, 127, 36, 53, 128, 37, 54, 129, 37, 55, 130, 37, 56, 130, 37, 57, 131, 38, 58, 132, 38, 59, 132, 38, 60, 133, 38, 61, 134, 39, 62, 135, 39, 63, 135, 39, 64, 136, 39, 65, 137, 40, 66, 137, 40, 67, 138, 40, 69, 139, 40, 70, 139, 41, 71, 140, 41, 72, 140, 41, 73, 141, 42, 74, 142, 42, 75, 142, 42, 76, 143, 43, 77, 144, 43, 78, 144, 43, 79, 145, 44, 80, 145, 44, 81, 146, 44, 82, 146, 45, 83, 147, 45, 84, 148, 45, 85, 148, 46, 86, 149, 46, 87, 149, 46, 88, 150, 47, 89, 150, 47, 90, 151, 48, 91, 151, 48, 92, 152, 48, 93, 152, 49, 94, 153, 49, 94, 153, 50, 95, 153, 50, 96, 154, 51, 97, 154, 51, 98, 155, 52, 99, 155, 52, 100, 156, 53, 101, 156, 53, 102, 156, 54, 103, 157, 55, 104, 157, 55, 105, 157, 56, 106, 158, 56, 107, 158, 57, 108, 158, 58, 109, 159, 58, 110, 159, 59, 111, 159, 60, 112, 160, 60, 112, 160, 61, 113, 160, 62, 114, 161, 62, 115, 161, 63, 116, 161, 64, 117, 161, 65, 118, 162, 66, 119, 162, 66, 120, 162, 67, 121, 162, 68, 122, 162, 69, 122, 162, 70, 123, 163, 71, 124, 163, 72, 125, 163, 73, 126, 163, 74, 127, 163, 75, 128, 163, 76, 128, 163, 77, 129, 163, 78, 130, 163, 79, 131, 164, 80, 132, 164, 81, 133, 164, 82, 133, 164, 83, 134, 164, 84, 135, 164, 85, 136, 164, 86, 136, 164, 87, 137, 164, 88, 138, 163, 90, 139, 163, 91, 139, 163, 92, 140, 163, 93, 141, 163, 94, 142, 163, 96, 142, 163, 97, 143, 163, 98, 144, 163, 99, 144, 162, 101, 145, 162, 102, 146, 162, 103, 146, 162, 104, 147, 162, 106, 148, 161, 107, 148, 161, 108, 149, 161, 110, 149, 161, 111, 150, 161, 112, 151, 160, 114, 151, 160, 115, 152, 160, 116, 152, 159, 118, 153, 159, 119, 153, 159, 120, 154, 159, 122, 154, 158, 123, 155, 158, 124, 155, 158, 126, 156, 157, 127, 156, 157, 128, 157, 157, 130, 157, 156, 131, 158, 156, 133, 158, 156, 134, 158, 155, 135, 159, 155, 137, 159, 154, 138, 160, 154, 139, 160, 154, 141, 160, 153, 142, 161, 153, 144, 161, 153, 145, 162, 152, 146, 162, 152, 148, 162, 152, 149, 163, 152, 151, 163, 151, 152, 164, 151, 153, 164, 151, 155, 164, 150, 156, 165, 150, 158, 165, 150, 159, 166, 150, 161, 166, 150, 162, 166, 150, 164, 167, 149, 165, 167, 149, 167, 168, 149, 168, 168, 149, 170, 169, 149, 171, 169, 149, 173, 170, 149, 174, 170, 149, 176, 171, 149, 178, 171, 150, 179, 172, 150, 181, 173, 150, 183, 173, 150, 184, 174, 151, 186, 175, 151, 188, 176, 152, 190, 176, 152, 191, 177, 153, 193, 178, 153, 195, 179, 154, 197, 180, 155, 199, 181, 156, 200, 182, 156, 202, 183, 157, 204, 184, 158, 206, 185, 159, 208, 186, 160, 210, 187, 162, 211, 188, 163, 213, 189, 164, 215, 190, 166, 217, 192, 167, 218, 193, 168, 220, 194, 170, 222, 195, 171, 223, 197, 173, 225, 198, 175, 227, 199, 176, 228, 201, 178, 230, 202, 180, 231, 203, 181, 232, 204, 183, 234, 206, 185, 235, 207, 187, 236, 208, 189, 237, 210, 190, 239, 211, 192, 240, 212, 194, 241, 213, 196, 242, 215, 198, 243, 216, 200, 244, 217, 201, 244, 218, 203, 245, 219, 205, 246, 221, 207, 247, 222, 209, 247, 223, 211, 248, 224, 212, 249, 225, 214, 249, 226, 216, 250, 227, 218, 250, 229, 220, 251, 230, 221, 251, 231, 223, 251, 232, 225, 252, 233, 227, 252, 234, 229, 252, 235, 230, 253, 236, 232, 253, 237, 234, 253, 238, 236, 254, 239, 237, 254, 240, 239, 254, 241, 241, 254, 242, 243], shape(lapaz), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lapaz10 = reshape([26, 12, 100, 35, 45, 123, 42, 76, 143, 54, 103, 157, 76, 128, 163, 110, 149, 161, 148, 162, 152, 191, 177, 153, 239, 211, 192, 254, 242, 243], shape(lapaz10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lapaz100 = reshape([26, 12, 100, 27, 16, 103, 28, 19, 104, 29, 23, 107, 30, 25, 109, 31, 29, 111, 31, 31, 113, 32, 35, 115, 33, 38, 117, 33, 40, 119, 34, 43, 121, 35, 45, 123, 35, 49, 125, 36, 51, 127, 37, 54, 129, 37, 57, 131, 38, 59, 132, 39, 62, 135, 39, 64, 136, 40, 67, 138, 41, 71, 140, 41, 73, 141, 42, 76, 143, 43, 78, 144, 44, 81, 146, 45, 83, 147, 46, 86, 149, 47, 89, 150, 48, 91, 151, 49, 94, 153, 50, 95, 153, 51, 98, 155, 52, 100, 156, 54, 103, 157, 56, 106, 158, 57, 108, 158, 59, 111, 159, 60, 112, 160, 62, 115, 161, 64, 117, 161, 66, 120, 162, 69, 122, 162, 71, 124, 163, 74, 127, 163, 76, 128, 163, 79, 131, 164, 81, 133, 164, 84, 135, 164, 87, 137, 164, 90, 139, 163, 93, 141, 163, 96, 142, 163, 99, 144, 162, 103, 146, 162, 106, 148, 161, 110, 149, 161, 112, 151, 160, 116, 152, 159, 119, 153, 159, 123, 155, 158, 127, 156, 157, 130, 157, 156, 134, 158, 155, 137, 159, 154, 141, 160, 153, 144, 161, 153, 148, 162, 152, 152, 164, 151, 155, 164, 150, 159, 166, 150, 162, 166, 150, 167, 168, 149, 170, 169, 149, 174, 170, 149, 179, 172, 150, 183, 173, 150, 188, 176, 152, 191, 177, 153, 197, 180, 155, 200, 182, 156, 206, 185, 159, 211, 188, 163, 215, 190, 166, 220, 194, 170, 223, 197, 173, 228, 201, 178, 232, 204, 183, 235, 207, 187, 239, 211, 192, 241, 213, 196, 244, 217, 201, 245, 219, 205, 247, 223, 211, 249, 226, 216, 250, 229, 220, 251, 232, 225, 252, 234, 229, 253, 237, 234, 254, 239, 237, 254, 242, 243], shape(lapaz100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lapaz25 = reshape([26, 12, 100, 30, 26, 109, 33, 38, 117, 36, 50, 126, 38, 61, 134, 41, 72, 140, 45, 83, 147, 48, 93, 152, 54, 103, 157, 61, 113, 160, 69, 122, 162, 80, 132, 164, 92, 140, 163, 104, 147, 162, 119, 153, 159, 133, 158, 156, 148, 162, 152, 164, 167, 149, 179, 172, 150, 199, 181, 156, 218, 193, 168, 234, 206, 185, 245, 219, 205, 251, 231, 223, 254, 242, 243], shape(lapaz25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lapaz50 = reshape([26, 12, 100, 28, 19, 104, 30, 25, 109, 32, 32, 113, 33, 38, 117, 34, 43, 121, 35, 49, 125, 37, 54, 129, 38, 60, 133, 39, 65, 137, 41, 71, 140, 42, 76, 143, 44, 81, 146, 46, 87, 149, 48, 92, 152, 50, 96, 154, 53, 101, 156, 56, 106, 158, 60, 112, 160, 63, 116, 161, 67, 121, 162, 72, 125, 163, 77, 129, 163, 83, 134, 164, 88, 138, 163, 94, 142, 163, 101, 145, 162, 108, 149, 161, 115, 152, 160, 122, 154, 158, 128, 157, 157, 135, 159, 155, 144, 161, 153, 151, 163, 151, 158, 165, 150, 165, 167, 149, 173, 170, 149, 183, 173, 150, 191, 177, 153, 200, 182, 156, 210, 187, 162, 218, 193, 168, 228, 201, 178, 235, 207, 187, 241, 213, 196, 245, 219, 205, 249, 225, 214, 251, 232, 225, 253, 237, 234, 254, 242, 243], shape(lapaz50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lapazS = reshape([26, 12, 100, 254, 242, 243, 92, 140, 163, 45, 83, 147, 179, 172, 150, 61, 113, 160, 234, 206, 185, 36, 50, 126, 133, 158, 156, 32, 32, 113, 155, 164, 150, 51, 98, 155, 249, 225, 214, 208, 186, 160, 75, 128, 163, 40, 66, 137, 111, 150, 161, 34, 41, 120, 48, 91, 151, 144, 161, 153, 122, 154, 158, 252, 234, 229, 167, 168, 149, 67, 121, 162, 193, 178, 153, 29, 23, 107, 38, 58, 132, 222, 195, 171, 56, 106, 158, 243, 216, 200, 42, 75, 142, 83, 134, 164, 101, 145, 162, 30, 28, 110, 46, 87, 149, 37, 54, 129, 149, 163, 152, 87, 137, 164, 35, 45, 123, 79, 131, 164, 246, 221, 207, 138, 160, 154, 200, 182, 156, 253, 238, 236, 116, 152, 159, 71, 124, 163, 106, 148, 161, 161, 166, 150, 215, 190, 166, 127, 156, 157, 186, 175, 151, 49, 94, 153, 64, 117, 161, 33, 37, 117, 239, 211, 192, 41, 71, 140, 43, 79, 145, 53, 102, 156, 251, 230, 221, 28, 18, 104, 39, 62, 135, 58, 110, 159, 228, 201, 178, 173, 170, 149, 97, 143, 163, 231, 203, 181, 146, 162, 152, 190, 176, 152, 94, 142, 163, 27, 15, 102, 40, 69, 139, 73, 126, 163, 114, 151, 160, 60, 112, 160, 141, 160, 153, 124, 155, 158, 197, 180, 155, 37, 56, 130, 85, 136, 164, 55, 104, 157, 253, 236, 232, 247, 223, 211, 241, 213, 196, 62, 115, 161, 176, 171, 149, 244, 218, 203, 48, 93, 152, 33, 39, 118, 90, 139, 163, 47, 89, 150, 218, 193, 168, 36, 52, 127, 39, 64, 136, 103, 146, 162, 31, 30, 112, 43, 77, 144, 152, 164, 151, 34, 43, 121, 135, 159, 155, 236, 208, 189], shape(lapazS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lipari = reshape([3, 19, 38, 4, 20, 40, 4, 22, 41, 4, 23, 43, 5, 24, 45, 5, 25, 47, 5, 27, 49, 5, 28, 51, 6, 29, 53, 6, 31, 55, 6, 32, 56, 7, 33, 58, 7, 34, 60, 7, 36, 62, 8, 37, 64, 8, 38, 66, 9, 40, 68, 9, 41, 70, 10, 42, 72, 10, 44, 74, 11, 45, 75, 12, 46, 77, 13, 48, 79, 13, 49, 81, 14, 51, 83, 15, 52, 85, 16, 53, 87, 17, 55, 88, 19, 56, 90, 20, 57, 92, 21, 59, 94, 22, 60, 95, 24, 62, 97, 25, 63, 99, 27, 64, 100, 29, 66, 102, 30, 67, 104, 32, 68, 105, 34, 70, 107, 36, 71, 108, 37, 72, 109, 39, 73, 111, 41, 75, 112, 43, 76, 113, 45, 77, 114, 47, 78, 115, 49, 79, 116, 52, 80, 117, 54, 81, 118, 56, 82, 119, 58, 83, 119, 60, 84, 120, 62, 85, 120, 63, 86, 121, 65, 86, 121, 67, 87, 122, 69, 88, 122, 71, 88, 122, 72, 89, 122, 74, 89, 122, 76, 90, 122, 77, 90, 123, 79, 91, 123, 80, 91, 122, 82, 91, 122, 83, 92, 122, 84, 92, 122, 86, 92, 122, 87, 92, 122, 88, 93, 122, 90, 93, 122, 91, 93, 121, 92, 93, 121, 93, 93, 121, 94, 93, 121, 96, 94, 120, 97, 94, 120, 98, 94, 120, 99, 94, 120, 100, 94, 119, 101, 94, 119, 102, 94, 119, 104, 94, 119, 105, 94, 118, 106, 94, 118, 107, 95, 118, 108, 95, 117, 109, 95, 117, 110, 95, 117, 112, 95, 116, 113, 95, 116, 114, 95, 116, 115, 95, 116, 116, 95, 115, 118, 95, 115, 119, 95, 115, 120, 95, 114, 121, 95, 114, 122, 95, 114, 124, 96, 113, 125, 96, 113, 126, 96, 113, 128, 96, 112, 129, 96, 112, 130, 96, 112, 131, 96, 111, 133, 96, 111, 134, 96, 111, 135, 96, 110, 137, 96, 110, 138, 96, 110, 140, 96, 109, 141, 97, 109, 142, 97, 108, 144, 97, 108, 145, 97, 108, 147, 97, 107, 148, 97, 107, 150, 97, 107, 151, 97, 106, 152, 97, 106, 154, 97, 105, 155, 97, 105, 157, 98, 105, 159, 98, 104, 160, 98, 104, 162, 98, 103, 163, 98, 103, 165, 98, 103, 166, 98, 102, 168, 98, 102, 170, 98, 101, 171, 99, 101, 173, 99, 101, 174, 99, 100, 176, 99, 100, 178, 99, 100, 179, 99, 99, 181, 99, 99, 183, 100, 98, 184, 100, 98, 186, 100, 98, 188, 100, 97, 190, 101, 97, 191, 101, 97, 193, 101, 96, 195, 102, 96, 197, 102, 96, 198, 102, 95, 200, 103, 95, 202, 103, 95, 203, 104, 95, 205, 104, 95, 207, 105, 94, 208, 106, 94, 210, 106, 94, 212, 107, 94, 213, 108, 94, 215, 109, 94, 216, 110, 94, 218, 111, 94, 219, 112, 95, 221, 113, 95, 222, 114, 95, 223, 115, 95, 224, 116, 96, 225, 118, 96, 226, 119, 96, 227, 120, 97, 228, 122, 97, 229, 123, 98, 230, 124, 99, 231, 126, 99, 231, 127, 100, 232, 129, 101, 232, 130, 101, 233, 132, 102, 233, 133, 103, 233, 135, 104, 233, 136, 104, 234, 138, 105, 234, 139, 106, 234, 141, 107, 234, 142, 108, 234, 144, 109, 234, 145, 110, 234, 146, 110, 234, 148, 111, 233, 149, 112, 233, 151, 113, 233, 152, 114, 233, 153, 115, 233, 155, 116, 232, 156, 117, 232, 157, 118, 232, 158, 119, 232, 160, 119, 231, 161, 120, 231, 162, 121, 231, 163, 122, 231, 165, 123, 230, 166, 124, 230, 167, 125, 230, 168, 126, 230, 170, 127, 230, 171, 128, 230, 172, 129, 229, 173, 130, 229, 175, 132, 229, 176, 133, 229, 177, 134, 229, 178, 135, 229, 180, 136, 229, 181, 138, 229, 182, 139, 229, 184, 140, 229, 185, 142, 229, 186, 143, 230, 188, 144, 230, 189, 146, 230, 190, 147, 230, 192, 149, 231, 193, 151, 231, 195, 152, 231, 196, 154, 232, 198, 156, 232, 199, 157, 233, 201, 159, 233, 202, 161, 234, 204, 163, 234, 205, 165, 235, 207, 167, 235, 208, 169, 236, 210, 171, 237, 211, 173, 237, 213, 175, 238, 214, 177, 239, 216, 179, 239, 218, 181, 240, 219, 183, 241, 221, 185, 242, 222, 187, 242, 224, 190, 243, 225, 192, 244, 227, 194, 245, 229, 196, 246, 230, 198, 246, 232, 201, 247, 233, 203, 248, 235, 205, 249, 237, 207, 250, 238, 209, 251, 240, 212, 251, 241, 214, 252, 243, 216, 253, 245, 218], shape(lipari), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lipari10 = reshape([3, 19, 38, 19, 56, 90, 71, 88, 122, 107, 95, 118, 142, 97, 108, 188, 100, 97, 229, 123, 98, 231, 162, 121, 233, 201, 159, 253, 245, 218], shape(lipari10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lipari100 = reshape([3, 19, 38, 4, 23, 43, 5, 25, 47, 6, 29, 53, 6, 32, 56, 7, 36, 62, 8, 38, 66, 10, 42, 72, 12, 46, 77, 13, 49, 81, 16, 53, 87, 19, 56, 90, 22, 60, 95, 25, 63, 99, 30, 67, 104, 36, 71, 108, 39, 73, 111, 45, 77, 114, 49, 79, 116, 56, 82, 119, 62, 85, 120, 65, 86, 121, 71, 88, 122, 74, 89, 122, 79, 91, 123, 82, 91, 122, 86, 92, 122, 90, 93, 122, 92, 93, 121, 96, 94, 120, 98, 94, 120, 101, 94, 119, 104, 94, 119, 107, 95, 118, 110, 95, 117, 113, 95, 116, 116, 95, 115, 119, 95, 115, 122, 95, 114, 125, 96, 113, 129, 96, 112, 133, 96, 111, 135, 96, 110, 140, 96, 109, 142, 97, 108, 147, 97, 107, 150, 97, 107, 154, 97, 105, 159, 98, 104, 162, 98, 103, 166, 98, 102, 170, 98, 101, 174, 99, 100, 179, 99, 99, 183, 100, 98, 188, 100, 97, 191, 101, 97, 197, 102, 96, 200, 103, 95, 205, 104, 95, 210, 106, 94, 213, 108, 94, 218, 111, 94, 221, 113, 95, 224, 116, 96, 226, 119, 96, 229, 123, 98, 231, 127, 100, 232, 130, 101, 233, 135, 104, 234, 138, 105, 234, 142, 108, 234, 145, 110, 233, 149, 112, 233, 153, 115, 232, 156, 117, 232, 160, 119, 231, 162, 121, 230, 166, 124, 230, 168, 126, 230, 172, 129, 229, 176, 133, 229, 178, 135, 229, 182, 139, 229, 185, 142, 230, 189, 146, 231, 193, 151, 231, 196, 154, 233, 201, 159, 234, 204, 163, 235, 208, 169, 237, 211, 173, 239, 216, 179, 241, 221, 185, 242, 224, 190, 245, 229, 196, 246, 232, 201, 249, 237, 207, 251, 240, 212, 253, 245, 218], shape(lipari100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lipari25 = reshape([3, 19, 38, 7, 33, 58, 12, 46, 77, 24, 62, 97, 43, 76, 113, 63, 86, 121, 82, 91, 122, 94, 93, 121, 107, 95, 118, 120, 95, 114, 133, 96, 111, 148, 97, 107, 165, 98, 103, 181, 99, 99, 200, 103, 95, 216, 110, 94, 229, 123, 98, 234, 139, 106, 233, 153, 115, 230, 167, 125, 229, 181, 138, 231, 195, 152, 237, 211, 173, 244, 227, 194, 253, 245, 218], shape(lipari25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lipari50 = reshape([3, 19, 38, 5, 25, 47, 6, 32, 56, 9, 40, 68, 12, 46, 77, 16, 53, 87, 22, 60, 95, 30, 67, 104, 41, 75, 112, 52, 80, 117, 62, 85, 120, 71, 88, 122, 79, 91, 123, 87, 92, 122, 93, 93, 121, 99, 94, 120, 105, 94, 118, 110, 95, 117, 118, 95, 115, 124, 96, 113, 130, 96, 112, 137, 96, 110, 144, 97, 108, 152, 97, 106, 160, 98, 104, 168, 98, 102, 176, 99, 100, 186, 100, 98, 195, 102, 96, 203, 104, 95, 212, 107, 94, 219, 112, 95, 226, 119, 96, 231, 126, 99, 233, 133, 103, 234, 141, 107, 234, 148, 111, 232, 156, 117, 231, 162, 121, 230, 168, 126, 229, 175, 132, 229, 181, 138, 230, 189, 146, 231, 196, 154, 234, 204, 163, 237, 211, 173, 240, 219, 183, 245, 229, 196, 249, 237, 207, 253, 245, 218], shape(lipari50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lipariS = reshape([3, 19, 38, 253, 245, 218, 163, 98, 103, 233, 153, 115, 82, 91, 122, 216, 110, 94, 24, 62, 97, 231, 195, 152, 119, 95, 115, 240, 219, 183, 232, 130, 101, 190, 101, 97, 9, 40, 68, 140, 96, 109, 229, 173, 130, 54, 81, 118, 101, 94, 119, 176, 99, 100, 37, 72, 109, 231, 163, 122, 229, 184, 140, 92, 93, 121, 203, 104, 95, 69, 88, 122, 14, 51, 83, 235, 207, 167, 6, 29, 53, 129, 96, 112, 246, 232, 201, 226, 119, 96, 151, 97, 106, 234, 142, 108, 110, 95, 117, 45, 77, 114, 230, 124, 99, 62, 85, 120, 19, 56, 90, 134, 96, 111, 157, 98, 105, 11, 45, 75, 232, 158, 119, 210, 106, 94, 250, 238, 209, 87, 92, 122, 237, 213, 175, 233, 136, 104, 230, 168, 126, 124, 96, 113, 170, 98, 101, 7, 34, 60, 233, 201, 159, 145, 97, 108, 234, 148, 111, 229, 178, 135, 76, 90, 122, 197, 102, 96, 97, 94, 120, 230, 189, 146, 5, 24, 45, 243, 225, 192, 222, 114, 95, 183, 100, 98, 106, 94, 118, 30, 67, 104, 114, 95, 116, 13, 48, 79, 251, 241, 214, 230, 192, 149, 4, 22, 41, 231, 127, 100, 219, 112, 95, 131, 96, 111, 154, 97, 105, 121, 95, 114, 148, 97, 107, 6, 32, 56, 142, 97, 108, 27, 64, 100, 10, 42, 72, 207, 105, 94, 228, 122, 97, 231, 161, 120, 84, 92, 122, 232, 156, 117, 233, 151, 113, 173, 99, 101, 236, 210, 171, 230, 171, 128, 160, 98, 104, 230, 166, 124, 224, 116, 96, 248, 235, 205, 34, 70, 107, 232, 198, 156, 179, 99, 99, 21, 59, 94, 245, 229, 196, 229, 181, 138, 8, 37, 64, 90, 93, 122], shape(lipariS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lisbon = reshape([230, 229, 255, 227, 227, 253, 224, 226, 252, 221, 224, 250, 219, 222, 249, 216, 220, 247, 213, 218, 245, 211, 216, 244, 208, 214, 242, 205, 212, 241, 203, 210, 239, 200, 208, 237, 197, 206, 236, 195, 204, 234, 192, 202, 233, 189, 200, 231, 187, 198, 229, 184, 196, 228, 181, 194, 226, 179, 192, 225, 176, 190, 223, 173, 188, 222, 171, 186, 220, 168, 185, 218, 165, 183, 217, 163, 181, 215, 160, 179, 214, 158, 177, 212, 155, 175, 211, 152, 173, 209, 150, 171, 207, 147, 169, 206, 144, 167, 204, 142, 165, 203, 139, 163, 201, 137, 162, 200, 134, 160, 198, 132, 158, 196, 129, 156, 195, 126, 154, 193, 124, 152, 192, 121, 150, 190, 119, 148, 189, 116, 146, 187, 114, 144, 185, 111, 142, 184, 109, 141, 182, 106, 139, 181, 104, 137, 179, 101, 135, 177, 98, 133, 176, 96, 131, 174, 94, 129, 172, 91, 127, 171, 89, 125, 169, 86, 123, 167, 84, 121, 166, 81, 119, 164, 79, 117, 162, 76, 115, 160, 74, 114, 158, 72, 112, 157, 69, 110, 155, 67, 108, 153, 65, 106, 151, 63, 104, 149, 61, 102, 147, 58, 100, 145, 56, 98, 143, 54, 96, 140, 52, 94, 138, 50, 92, 136, 48, 90, 134, 47, 89, 132, 45, 87, 130, 43, 85, 127, 42, 83, 125, 40, 81, 123, 39, 79, 120, 37, 78, 118, 36, 76, 116, 34, 74, 113, 33, 72, 111, 32, 71, 109, 31, 69, 106, 30, 67, 104, 29, 66, 102, 28, 64, 100, 27, 63, 97, 26, 61, 95, 25, 60, 93, 25, 58, 90, 24, 57, 88, 23, 55, 86, 23, 54, 83, 22, 52, 81, 22, 51, 79, 21, 49, 77, 21, 48, 75, 20, 46, 72, 20, 45, 70, 19, 44, 68, 19, 42, 66, 19, 41, 64, 18, 40, 62, 18, 39, 60, 18, 37, 58, 18, 36, 55, 17, 35, 53, 17, 34, 51, 17, 33, 50, 17, 32, 48, 17, 31, 46, 17, 30, 44, 17, 29, 42, 17, 28, 40, 17, 27, 39, 18, 27, 37, 18, 26, 36, 18, 26, 34, 18, 25, 33, 19, 25, 32, 19, 25, 30, 20, 24, 29, 20, 24, 28, 21, 24, 27, 21, 24, 26, 22, 25, 26, 23, 25, 25, 24, 25, 25, 24, 26, 24, 25, 26, 24, 26, 27, 24, 27, 28, 23, 28, 28, 23, 30, 29, 23, 31, 30, 24, 32, 31, 24, 33, 32, 24, 35, 33, 24, 36, 35, 25, 37, 36, 25, 39, 37, 26, 40, 38, 26, 42, 40, 27, 43, 41, 28, 45, 43, 28, 47, 44, 29, 48, 45, 30, 50, 47, 31, 51, 48, 32, 53, 50, 32, 55, 52, 33, 56, 53, 34, 58, 55, 35, 60, 56, 36, 62, 58, 37, 63, 60, 38, 65, 61, 39, 67, 63, 40, 69, 64, 41, 70, 66, 42, 72, 68, 43, 74, 69, 44, 76, 71, 45, 77, 73, 46, 79, 75, 47, 81, 76, 49, 83, 78, 50, 85, 80, 51, 87, 81, 52, 88, 83, 53, 90, 85, 54, 92, 87, 55, 94, 88, 56, 96, 90, 57, 98, 92, 58, 100, 94, 60, 102, 96, 61, 104, 97, 62, 105, 99, 63, 107, 101, 64, 109, 103, 65, 111, 105, 67, 113, 107, 68, 115, 108, 69, 117, 110, 70, 119, 112, 71, 121, 114, 73, 123, 116, 74, 125, 118, 75, 127, 120, 76, 129, 122, 78, 131, 123, 79, 133, 125, 80, 135, 127, 82, 137, 129, 83, 139, 131, 85, 141, 133, 86, 143, 135, 88, 145, 137, 89, 148, 139, 91, 150, 141, 92, 152, 143, 94, 154, 145, 96, 156, 147, 97, 158, 150, 99, 160, 152, 101, 162, 154, 103, 164, 156, 105, 166, 158, 106, 168, 160, 108, 171, 162, 110, 173, 164, 112, 175, 167, 114, 177, 169, 117, 179, 171, 119, 181, 173, 121, 183, 175, 123, 185, 177, 125, 187, 179, 128, 189, 182, 130, 191, 184, 132, 193, 186, 135, 195, 188, 137, 197, 190, 139, 199, 192, 142, 201, 195, 144, 203, 197, 147, 205, 199, 149, 207, 201, 152, 209, 203, 154, 211, 205, 157, 213, 207, 159, 215, 210, 162, 217, 212, 164, 218, 214, 167, 220, 216, 169, 222, 218, 172, 224, 220, 175, 226, 222, 177, 228, 225, 180, 230, 227, 182, 232, 229, 185, 234, 231, 188, 236, 233, 190, 238, 235, 193, 240, 238, 195, 241, 240, 198, 243, 242, 201, 245, 244, 203, 247, 246, 206, 249, 248, 209, 251, 251, 211, 253, 253, 214, 255, 255, 217], shape(lisbon), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lisbon10 = reshape([230, 229, 255, 155, 175, 211, 81, 119, 164, 30, 67, 104, 17, 30, 44, 39, 37, 26, 87, 81, 52, 141, 133, 86, 201, 195, 144, 255, 255, 217], shape(lisbon10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lisbon100 = reshape([230, 229, 255, 221, 224, 250, 216, 220, 247, 208, 214, 242, 203, 210, 239, 195, 204, 234, 189, 200, 231, 181, 194, 226, 173, 188, 222, 168, 185, 218, 160, 179, 214, 155, 175, 211, 147, 169, 206, 142, 165, 203, 134, 160, 198, 126, 154, 193, 121, 150, 190, 114, 144, 185, 109, 141, 182, 101, 135, 177, 94, 129, 172, 89, 125, 169, 81, 119, 164, 76, 115, 160, 69, 110, 155, 65, 106, 151, 58, 100, 145, 52, 94, 138, 48, 90, 134, 43, 85, 127, 40, 81, 123, 36, 76, 116, 33, 72, 111, 30, 67, 104, 27, 63, 97, 25, 60, 93, 23, 55, 86, 22, 52, 81, 21, 48, 75, 20, 45, 70, 19, 41, 64, 18, 37, 58, 17, 35, 53, 17, 32, 48, 17, 30, 44, 17, 27, 39, 18, 26, 36, 19, 25, 32, 20, 24, 28, 21, 24, 26, 24, 25, 25, 25, 26, 24, 28, 28, 23, 32, 31, 24, 35, 33, 24, 39, 37, 26, 42, 40, 27, 47, 44, 29, 50, 47, 31, 55, 52, 33, 60, 56, 36, 63, 60, 38, 69, 64, 41, 72, 68, 43, 77, 73, 46, 81, 76, 49, 87, 81, 52, 92, 87, 55, 96, 90, 57, 102, 96, 61, 105, 99, 63, 111, 105, 67, 115, 108, 69, 121, 114, 73, 127, 120, 76, 131, 123, 79, 137, 129, 83, 141, 133, 86, 148, 139, 91, 152, 143, 94, 158, 150, 99, 164, 156, 105, 168, 160, 108, 175, 167, 114, 179, 171, 119, 185, 177, 125, 191, 184, 132, 195, 188, 137, 201, 195, 144, 205, 199, 149, 211, 205, 157, 215, 210, 162, 220, 216, 169, 226, 222, 177, 230, 227, 182, 236, 233, 190, 240, 238, 195, 245, 244, 203, 249, 248, 209, 255, 255, 217], shape(lisbon100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lisbon25 = reshape([230, 229, 255, 200, 208, 237, 173, 188, 222, 144, 167, 204, 116, 146, 187, 91, 127, 171, 65, 106, 151, 45, 87, 130, 30, 67, 104, 22, 51, 79, 18, 37, 58, 18, 27, 37, 23, 25, 25, 33, 32, 24, 50, 47, 31, 67, 63, 40, 87, 81, 52, 107, 101, 64, 127, 120, 76, 150, 141, 92, 173, 164, 112, 193, 186, 135, 215, 210, 162, 234, 231, 188, 255, 255, 217], shape(lisbon25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lisbon50 = reshape([230, 229, 255, 216, 220, 247, 203, 210, 239, 187, 198, 229, 173, 188, 222, 160, 179, 214, 147, 169, 206, 134, 160, 198, 119, 148, 189, 106, 139, 181, 94, 129, 172, 81, 119, 164, 69, 110, 155, 56, 98, 143, 47, 89, 132, 39, 79, 120, 32, 71, 109, 27, 63, 97, 23, 54, 83, 20, 46, 72, 18, 40, 62, 17, 34, 51, 17, 29, 42, 18, 25, 33, 21, 24, 27, 24, 26, 24, 30, 29, 23, 37, 36, 25, 45, 43, 28, 53, 50, 32, 62, 58, 37, 70, 66, 42, 81, 76, 49, 90, 85, 54, 100, 94, 60, 109, 103, 65, 119, 112, 71, 131, 123, 79, 141, 133, 86, 152, 143, 94, 162, 154, 103, 173, 164, 112, 185, 177, 125, 195, 188, 137, 205, 199, 149, 215, 210, 162, 224, 220, 175, 236, 233, 190, 245, 244, 203, 255, 255, 217], shape(lisbon50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: managua = reshape([255, 207, 103, 254, 205, 102, 253, 203, 102, 251, 201, 101, 250, 199, 100, 249, 197, 100, 248, 195, 99, 246, 193, 98, 245, 191, 98, 244, 189, 97, 243, 187, 96, 241, 185, 96, 240, 183, 95, 239, 181, 94, 238, 179, 94, 236, 177, 93, 235, 176, 93, 234, 174, 92, 233, 172, 91, 232, 170, 91, 230, 168, 90, 229, 166, 89, 228, 164, 89, 227, 163, 88, 225, 161, 88, 224, 159, 87, 223, 157, 86, 222, 156, 86, 221, 154, 85, 219, 152, 85, 218, 150, 84, 217, 149, 84, 216, 147, 83, 215, 145, 82, 213, 144, 82, 212, 142, 81, 211, 140, 81, 210, 139, 80, 209, 137, 80, 207, 135, 79, 206, 134, 79, 205, 132, 78, 204, 130, 77, 203, 129, 77, 201, 127, 76, 200, 126, 76, 199, 124, 75, 198, 123, 75, 197, 121, 74, 195, 119, 74, 194, 118, 73, 193, 116, 73, 192, 115, 72, 190, 113, 72, 189, 112, 71, 188, 111, 71, 187, 109, 70, 185, 108, 70, 184, 106, 69, 183, 105, 69, 182, 103, 69, 180, 102, 68, 179, 100, 68, 178, 99, 67, 177, 98, 67, 175, 96, 66, 174, 95, 66, 173, 94, 66, 171, 92, 65, 170, 91, 65, 168, 89, 64, 167, 88, 64, 166, 87, 63, 164, 85, 63, 163, 84, 63, 161, 83, 62, 160, 81, 62, 158, 80, 62, 157, 79, 61, 156, 77, 61, 154, 76, 61, 152, 75, 60, 151, 73, 60, 149, 72, 60, 148, 71, 59, 146, 70, 59, 145, 68, 59, 143, 67, 59, 142, 66, 58, 140, 65, 58, 138, 63, 58, 137, 62, 58, 135, 61, 57, 134, 60, 57, 132, 59, 57, 130, 58, 57, 129, 57, 57, 127, 56, 57, 126, 55, 57, 124, 54, 57, 122, 53, 57, 121, 52, 57, 119, 51, 57, 118, 50, 57, 116, 49, 57, 115, 48, 57, 113, 47, 58, 112, 47, 58, 110, 46, 58, 109, 45, 58, 107, 45, 59, 106, 44, 59, 105, 43, 60, 103, 43, 60, 102, 42, 61, 101, 42, 61, 99, 42, 62, 98, 41, 63, 97, 41, 63, 96, 41, 64, 95, 41, 65, 94, 41, 66, 93, 40, 67, 92, 40, 67, 91, 40, 68, 90, 40, 70, 89, 41, 71, 88, 41, 72, 87, 41, 73, 86, 41, 74, 85, 42, 76, 84, 42, 77, 84, 42, 78, 83, 43, 80, 82, 43, 81, 82, 44, 83, 81, 45, 84, 81, 45, 86, 80, 46, 88, 80, 47, 89, 79, 48, 91, 79, 49, 93, 78, 49, 94, 78, 50, 96, 78, 51, 98, 77, 52, 100, 77, 53, 102, 77, 54, 104, 77, 55, 106, 76, 57, 107, 76, 58, 109, 76, 59, 111, 76, 60, 113, 76, 61, 115, 76, 63, 117, 76, 64, 119, 76, 65, 121, 76, 67, 123, 76, 68, 125, 76, 69, 127, 76, 71, 129, 76, 72, 131, 76, 74, 133, 76, 75, 134, 77, 76, 136, 77, 78, 138, 77, 79, 140, 77, 81, 142, 77, 82, 144, 78, 84, 145, 78, 85, 147, 78, 87, 149, 79, 88, 151, 79, 90, 152, 79, 91, 154, 80, 93, 156, 80, 94, 157, 81, 96, 159, 81, 97, 161, 81, 99, 162, 82, 100, 164, 82, 102, 165, 83, 103, 167, 83, 105, 168, 84, 106, 170, 84, 108, 171, 85, 110, 172, 85, 111, 174, 86, 113, 175, 86, 114, 177, 87, 116, 178, 87, 117, 179, 88, 119, 181, 88, 120, 182, 89, 122, 183, 89, 123, 184, 90, 125, 186, 91, 126, 187, 91, 128, 188, 92, 129, 189, 92, 131, 191, 93, 133, 192, 93, 134, 193, 94, 136, 194, 95, 137, 195, 95, 139, 197, 96, 141, 198, 96, 142, 199, 97, 144, 200, 98, 146, 201, 98, 147, 203, 99, 149, 204, 100, 151, 205, 100, 152, 206, 101, 154, 207, 102, 156, 208, 102, 158, 210, 103, 159, 211, 104, 161, 212, 104, 163, 213, 105, 165, 214, 105, 166, 215, 106, 168, 217, 107, 170, 218, 107, 172, 219, 108, 173, 220, 109, 175, 221, 109, 177, 222, 110, 179, 223, 111, 181, 225, 111, 182, 226, 112, 184, 227, 113, 186, 228, 114, 188, 229, 114, 190, 230, 115, 192, 231, 116, 194, 233, 116, 196, 234, 117, 197, 235, 118, 199, 236, 118, 201, 237, 119, 203, 238, 120, 205, 240, 120, 207, 241, 121, 209, 242, 122, 211, 243, 122, 213, 244, 123, 215, 245, 124, 217, 247, 124, 219, 248, 125, 221, 249, 126, 223, 250, 126, 225, 251, 127, 227, 253, 128, 229, 254, 129, 231, 255], shape(managua), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: managua10 = reshape([255, 207, 103, 221, 154, 85, 185, 108, 70, 146, 70, 59, 103, 43, 60, 78, 49, 94, 78, 85, 147, 91, 128, 188, 109, 177, 222, 129, 231, 255], shape(managua10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: managua100 = reshape([255, 207, 103, 251, 201, 101, 249, 197, 100, 245, 191, 98, 243, 187, 96, 239, 181, 94, 236, 177, 93, 233, 172, 91, 229, 166, 89, 227, 163, 88, 223, 157, 86, 221, 154, 85, 217, 149, 84, 215, 145, 82, 211, 140, 81, 207, 135, 79, 205, 132, 78, 201, 127, 76, 199, 124, 75, 195, 119, 74, 192, 115, 72, 189, 112, 71, 185, 108, 70, 183, 105, 69, 179, 100, 68, 177, 98, 67, 173, 94, 66, 168, 89, 64, 166, 87, 63, 161, 83, 62, 158, 80, 62, 154, 76, 61, 151, 73, 60, 146, 70, 59, 142, 66, 58, 138, 63, 58, 134, 60, 57, 130, 58, 57, 126, 55, 57, 122, 53, 57, 118, 50, 57, 113, 47, 58, 110, 46, 58, 106, 44, 59, 103, 43, 60, 99, 42, 62, 97, 41, 63, 94, 41, 66, 91, 40, 68, 89, 41, 71, 86, 41, 74, 84, 42, 77, 82, 43, 81, 81, 45, 86, 80, 47, 89, 78, 49, 94, 78, 51, 98, 77, 54, 104, 76, 57, 107, 76, 60, 113, 76, 64, 119, 76, 67, 123, 76, 71, 129, 76, 74, 133, 77, 78, 138, 77, 81, 142, 78, 85, 147, 79, 90, 152, 80, 93, 156, 81, 97, 161, 82, 100, 164, 83, 105, 168, 84, 108, 171, 86, 113, 175, 87, 117, 179, 88, 120, 182, 90, 125, 186, 91, 128, 188, 93, 133, 192, 94, 136, 194, 96, 141, 198, 98, 146, 201, 99, 149, 204, 101, 154, 207, 102, 158, 210, 104, 163, 213, 106, 168, 217, 107, 172, 219, 109, 177, 222, 111, 181, 225, 113, 186, 228, 114, 190, 230, 116, 196, 234, 118, 201, 237, 120, 205, 240, 122, 211, 243, 123, 215, 245, 125, 221, 249, 126, 225, 251, 129, 231, 255], shape(managua100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: managua25 = reshape([255, 207, 103, 241, 185, 96, 229, 166, 89, 216, 147, 83, 203, 129, 77, 190, 113, 72, 177, 98, 67, 163, 84, 63, 146, 70, 59, 129, 57, 57, 113, 47, 58, 98, 41, 63, 87, 41, 73, 80, 46, 88, 76, 57, 107, 76, 69, 127, 78, 85, 147, 82, 102, 165, 87, 117, 179, 93, 134, 193, 100, 152, 206, 107, 170, 218, 114, 190, 230, 121, 209, 242, 129, 231, 255], shape(managua25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: managua50 = reshape([255, 207, 103, 249, 197, 100, 243, 187, 96, 235, 176, 93, 229, 166, 89, 223, 157, 86, 217, 149, 84, 211, 140, 81, 204, 130, 77, 198, 123, 75, 192, 115, 72, 185, 108, 70, 179, 100, 68, 171, 92, 65, 164, 85, 63, 157, 79, 61, 149, 72, 60, 142, 66, 58, 132, 59, 57, 124, 54, 57, 116, 49, 57, 109, 45, 58, 102, 42, 61, 95, 41, 65, 90, 40, 70, 85, 42, 76, 82, 44, 83, 79, 49, 93, 77, 53, 102, 76, 59, 111, 76, 65, 121, 76, 72, 131, 77, 81, 142, 79, 88, 151, 81, 96, 159, 83, 103, 167, 85, 111, 174, 88, 120, 182, 91, 128, 188, 94, 136, 194, 97, 144, 200, 100, 152, 206, 104, 163, 213, 107, 172, 219, 111, 181, 225, 114, 190, 230, 118, 199, 236, 122, 211, 243, 125, 221, 249, 129, 231, 255], shape(managua50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: navia = reshape([3, 19, 39, 4, 21, 41, 4, 22, 43, 4, 23, 44, 4, 24, 46, 4, 25, 48, 5, 26, 50, 5, 27, 52, 5, 28, 54, 5, 29, 56, 5, 30, 58, 5, 32, 60, 5, 33, 62, 5, 34, 64, 5, 35, 66, 5, 36, 68, 5, 37, 70, 5, 38, 72, 6, 40, 74, 6, 41, 76, 6, 42, 78, 6, 43, 80, 6, 44, 82, 6, 46, 84, 6, 47, 86, 6, 48, 88, 6, 49, 90, 7, 50, 92, 7, 52, 94, 7, 53, 96, 7, 54, 98, 7, 55, 100, 7, 57, 102, 8, 58, 104, 8, 59, 106, 8, 60, 107, 8, 62, 109, 9, 63, 111, 9, 64, 113, 10, 65, 115, 10, 67, 116, 11, 68, 118, 11, 69, 120, 11, 70, 121, 12, 72, 123, 13, 73, 125, 13, 74, 126, 14, 76, 128, 14, 77, 129, 15, 78, 130, 16, 79, 132, 16, 81, 133, 17, 82, 134, 18, 83, 135, 19, 84, 136, 19, 86, 137, 20, 87, 138, 21, 88, 139, 22, 89, 140, 23, 90, 141, 23, 92, 141, 24, 93, 142, 25, 94, 142, 26, 95, 143, 27, 96, 143, 27, 97, 144, 28, 98, 144, 29, 99, 144, 30, 100, 145, 30, 101, 145, 31, 102, 145, 32, 103, 145, 32, 104, 145, 33, 105, 145, 34, 106, 145, 34, 107, 145, 35, 108, 145, 36, 108, 145, 36, 109, 145, 37, 110, 144, 38, 111, 144, 38, 111, 144, 39, 112, 144, 39, 113, 143, 40, 113, 143, 40, 114, 143, 41, 115, 143, 42, 115, 142, 42, 116, 142, 43, 117, 142, 43, 117, 141, 44, 118, 141, 44, 118, 141, 45, 119, 140, 45, 120, 140, 46, 120, 140, 47, 121, 139, 47, 121, 139, 48, 122, 139, 48, 122, 138, 49, 123, 138, 49, 124, 138, 50, 124, 137, 50, 125, 137, 51, 125, 137, 52, 126, 136, 52, 126, 136, 53, 127, 136, 53, 127, 135, 54, 128, 135, 54, 128, 134, 55, 129, 134, 55, 129, 134, 56, 130, 133, 57, 131, 133, 57, 131, 133, 58, 132, 132, 58, 132, 132, 59, 133, 132, 60, 133, 131, 60, 134, 131, 61, 134, 130, 61, 135, 130, 62, 136, 130, 63, 136, 129, 63, 137, 129, 64, 137, 129, 64, 138, 128, 65, 138, 128, 66, 139, 127, 66, 140, 127, 67, 140, 127, 68, 141, 126, 68, 141, 126, 69, 142, 125, 70, 143, 125, 71, 143, 125, 71, 144, 124, 72, 145, 124, 73, 145, 123, 73, 146, 123, 74, 147, 122, 75, 147, 122, 76, 148, 122, 76, 149, 121, 77, 149, 121, 78, 150, 120, 79, 151, 120, 80, 152, 119, 80, 152, 119, 81, 153, 118, 82, 154, 118, 83, 155, 117, 84, 155, 117, 85, 156, 116, 86, 157, 116, 87, 158, 115, 87, 159, 115, 88, 160, 114, 89, 160, 114, 90, 161, 113, 91, 162, 113, 92, 163, 112, 93, 164, 112, 94, 165, 111, 95, 166, 111, 96, 167, 110, 98, 168, 110, 99, 169, 109, 100, 170, 109, 101, 171, 108, 102, 172, 108, 103, 173, 107, 105, 174, 107, 106, 175, 106, 107, 176, 106, 109, 177, 105, 110, 178, 105, 112, 179, 105, 113, 180, 105, 115, 181, 104, 116, 182, 104, 118, 183, 104, 120, 185, 104, 121, 186, 104, 123, 187, 104, 125, 188, 104, 127, 189, 104, 129, 191, 104, 131, 192, 104, 133, 193, 105, 135, 194, 105, 137, 195, 106, 140, 197, 106, 142, 198, 107, 144, 199, 108, 147, 200, 109, 149, 202, 110, 152, 203, 111, 154, 204, 112, 156, 205, 114, 159, 206, 115, 162, 207, 116, 164, 209, 118, 167, 210, 120, 169, 211, 121, 172, 212, 123, 174, 213, 125, 177, 214, 127, 179, 215, 129, 181, 216, 131, 184, 217, 133, 186, 218, 135, 188, 219, 137, 191, 220, 139, 193, 220, 141, 195, 221, 144, 197, 222, 146, 199, 223, 148, 201, 224, 150, 203, 224, 152, 205, 225, 155, 207, 226, 157, 209, 227, 159, 211, 227, 161, 213, 228, 163, 215, 229, 165, 216, 229, 168, 218, 230, 170, 220, 231, 172, 221, 231, 174, 223, 232, 176, 224, 232, 178, 226, 233, 180, 227, 234, 182, 229, 234, 184, 230, 235, 186, 232, 235, 188, 233, 236, 190, 234, 237, 191, 235, 237, 193, 237, 238, 195, 238, 238, 197, 239, 239, 198, 240, 239, 200, 241, 240, 202, 243, 240, 203, 244, 241, 205, 245, 241, 207, 246, 242, 208, 247, 242, 210, 248, 243, 211, 249, 243, 213, 250, 243, 214, 251, 244, 215, 252, 244, 217], shape(navia), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: navia10 = reshape([3, 19, 39, 7, 52, 94, 21, 88, 139, 40, 114, 143, 56, 130, 133, 75, 147, 122, 101, 171, 108, 152, 203, 111, 216, 229, 168, 252, 244, 217], shape(navia10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: navia100 = reshape([3, 19, 39, 4, 23, 44, 4, 25, 48, 5, 28, 54, 5, 30, 58, 5, 34, 64, 5, 36, 68, 6, 40, 74, 6, 43, 80, 6, 46, 84, 6, 49, 90, 7, 52, 94, 7, 55, 100, 8, 58, 104, 8, 62, 109, 10, 65, 115, 11, 68, 118, 12, 72, 123, 13, 74, 126, 15, 78, 130, 17, 82, 134, 19, 84, 136, 21, 88, 139, 23, 90, 141, 25, 94, 142, 27, 96, 143, 29, 99, 144, 31, 102, 145, 32, 104, 145, 34, 107, 145, 36, 108, 145, 38, 111, 144, 39, 112, 144, 40, 114, 143, 42, 116, 142, 43, 117, 141, 45, 119, 140, 46, 120, 140, 48, 122, 139, 49, 123, 138, 50, 125, 137, 52, 126, 136, 53, 127, 135, 55, 129, 134, 56, 130, 133, 58, 132, 132, 59, 133, 132, 61, 134, 130, 63, 136, 129, 64, 137, 129, 66, 139, 127, 67, 140, 127, 69, 142, 125, 71, 144, 124, 73, 145, 123, 75, 147, 122, 76, 149, 121, 79, 151, 120, 80, 152, 119, 83, 155, 117, 86, 157, 116, 87, 159, 115, 90, 161, 113, 92, 163, 112, 95, 166, 111, 98, 168, 110, 101, 171, 108, 105, 174, 107, 107, 176, 106, 112, 179, 105, 115, 181, 104, 120, 185, 104, 123, 187, 104, 129, 191, 104, 135, 194, 105, 140, 197, 106, 147, 200, 109, 152, 203, 111, 159, 206, 115, 164, 209, 118, 172, 212, 123, 179, 215, 129, 184, 217, 133, 191, 220, 139, 195, 221, 144, 201, 224, 150, 207, 226, 157, 211, 227, 161, 216, 229, 168, 220, 231, 172, 224, 232, 178, 227, 234, 182, 232, 235, 188, 235, 237, 193, 238, 238, 197, 241, 240, 202, 244, 241, 205, 247, 242, 210, 249, 243, 213, 252, 244, 217], shape(navia100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: navia25 = reshape([3, 19, 39, 5, 32, 60, 6, 43, 80, 7, 57, 102, 11, 70, 121, 18, 83, 135, 27, 96, 143, 34, 106, 145, 40, 114, 143, 47, 121, 139, 52, 126, 136, 58, 132, 132, 65, 138, 128, 72, 145, 124, 80, 152, 119, 89, 160, 114, 101, 171, 108, 116, 182, 104, 135, 194, 105, 162, 207, 116, 188, 219, 137, 209, 227, 159, 227, 234, 182, 240, 239, 200, 252, 244, 217], shape(navia25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: navia50 = reshape([3, 19, 39, 4, 25, 48, 5, 30, 58, 5, 37, 70, 6, 43, 80, 6, 49, 90, 7, 55, 100, 8, 62, 109, 11, 69, 120, 14, 76, 128, 17, 82, 134, 21, 88, 139, 25, 94, 142, 30, 100, 145, 33, 105, 145, 36, 109, 145, 39, 113, 143, 42, 116, 142, 45, 120, 140, 48, 122, 138, 51, 125, 137, 54, 128, 135, 57, 131, 133, 60, 134, 131, 63, 137, 129, 66, 140, 127, 70, 143, 125, 74, 147, 122, 78, 150, 120, 82, 154, 118, 87, 158, 115, 91, 162, 113, 98, 168, 110, 103, 173, 107, 110, 178, 105, 118, 183, 104, 127, 189, 104, 140, 197, 106, 152, 203, 111, 164, 209, 118, 177, 214, 127, 188, 219, 137, 201, 224, 150, 211, 227, 161, 220, 231, 172, 227, 234, 182, 234, 237, 191, 241, 240, 202, 247, 242, 210, 252, 244, 217], shape(navia50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: naviaS = reshape([3, 19, 39, 252, 244, 217, 65, 138, 128, 27, 96, 143, 135, 194, 105, 7, 57, 102, 209, 227, 159, 47, 121, 139, 89, 160, 114, 234, 237, 191, 5, 37, 70, 14, 77, 129, 38, 111, 144, 174, 213, 125, 107, 176, 106, 55, 129, 134, 76, 149, 121, 32, 104, 145, 5, 28, 54, 10, 67, 116, 6, 47, 86, 51, 125, 137, 193, 220, 141, 244, 241, 205, 98, 168, 110, 154, 204, 112, 42, 116, 142, 71, 143, 125, 60, 134, 131, 223, 232, 176, 120, 185, 104, 20, 87, 138, 83, 155, 117, 23, 92, 141, 239, 239, 198, 4, 24, 46, 73, 146, 123, 216, 229, 168, 12, 72, 123, 53, 127, 135, 40, 113, 143, 93, 164, 112, 184, 217, 133, 49, 123, 138, 102, 172, 108, 248, 243, 211, 144, 199, 108, 127, 189, 104, 229, 234, 184, 7, 52, 94, 68, 141, 126, 80, 152, 119, 113, 180, 105, 58, 132, 132, 17, 82, 134, 5, 33, 62, 6, 42, 78, 30, 100, 145, 201, 224, 150, 164, 209, 118, 35, 108, 145, 8, 62, 109, 63, 136, 129, 44, 118, 141, 87, 158, 115, 43, 117, 141, 5, 35, 66, 59, 133, 132, 57, 131, 133, 39, 112, 144, 232, 235, 188, 69, 142, 125, 123, 187, 104, 105, 174, 107, 188, 219, 137, 22, 89, 140, 159, 206, 115, 48, 122, 139, 5, 30, 58, 213, 228, 163, 246, 242, 208, 7, 54, 98, 66, 140, 127, 140, 197, 106, 6, 49, 90, 5, 26, 50, 54, 128, 134, 11, 69, 120, 241, 240, 202, 226, 233, 180, 220, 231, 172, 250, 243, 214, 91, 162, 113, 95, 166, 111, 36, 109, 145, 6, 44, 82, 52, 126, 136, 72, 145, 124, 75, 147, 122, 131, 192, 104], shape(naviaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: naviaW = reshape([4, 20, 39, 4, 21, 41, 4, 22, 43, 4, 23, 45, 5, 25, 47, 5, 26, 49, 5, 27, 51, 5, 28, 53, 5, 29, 55, 5, 30, 57, 5, 32, 59, 5, 33, 61, 6, 34, 63, 6, 35, 65, 6, 36, 67, 6, 38, 69, 6, 39, 71, 6, 40, 74, 6, 41, 76, 7, 43, 78, 7, 44, 80, 7, 45, 82, 7, 47, 84, 7, 48, 86, 8, 49, 88, 8, 50, 90, 8, 52, 92, 8, 53, 94, 9, 54, 96, 9, 56, 98, 9, 57, 100, 10, 58, 102, 10, 60, 104, 10, 61, 106, 11, 62, 107, 11, 64, 109, 12, 65, 111, 12, 66, 113, 13, 68, 114, 14, 69, 116, 14, 70, 118, 15, 72, 119, 15, 73, 121, 16, 74, 122, 17, 76, 124, 17, 77, 125, 18, 78, 127, 19, 80, 128, 20, 81, 129, 20, 82, 130, 21, 84, 131, 22, 85, 132, 23, 86, 134, 24, 88, 134, 24, 89, 135, 25, 90, 136, 26, 91, 137, 27, 93, 138, 28, 94, 139, 28, 95, 139, 29, 96, 140, 30, 97, 140, 31, 98, 141, 32, 100, 141, 32, 101, 142, 33, 102, 142, 34, 103, 142, 35, 104, 142, 35, 105, 143, 36, 106, 143, 37, 107, 143, 38, 108, 143, 38, 109, 143, 39, 109, 143, 40, 110, 143, 40, 111, 143, 41, 112, 143, 42, 113, 143, 42, 114, 143, 43, 114, 143, 43, 115, 142, 44, 116, 142, 45, 117, 142, 45, 117, 142, 46, 118, 142, 46, 119, 141, 47, 119, 141, 48, 120, 141, 48, 121, 141, 49, 121, 140, 49, 122, 140, 50, 123, 140, 51, 123, 140, 51, 124, 139, 52, 125, 139, 52, 125, 139, 53, 126, 138, 54, 126, 138, 54, 127, 138, 55, 128, 137, 55, 128, 137, 56, 129, 137, 56, 129, 136, 57, 130, 136, 58, 131, 136, 58, 131, 135, 59, 132, 135, 60, 132, 135, 60, 133, 134, 61, 134, 134, 61, 134, 134, 62, 135, 133, 63, 135, 133, 63, 136, 133, 64, 137, 132, 65, 137, 132, 65, 138, 131, 66, 138, 131, 67, 139, 131, 67, 140, 130, 68, 140, 130, 69, 141, 130, 69, 142, 129, 70, 142, 129, 71, 143, 128, 72, 144, 128, 72, 144, 128, 73, 145, 127, 74, 146, 127, 75, 146, 126, 75, 147, 126, 76, 148, 126, 77, 149, 125, 78, 149, 125, 79, 150, 124, 80, 151, 124, 80, 152, 124, 81, 153, 123, 82, 153, 123, 83, 154, 122, 84, 155, 122, 85, 156, 121, 86, 157, 121, 87, 157, 120, 88, 158, 120, 89, 159, 120, 90, 160, 119, 91, 161, 119, 92, 162, 118, 93, 163, 118, 94, 164, 117, 95, 165, 117, 96, 166, 117, 98, 167, 116, 99, 168, 116, 100, 169, 115, 101, 170, 115, 103, 171, 115, 104, 172, 114, 105, 173, 114, 107, 174, 114, 108, 175, 113, 110, 176, 113, 111, 178, 113, 113, 179, 113, 114, 180, 113, 116, 181, 113, 118, 182, 113, 119, 184, 113, 121, 185, 113, 123, 186, 113, 125, 188, 113, 127, 189, 113, 129, 190, 114, 131, 192, 114, 133, 193, 114, 135, 194, 115, 137, 196, 116, 140, 197, 116, 142, 198, 117, 144, 200, 118, 147, 201, 119, 149, 203, 120, 152, 204, 121, 154, 205, 123, 157, 207, 124, 159, 208, 125, 162, 210, 127, 164, 211, 129, 167, 212, 130, 169, 214, 132, 172, 215, 134, 175, 216, 136, 177, 217, 138, 180, 219, 140, 182, 220, 142, 185, 221, 144, 187, 222, 147, 190, 223, 149, 192, 225, 151, 194, 226, 154, 197, 227, 156, 199, 228, 158, 201, 229, 161, 203, 230, 163, 205, 231, 166, 207, 232, 168, 209, 232, 171, 211, 233, 173, 213, 234, 175, 215, 235, 178, 216, 236, 180, 218, 236, 182, 219, 237, 185, 221, 238, 187, 222, 238, 189, 224, 239, 191, 225, 240, 194, 227, 240, 196, 228, 241, 198, 229, 241, 200, 230, 242, 202, 231, 243, 204, 232, 243, 206, 233, 244, 208, 234, 244, 210, 235, 245, 212, 236, 245, 213, 237, 245, 215, 238, 246, 217, 239, 246, 219, 240, 247, 220, 241, 247, 222, 241, 248, 224, 242, 248, 225, 243, 248, 227, 243, 249, 228, 244, 249, 230, 245, 249, 231, 246, 250, 233, 246, 250, 234, 247, 250, 236, 247, 251, 237, 248, 251, 238, 249, 251, 240, 249, 252, 241, 250, 252, 242, 250, 252, 243, 251, 253, 245, 251, 253, 246, 252, 253, 247, 252, 253, 248, 253, 254, 249, 253, 254, 251, 254, 254, 252, 254, 254, 253], shape(naviaW), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: naviaW10 = reshape([4, 20, 39, 9, 54, 96, 27, 93, 138, 46, 119, 141, 63, 136, 133, 86, 157, 121, 123, 186, 113, 190, 223, 149, 236, 245, 213, 254, 254, 253], shape(naviaW10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: naviaW100 = reshape([4, 20, 39, 4, 23, 45, 5, 26, 49, 5, 29, 55, 5, 32, 59, 6, 35, 65, 6, 38, 69, 6, 41, 76, 7, 45, 82, 7, 48, 86, 8, 52, 92, 9, 54, 96, 10, 58, 102, 10, 61, 106, 12, 65, 111, 14, 69, 116, 15, 72, 119, 17, 76, 124, 18, 78, 127, 20, 82, 130, 23, 86, 134, 24, 89, 135, 27, 93, 138, 28, 95, 139, 31, 98, 141, 32, 101, 142, 35, 104, 142, 37, 107, 143, 38, 109, 143, 40, 111, 143, 42, 113, 143, 43, 115, 142, 45, 117, 142, 46, 119, 141, 48, 121, 141, 49, 122, 140, 51, 124, 139, 52, 125, 139, 54, 127, 138, 55, 128, 137, 57, 130, 136, 59, 132, 135, 60, 133, 134, 62, 135, 133, 63, 136, 133, 65, 138, 131, 67, 139, 131, 69, 141, 130, 71, 143, 128, 72, 144, 128, 75, 146, 126, 76, 148, 126, 79, 150, 124, 81, 153, 123, 83, 154, 122, 86, 157, 121, 88, 158, 120, 91, 161, 119, 93, 163, 118, 96, 166, 117, 100, 169, 115, 103, 171, 115, 107, 174, 114, 110, 176, 113, 114, 180, 113, 118, 182, 113, 123, 186, 113, 129, 190, 114, 133, 193, 114, 140, 197, 116, 144, 200, 118, 152, 204, 121, 157, 207, 124, 164, 211, 129, 172, 215, 134, 177, 217, 138, 185, 221, 144, 190, 223, 149, 197, 227, 156, 201, 229, 161, 207, 232, 168, 213, 234, 175, 216, 236, 180, 221, 238, 187, 224, 239, 191, 228, 241, 198, 231, 243, 204, 233, 244, 208, 236, 245, 213, 238, 246, 217, 241, 247, 222, 242, 248, 225, 244, 249, 230, 246, 250, 234, 247, 251, 237, 249, 252, 241, 250, 252, 243, 252, 253, 247, 253, 254, 249, 254, 254, 253], shape(naviaW100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: naviaW25 = reshape([4, 20, 39, 5, 33, 61, 7, 45, 82, 10, 60, 104, 16, 74, 122, 24, 88, 134, 32, 101, 142, 40, 110, 143, 46, 119, 141, 53, 126, 138, 59, 132, 135, 66, 138, 131, 74, 146, 127, 82, 153, 123, 93, 163, 118, 105, 173, 114, 123, 186, 113, 147, 201, 119, 172, 215, 134, 199, 228, 158, 219, 237, 185, 232, 243, 206, 242, 248, 225, 249, 251, 240, 254, 254, 253], shape(naviaW25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: naviaW50 = reshape([4, 20, 39, 5, 26, 49, 5, 32, 59, 6, 39, 71, 7, 45, 82, 8, 52, 92, 10, 58, 102, 12, 65, 111, 15, 73, 121, 19, 80, 128, 23, 86, 134, 27, 93, 138, 31, 98, 141, 35, 105, 143, 39, 109, 143, 42, 114, 143, 45, 117, 142, 48, 121, 141, 52, 125, 139, 55, 128, 137, 58, 131, 136, 61, 134, 134, 64, 137, 132, 68, 140, 130, 72, 144, 128, 75, 147, 126, 80, 151, 124, 85, 156, 121, 90, 160, 119, 95, 165, 117, 101, 170, 115, 108, 175, 113, 118, 182, 113, 127, 189, 113, 137, 196, 116, 149, 203, 120, 162, 210, 127, 177, 217, 138, 190, 223, 149, 201, 229, 161, 211, 233, 173, 219, 237, 185, 228, 241, 198, 233, 244, 208, 238, 246, 217, 242, 248, 225, 246, 250, 233, 249, 252, 241, 252, 253, 247, 254, 254, 253], shape(naviaW50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: naviaWS = reshape([4, 20, 39, 251, 253, 246, 72, 144, 128, 31, 98, 141, 162, 210, 127, 227, 240, 196, 10, 58, 102, 52, 125, 139, 101, 170, 115, 42, 114, 143, 6, 39, 71, 85, 156, 121, 19, 80, 128, 242, 248, 225, 61, 134, 134, 201, 229, 161, 127, 189, 113, 47, 119, 141, 37, 107, 143, 182, 220, 142, 66, 138, 131, 235, 245, 212, 5, 29, 55, 14, 69, 116, 113, 179, 113, 78, 149, 125, 93, 163, 118, 8, 49, 88, 247, 250, 236, 142, 198, 117, 56, 129, 137, 215, 235, 178, 24, 89, 135, 11, 64, 109, 28, 94, 139, 40, 110, 143, 69, 141, 130, 6, 34, 63, 239, 246, 219, 231, 243, 204, 75, 146, 126, 81, 153, 123, 49, 122, 140, 221, 238, 187, 58, 131, 135, 7, 44, 80, 172, 215, 134, 63, 136, 133, 34, 103, 142, 89, 159, 120, 5, 25, 47, 16, 74, 122, 249, 252, 241, 192, 225, 151, 119, 184, 113, 45, 117, 142, 152, 204, 121, 107, 174, 114, 8, 53, 94, 54, 126, 138, 207, 232, 168, 135, 194, 115, 98, 167, 116, 22, 85, 132, 244, 249, 230, 17, 77, 125, 123, 186, 113, 20, 82, 130, 51, 123, 140, 104, 172, 114, 187, 222, 147, 6, 41, 76, 241, 247, 222, 177, 217, 138, 67, 140, 130, 60, 132, 135, 62, 135, 133, 38, 109, 143, 76, 148, 126, 73, 145, 127, 218, 236, 182, 197, 227, 156, 95, 165, 117, 43, 115, 142, 211, 233, 173, 70, 142, 129, 35, 105, 143, 246, 250, 233, 229, 241, 200, 80, 151, 124, 87, 157, 120, 83, 154, 122, 10, 61, 106, 26, 91, 137, 55, 128, 137, 12, 66, 113, 224, 239, 191, 7, 47, 84, 15, 72, 119, 6, 36, 67], shape(naviaWS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: nuuk = reshape([5, 89, 140, 7, 90, 140, 9, 90, 140, 11, 90, 139, 13, 91, 139, 14, 91, 139, 16, 91, 138, 17, 91, 138, 19, 92, 137, 20, 92, 137, 21, 92, 137, 23, 92, 136, 24, 93, 136, 25, 93, 136, 26, 93, 135, 27, 94, 135, 28, 94, 135, 30, 94, 134, 31, 95, 134, 32, 95, 134, 33, 95, 134, 34, 96, 133, 35, 96, 133, 36, 96, 133, 37, 97, 133, 38, 97, 132, 39, 97, 132, 40, 98, 132, 41, 98, 132, 42, 99, 131, 43, 99, 131, 44, 99, 131, 45, 100, 131, 46, 100, 131, 47, 101, 131, 48, 101, 130, 50, 102, 130, 51, 102, 130, 52, 103, 130, 53, 103, 130, 54, 104, 130, 55, 104, 130, 56, 105, 130, 57, 105, 130, 59, 106, 130, 60, 106, 130, 61, 107, 130, 62, 108, 130, 63, 108, 130, 64, 109, 130, 66, 109, 130, 67, 110, 130, 68, 111, 130, 69, 111, 130, 70, 112, 131, 72, 113, 131, 73, 113, 131, 74, 114, 131, 75, 115, 131, 77, 115, 132, 78, 116, 132, 79, 117, 132, 81, 117, 132, 82, 118, 133, 83, 119, 133, 85, 120, 133, 86, 120, 134, 87, 121, 134, 88, 122, 134, 90, 122, 135, 91, 123, 135, 92, 124, 135, 94, 125, 136, 95, 125, 136, 96, 126, 136, 98, 127, 137, 99, 128, 137, 100, 129, 138, 102, 129, 138, 103, 130, 138, 104, 131, 139, 106, 132, 139, 107, 132, 140, 108, 133, 140, 110, 134, 140, 111, 135, 141, 112, 135, 141, 114, 136, 142, 115, 137, 142, 116, 138, 143, 118, 139, 143, 119, 139, 143, 120, 140, 144, 121, 141, 144, 123, 142, 145, 124, 142, 145, 125, 143, 145, 127, 144, 146, 128, 145, 146, 129, 145, 146, 130, 146, 147, 132, 147, 147, 133, 148, 147, 134, 148, 148, 135, 149, 148, 137, 150, 148, 138, 151, 149, 139, 151, 149, 140, 152, 149, 141, 153, 150, 142, 154, 150, 144, 154, 150, 145, 155, 150, 146, 156, 150, 147, 156, 151, 148, 157, 151, 149, 158, 151, 150, 158, 151, 151, 159, 151, 152, 160, 151, 153, 160, 151, 154, 161, 152, 155, 162, 152, 156, 162, 152, 157, 163, 152, 158, 164, 152, 159, 164, 152, 160, 165, 152, 161, 166, 152, 162, 166, 152, 162, 167, 152, 163, 167, 152, 164, 168, 151, 165, 168, 151, 166, 169, 151, 166, 170, 151, 167, 170, 151, 168, 171, 151, 169, 171, 151, 169, 172, 151, 170, 172, 150, 171, 173, 150, 171, 173, 150, 172, 174, 150, 173, 174, 149, 173, 175, 149, 174, 175, 149, 174, 176, 149, 175, 176, 148, 176, 177, 148, 176, 177, 148, 177, 177, 148, 177, 178, 147, 178, 178, 147, 178, 179, 147, 179, 179, 146, 179, 180, 146, 180, 180, 146, 180, 181, 145, 181, 181, 145, 181, 181, 145, 182, 182, 144, 182, 182, 144, 183, 183, 144, 183, 183, 143, 183, 183, 143, 184, 184, 142, 184, 184, 142, 185, 185, 142, 185, 185, 141, 186, 185, 141, 186, 186, 141, 186, 186, 140, 187, 187, 140, 187, 187, 139, 188, 187, 139, 188, 188, 139, 189, 188, 138, 189, 189, 138, 189, 189, 138, 190, 189, 137, 190, 190, 137, 191, 190, 136, 191, 191, 136, 192, 191, 136, 192, 192, 135, 192, 192, 135, 193, 193, 135, 193, 193, 134, 194, 193, 134, 194, 194, 134, 195, 194, 133, 195, 195, 133, 196, 195, 133, 196, 196, 133, 197, 196, 132, 197, 197, 132, 198, 198, 132, 199, 198, 132, 199, 199, 132, 200, 199, 131, 200, 200, 131, 201, 201, 131, 202, 201, 131, 202, 202, 131, 203, 203, 131, 204, 203, 131, 205, 204, 131, 205, 205, 131, 206, 206, 131, 207, 207, 132, 208, 207, 132, 209, 208, 132, 210, 209, 132, 210, 210, 133, 211, 211, 133, 212, 212, 134, 213, 213, 134, 214, 214, 135, 215, 215, 135, 216, 216, 136, 217, 217, 136, 219, 218, 137, 220, 219, 138, 221, 221, 139, 222, 222, 140, 223, 223, 141, 224, 224, 142, 225, 225, 143, 227, 226, 144, 228, 227, 145, 229, 229, 146, 230, 230, 147, 231, 231, 148, 232, 232, 149, 233, 233, 151, 235, 234, 152, 236, 235, 153, 237, 237, 154, 238, 238, 156, 239, 239, 157, 240, 240, 158, 241, 241, 160, 242, 242, 161, 243, 243, 163, 244, 244, 164, 245, 245, 165, 246, 246, 167, 247, 247, 168, 248, 248, 170, 249, 249, 171, 250, 250, 173, 251, 251, 174, 252, 252, 175, 253, 253, 177, 254, 254, 178], shape(nuuk), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: nuuk10 = reshape([5, 89, 140, 41, 98, 132, 74, 114, 131, 111, 135, 141, 146, 156, 150, 171, 173, 150, 186, 185, 141, 199, 198, 132, 224, 224, 142, 254, 254, 178], shape(nuuk10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: nuuk100 = reshape([5, 89, 140, 11, 90, 139, 14, 91, 139, 19, 92, 137, 21, 92, 137, 25, 93, 136, 27, 94, 135, 31, 95, 134, 34, 96, 133, 36, 96, 133, 39, 97, 132, 41, 98, 132, 44, 99, 131, 46, 100, 131, 50, 102, 130, 53, 103, 130, 55, 104, 130, 59, 106, 130, 61, 107, 130, 64, 109, 130, 68, 111, 130, 70, 112, 131, 74, 114, 131, 77, 115, 132, 81, 117, 132, 83, 119, 133, 87, 121, 134, 91, 123, 135, 94, 125, 136, 98, 127, 137, 100, 129, 138, 104, 131, 139, 107, 132, 140, 111, 135, 141, 115, 137, 142, 118, 139, 143, 121, 141, 144, 124, 142, 145, 128, 145, 146, 130, 146, 147, 134, 148, 148, 138, 151, 149, 140, 152, 149, 144, 154, 150, 146, 156, 150, 149, 158, 151, 151, 159, 151, 154, 161, 152, 157, 163, 152, 159, 164, 152, 162, 166, 152, 163, 167, 152, 166, 169, 151, 168, 171, 151, 169, 172, 151, 171, 173, 150, 173, 174, 149, 174, 176, 149, 176, 177, 148, 177, 178, 147, 179, 179, 146, 180, 180, 146, 181, 181, 145, 182, 182, 144, 183, 183, 143, 184, 184, 142, 186, 185, 141, 187, 187, 140, 188, 187, 139, 189, 189, 138, 190, 189, 137, 191, 191, 136, 192, 192, 135, 193, 193, 134, 195, 194, 133, 196, 195, 133, 197, 197, 132, 199, 198, 132, 200, 200, 131, 202, 201, 131, 204, 203, 131, 206, 206, 131, 208, 207, 132, 210, 210, 133, 212, 212, 134, 215, 215, 135, 219, 218, 137, 221, 221, 139, 224, 224, 142, 227, 226, 144, 230, 230, 147, 232, 232, 149, 236, 235, 153, 239, 239, 157, 241, 241, 160, 244, 244, 164, 246, 246, 167, 249, 249, 171, 251, 251, 174, 254, 254, 178], shape(nuuk100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: nuuk25 = reshape([5, 89, 140, 23, 92, 136, 34, 96, 133, 45, 100, 131, 57, 105, 130, 69, 111, 130, 83, 119, 133, 96, 126, 136, 111, 135, 141, 125, 143, 145, 138, 151, 149, 150, 158, 151, 161, 166, 152, 169, 171, 151, 176, 177, 148, 181, 181, 145, 186, 185, 141, 190, 190, 137, 195, 194, 133, 201, 201, 131, 210, 209, 132, 220, 219, 138, 232, 232, 149, 243, 243, 163, 254, 254, 178], shape(nuuk25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: nuuk50 = reshape([5, 89, 140, 14, 91, 139, 21, 92, 137, 28, 94, 135, 34, 96, 133, 39, 97, 132, 44, 99, 131, 50, 102, 130, 56, 105, 130, 62, 108, 130, 68, 111, 130, 74, 114, 131, 81, 117, 132, 88, 122, 134, 95, 125, 136, 102, 129, 138, 108, 133, 140, 115, 137, 142, 123, 142, 145, 129, 145, 146, 135, 149, 148, 141, 153, 150, 147, 156, 151, 153, 160, 151, 158, 164, 152, 162, 167, 152, 166, 170, 151, 171, 173, 150, 174, 175, 149, 177, 177, 148, 179, 180, 146, 182, 182, 144, 184, 184, 142, 186, 186, 140, 189, 188, 138, 191, 190, 136, 193, 193, 135, 196, 195, 133, 199, 198, 132, 202, 201, 131, 205, 205, 131, 210, 209, 132, 215, 215, 135, 221, 221, 139, 227, 226, 144, 232, 232, 149, 238, 238, 156, 244, 244, 164, 249, 249, 171, 254, 254, 178], shape(nuuk50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: nuukS = reshape([5, 89, 140, 254, 254, 178, 161, 166, 152, 83, 119, 133, 195, 195, 133, 45, 100, 131, 181, 181, 145, 125, 143, 145, 221, 221, 139, 188, 188, 139, 173, 174, 149, 145, 155, 150, 104, 131, 139, 63, 108, 130, 28, 94, 135, 205, 205, 131, 238, 238, 156, 135, 149, 148, 177, 178, 147, 94, 125, 136, 115, 137, 142, 200, 199, 131, 246, 246, 167, 192, 191, 136, 153, 160, 151, 212, 212, 134, 73, 113, 131, 167, 170, 151, 185, 185, 142, 19, 92, 137, 37, 97, 133, 54, 104, 130, 230, 230, 147, 99, 128, 137, 170, 172, 150, 175, 176, 148, 183, 183, 143, 179, 180, 146, 50, 102, 130, 130, 146, 147, 110, 134, 140, 24, 93, 136, 78, 116, 132, 250, 250, 173, 225, 225, 143, 202, 202, 131, 41, 98, 132, 164, 168, 151, 13, 91, 139, 193, 193, 134, 209, 208, 132, 216, 216, 136, 59, 106, 130, 120, 140, 144, 190, 189, 137, 149, 158, 151, 157, 163, 152, 242, 242, 161, 197, 197, 132, 33, 95, 134, 88, 122, 134, 186, 186, 140, 140, 152, 149, 68, 111, 130, 235, 234, 152, 147, 156, 151, 192, 192, 135, 171, 173, 150, 252, 252, 175, 118, 139, 143, 219, 218, 137, 214, 214, 135, 112, 135, 141, 189, 189, 138, 228, 227, 145, 210, 210, 133, 31, 95, 134, 16, 91, 138, 166, 169, 151, 9, 90, 140, 66, 109, 130, 21, 92, 137, 196, 196, 133, 70, 112, 131, 240, 240, 158, 191, 190, 136, 199, 198, 132, 133, 148, 147, 96, 126, 136, 180, 181, 145, 204, 203, 131, 207, 207, 132, 223, 223, 141, 187, 187, 139, 138, 151, 149, 142, 154, 150, 39, 97, 132, 128, 145, 146, 162, 167, 152, 47, 101, 131], shape(nuukS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: oleron = reshape([26, 38, 89, 27, 40, 91, 29, 41, 92, 30, 43, 94, 32, 44, 95, 33, 46, 97, 35, 47, 98, 36, 49, 100, 38, 50, 101, 40, 52, 103, 41, 53, 104, 43, 55, 106, 44, 56, 107, 46, 58, 109, 47, 59, 111, 49, 61, 112, 50, 63, 114, 52, 64, 115, 53, 66, 117, 55, 67, 118, 57, 69, 120, 58, 71, 122, 60, 72, 123, 61, 74, 125, 63, 75, 126, 65, 77, 128, 66, 79, 130, 68, 80, 131, 69, 82, 133, 71, 84, 135, 73, 85, 136, 74, 87, 138, 76, 89, 140, 78, 90, 141, 79, 92, 143, 81, 94, 145, 83, 95, 146, 84, 97, 148, 86, 99, 150, 88, 100, 151, 89, 102, 153, 91, 104, 155, 93, 105, 156, 94, 107, 158, 96, 109, 160, 98, 111, 162, 100, 112, 163, 101, 114, 165, 103, 116, 167, 105, 117, 169, 107, 119, 170, 108, 121, 172, 110, 123, 174, 112, 125, 176, 114, 126, 177, 115, 128, 179, 117, 130, 181, 119, 132, 183, 121, 133, 184, 122, 135, 186, 124, 137, 188, 126, 139, 190, 128, 141, 192, 130, 142, 193, 131, 144, 195, 133, 146, 197, 135, 148, 199, 137, 150, 201, 139, 151, 202, 141, 153, 204, 142, 155, 206, 144, 157, 208, 146, 159, 210, 148, 161, 211, 150, 162, 213, 152, 164, 215, 153, 166, 217, 155, 168, 219, 157, 170, 220, 159, 172, 222, 161, 173, 224, 163, 175, 225, 164, 177, 227, 166, 179, 229, 168, 181, 230, 170, 183, 232, 172, 184, 233, 173, 186, 234, 175, 188, 236, 177, 189, 237, 178, 191, 238, 180, 193, 239, 182, 194, 240, 183, 196, 241, 185, 198, 242, 186, 199, 243, 188, 201, 243, 189, 202, 244, 191, 203, 244, 192, 205, 245, 194, 206, 245, 195, 208, 246, 196, 209, 246, 198, 210, 247, 199, 212, 247, 200, 213, 248, 202, 214, 248, 203, 216, 248, 204, 217, 249, 206, 218, 249, 207, 220, 249, 208, 221, 250, 210, 222, 250, 211, 224, 250, 212, 225, 251, 214, 226, 251, 215, 228, 251, 216, 229, 252, 218, 230, 252, 219, 232, 252, 220, 233, 253, 222, 234, 253, 223, 236, 253, 224, 237, 254, 226, 238, 254, 227, 240, 254, 228, 241, 255, 230, 242, 255, 26, 76, 0, 29, 77, 0, 31, 78, 0, 34, 79, 0, 37, 79, 0, 39, 80, 0, 42, 81, 0, 44, 81, 0, 47, 82, 0, 49, 83, 0, 51, 84, 0, 53, 84, 0, 56, 85, 0, 58, 86, 0, 60, 86, 0, 62, 87, 0, 64, 87, 0, 66, 88, 0, 68, 89, 0, 70, 89, 0, 73, 90, 1, 75, 91, 1, 77, 92, 1, 79, 92, 2, 81, 93, 2, 83, 94, 2, 85, 95, 3, 87, 96, 4, 90, 96, 5, 92, 97, 6, 94, 98, 7, 96, 99, 9, 99, 100, 10, 101, 102, 12, 103, 103, 14, 106, 104, 16, 108, 105, 18, 110, 106, 20, 113, 108, 22, 115, 109, 24, 117, 110, 26, 120, 112, 29, 122, 113, 31, 124, 114, 33, 126, 116, 35, 129, 117, 37, 131, 118, 40, 133, 120, 42, 135, 121, 44, 138, 123, 46, 140, 124, 49, 142, 125, 51, 144, 127, 53, 146, 128, 55, 148, 130, 58, 151, 131, 60, 153, 132, 62, 155, 134, 64, 157, 135, 67, 159, 137, 69, 161, 138, 71, 163, 140, 73, 166, 141, 76, 168, 143, 78, 170, 144, 80, 172, 146, 83, 174, 147, 85, 177, 149, 87, 179, 151, 89, 181, 152, 92, 183, 154, 94, 186, 156, 96, 188, 157, 99, 190, 159, 101, 193, 161, 103, 195, 163, 106, 197, 164, 108, 199, 166, 110, 202, 168, 113, 204, 170, 115, 206, 172, 117, 209, 173, 120, 211, 175, 122, 213, 177, 124, 215, 179, 127, 217, 181, 129, 220, 182, 132, 222, 184, 134, 224, 186, 137, 226, 188, 139, 228, 190, 142, 229, 192, 144, 231, 194, 147, 233, 196, 149, 234, 197, 152, 236, 199, 154, 237, 201, 157, 238, 203, 159, 240, 205, 162, 241, 206, 164, 242, 208, 167, 242, 210, 169, 243, 212, 171, 244, 213, 174, 245, 215, 176, 245, 217, 178, 246, 218, 181, 246, 220, 183, 247, 222, 185, 247, 223, 188, 247, 225, 190, 248, 226, 192, 248, 228, 195, 248, 230, 197, 249, 231, 199, 249, 233, 201, 249, 234, 204, 250, 236, 206, 250, 238, 208, 250, 239, 211, 251, 241, 213, 251, 243, 215, 251, 244, 218, 251, 246, 220, 252, 248, 222, 252, 249, 225, 252, 251, 227, 253, 253, 230], shape(oleron), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: oleron10 = reshape([26, 38, 89, 69, 82, 133, 119, 132, 183, 170, 183, 232, 211, 224, 250, 60, 86, 0, 122, 113, 31, 183, 154, 94, 241, 206, 164, 253, 253, 230], shape(oleron10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: oleron100 = reshape([26, 38, 89, 30, 43, 94, 33, 46, 97, 38, 50, 101, 41, 53, 104, 46, 58, 109, 49, 61, 112, 53, 66, 117, 58, 71, 122, 61, 74, 125, 66, 79, 130, 69, 82, 133, 74, 87, 138, 78, 90, 141, 83, 95, 146, 88, 100, 151, 91, 104, 155, 96, 109, 160, 100, 112, 163, 105, 117, 169, 110, 123, 174, 114, 126, 177, 119, 132, 183, 122, 135, 186, 128, 141, 192, 131, 144, 195, 137, 150, 201, 142, 155, 206, 146, 159, 210, 152, 164, 215, 155, 168, 219, 161, 173, 224, 164, 177, 227, 170, 183, 232, 175, 188, 236, 178, 191, 238, 183, 196, 241, 186, 199, 243, 191, 203, 244, 194, 206, 245, 198, 210, 247, 202, 214, 248, 204, 217, 249, 208, 221, 250, 211, 224, 250, 215, 228, 251, 218, 230, 252, 222, 234, 253, 226, 238, 254, 228, 241, 255, 29, 77, 0, 34, 79, 0, 42, 81, 0, 49, 83, 0, 53, 84, 0, 60, 86, 0, 64, 87, 0, 70, 89, 0, 75, 91, 1, 81, 93, 2, 87, 96, 4, 92, 97, 6, 99, 100, 10, 103, 103, 14, 110, 106, 20, 115, 109, 24, 122, 113, 31, 129, 117, 37, 133, 120, 42, 140, 124, 49, 144, 127, 53, 151, 131, 60, 155, 134, 64, 161, 138, 71, 168, 143, 78, 172, 146, 83, 179, 151, 89, 183, 154, 94, 190, 159, 101, 195, 163, 106, 202, 168, 113, 209, 173, 120, 213, 177, 124, 220, 182, 132, 224, 186, 137, 229, 192, 144, 234, 197, 152, 237, 201, 157, 241, 206, 164, 242, 210, 169, 245, 215, 176, 246, 218, 181, 247, 223, 188, 248, 228, 195, 249, 231, 199, 250, 236, 206, 250, 239, 211, 251, 244, 218, 252, 248, 222, 253, 253, 230], shape(oleron100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: oleron25 = reshape([26, 38, 89, 43, 55, 106, 58, 71, 122, 76, 89, 140, 94, 107, 158, 112, 125, 176, 131, 144, 195, 150, 162, 213, 170, 183, 232, 188, 201, 243, 202, 214, 248, 216, 229, 252, 26, 76, 0, 51, 84, 0, 75, 91, 1, 96, 99, 9, 122, 113, 31, 146, 128, 55, 168, 143, 78, 193, 161, 103, 217, 181, 129, 236, 199, 154, 246, 218, 181, 249, 234, 204, 253, 253, 230], shape(oleron25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: oleron50 = reshape([26, 38, 89, 33, 46, 97, 41, 53, 104, 50, 63, 114, 58, 71, 122, 66, 79, 130, 74, 87, 138, 83, 95, 146, 93, 105, 156, 101, 114, 165, 110, 123, 174, 119, 132, 183, 128, 141, 192, 139, 151, 202, 148, 161, 211, 157, 170, 220, 166, 179, 229, 175, 188, 236, 185, 198, 242, 192, 205, 245, 199, 212, 247, 206, 218, 249, 212, 225, 251, 220, 233, 253, 227, 240, 254, 31, 78, 0, 44, 81, 0, 58, 86, 0, 68, 89, 0, 79, 92, 2, 90, 96, 5, 101, 102, 12, 115, 109, 24, 126, 116, 35, 138, 123, 46, 148, 130, 58, 159, 137, 69, 172, 146, 83, 183, 154, 94, 195, 163, 106, 206, 172, 117, 217, 181, 129, 229, 192, 144, 237, 201, 157, 242, 210, 169, 246, 218, 181, 248, 226, 192, 250, 236, 206, 251, 244, 218, 253, 253, 230], shape(oleron50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: oslo = reshape([1, 1, 1, 1, 2, 3, 2, 4, 5, 2, 5, 7, 3, 6, 9, 4, 7, 11, 4, 8, 13, 5, 9, 15, 5, 10, 16, 6, 11, 18, 6, 12, 19, 7, 13, 21, 8, 14, 22, 8, 15, 23, 9, 16, 24, 9, 17, 25, 10, 18, 27, 11, 19, 28, 11, 19, 29, 11, 20, 30, 12, 21, 31, 12, 22, 32, 13, 22, 34, 13, 23, 35, 13, 24, 36, 13, 25, 37, 13, 25, 39, 13, 26, 40, 13, 27, 41, 14, 27, 42, 14, 28, 44, 14, 29, 45, 14, 30, 46, 14, 30, 47, 14, 31, 49, 14, 32, 50, 15, 33, 51, 15, 33, 53, 15, 34, 54, 15, 35, 55, 15, 36, 57, 15, 37, 58, 16, 38, 60, 16, 38, 61, 16, 39, 62, 16, 40, 64, 16, 41, 65, 17, 42, 67, 17, 43, 68, 17, 43, 69, 17, 44, 71, 18, 45, 72, 18, 46, 74, 18, 47, 75, 18, 48, 76, 19, 49, 78, 19, 50, 79, 19, 50, 81, 20, 51, 82, 20, 52, 84, 20, 53, 85, 20, 54, 87, 21, 55, 88, 21, 56, 90, 21, 57, 91, 22, 58, 93, 22, 59, 94, 23, 59, 96, 23, 60, 97, 23, 61, 99, 24, 62, 100, 24, 63, 102, 25, 64, 103, 25, 65, 105, 25, 66, 106, 26, 67, 108, 26, 68, 109, 27, 69, 111, 27, 70, 112, 28, 71, 114, 28, 72, 115, 29, 72, 117, 29, 73, 118, 30, 74, 120, 30, 75, 122, 31, 76, 123, 32, 77, 125, 32, 78, 126, 33, 79, 128, 33, 80, 129, 34, 81, 131, 35, 82, 133, 35, 83, 134, 36, 84, 136, 37, 85, 137, 38, 86, 139, 38, 87, 140, 39, 88, 142, 40, 89, 144, 41, 90, 145, 42, 91, 147, 43, 92, 148, 44, 93, 150, 45, 94, 152, 46, 95, 153, 47, 96, 155, 48, 97, 156, 49, 98, 158, 50, 99, 160, 51, 100, 161, 52, 101, 163, 54, 102, 164, 55, 103, 166, 56, 105, 168, 58, 106, 169, 59, 107, 171, 61, 108, 172, 62, 109, 174, 64, 110, 175, 65, 112, 177, 67, 113, 178, 68, 114, 179, 70, 115, 181, 71, 117, 182, 73, 118, 184, 75, 119, 185, 76, 120, 186, 78, 122, 187, 80, 123, 188, 81, 124, 189, 83, 125, 190, 84, 126, 191, 86, 127, 192, 88, 129, 193, 89, 130, 194, 91, 131, 195, 92, 132, 195, 94, 133, 196, 96, 134, 197, 97, 135, 197, 99, 136, 198, 100, 137, 198, 101, 138, 199, 103, 139, 199, 104, 140, 199, 106, 141, 200, 107, 142, 200, 108, 143, 200, 110, 144, 200, 111, 144, 201, 112, 145, 201, 114, 146, 201, 115, 147, 201, 116, 148, 201, 117, 148, 201, 119, 149, 201, 120, 150, 201, 121, 151, 202, 122, 152, 202, 123, 152, 202, 125, 153, 202, 126, 154, 202, 127, 155, 202, 128, 155, 202, 129, 156, 202, 131, 157, 202, 132, 158, 202, 133, 158, 202, 134, 159, 202, 135, 160, 202, 137, 160, 202, 138, 161, 202, 139, 162, 201, 140, 163, 201, 141, 163, 201, 142, 164, 201, 144, 165, 201, 145, 166, 201, 146, 166, 201, 147, 167, 201, 148, 168, 201, 150, 169, 201, 151, 169, 201, 152, 170, 201, 153, 171, 201, 154, 172, 201, 156, 172, 201, 157, 173, 201, 158, 174, 201, 159, 175, 201, 160, 175, 201, 162, 176, 202, 163, 177, 202, 164, 178, 202, 165, 179, 202, 167, 180, 202, 168, 180, 202, 169, 181, 202, 170, 182, 202, 172, 183, 202, 173, 184, 203, 174, 185, 203, 176, 186, 203, 177, 187, 203, 178, 188, 204, 180, 189, 204, 181, 189, 204, 182, 190, 205, 184, 191, 205, 185, 193, 205, 186, 194, 206, 188, 195, 206, 189, 196, 207, 191, 197, 207, 192, 198, 208, 194, 199, 209, 195, 200, 209, 197, 201, 210, 198, 203, 211, 199, 204, 211, 201, 205, 212, 202, 206, 213, 204, 208, 214, 206, 209, 215, 207, 210, 216, 209, 211, 217, 210, 213, 218, 212, 214, 219, 213, 216, 220, 215, 217, 221, 216, 218, 222, 218, 220, 223, 219, 221, 224, 221, 222, 225, 222, 224, 226, 224, 225, 228, 226, 227, 229, 227, 228, 230, 229, 230, 231, 230, 231, 233, 232, 233, 234, 233, 234, 235, 235, 236, 237, 236, 237, 238, 238, 238, 239, 239, 240, 241, 241, 241, 242, 243, 243, 244, 244, 244, 245, 246, 246, 246, 247, 247, 248, 249, 249, 249, 250, 250, 251, 252, 252, 252, 253, 253, 254, 255, 255, 255], shape(oslo), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: oslo10 = reshape([1, 1, 1, 13, 27, 41, 19, 50, 81, 31, 76, 123, 56, 105, 168, 101, 138, 199, 137, 160, 202, 170, 182, 202, 212, 214, 219, 255, 255, 255], shape(oslo10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: oslo100 = reshape([1, 1, 1, 2, 5, 7, 4, 7, 11, 5, 10, 16, 6, 12, 19, 8, 15, 23, 9, 17, 25, 11, 19, 29, 12, 22, 32, 13, 23, 35, 13, 25, 39, 13, 27, 41, 14, 29, 45, 14, 30, 47, 15, 33, 51, 15, 35, 55, 15, 37, 58, 16, 39, 62, 16, 41, 65, 17, 43, 69, 18, 46, 74, 18, 48, 76, 19, 50, 81, 20, 52, 84, 21, 55, 88, 21, 57, 91, 23, 59, 96, 24, 62, 100, 25, 64, 103, 26, 67, 108, 27, 69, 111, 28, 72, 115, 29, 73, 118, 31, 76, 123, 33, 79, 128, 34, 81, 131, 36, 84, 136, 38, 86, 139, 40, 89, 144, 42, 91, 147, 45, 94, 152, 48, 97, 156, 50, 99, 160, 54, 102, 164, 56, 105, 168, 61, 108, 172, 64, 110, 175, 68, 114, 179, 73, 118, 184, 76, 120, 186, 81, 124, 189, 84, 126, 191, 89, 130, 194, 94, 133, 196, 97, 135, 197, 101, 138, 199, 104, 140, 199, 108, 143, 200, 111, 144, 201, 115, 147, 201, 119, 149, 201, 121, 151, 202, 125, 153, 202, 127, 155, 202, 131, 157, 202, 133, 158, 202, 137, 160, 202, 140, 163, 201, 142, 164, 201, 146, 166, 201, 148, 168, 201, 152, 170, 201, 154, 172, 201, 158, 174, 201, 162, 176, 202, 164, 178, 202, 168, 180, 202, 170, 182, 202, 174, 185, 203, 177, 187, 203, 181, 189, 204, 185, 193, 205, 188, 195, 206, 192, 198, 208, 195, 200, 209, 199, 204, 211, 204, 208, 214, 207, 210, 216, 212, 214, 219, 215, 217, 221, 219, 221, 224, 222, 224, 226, 227, 228, 230, 232, 233, 234, 235, 236, 237, 239, 240, 241, 243, 243, 244, 247, 247, 248, 250, 250, 251, 255, 255, 255], shape(oslo100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: oslo25 = reshape([1, 1, 1, 7, 13, 21, 12, 22, 32, 14, 30, 46, 16, 38, 61, 18, 47, 75, 21, 57, 91, 25, 66, 106, 31, 76, 123, 38, 87, 140, 48, 97, 156, 62, 109, 174, 80, 123, 188, 96, 134, 197, 111, 144, 201, 123, 152, 202, 137, 160, 202, 150, 169, 201, 162, 176, 202, 176, 186, 203, 191, 197, 207, 206, 209, 215, 222, 224, 226, 238, 238, 239, 255, 255, 255], shape(oslo25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: oslo50 = reshape([1, 1, 1, 4, 7, 11, 6, 12, 19, 10, 18, 27, 12, 22, 32, 13, 25, 39, 14, 29, 45, 15, 33, 51, 16, 38, 60, 17, 42, 67, 18, 46, 74, 19, 50, 81, 21, 55, 88, 23, 60, 97, 25, 65, 105, 27, 70, 112, 30, 74, 120, 33, 79, 128, 37, 85, 137, 41, 90, 145, 46, 95, 153, 51, 100, 161, 58, 106, 169, 67, 113, 178, 75, 119, 185, 83, 125, 190, 91, 131, 195, 100, 137, 198, 107, 142, 200, 114, 146, 201, 120, 150, 201, 126, 154, 202, 133, 158, 202, 139, 162, 201, 145, 166, 201, 151, 169, 201, 157, 173, 201, 164, 178, 202, 170, 182, 202, 177, 187, 203, 184, 191, 205, 191, 197, 207, 199, 204, 211, 207, 210, 216, 215, 217, 221, 222, 224, 226, 230, 231, 233, 239, 240, 241, 247, 247, 248, 255, 255, 255], shape(oslo50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: osloS = reshape([3, 6, 9, 249, 249, 249, 80, 123, 188, 22, 59, 94, 160, 175, 201, 14, 32, 50, 123, 152, 202, 39, 88, 142, 202, 206, 213, 11, 20, 30, 18, 45, 72, 55, 103, 166, 181, 189, 204, 103, 139, 199, 29, 73, 118, 141, 163, 201, 226, 227, 229, 25, 66, 106, 16, 38, 61, 114, 146, 201, 151, 169, 201, 67, 113, 178, 13, 26, 40, 170, 182, 202, 47, 96, 155, 215, 217, 221, 34, 81, 131, 191, 197, 207, 20, 52, 84, 238, 238, 239, 132, 158, 202, 8, 14, 22, 91, 131, 195, 32, 77, 125, 13, 23, 35, 73, 118, 184, 137, 160, 202, 24, 62, 100, 61, 108, 172, 14, 29, 45, 108, 143, 200, 27, 70, 112, 5, 10, 16, 209, 211, 217, 19, 49, 78, 165, 179, 202, 17, 42, 67, 232, 233, 234, 146, 166, 201, 197, 201, 210, 156, 172, 201, 97, 135, 197, 119, 149, 201, 43, 92, 148, 15, 35, 55, 176, 186, 203, 50, 99, 160, 243, 243, 244, 10, 18, 27, 36, 84, 136, 86, 127, 192, 127, 155, 202, 219, 221, 224, 186, 194, 206, 21, 55, 88, 17, 43, 69, 6, 12, 19, 70, 115, 181, 23, 60, 97, 212, 214, 219, 148, 168, 201, 76, 120, 186, 13, 25, 37, 100, 137, 198, 139, 162, 201, 121, 151, 202, 45, 94, 152, 14, 30, 47, 184, 191, 205, 25, 64, 103, 94, 133, 196, 178, 188, 204, 83, 125, 190, 28, 72, 115, 206, 209, 215, 12, 22, 32, 158, 174, 201, 222, 224, 226, 52, 101, 163, 58, 106, 169, 15, 37, 58, 235, 236, 237, 194, 199, 209, 64, 110, 175, 33, 79, 128, 15, 33, 53, 229, 230, 231, 4, 8, 13, 19, 50, 81, 30, 75, 122], shape(osloS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: roma = reshape([126, 23, 0, 127, 26, 1, 128, 29, 2, 129, 32, 3, 130, 34, 4, 131, 37, 4, 132, 39, 5, 133, 42, 6, 134, 44, 6, 135, 46, 7, 136, 48, 8, 138, 50, 8, 139, 52, 9, 140, 54, 10, 141, 56, 11, 142, 58, 11, 143, 60, 12, 144, 62, 13, 144, 64, 14, 145, 66, 15, 146, 68, 15, 147, 70, 16, 148, 71, 17, 149, 73, 18, 150, 75, 18, 151, 77, 19, 152, 78, 20, 153, 80, 20, 153, 82, 21, 154, 83, 22, 155, 85, 23, 156, 87, 23, 157, 88, 24, 158, 90, 25, 158, 92, 25, 159, 93, 26, 160, 95, 27, 161, 97, 28, 162, 98, 28, 162, 100, 29, 163, 101, 30, 164, 103, 30, 165, 104, 31, 166, 106, 32, 166, 108, 32, 167, 109, 33, 168, 111, 34, 169, 112, 35, 169, 114, 35, 170, 115, 36, 171, 117, 37, 172, 119, 38, 173, 120, 38, 173, 122, 39, 174, 124, 40, 175, 125, 41, 176, 127, 42, 176, 128, 43, 177, 130, 44, 178, 132, 45, 179, 134, 46, 180, 135, 47, 181, 137, 48, 181, 139, 49, 182, 140, 50, 183, 142, 51, 184, 144, 52, 185, 146, 53, 186, 148, 55, 186, 149, 56, 187, 151, 57, 188, 153, 59, 189, 155, 60, 190, 157, 62, 191, 159, 64, 192, 161, 65, 193, 163, 67, 193, 165, 69, 194, 166, 71, 195, 168, 72, 196, 170, 74, 197, 172, 76, 198, 174, 79, 199, 176, 81, 199, 178, 83, 200, 180, 85, 201, 182, 88, 202, 184, 90, 203, 186, 93, 203, 188, 95, 204, 190, 98, 205, 192, 100, 206, 194, 103, 206, 196, 106, 207, 198, 109, 207, 200, 111, 208, 202, 114, 208, 204, 117, 209, 205, 120, 209, 207, 123, 210, 209, 126, 210, 211, 129, 210, 212, 132, 210, 214, 135, 210, 215, 138, 210, 217, 141, 210, 218, 144, 210, 220, 147, 210, 221, 150, 210, 222, 152, 209, 223, 155, 209, 225, 158, 209, 226, 161, 208, 227, 163, 208, 228, 166, 207, 229, 168, 206, 229, 171, 205, 230, 173, 204, 231, 176, 204, 231, 178, 203, 232, 180, 201, 233, 182, 200, 233, 184, 199, 233, 186, 198, 234, 188, 196, 234, 190, 195, 234, 192, 193, 234, 194, 192, 234, 195, 190, 234, 197, 189, 234, 198, 187, 234, 200, 185, 234, 201, 183, 234, 202, 181, 234, 204, 179, 233, 205, 177, 233, 206, 175, 232, 207, 173, 232, 208, 171, 231, 209, 169, 231, 210, 166, 230, 210, 164, 229, 211, 162, 229, 212, 159, 228, 212, 157, 227, 213, 155, 226, 213, 152, 225, 214, 149, 224, 214, 147, 223, 214, 144, 222, 215, 142, 221, 215, 139, 220, 215, 137, 218, 215, 134, 217, 215, 131, 216, 215, 129, 215, 215, 126, 213, 215, 123, 212, 215, 121, 210, 215, 118, 209, 215, 116, 207, 214, 113, 206, 214, 110, 204, 214, 108, 203, 214, 105, 201, 213, 103, 199, 213, 100, 198, 213, 98, 196, 212, 96, 195, 212, 93, 193, 211, 91, 191, 211, 89, 189, 210, 87, 188, 210, 85, 186, 209, 83, 184, 209, 81, 183, 208, 79, 181, 208, 77, 179, 207, 75, 178, 206, 73, 176, 206, 71, 174, 205, 70, 172, 204, 68, 171, 204, 67, 169, 203, 65, 167, 203, 64, 166, 202, 62, 164, 201, 61, 162, 201, 60, 161, 200, 58, 159, 199, 57, 157, 199, 56, 156, 198, 55, 154, 197, 54, 152, 197, 53, 151, 196, 52, 149, 195, 51, 148, 195, 50, 146, 194, 49, 144, 193, 48, 143, 193, 48, 141, 192, 47, 140, 191, 46, 138, 191, 45, 136, 190, 45, 135, 189, 44, 133, 189, 43, 132, 188, 43, 130, 187, 42, 129, 187, 41, 127, 186, 41, 126, 185, 40, 124, 185, 40, 122, 184, 39, 121, 183, 38, 119, 183, 38, 118, 182, 37, 116, 181, 37, 115, 181, 36, 113, 180, 36, 111, 179, 35, 110, 179, 35, 108, 178, 34, 106, 177, 34, 105, 176, 33, 103, 176, 33, 102, 175, 32, 100, 174, 32, 98, 174, 31, 96, 173, 30, 95, 172, 30, 93, 171, 29, 91, 171, 29, 90, 170, 28, 88, 169, 27, 86, 168, 27, 84, 168, 26, 83, 167, 25, 81, 166, 25, 79, 165, 24, 77, 164, 23, 76, 164, 22, 74, 163, 21, 72, 162, 20, 70, 161, 19, 68, 160, 18, 66, 160, 17, 64, 159, 15, 63, 158, 14, 61, 157, 12, 59, 156, 11, 57, 156, 9, 55, 155, 7, 53, 154, 5, 51, 153, 3, 49, 152], shape(roma), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: roma10 = reshape([126, 23, 0, 153, 82, 21, 176, 128, 43, 200, 180, 85, 208, 227, 163, 164, 229, 211, 93, 193, 211, 50, 146, 194, 32, 100, 174, 3, 49, 152], shape(roma10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: roma100 = reshape([126, 23, 0, 129, 32, 3, 131, 37, 4, 134, 44, 6, 136, 48, 8, 140, 54, 10, 142, 58, 11, 144, 64, 14, 147, 70, 16, 149, 73, 18, 152, 78, 20, 153, 82, 21, 156, 87, 23, 158, 90, 25, 160, 95, 27, 162, 100, 29, 164, 103, 30, 166, 108, 32, 168, 111, 34, 170, 115, 36, 173, 120, 38, 174, 124, 40, 176, 128, 43, 178, 132, 45, 181, 137, 48, 182, 140, 50, 185, 146, 53, 187, 151, 57, 189, 155, 60, 192, 161, 65, 193, 165, 69, 196, 170, 74, 198, 174, 79, 200, 180, 85, 203, 186, 93, 204, 190, 98, 206, 196, 106, 207, 200, 111, 209, 205, 120, 210, 209, 126, 210, 214, 135, 210, 218, 144, 210, 221, 150, 209, 225, 158, 208, 227, 163, 206, 229, 171, 204, 231, 176, 201, 233, 182, 198, 234, 188, 195, 234, 192, 190, 234, 197, 187, 234, 200, 181, 234, 204, 175, 232, 207, 171, 231, 209, 164, 229, 211, 159, 228, 212, 152, 225, 214, 147, 223, 214, 139, 220, 215, 131, 216, 215, 126, 213, 215, 118, 209, 215, 113, 206, 214, 105, 201, 213, 100, 198, 213, 93, 193, 211, 87, 188, 210, 83, 184, 209, 77, 179, 207, 73, 176, 206, 68, 171, 204, 65, 167, 203, 61, 162, 201, 57, 157, 199, 55, 154, 197, 52, 149, 195, 50, 146, 194, 48, 141, 192, 46, 138, 191, 44, 133, 189, 42, 129, 187, 41, 126, 185, 39, 121, 183, 38, 118, 182, 36, 113, 180, 35, 108, 178, 34, 105, 176, 32, 100, 174, 31, 96, 173, 29, 91, 171, 28, 88, 169, 26, 83, 167, 24, 77, 164, 22, 74, 163, 19, 68, 160, 17, 64, 159, 12, 59, 156, 9, 55, 155, 3, 49, 152], shape(roma100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: roma25 = reshape([126, 23, 0, 138, 50, 8, 147, 70, 16, 157, 88, 24, 166, 106, 32, 173, 122, 39, 182, 140, 50, 191, 159, 64, 200, 180, 85, 208, 202, 114, 210, 218, 144, 205, 230, 173, 192, 234, 195, 173, 232, 208, 147, 223, 214, 121, 210, 215, 93, 193, 211, 71, 174, 205, 57, 157, 199, 47, 140, 191, 40, 122, 184, 34, 106, 177, 28, 88, 169, 20, 70, 161, 3, 49, 152], shape(roma25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: roma50 = reshape([126, 23, 0, 131, 37, 4, 136, 48, 8, 143, 60, 12, 147, 70, 16, 152, 78, 20, 156, 87, 23, 160, 95, 27, 165, 104, 31, 169, 112, 35, 173, 120, 38, 176, 128, 43, 181, 137, 48, 186, 148, 55, 190, 157, 62, 194, 166, 71, 199, 176, 81, 203, 186, 93, 207, 198, 109, 209, 207, 123, 210, 215, 138, 210, 222, 152, 208, 228, 166, 203, 232, 180, 196, 234, 190, 189, 234, 198, 179, 233, 205, 166, 230, 210, 155, 226, 213, 142, 221, 215, 129, 215, 215, 116, 207, 214, 100, 198, 213, 89, 189, 210, 79, 181, 208, 70, 172, 204, 62, 164, 201, 55, 154, 197, 50, 146, 194, 46, 138, 191, 43, 130, 187, 40, 122, 184, 36, 113, 180, 34, 105, 176, 31, 96, 173, 28, 88, 169, 25, 79, 165, 19, 68, 160, 12, 59, 156, 3, 49, 152], shape(roma50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: romaO = reshape([115, 57, 87, 116, 57, 86, 117, 57, 84, 117, 56, 83, 118, 56, 81, 119, 56, 80, 119, 56, 79, 120, 56, 77, 121, 56, 76, 121, 56, 75, 122, 56, 73, 123, 56, 72, 124, 56, 71, 124, 57, 70, 125, 57, 69, 126, 57, 67, 126, 57, 66, 127, 58, 65, 128, 58, 64, 129, 59, 63, 129, 59, 62, 130, 60, 61, 131, 60, 60, 132, 61, 59, 132, 61, 58, 133, 62, 57, 134, 63, 56, 135, 64, 55, 135, 64, 55, 136, 65, 54, 137, 66, 53, 138, 67, 52, 139, 68, 51, 140, 69, 51, 140, 70, 50, 141, 71, 49, 142, 72, 49, 143, 73, 48, 144, 74, 48, 145, 76, 47, 146, 77, 47, 147, 78, 46, 148, 80, 46, 148, 81, 45, 149, 82, 45, 150, 84, 45, 151, 85, 44, 152, 87, 44, 153, 88, 44, 154, 90, 44, 155, 91, 44, 156, 93, 43, 157, 95, 43, 158, 96, 43, 159, 98, 43, 160, 100, 44, 162, 102, 44, 163, 103, 44, 164, 105, 44, 165, 107, 45, 166, 109, 45, 167, 111, 45, 168, 113, 46, 169, 115, 46, 170, 117, 47, 171, 119, 48, 173, 121, 48, 174, 123, 49, 175, 125, 50, 176, 127, 51, 177, 129, 52, 178, 131, 53, 180, 134, 54, 181, 136, 55, 182, 138, 57, 183, 140, 58, 184, 142, 59, 185, 145, 61, 187, 147, 63, 188, 149, 64, 189, 152, 66, 190, 154, 68, 191, 156, 70, 193, 159, 71, 194, 161, 73, 195, 163, 75, 196, 165, 78, 197, 168, 80, 198, 170, 82, 200, 172, 84, 201, 175, 87, 202, 177, 89, 203, 179, 92, 204, 181, 94, 205, 183, 97, 206, 186, 99, 207, 188, 102, 207, 190, 104, 208, 192, 107, 209, 194, 110, 210, 196, 112, 210, 198, 115, 211, 200, 118, 212, 201, 120, 212, 203, 123, 212, 205, 126, 213, 206, 129, 213, 208, 131, 213, 209, 134, 214, 211, 136, 214, 212, 139, 214, 213, 142, 214, 215, 144, 214, 216, 147, 213, 217, 149, 213, 218, 152, 213, 219, 154, 212, 220, 156, 212, 221, 159, 211, 221, 161, 211, 222, 163, 210, 223, 165, 209, 223, 167, 208, 224, 169, 207, 224, 171, 206, 224, 173, 205, 225, 175, 204, 225, 177, 203, 225, 179, 202, 225, 181, 200, 225, 182, 199, 225, 184, 197, 225, 185, 196, 225, 187, 194, 225, 188, 193, 225, 190, 191, 225, 191, 189, 224, 192, 187, 224, 194, 185, 223, 195, 184, 223, 196, 182, 222, 197, 180, 222, 198, 177, 221, 199, 175, 220, 200, 173, 220, 200, 171, 219, 201, 169, 218, 202, 167, 217, 203, 164, 216, 203, 162, 215, 204, 160, 214, 204, 157, 213, 205, 155, 212, 205, 153, 211, 206, 150, 209, 206, 148, 208, 206, 146, 207, 206, 143, 206, 207, 141, 204, 207, 139, 203, 207, 136, 201, 207, 134, 200, 207, 132, 198, 207, 129, 197, 207, 127, 195, 207, 125, 194, 206, 123, 192, 206, 120, 190, 206, 118, 189, 206, 116, 187, 205, 114, 185, 205, 112, 184, 205, 110, 182, 204, 108, 180, 204, 106, 178, 203, 104, 177, 203, 103, 175, 202, 101, 173, 202, 99, 171, 201, 98, 169, 201, 96, 168, 200, 95, 166, 199, 93, 164, 199, 92, 162, 198, 90, 160, 197, 89, 158, 196, 88, 156, 196, 87, 155, 195, 86, 153, 194, 85, 151, 193, 84, 149, 192, 83, 147, 191, 82, 145, 190, 82, 143, 189, 81, 141, 188, 80, 139, 187, 80, 138, 186, 79, 136, 185, 79, 134, 184, 79, 132, 183, 79, 130, 182, 78, 128, 180, 78, 126, 179, 78, 124, 178, 78, 122, 176, 79, 120, 175, 79, 118, 174, 79, 117, 172, 79, 115, 171, 80, 113, 169, 80, 111, 168, 81, 109, 166, 81, 107, 164, 82, 105, 163, 82, 103, 161, 83, 102, 159, 84, 100, 158, 84, 98, 156, 85, 96, 154, 86, 95, 152, 87, 93, 150, 87, 91, 148, 88, 89, 147, 89, 88, 145, 90, 86, 143, 91, 85, 141, 92, 83, 139, 92, 82, 137, 93, 80, 135, 94, 79, 133, 95, 77, 131, 96, 76, 129, 97, 75, 127, 98, 73, 125, 99, 72, 123, 99, 71, 121, 100, 70, 119, 101, 69, 118, 102, 68, 116, 103, 67, 114, 104, 66, 112, 104, 65, 110, 105, 64, 108, 106, 63, 107, 107, 63, 105, 108, 62, 103, 108, 61, 101, 109, 61, 100, 110, 60, 98, 111, 59, 96, 111, 59, 95, 112, 58, 93, 113, 58, 92, 114, 58, 90, 114, 57, 89], shape(romaO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: romaO10 = reshape([115, 57, 87, 135, 64, 55, 163, 103, 44, 195, 163, 75, 214, 216, 147, 180, 222, 198, 116, 187, 205, 79, 136, 185, 92, 83, 139, 114, 57, 89], shape(romaO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: romaO100 = reshape([115, 57, 87, 117, 56, 83, 119, 56, 80, 121, 56, 76, 122, 56, 73, 124, 57, 70, 126, 57, 67, 128, 58, 64, 130, 60, 61, 132, 61, 59, 134, 63, 56, 135, 64, 55, 138, 67, 52, 140, 69, 51, 142, 72, 49, 145, 76, 47, 147, 78, 46, 149, 82, 45, 151, 85, 44, 154, 90, 44, 157, 95, 43, 159, 98, 43, 163, 103, 44, 165, 107, 45, 168, 113, 46, 170, 117, 47, 174, 123, 49, 177, 129, 52, 180, 134, 54, 183, 140, 58, 185, 145, 61, 189, 152, 66, 191, 156, 70, 195, 163, 75, 198, 170, 82, 201, 175, 87, 204, 181, 94, 206, 186, 99, 208, 192, 107, 210, 196, 112, 212, 201, 120, 213, 206, 129, 213, 209, 134, 214, 213, 142, 214, 216, 147, 213, 219, 154, 212, 221, 159, 210, 223, 165, 207, 224, 171, 205, 225, 175, 202, 225, 181, 199, 225, 184, 194, 225, 188, 189, 224, 192, 185, 223, 195, 180, 222, 198, 175, 220, 200, 169, 218, 202, 164, 216, 203, 157, 213, 205, 150, 209, 206, 146, 207, 206, 139, 203, 207, 134, 200, 207, 127, 195, 207, 123, 192, 206, 116, 187, 205, 110, 182, 204, 106, 178, 203, 101, 173, 202, 98, 169, 201, 93, 164, 199, 90, 160, 197, 87, 155, 195, 84, 149, 192, 82, 145, 190, 80, 139, 187, 79, 136, 185, 79, 130, 182, 78, 126, 179, 79, 120, 175, 79, 115, 171, 80, 111, 168, 82, 105, 163, 83, 102, 159, 85, 96, 154, 87, 91, 148, 89, 88, 145, 92, 83, 139, 93, 80, 135, 96, 76, 129, 98, 73, 125, 100, 70, 119, 103, 67, 114, 104, 65, 110, 107, 63, 105, 108, 61, 101, 111, 59, 96, 112, 58, 93, 114, 57, 89], shape(romaO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: romaO25 = reshape([115, 57, 87, 123, 56, 72, 130, 60, 61, 139, 68, 51, 148, 81, 45, 158, 96, 43, 170, 117, 47, 182, 138, 57, 195, 163, 75, 207, 188, 102, 213, 206, 129, 212, 220, 156, 203, 225, 179, 187, 224, 194, 164, 216, 203, 141, 204, 207, 116, 187, 205, 96, 168, 200, 84, 149, 192, 78, 128, 180, 81, 107, 164, 88, 89, 147, 98, 73, 125, 106, 63, 107, 114, 57, 89], shape(romaO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: romaO50 = reshape([115, 57, 87, 119, 56, 80, 122, 56, 73, 126, 57, 66, 130, 60, 61, 134, 63, 56, 138, 67, 52, 142, 72, 49, 148, 80, 46, 152, 87, 44, 157, 95, 43, 163, 103, 44, 168, 113, 46, 175, 125, 50, 181, 136, 55, 187, 147, 63, 193, 159, 71, 198, 170, 82, 205, 183, 97, 209, 194, 110, 212, 203, 123, 214, 211, 136, 213, 217, 149, 211, 222, 163, 206, 224, 173, 200, 225, 182, 193, 225, 190, 182, 222, 197, 171, 219, 201, 160, 214, 204, 148, 208, 206, 136, 201, 207, 123, 192, 206, 112, 184, 205, 103, 175, 202, 95, 166, 199, 88, 156, 196, 82, 145, 190, 79, 136, 185, 78, 126, 179, 79, 117, 172, 81, 107, 164, 85, 96, 154, 89, 88, 145, 93, 80, 135, 98, 73, 125, 102, 68, 116, 107, 63, 105, 111, 59, 96, 114, 57, 89], shape(romaO50), order=[2, 1]) character(len=*), public, parameter, dimension(*) :: scientific_colour_maps_list = [character(colormap_name_length)::\"acton\", \"acton10\", \"acton100\", \"acton25\", \"acton50\", \"actonS\", \"bam\", \"bam10\", \"bam100\", \"bam25\", \"bam50\", \"bamako\", \"bamako10\", \"bamako100\", \"bamako25\", \"bamako50\", \"bamakoS\", \"bamO\", \"bamO10\", \"bamO100\", \"bamO25\", \"bamO50\", \"batlow\", \"batlow10\", \"batlow100\", \"batlow25\", \"batlow50\", \"batlowK\", \"batlowK10\", \"batlowK100\", \"batlowK25\", \"batlowK50\", \"batlowKS\", \"batlowS\", \"batlowW\", \"batlowW10\", \"batlowW100\", \"batlowW25\", \"batlowW50\", \"batlowWS\", \"berlin\", \"berlin10\", \"berlin100\", \"berlin25\", \"berlin50\", \"bilbao\", \"bilbao10\", \"bilbao100\", \"bilbao25\", \"bilbao50\", \"bilbaoS\", \"broc\", \"broc10\", \"broc100\", \"broc25\", \"broc50\", \"brocO\", \"brocO10\", \"brocO100\", \"brocO25\", \"brocO50\", \"buda\", \"buda10\", \"buda100\", \"buda25\", \"buda50\", \"budaS\", \"bukavu\", \"bukavu10\", \"bukavu100\", \"bukavu25\", \"bukavu50\", \"cork\", \"cork10\", \"cork100\", \"cork25\", \"cork50\", \"corkO\", \"corkO10\", \"corkO100\", \"corkO25\", \"corkO50\", \"davos\", \"davos10\", \"davos100\", \"davos25\", \"davos50\", \"davosS\", \"devon\", \"devon10\", \"devon100\", \"devon25\", \"devon50\", \"devonS\", \"fes\", \"fes10\", \"fes100\", \"fes25\", \"fes50\", \"glasgow\", \"glasgow10\", \"glasgow100\", \"glasgow25\", \"glasgow50\", \"glasgowS\", \"grayC\", \"grayC10\", \"grayC100\", \"grayC25\", \"grayC50\", \"grayCS\", \"hawaii\", \"hawaii10\", \"hawaii100\", \"hawaii25\", \"hawaii50\", \"hawaiiS\", \"imola\", \"imola10\", \"imola100\", \"imola25\", \"imola50\", \"imolaS\", \"lajolla\", \"lajolla10\", \"lajolla100\", \"lajolla25\", \"lajolla50\", \"lajollaS\", \"lapaz\", \"lapaz10\", \"lapaz100\", \"lapaz25\", \"lapaz50\", \"lapazS\", \"lipari\", \"lipari10\", \"lipari100\", \"lipari25\", \"lipari50\", \"lipariS\", \"lisbon\", \"lisbon10\", \"lisbon100\", \"lisbon25\", \"lisbon50\", \"managua\", \"managua10\", \"managua100\", \"managua25\", \"managua50\", \"navia\", \"navia10\", \"navia100\", \"navia25\", \"navia50\", \"naviaS\", \"naviaW\", \"naviaW10\", \"naviaW100\", \"naviaW25\", \"naviaW50\", \"naviaWS\", \"nuuk\", \"nuuk10\", \"nuuk100\", \"nuuk25\", \"nuuk50\", \"nuukS\", \"oleron\", \"oleron10\", \"oleron100\", \"oleron25\", \"oleron50\", \"oslo\", \"oslo10\", \"oslo100\", \"oslo25\", \"oslo50\", \"osloS\", \"roma\", \"roma10\", \"roma100\", \"roma25\", \"roma50\", \"romaO\", \"romaO10\", \"romaO100\", \"romaO25\", \"romaO50\", \"tofino\", \"tofino10\", \"tofino100\", \"tofino25\", \"tofino50\", \"tokyo\", \"tokyo10\", \"tokyo100\", \"tokyo25\", \"tokyo50\", \"tokyoS\", \"turku\", \"turku10\", \"turku100\", \"turku25\", \"turku50\", \"turkuS\", \"vanimo\", \"vanimo10\", \"vanimo100\", \"vanimo25\", \"vanimo50\", \"vik\", \"vik10\", \"vik100\", \"vik25\", \"vik50\", \"vikO\", \"vikO10\", \"vikO100\", \"vikO25\", \"vikO50\"] integer, public, dimension(0:255, 1:3) :: tofino = reshape([222, 217, 255, 219, 215, 254, 217, 213, 253, 214, 211, 251, 211, 209, 250, 208, 207, 249, 206, 205, 248, 203, 203, 247, 200, 202, 246, 198, 200, 244, 195, 198, 243, 192, 196, 242, 190, 194, 241, 187, 192, 240, 184, 190, 239, 182, 188, 237, 179, 187, 236, 176, 185, 235, 174, 183, 234, 171, 181, 233, 168, 179, 232, 166, 177, 230, 163, 175, 229, 160, 173, 228, 158, 172, 227, 155, 170, 226, 152, 168, 225, 150, 166, 223, 147, 164, 222, 144, 162, 221, 142, 160, 220, 139, 159, 219, 136, 157, 217, 134, 155, 216, 131, 153, 215, 128, 151, 213, 126, 149, 212, 123, 147, 211, 121, 145, 209, 118, 143, 208, 115, 141, 206, 113, 139, 205, 110, 137, 203, 107, 135, 202, 105, 133, 200, 102, 131, 198, 100, 129, 197, 97, 127, 195, 95, 125, 193, 92, 123, 191, 90, 121, 189, 87, 119, 186, 85, 117, 184, 83, 115, 182, 81, 113, 180, 79, 111, 177, 76, 109, 175, 74, 107, 172, 73, 105, 170, 71, 103, 167, 69, 101, 165, 67, 99, 162, 66, 98, 160, 64, 96, 157, 62, 94, 154, 61, 92, 152, 60, 90, 149, 58, 89, 147, 57, 87, 144, 56, 85, 141, 55, 84, 139, 53, 82, 136, 52, 80, 134, 51, 79, 131, 50, 77, 128, 49, 76, 126, 48, 74, 123, 47, 73, 121, 46, 71, 118, 45, 69, 116, 44, 68, 113, 43, 66, 111, 42, 65, 108, 41, 63, 106, 40, 62, 103, 39, 60, 101, 38, 59, 98, 37, 58, 96, 36, 56, 93, 35, 55, 91, 34, 53, 89, 34, 52, 86, 33, 50, 84, 32, 49, 81, 31, 48, 79, 30, 46, 77, 29, 45, 74, 28, 43, 72, 28, 42, 70, 27, 41, 67, 26, 40, 65, 25, 38, 63, 25, 37, 61, 24, 36, 59, 23, 35, 56, 22, 33, 54, 22, 32, 52, 21, 31, 50, 21, 30, 48, 20, 29, 46, 19, 28, 44, 19, 27, 42, 18, 26, 40, 18, 25, 38, 17, 24, 36, 17, 24, 35, 17, 23, 33, 16, 22, 32, 16, 22, 30, 15, 21, 29, 15, 21, 27, 14, 21, 26, 14, 21, 25, 13, 21, 24, 13, 21, 23, 13, 21, 22, 13, 21, 21, 13, 21, 20, 13, 22, 19, 13, 22, 19, 13, 23, 18, 13, 23, 18, 13, 24, 18, 14, 25, 18, 14, 26, 17, 15, 27, 18, 15, 28, 18, 16, 28, 18, 16, 30, 18, 17, 31, 18, 17, 32, 19, 17, 33, 19, 18, 34, 20, 18, 35, 20, 19, 37, 21, 19, 38, 21, 20, 39, 22, 20, 41, 22, 21, 42, 23, 21, 44, 24, 22, 45, 24, 22, 47, 25, 23, 48, 26, 24, 50, 26, 24, 51, 27, 25, 53, 28, 26, 54, 28, 26, 56, 29, 27, 57, 30, 28, 59, 31, 29, 61, 32, 29, 62, 32, 30, 64, 33, 31, 66, 34, 32, 67, 35, 32, 69, 36, 33, 71, 37, 34, 72, 37, 35, 74, 38, 35, 76, 39, 36, 77, 40, 37, 79, 41, 38, 81, 42, 39, 83, 43, 39, 84, 44, 40, 86, 44, 41, 88, 45, 42, 90, 46, 43, 91, 47, 44, 93, 48, 44, 95, 49, 45, 97, 50, 46, 98, 51, 47, 100, 52, 48, 102, 53, 49, 104, 54, 50, 106, 55, 51, 108, 56, 52, 109, 57, 53, 111, 58, 54, 113, 59, 55, 115, 60, 56, 117, 61, 57, 119, 62, 58, 121, 63, 59, 123, 64, 61, 125, 65, 62, 127, 66, 63, 129, 68, 65, 131, 69, 66, 133, 70, 68, 135, 71, 70, 137, 73, 72, 139, 74, 74, 141, 75, 76, 143, 77, 78, 145, 78, 80, 147, 80, 82, 149, 81, 85, 151, 83, 87, 154, 84, 90, 156, 86, 92, 158, 87, 95, 160, 89, 98, 162, 90, 100, 164, 92, 103, 166, 94, 106, 168, 95, 109, 169, 97, 112, 171, 99, 115, 173, 100, 118, 175, 102, 121, 177, 103, 124, 179, 105, 127, 180, 107, 130, 182, 108, 133, 184, 110, 136, 185, 112, 139, 187, 113, 142, 189, 115, 145, 190, 116, 148, 192, 118, 151, 194, 120, 154, 195, 121, 157, 197, 123, 160, 198, 124, 163, 200, 126, 166, 202, 127, 169, 203, 129, 172, 205, 131, 175, 206, 132, 178, 208, 134, 181, 209, 135, 183, 211, 137, 186, 212, 138, 189, 214, 140, 192, 216, 141, 195, 217, 143, 198, 219, 145, 201, 220, 146, 204, 222, 148, 207, 223, 149, 210, 225, 151, 213, 226, 152, 216, 228, 154, 219, 230, 155], shape(tofino), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: tofino10 = reshape([222, 217, 255, 147, 164, 222, 74, 107, 172, 39, 60, 101, 18, 25, 38, 18, 34, 20, 36, 77, 40, 63, 129, 68, 136, 185, 112, 219, 230, 155], shape(tofino10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: tofino100 = reshape([222, 217, 255, 214, 211, 251, 208, 207, 249, 200, 202, 246, 195, 198, 243, 187, 192, 240, 182, 188, 237, 174, 183, 234, 166, 177, 230, 160, 173, 228, 152, 168, 225, 147, 164, 222, 139, 159, 219, 134, 155, 216, 126, 149, 212, 118, 143, 208, 113, 139, 205, 105, 133, 200, 100, 129, 197, 92, 123, 191, 85, 117, 184, 81, 113, 180, 74, 107, 172, 71, 103, 167, 66, 98, 160, 62, 94, 154, 58, 89, 147, 55, 84, 139, 52, 80, 134, 49, 76, 126, 47, 73, 121, 44, 68, 113, 42, 65, 108, 39, 60, 101, 36, 56, 93, 34, 53, 89, 32, 49, 81, 30, 46, 77, 28, 42, 70, 26, 40, 65, 24, 36, 59, 22, 32, 52, 21, 30, 48, 19, 27, 42, 18, 25, 38, 17, 23, 33, 16, 22, 30, 14, 21, 26, 13, 21, 23, 13, 21, 21, 13, 22, 19, 13, 23, 18, 14, 26, 17, 16, 28, 18, 17, 31, 18, 18, 34, 20, 19, 37, 21, 20, 41, 22, 21, 44, 24, 23, 48, 26, 25, 53, 28, 26, 56, 29, 29, 61, 32, 30, 64, 33, 32, 69, 36, 34, 72, 37, 36, 77, 40, 39, 83, 43, 40, 86, 44, 43, 91, 47, 44, 95, 49, 47, 100, 52, 49, 104, 54, 52, 109, 57, 55, 115, 60, 57, 119, 62, 61, 125, 65, 63, 129, 68, 68, 135, 71, 72, 139, 74, 78, 145, 78, 85, 151, 83, 90, 156, 86, 98, 162, 90, 103, 166, 94, 112, 171, 99, 121, 177, 103, 127, 180, 107, 136, 185, 112, 142, 189, 115, 151, 194, 120, 157, 197, 123, 166, 202, 127, 175, 206, 132, 181, 209, 135, 189, 214, 140, 195, 217, 143, 204, 222, 148, 210, 225, 151, 219, 230, 155], shape(tofino100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: tofino25 = reshape([222, 217, 255, 192, 196, 242, 166, 177, 230, 136, 157, 217, 107, 135, 202, 83, 115, 182, 62, 94, 154, 50, 77, 128, 39, 60, 101, 29, 45, 74, 22, 32, 52, 16, 22, 32, 13, 22, 19, 16, 30, 18, 21, 44, 24, 28, 59, 31, 36, 77, 40, 45, 97, 50, 55, 115, 60, 70, 137, 73, 95, 160, 89, 124, 179, 105, 157, 197, 123, 186, 212, 138, 219, 230, 155], shape(tofino25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: tofino50 = reshape([222, 217, 255, 208, 207, 249, 195, 198, 243, 179, 187, 236, 166, 177, 230, 152, 168, 225, 139, 159, 219, 126, 149, 212, 110, 137, 203, 97, 127, 195, 85, 117, 184, 74, 107, 172, 66, 98, 160, 57, 87, 144, 51, 79, 131, 46, 71, 118, 41, 63, 106, 36, 56, 93, 31, 48, 79, 27, 41, 67, 23, 35, 56, 20, 29, 46, 17, 24, 36, 15, 21, 27, 13, 21, 22, 13, 23, 18, 15, 27, 18, 17, 33, 19, 20, 39, 22, 22, 47, 25, 26, 54, 28, 29, 62, 32, 34, 72, 37, 38, 81, 42, 42, 90, 46, 46, 98, 51, 51, 108, 56, 57, 119, 62, 63, 129, 68, 72, 139, 74, 82, 149, 81, 95, 160, 89, 112, 171, 99, 127, 180, 107, 142, 189, 115, 157, 197, 123, 172, 205, 131, 189, 214, 140, 204, 222, 148, 219, 230, 155], shape(tofino50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: tokyo = reshape([28, 14, 52, 29, 15, 52, 31, 15, 53, 33, 16, 53, 35, 16, 54, 36, 16, 54, 38, 17, 55, 40, 17, 56, 41, 18, 56, 43, 18, 57, 45, 19, 57, 47, 19, 58, 48, 20, 58, 50, 21, 59, 52, 21, 60, 53, 22, 60, 55, 22, 61, 57, 23, 61, 58, 24, 62, 60, 25, 62, 62, 25, 63, 63, 26, 64, 65, 27, 64, 67, 28, 65, 68, 29, 65, 70, 30, 66, 72, 30, 67, 73, 31, 67, 75, 32, 68, 76, 33, 68, 78, 34, 69, 79, 35, 69, 81, 36, 70, 82, 38, 70, 83, 39, 71, 85, 40, 71, 86, 41, 72, 87, 42, 72, 89, 43, 73, 90, 44, 73, 91, 45, 73, 92, 47, 74, 93, 48, 74, 94, 49, 75, 95, 50, 75, 96, 51, 75, 97, 52, 76, 98, 53, 76, 99, 55, 76, 100, 56, 77, 100, 57, 77, 101, 58, 77, 102, 59, 77, 102, 60, 78, 103, 61, 78, 104, 62, 78, 104, 63, 78, 105, 64, 78, 105, 65, 79, 106, 66, 79, 106, 67, 79, 106, 68, 79, 107, 69, 79, 107, 70, 79, 108, 71, 80, 108, 72, 80, 108, 73, 80, 108, 74, 80, 109, 75, 80, 109, 75, 80, 109, 76, 80, 109, 77, 80, 110, 78, 80, 110, 79, 80, 110, 79, 81, 110, 80, 81, 110, 81, 81, 111, 82, 81, 111, 82, 81, 111, 83, 81, 111, 84, 81, 111, 84, 81, 111, 85, 81, 111, 86, 81, 112, 86, 81, 112, 87, 81, 112, 88, 81, 112, 88, 81, 112, 89, 81, 112, 89, 81, 112, 90, 82, 112, 91, 82, 112, 91, 82, 112, 92, 82, 113, 92, 82, 113, 93, 82, 113, 93, 82, 113, 94, 82, 113, 94, 82, 113, 95, 82, 113, 95, 82, 113, 96, 82, 113, 97, 82, 113, 97, 82, 113, 98, 82, 113, 98, 82, 114, 99, 82, 114, 99, 82, 114, 100, 82, 114, 100, 82, 114, 101, 82, 114, 101, 82, 114, 102, 83, 114, 103, 83, 114, 103, 83, 114, 104, 83, 114, 104, 83, 115, 105, 83, 115, 105, 83, 115, 106, 83, 115, 107, 83, 115, 107, 83, 115, 108, 83, 115, 109, 83, 115, 109, 83, 115, 110, 83, 116, 110, 83, 116, 111, 83, 116, 112, 83, 116, 113, 83, 116, 113, 83, 116, 114, 84, 116, 115, 84, 116, 115, 84, 116, 116, 84, 117, 117, 84, 117, 118, 84, 117, 119, 84, 117, 119, 84, 117, 120, 84, 117, 121, 84, 117, 122, 84, 118, 123, 84, 118, 124, 84, 118, 124, 84, 118, 125, 85, 118, 126, 85, 118, 127, 85, 119, 128, 85, 119, 129, 85, 119, 130, 85, 119, 131, 85, 119, 132, 85, 120, 133, 85, 120, 134, 86, 120, 135, 86, 120, 136, 86, 120, 137, 86, 121, 138, 86, 121, 139, 86, 121, 141, 87, 121, 142, 87, 121, 143, 87, 122, 144, 87, 122, 145, 87, 122, 146, 88, 123, 148, 88, 123, 149, 88, 123, 150, 88, 123, 151, 89, 124, 152, 89, 124, 154, 89, 124, 155, 90, 125, 156, 90, 125, 158, 90, 125, 159, 91, 126, 160, 91, 126, 162, 92, 127, 163, 92, 127, 164, 93, 128, 166, 93, 128, 167, 94, 129, 169, 94, 129, 170, 95, 130, 172, 96, 130, 173, 96, 131, 175, 97, 132, 176, 98, 132, 178, 99, 133, 179, 100, 134, 181, 101, 135, 182, 102, 135, 184, 103, 136, 185, 104, 137, 187, 105, 138, 189, 106, 139, 190, 107, 140, 192, 109, 141, 193, 110, 142, 195, 112, 143, 197, 113, 145, 198, 115, 146, 200, 116, 147, 202, 118, 149, 203, 120, 150, 205, 121, 152, 207, 123, 153, 208, 125, 155, 210, 127, 156, 212, 129, 158, 213, 131, 160, 215, 133, 162, 216, 135, 164, 218, 138, 165, 220, 140, 167, 221, 142, 169, 223, 144, 171, 224, 147, 173, 226, 149, 175, 227, 152, 178, 228, 154, 180, 230, 156, 182, 231, 159, 184, 232, 161, 186, 234, 164, 188, 235, 166, 190, 236, 169, 193, 237, 171, 195, 238, 173, 197, 239, 176, 199, 240, 178, 201, 241, 180, 203, 242, 183, 205, 243, 185, 207, 244, 187, 209, 244, 189, 211, 245, 191, 213, 246, 193, 214, 246, 195, 216, 247, 197, 218, 247, 199, 220, 248, 201, 221, 248, 202, 223, 249, 204, 224, 249, 206, 226, 249, 207, 227, 250, 209, 229, 250, 210, 230, 250, 212, 232, 251, 213, 233, 251, 215, 234, 251, 216, 235, 251, 217, 237, 252, 218, 238, 252, 220, 239, 252, 221], shape(tokyo), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: tokyo10 = reshape([28, 14, 52, 75, 32, 68, 105, 64, 78, 112, 87, 81, 114, 103, 83, 118, 123, 84, 124, 152, 89, 141, 193, 110, 193, 237, 171, 239, 252, 221], shape(tokyo10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: tokyo100 = reshape([28, 14, 52, 33, 16, 53, 36, 16, 54, 41, 18, 56, 45, 19, 57, 50, 21, 59, 53, 22, 60, 58, 24, 62, 63, 26, 64, 67, 28, 65, 72, 30, 67, 75, 32, 68, 79, 35, 69, 82, 38, 70, 86, 41, 72, 90, 44, 73, 92, 47, 74, 95, 50, 75, 97, 52, 76, 100, 56, 77, 102, 59, 77, 103, 61, 78, 105, 64, 78, 106, 66, 79, 107, 69, 79, 108, 71, 80, 108, 74, 80, 109, 76, 80, 110, 78, 80, 110, 80, 81, 111, 82, 81, 111, 84, 81, 111, 85, 81, 112, 87, 81, 112, 89, 81, 112, 90, 82, 112, 92, 82, 113, 93, 82, 113, 94, 82, 113, 95, 82, 113, 97, 82, 114, 99, 82, 114, 100, 82, 114, 101, 82, 114, 103, 83, 114, 104, 83, 115, 105, 83, 115, 107, 83, 115, 109, 83, 116, 110, 83, 116, 113, 83, 116, 114, 84, 116, 116, 84, 117, 119, 84, 117, 120, 84, 118, 123, 84, 118, 124, 84, 118, 127, 85, 119, 129, 85, 119, 132, 85, 120, 135, 86, 120, 137, 86, 121, 141, 87, 121, 143, 87, 122, 146, 88, 123, 149, 88, 124, 152, 89, 125, 156, 90, 125, 159, 91, 127, 163, 92, 128, 166, 93, 129, 170, 95, 130, 173, 96, 132, 178, 99, 135, 182, 102, 136, 185, 104, 139, 190, 107, 141, 193, 110, 145, 198, 115, 147, 202, 118, 152, 207, 123, 156, 212, 129, 160, 215, 133, 165, 220, 140, 169, 223, 144, 175, 227, 152, 182, 231, 159, 186, 234, 164, 193, 237, 171, 197, 239, 176, 203, 242, 183, 207, 244, 187, 213, 246, 193, 218, 247, 199, 221, 248, 202, 226, 249, 207, 229, 250, 210, 233, 251, 215, 235, 251, 217, 239, 252, 221], shape(tokyo100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: tokyo25 = reshape([28, 14, 52, 47, 19, 58, 63, 26, 64, 81, 36, 70, 94, 49, 75, 102, 60, 78, 108, 71, 80, 110, 79, 81, 112, 87, 81, 113, 93, 82, 114, 99, 82, 115, 105, 83, 116, 112, 83, 117, 119, 84, 119, 129, 85, 121, 139, 86, 124, 152, 89, 128, 167, 94, 135, 182, 102, 146, 200, 116, 164, 218, 138, 184, 232, 161, 207, 244, 187, 224, 249, 206, 239, 252, 221], shape(tokyo25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: tokyo50 = reshape([28, 14, 52, 36, 16, 54, 45, 19, 57, 55, 22, 61, 63, 26, 64, 72, 30, 67, 79, 35, 69, 86, 41, 72, 93, 48, 74, 98, 53, 76, 102, 59, 77, 105, 64, 78, 107, 69, 79, 109, 75, 80, 110, 79, 80, 111, 82, 81, 111, 86, 81, 112, 89, 81, 113, 92, 82, 113, 95, 82, 113, 98, 82, 114, 100, 82, 114, 103, 83, 115, 107, 83, 115, 110, 83, 116, 113, 83, 117, 117, 84, 117, 122, 84, 118, 126, 85, 119, 131, 85, 120, 136, 86, 121, 142, 87, 123, 149, 88, 124, 155, 90, 126, 162, 92, 129, 169, 94, 132, 176, 98, 136, 185, 104, 141, 193, 110, 147, 202, 118, 155, 210, 127, 164, 218, 138, 175, 227, 152, 186, 234, 164, 197, 239, 176, 207, 244, 187, 216, 247, 197, 226, 249, 207, 233, 251, 215, 239, 252, 221], shape(tokyo50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: tokyoS = reshape([28, 14, 52, 239, 252, 221, 116, 111, 83, 135, 182, 102, 107, 70, 79, 121, 139, 86, 113, 93, 82, 184, 232, 161, 81, 36, 70, 55, 22, 61, 153, 208, 125, 216, 247, 197, 114, 101, 82, 111, 83, 81, 125, 159, 91, 118, 124, 84, 99, 55, 76, 129, 170, 95, 68, 29, 65, 167, 221, 142, 91, 45, 73, 119, 131, 85, 117, 117, 84, 41, 18, 56, 229, 250, 210, 123, 149, 88, 142, 195, 112, 113, 97, 82, 115, 106, 83, 112, 88, 81, 109, 77, 80, 201, 241, 180, 104, 63, 78, 111, 86, 81, 114, 99, 82, 193, 237, 171, 117, 120, 84, 35, 16, 54, 108, 74, 80, 138, 189, 106, 115, 109, 83, 110, 80, 81, 95, 50, 75, 102, 59, 77, 120, 135, 86, 48, 20, 58, 116, 114, 84, 118, 127, 85, 113, 95, 82, 112, 91, 82, 175, 227, 152, 75, 32, 68, 209, 244, 189, 122, 144, 87, 124, 154, 89, 147, 202, 118, 62, 25, 63, 223, 249, 204, 160, 215, 133, 234, 251, 216, 86, 41, 72, 132, 176, 98, 127, 164, 93, 114, 104, 83, 106, 66, 79, 125, 156, 90, 188, 235, 166, 112, 87, 81, 116, 115, 84, 114, 103, 83, 93, 48, 74, 171, 224, 147, 45, 19, 57, 117, 119, 84, 106, 68, 79, 205, 243, 185, 118, 125, 85, 72, 30, 67, 164, 218, 138, 52, 21, 60, 89, 43, 73, 109, 75, 80, 140, 192, 109, 113, 96, 82, 38, 17, 55, 156, 212, 129, 113, 98, 82, 145, 198, 115, 213, 246, 193, 123, 151, 89, 117, 122, 84, 220, 248, 201, 78, 34, 69, 83, 39, 71, 58, 24, 62, 112, 92, 82, 108, 72, 80, 237, 252, 218, 115, 107, 83, 130, 173, 96], shape(tokyoS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: turku = reshape([0, 0, 0, 2, 2, 2, 4, 4, 3, 6, 6, 5, 7, 7, 7, 9, 9, 8, 11, 11, 10, 13, 13, 12, 14, 14, 13, 16, 16, 14, 17, 17, 16, 18, 18, 17, 20, 19, 18, 21, 21, 19, 22, 22, 20, 23, 23, 21, 24, 24, 22, 25, 25, 23, 26, 26, 24, 27, 27, 25, 28, 28, 25, 29, 29, 26, 30, 30, 27, 31, 31, 28, 32, 32, 29, 33, 33, 30, 34, 34, 31, 35, 35, 31, 36, 36, 32, 37, 37, 33, 38, 38, 34, 39, 39, 35, 40, 40, 35, 41, 41, 36, 42, 42, 37, 43, 43, 38, 44, 44, 39, 45, 45, 39, 46, 46, 40, 47, 47, 41, 48, 48, 42, 50, 49, 42, 51, 50, 43, 52, 51, 44, 53, 52, 45, 54, 54, 45, 55, 55, 46, 56, 56, 47, 57, 57, 48, 58, 58, 48, 59, 59, 49, 60, 60, 50, 61, 61, 50, 62, 62, 51, 63, 63, 52, 64, 64, 52, 65, 65, 53, 66, 66, 53, 67, 67, 54, 68, 68, 55, 69, 69, 55, 70, 70, 56, 71, 71, 56, 72, 72, 57, 73, 73, 58, 75, 74, 58, 76, 75, 59, 77, 76, 59, 78, 77, 60, 79, 78, 60, 80, 79, 61, 81, 80, 61, 82, 81, 62, 83, 82, 62, 84, 83, 63, 85, 84, 63, 86, 86, 64, 87, 87, 64, 88, 88, 65, 89, 89, 65, 90, 90, 66, 91, 91, 66, 92, 92, 67, 93, 93, 67, 94, 94, 68, 95, 95, 68, 96, 96, 69, 97, 97, 69, 98, 98, 70, 99, 99, 70, 100, 100, 71, 101, 101, 71, 102, 102, 71, 103, 103, 72, 104, 104, 72, 106, 105, 73, 107, 106, 73, 108, 107, 74, 109, 108, 74, 110, 109, 75, 111, 110, 75, 112, 111, 76, 113, 112, 76, 114, 113, 77, 115, 114, 77, 117, 115, 78, 118, 116, 78, 119, 117, 79, 120, 118, 79, 121, 119, 80, 123, 121, 80, 124, 122, 81, 125, 123, 81, 126, 124, 82, 127, 125, 82, 129, 126, 83, 130, 127, 83, 131, 128, 84, 133, 129, 84, 134, 130, 85, 135, 131, 86, 137, 132, 86, 138, 133, 87, 139, 134, 88, 141, 135, 88, 142, 136, 89, 144, 138, 89, 145, 139, 90, 147, 140, 91, 148, 141, 91, 150, 142, 92, 151, 143, 93, 153, 144, 94, 154, 145, 94, 156, 146, 95, 157, 147, 96, 159, 148, 97, 161, 148, 97, 162, 149, 98, 164, 150, 99, 165, 151, 100, 167, 152, 100, 169, 153, 101, 170, 154, 102, 172, 154, 103, 173, 155, 104, 175, 156, 104, 176, 157, 105, 178, 157, 106, 179, 158, 107, 181, 159, 108, 182, 159, 108, 184, 160, 109, 185, 160, 110, 187, 161, 111, 188, 161, 112, 190, 162, 112, 191, 162, 113, 192, 162, 114, 194, 163, 115, 195, 163, 116, 196, 164, 116, 198, 164, 117, 199, 164, 118, 200, 164, 119, 201, 165, 120, 203, 165, 120, 204, 165, 121, 205, 165, 122, 206, 166, 123, 207, 166, 124, 208, 166, 124, 209, 166, 125, 210, 166, 126, 211, 166, 127, 212, 167, 128, 214, 167, 128, 215, 167, 129, 216, 167, 130, 217, 167, 131, 218, 167, 132, 219, 168, 133, 219, 168, 134, 220, 168, 135, 221, 168, 136, 222, 168, 137, 223, 169, 138, 224, 169, 139, 225, 169, 140, 226, 169, 141, 227, 170, 142, 228, 170, 143, 229, 170, 144, 230, 171, 146, 231, 171, 147, 232, 172, 148, 233, 172, 149, 233, 173, 151, 234, 173, 152, 235, 174, 153, 236, 174, 155, 237, 175, 156, 238, 176, 158, 239, 176, 159, 239, 177, 161, 240, 178, 162, 241, 179, 163, 242, 179, 165, 242, 180, 167, 243, 181, 168, 244, 182, 170, 244, 183, 171, 245, 184, 173, 246, 185, 174, 246, 186, 176, 247, 187, 177, 247, 188, 179, 248, 189, 180, 248, 190, 182, 249, 191, 183, 249, 192, 185, 250, 193, 186, 250, 194, 188, 251, 195, 189, 251, 196, 191, 251, 197, 192, 252, 198, 193, 252, 199, 195, 252, 200, 196, 253, 201, 198, 253, 203, 199, 253, 204, 200, 253, 205, 202, 253, 206, 203, 254, 207, 204, 254, 208, 206, 254, 209, 207, 254, 210, 208, 254, 211, 209, 254, 212, 211, 254, 214, 212, 254, 215, 213, 255, 216, 214, 255, 217, 215, 255, 218, 217, 255, 219, 218, 255, 220, 219, 255, 221, 220, 255, 222, 221, 255, 223, 223, 255, 224, 224, 255, 226, 225, 255, 227, 226, 255, 228, 227, 255, 229, 229, 255, 230, 230], shape(turku), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: turku10 = reshape([0, 0, 0, 36, 36, 32, 66, 66, 53, 95, 95, 68, 126, 124, 82, 169, 153, 101, 207, 166, 124, 234, 173, 152, 252, 199, 195, 255, 230, 230], shape(turku10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: turku100 = reshape([0, 0, 0, 6, 6, 5, 9, 9, 8, 14, 14, 13, 17, 17, 16, 21, 21, 19, 23, 23, 21, 26, 26, 24, 29, 29, 26, 31, 31, 28, 34, 34, 31, 36, 36, 32, 39, 39, 35, 41, 41, 36, 44, 44, 39, 47, 47, 41, 50, 49, 42, 53, 52, 45, 55, 55, 46, 58, 58, 48, 61, 61, 50, 63, 63, 52, 66, 66, 53, 68, 68, 55, 71, 71, 56, 73, 73, 58, 77, 76, 59, 80, 79, 61, 82, 81, 62, 85, 84, 63, 87, 87, 64, 90, 90, 66, 92, 92, 67, 95, 95, 68, 98, 98, 70, 100, 100, 71, 103, 103, 72, 106, 105, 73, 109, 108, 74, 111, 110, 75, 114, 113, 77, 118, 116, 78, 120, 118, 79, 124, 122, 81, 126, 124, 82, 130, 127, 83, 133, 129, 84, 137, 132, 86, 141, 135, 88, 144, 138, 89, 148, 141, 91, 151, 143, 93, 156, 146, 95, 161, 148, 97, 164, 150, 99, 169, 153, 101, 172, 154, 103, 176, 157, 105, 179, 158, 107, 184, 160, 109, 188, 161, 112, 191, 162, 113, 195, 163, 116, 198, 164, 117, 201, 165, 120, 204, 165, 121, 207, 166, 124, 210, 166, 126, 212, 167, 128, 216, 167, 130, 218, 167, 132, 220, 168, 135, 222, 168, 137, 225, 169, 140, 228, 170, 143, 230, 171, 146, 233, 172, 149, 234, 173, 152, 237, 175, 156, 239, 176, 159, 241, 179, 163, 243, 181, 168, 244, 183, 171, 246, 186, 176, 247, 188, 179, 249, 191, 183, 250, 194, 188, 251, 196, 191, 252, 199, 195, 253, 201, 198, 253, 205, 202, 254, 207, 204, 254, 210, 208, 254, 214, 212, 255, 216, 214, 255, 219, 218, 255, 221, 220, 255, 224, 224, 255, 227, 226, 255, 230, 230], shape(turku100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: turku25 = reshape([0, 0, 0, 18, 18, 17, 29, 29, 26, 40, 40, 35, 52, 51, 44, 62, 62, 51, 73, 73, 58, 84, 83, 63, 95, 95, 68, 107, 106, 73, 118, 116, 78, 131, 128, 84, 147, 140, 91, 162, 149, 98, 179, 158, 107, 194, 163, 115, 207, 166, 124, 219, 168, 133, 228, 170, 143, 238, 176, 158, 246, 185, 174, 251, 195, 189, 254, 207, 204, 255, 218, 217, 255, 230, 230], shape(turku25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: turku50 = reshape([0, 0, 0, 9, 9, 8, 17, 17, 16, 24, 24, 22, 29, 29, 26, 34, 34, 31, 39, 39, 35, 44, 44, 39, 51, 50, 43, 56, 56, 47, 61, 61, 50, 66, 66, 53, 71, 71, 56, 78, 77, 60, 83, 82, 62, 88, 88, 65, 93, 93, 67, 98, 98, 70, 104, 104, 72, 110, 109, 75, 115, 114, 77, 121, 119, 80, 127, 125, 82, 135, 131, 86, 142, 136, 89, 150, 142, 92, 157, 147, 96, 167, 152, 100, 175, 156, 104, 182, 159, 108, 190, 162, 112, 196, 164, 116, 204, 165, 121, 209, 166, 125, 215, 167, 129, 219, 168, 134, 224, 169, 139, 230, 171, 146, 234, 173, 152, 239, 176, 159, 242, 180, 167, 246, 185, 174, 249, 191, 183, 251, 196, 191, 253, 201, 198, 254, 207, 204, 254, 212, 211, 255, 219, 218, 255, 224, 224, 255, 230, 230], shape(turku50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: turkuS = reshape([7, 7, 7, 255, 230, 230, 150, 142, 92, 77, 76, 59, 229, 170, 144, 44, 44, 39, 109, 108, 74, 196, 164, 116, 251, 195, 189, 28, 28, 25, 254, 212, 211, 127, 125, 82, 92, 92, 67, 214, 167, 128, 242, 179, 165, 175, 156, 104, 60, 60, 50, 253, 204, 200, 20, 19, 18, 118, 116, 78, 100, 100, 71, 162, 149, 98, 68, 68, 55, 255, 221, 220, 36, 36, 32, 247, 187, 177, 138, 133, 87, 221, 168, 136, 205, 165, 122, 187, 161, 111, 235, 174, 153, 85, 84, 63, 52, 51, 44, 225, 169, 140, 244, 183, 171, 156, 146, 95, 14, 14, 13, 24, 24, 22, 255, 226, 225, 72, 72, 57, 249, 191, 183, 104, 104, 72, 133, 129, 84, 40, 40, 35, 239, 176, 159, 123, 121, 80, 96, 96, 69, 113, 112, 76, 169, 153, 101, 144, 138, 89, 218, 167, 132, 252, 199, 195, 32, 32, 29, 56, 56, 47, 181, 159, 108, 254, 208, 206, 255, 217, 215, 81, 80, 61, 64, 64, 52, 209, 166, 125, 201, 165, 120, 232, 172, 148, 192, 162, 114, 89, 89, 65, 48, 48, 42, 255, 223, 223, 153, 144, 94, 248, 189, 180, 253, 201, 198, 254, 210, 208, 120, 118, 79, 223, 169, 138, 253, 206, 203, 233, 173, 151, 251, 197, 192, 107, 106, 73, 237, 175, 156, 255, 228, 227, 87, 87, 64, 42, 42, 37, 219, 168, 134, 147, 140, 91, 254, 215, 213, 115, 114, 77, 62, 62, 51, 178, 157, 106, 243, 181, 168, 141, 135, 88, 70, 70, 56, 111, 110, 75, 83, 82, 62, 22, 22, 20, 159, 148, 97, 240, 178, 162, 130, 127, 83, 58, 58, 48, 246, 185, 174, 207, 166, 124, 199, 164, 118, 125, 123, 81], shape(turkuS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: vanimo = reshape([255, 205, 253, 253, 202, 251, 252, 199, 249, 250, 196, 247, 249, 193, 244, 247, 190, 242, 246, 187, 240, 244, 185, 238, 243, 182, 236, 241, 179, 234, 240, 176, 232, 238, 173, 230, 236, 171, 228, 235, 168, 226, 233, 165, 224, 232, 162, 222, 230, 160, 220, 229, 157, 218, 227, 154, 216, 226, 152, 214, 224, 149, 212, 222, 147, 210, 221, 144, 208, 219, 142, 206, 218, 139, 204, 216, 137, 202, 215, 134, 200, 213, 132, 198, 211, 129, 196, 210, 127, 194, 208, 125, 192, 207, 122, 191, 205, 120, 189, 203, 118, 187, 202, 115, 185, 200, 113, 183, 199, 111, 181, 197, 109, 179, 195, 107, 178, 194, 105, 176, 192, 103, 174, 190, 101, 172, 189, 99, 170, 187, 97, 168, 185, 95, 167, 184, 93, 165, 182, 91, 163, 180, 90, 161, 178, 88, 159, 177, 86, 158, 175, 85, 156, 173, 83, 154, 171, 81, 152, 169, 80, 150, 167, 78, 148, 165, 76, 146, 163, 75, 144, 161, 73, 142, 159, 72, 140, 157, 70, 138, 155, 68, 136, 153, 67, 134, 150, 65, 132, 148, 64, 130, 146, 62, 128, 144, 61, 126, 141, 60, 123, 139, 58, 121, 136, 57, 119, 134, 55, 117, 131, 54, 114, 129, 53, 112, 126, 51, 110, 124, 50, 107, 121, 49, 105, 118, 48, 103, 116, 46, 100, 113, 45, 98, 110, 44, 96, 108, 43, 93, 105, 42, 91, 102, 41, 89, 100, 39, 86, 97, 38, 84, 94, 37, 81, 92, 36, 79, 89, 35, 77, 86, 34, 74, 84, 33, 72, 81, 33, 70, 79, 32, 68, 76, 31, 65, 73, 30, 63, 71, 29, 61, 69, 28, 59, 66, 28, 57, 64, 27, 55, 62, 26, 53, 59, 26, 51, 57, 25, 49, 55, 25, 47, 53, 24, 45, 51, 23, 44, 49, 23, 42, 47, 23, 40, 46, 22, 39, 44, 22, 37, 42, 21, 36, 41, 21, 35, 40, 21, 33, 38, 21, 32, 37, 20, 31, 36, 20, 30, 35, 20, 29, 34, 20, 28, 33, 20, 27, 32, 20, 26, 31, 20, 25, 30, 20, 24, 29, 20, 24, 29, 20, 23, 28, 20, 22, 28, 20, 22, 27, 20, 21, 27, 20, 21, 26, 20, 20, 26, 21, 20, 26, 21, 19, 26, 21, 19, 25, 22, 19, 25, 22, 18, 25, 22, 18, 25, 23, 18, 25, 23, 18, 25, 24, 17, 25, 24, 17, 26, 25, 17, 26, 26, 17, 26, 26, 17, 26, 27, 17, 27, 28, 17, 27, 29, 17, 27, 30, 17, 28, 31, 17, 28, 32, 17, 29, 33, 18, 29, 34, 18, 30, 36, 18, 31, 37, 18, 31, 38, 18, 32, 39, 19, 33, 41, 19, 34, 42, 19, 35, 44, 20, 35, 45, 20, 36, 47, 20, 37, 48, 20, 38, 50, 21, 39, 52, 21, 41, 53, 22, 42, 55, 22, 43, 57, 22, 44, 59, 23, 45, 60, 23, 46, 62, 24, 47, 64, 24, 49, 66, 24, 50, 68, 25, 51, 70, 25, 52, 71, 26, 54, 73, 26, 55, 75, 27, 56, 77, 27, 58, 79, 28, 59, 81, 28, 60, 83, 29, 61, 85, 29, 63, 86, 30, 64, 88, 31, 65, 90, 31, 67, 92, 32, 68, 94, 32, 69, 96, 33, 71, 98, 33, 72, 99, 34, 73, 101, 35, 75, 103, 35, 76, 105, 36, 77, 107, 36, 78, 108, 37, 80, 110, 37, 81, 112, 38, 82, 114, 39, 84, 116, 39, 85, 117, 40, 86, 119, 41, 87, 121, 41, 89, 123, 42, 90, 124, 42, 91, 126, 43, 92, 128, 44, 94, 129, 45, 95, 131, 45, 96, 133, 46, 98, 135, 47, 99, 136, 47, 100, 138, 48, 101, 140, 49, 103, 142, 50, 104, 144, 51, 106, 146, 52, 107, 147, 53, 108, 149, 54, 110, 151, 55, 111, 153, 56, 113, 155, 57, 114, 157, 59, 116, 159, 60, 117, 161, 61, 119, 163, 63, 121, 166, 64, 122, 168, 66, 124, 170, 67, 126, 172, 69, 127, 174, 71, 129, 176, 73, 131, 179, 75, 133, 181, 77, 135, 183, 79, 136, 186, 81, 138, 188, 83, 140, 190, 85, 142, 193, 88, 144, 195, 90, 146, 198, 93, 148, 200, 96, 150, 203, 98, 152, 205, 101, 154, 208, 104, 156, 210, 107, 158, 213, 110, 160, 215, 114, 162, 218, 117, 164, 221, 120, 166, 223, 124, 169, 226, 127, 171, 228, 131, 173, 231, 134, 175, 234, 138, 177, 236, 142, 179, 239, 146, 181, 242, 149, 183, 245, 153, 186, 247, 157, 188, 250, 161, 190, 253, 165], shape(vanimo), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: vanimo10 = reshape([255, 205, 253, 211, 129, 196, 161, 73, 142, 92, 36, 79, 35, 20, 29, 27, 30, 17, 54, 73, 26, 90, 124, 42, 133, 181, 77, 190, 253, 165], shape(vanimo10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: vanimo100 = reshape([255, 205, 253, 250, 196, 247, 247, 190, 242, 243, 182, 236, 240, 176, 232, 235, 168, 226, 232, 162, 222, 227, 154, 216, 222, 147, 210, 219, 142, 206, 215, 134, 200, 211, 129, 196, 207, 122, 191, 203, 118, 187, 199, 111, 181, 194, 105, 176, 190, 101, 172, 185, 95, 167, 182, 91, 163, 177, 86, 158, 171, 81, 152, 167, 78, 148, 161, 73, 142, 157, 70, 138, 150, 65, 132, 146, 62, 128, 139, 58, 121, 131, 54, 114, 126, 51, 110, 118, 48, 103, 113, 45, 98, 105, 42, 91, 100, 39, 86, 92, 36, 79, 84, 33, 72, 79, 32, 68, 71, 29, 61, 66, 28, 57, 59, 26, 51, 55, 25, 47, 49, 23, 42, 44, 22, 37, 41, 21, 35, 37, 20, 31, 35, 20, 29, 32, 20, 26, 30, 20, 24, 28, 20, 22, 27, 20, 21, 26, 21, 20, 25, 22, 19, 25, 22, 18, 25, 24, 17, 26, 26, 17, 26, 27, 17, 27, 30, 17, 28, 32, 17, 30, 36, 18, 31, 38, 18, 34, 42, 19, 36, 47, 20, 38, 50, 21, 42, 55, 22, 44, 59, 23, 47, 64, 24, 50, 68, 25, 54, 73, 26, 58, 79, 28, 60, 83, 29, 64, 88, 31, 67, 92, 32, 71, 98, 33, 73, 101, 35, 77, 107, 36, 81, 112, 38, 84, 116, 39, 87, 121, 41, 90, 124, 42, 94, 129, 45, 96, 133, 46, 100, 138, 48, 104, 144, 51, 107, 147, 53, 111, 153, 56, 114, 157, 59, 119, 163, 63, 124, 170, 67, 127, 174, 71, 133, 181, 77, 136, 186, 81, 142, 193, 88, 146, 198, 93, 152, 205, 101, 158, 213, 110, 162, 218, 117, 169, 226, 127, 173, 231, 134, 179, 239, 146, 183, 245, 153, 190, 253, 165], shape(vanimo100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: vanimo25 = reshape([255, 205, 253, 238, 173, 230, 222, 147, 210, 205, 120, 189, 187, 97, 168, 169, 80, 150, 146, 62, 128, 121, 49, 105, 92, 36, 79, 64, 27, 55, 44, 22, 37, 31, 20, 25, 26, 21, 19, 26, 26, 17, 31, 38, 18, 41, 53, 22, 54, 73, 26, 68, 94, 32, 81, 112, 38, 95, 131, 45, 110, 151, 55, 126, 172, 69, 146, 198, 93, 166, 223, 124, 190, 253, 165], shape(vanimo25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: vanimo50 = reshape([255, 205, 253, 247, 190, 242, 240, 176, 232, 230, 160, 220, 222, 147, 210, 215, 134, 200, 207, 122, 191, 199, 111, 181, 189, 99, 170, 180, 90, 161, 171, 81, 152, 161, 73, 142, 150, 65, 132, 136, 57, 119, 124, 50, 107, 110, 44, 96, 97, 38, 84, 84, 33, 72, 69, 28, 59, 57, 25, 49, 47, 23, 40, 40, 21, 33, 34, 20, 28, 29, 20, 23, 26, 20, 20, 25, 22, 18, 25, 24, 17, 27, 29, 17, 29, 34, 18, 33, 41, 19, 37, 48, 20, 43, 57, 22, 50, 68, 25, 56, 77, 27, 63, 86, 30, 69, 96, 33, 76, 105, 36, 84, 116, 39, 90, 124, 42, 96, 133, 46, 103, 142, 50, 110, 151, 55, 119, 163, 63, 127, 174, 71, 136, 186, 81, 146, 198, 93, 156, 210, 107, 169, 226, 127, 179, 239, 146, 190, 253, 165], shape(vanimo50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: vik = reshape([0, 18, 97, 1, 20, 98, 1, 21, 99, 1, 23, 100, 1, 24, 101, 1, 26, 102, 2, 28, 103, 2, 29, 104, 2, 31, 105, 2, 32, 106, 2, 34, 107, 2, 35, 108, 2, 37, 109, 2, 39, 110, 2, 40, 111, 2, 42, 112, 2, 43, 113, 2, 45, 114, 2, 46, 115, 2, 48, 116, 2, 49, 117, 2, 51, 118, 2, 52, 119, 2, 54, 120, 2, 55, 121, 2, 57, 122, 2, 58, 123, 3, 60, 124, 3, 62, 125, 3, 63, 126, 3, 65, 127, 3, 66, 128, 3, 68, 129, 3, 69, 130, 3, 71, 131, 3, 73, 132, 3, 74, 133, 4, 76, 134, 4, 77, 135, 4, 79, 136, 5, 81, 137, 5, 82, 138, 6, 84, 139, 6, 86, 140, 7, 87, 141, 8, 89, 143, 9, 91, 144, 11, 93, 145, 12, 94, 146, 14, 96, 147, 16, 98, 148, 17, 100, 150, 19, 102, 151, 21, 103, 152, 23, 105, 153, 25, 107, 154, 28, 109, 156, 30, 111, 157, 32, 113, 158, 35, 115, 160, 37, 117, 161, 40, 119, 162, 43, 121, 164, 45, 123, 165, 48, 125, 166, 51, 127, 168, 54, 129, 169, 57, 131, 171, 60, 133, 172, 63, 135, 173, 66, 137, 175, 69, 139, 176, 72, 141, 178, 75, 144, 179, 78, 146, 180, 81, 148, 182, 84, 150, 183, 87, 152, 185, 90, 154, 186, 93, 156, 187, 97, 158, 189, 100, 160, 190, 103, 162, 192, 106, 164, 193, 109, 166, 194, 113, 168, 196, 116, 170, 197, 119, 172, 198, 122, 174, 200, 125, 176, 201, 128, 178, 202, 132, 180, 204, 135, 182, 205, 138, 184, 206, 141, 186, 208, 144, 188, 209, 148, 190, 210, 151, 192, 212, 154, 194, 213, 157, 196, 214, 160, 197, 216, 163, 199, 217, 167, 201, 218, 170, 203, 220, 173, 205, 221, 176, 207, 222, 179, 209, 223, 182, 211, 225, 186, 213, 226, 189, 214, 227, 192, 216, 228, 195, 218, 229, 198, 219, 230, 201, 221, 231, 204, 223, 232, 207, 224, 232, 210, 225, 233, 213, 227, 233, 216, 228, 233, 219, 229, 233, 222, 230, 233, 224, 230, 233, 226, 231, 232, 229, 231, 232, 231, 231, 231, 232, 231, 229, 234, 230, 228, 235, 230, 226, 236, 229, 224, 237, 228, 222, 238, 227, 220, 238, 225, 218, 238, 224, 216, 238, 222, 213, 238, 221, 211, 238, 219, 208, 238, 217, 205, 237, 215, 203, 237, 213, 200, 236, 211, 197, 236, 209, 195, 235, 208, 192, 234, 206, 189, 233, 204, 186, 233, 202, 184, 232, 200, 181, 231, 198, 178, 230, 196, 176, 229, 193, 173, 228, 191, 170, 228, 190, 168, 227, 188, 165, 226, 186, 162, 225, 184, 160, 224, 182, 157, 223, 180, 154, 223, 178, 152, 222, 176, 149, 221, 174, 147, 220, 172, 144, 219, 170, 141, 219, 168, 139, 218, 166, 136, 217, 164, 134, 216, 162, 131, 215, 160, 129, 214, 159, 126, 214, 157, 124, 213, 155, 121, 212, 153, 119, 211, 151, 116, 211, 149, 114, 210, 148, 112, 209, 146, 109, 208, 144, 107, 207, 142, 104, 207, 140, 102, 206, 139, 100, 205, 137, 97, 204, 135, 95, 204, 133, 93, 203, 131, 90, 202, 130, 88, 201, 128, 86, 201, 126, 83, 200, 124, 81, 199, 123, 79, 198, 121, 76, 198, 119, 74, 197, 117, 72, 196, 116, 69, 195, 114, 67, 194, 112, 65, 194, 110, 63, 193, 109, 60, 192, 107, 58, 191, 105, 56, 190, 103, 54, 190, 101, 51, 189, 100, 49, 188, 98, 47, 187, 96, 45, 186, 94, 42, 184, 92, 40, 183, 90, 38, 182, 88, 36, 181, 85, 33, 179, 83, 31, 178, 81, 29, 176, 79, 27, 175, 76, 24, 173, 74, 22, 171, 72, 20, 169, 69, 18, 167, 67, 16, 165, 64, 15, 163, 62, 13, 161, 60, 11, 159, 57, 10, 156, 55, 9, 154, 53, 8, 152, 51, 7, 150, 49, 7, 148, 47, 6, 145, 45, 6, 143, 43, 6, 141, 41, 6, 139, 39, 6, 137, 38, 6, 135, 36, 6, 133, 34, 6, 131, 33, 6, 129, 31, 6, 127, 30, 6, 126, 29, 6, 124, 27, 6, 122, 26, 6, 120, 24, 6, 118, 23, 6, 116, 21, 6, 115, 20, 6, 113, 19, 7, 111, 17, 7, 109, 16, 7, 108, 14, 7, 106, 13, 7, 104, 12, 7, 103, 10, 7, 101, 9, 7, 99, 7, 7, 98, 6, 7, 96, 4, 8, 94, 3, 8, 93, 2, 8, 91, 1, 8, 89, 0, 8], shape(vik), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: vik10 = reshape([0, 18, 97, 3, 62, 125, 30, 111, 157, 113, 168, 196, 201, 221, 231, 234, 206, 189, 211, 151, 116, 190, 101, 51, 139, 39, 6, 89, 0, 8], shape(vik10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: vik100 = reshape([0, 18, 97, 1, 23, 100, 1, 26, 102, 2, 31, 105, 2, 34, 107, 2, 39, 110, 2, 42, 112, 2, 46, 115, 2, 51, 118, 2, 54, 120, 2, 58, 123, 3, 62, 125, 3, 66, 128, 3, 69, 130, 3, 74, 133, 4, 79, 136, 5, 82, 138, 7, 87, 141, 9, 91, 144, 14, 96, 147, 19, 102, 151, 23, 105, 153, 30, 111, 157, 35, 115, 160, 43, 121, 164, 48, 125, 166, 57, 131, 171, 66, 137, 175, 72, 141, 178, 81, 148, 182, 87, 152, 185, 97, 158, 189, 103, 162, 192, 113, 168, 196, 122, 174, 200, 128, 178, 202, 138, 184, 206, 144, 188, 209, 154, 194, 213, 160, 197, 216, 170, 203, 220, 179, 209, 223, 186, 213, 226, 195, 218, 229, 201, 221, 231, 210, 225, 233, 216, 228, 233, 224, 230, 233, 231, 231, 231, 234, 230, 228, 237, 228, 222, 238, 225, 218, 238, 221, 211, 237, 215, 203, 236, 211, 197, 234, 206, 189, 233, 202, 184, 230, 196, 176, 228, 191, 170, 226, 186, 162, 223, 180, 154, 222, 176, 149, 219, 170, 141, 218, 166, 136, 215, 160, 129, 214, 157, 124, 211, 151, 116, 209, 146, 109, 207, 142, 104, 205, 137, 97, 204, 133, 93, 201, 128, 86, 200, 124, 81, 198, 119, 74, 195, 114, 67, 194, 110, 63, 191, 105, 56, 190, 101, 51, 187, 96, 45, 184, 92, 40, 181, 85, 33, 176, 79, 27, 173, 74, 22, 167, 67, 16, 163, 62, 13, 156, 55, 9, 150, 49, 7, 145, 45, 6, 139, 39, 6, 135, 36, 6, 129, 31, 6, 126, 29, 6, 120, 24, 6, 115, 20, 6, 111, 17, 7, 106, 13, 7, 103, 10, 7, 98, 6, 7, 94, 3, 8, 89, 0, 8], shape(vik100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: vik25 = reshape([0, 18, 97, 2, 35, 108, 2, 51, 118, 3, 68, 129, 6, 86, 140, 21, 103, 152, 48, 125, 166, 78, 146, 180, 113, 168, 196, 148, 190, 210, 179, 209, 223, 213, 227, 233, 236, 229, 224, 237, 213, 200, 228, 191, 170, 220, 172, 144, 211, 151, 116, 203, 131, 90, 195, 114, 67, 186, 94, 42, 169, 69, 18, 148, 47, 6, 126, 29, 6, 108, 14, 7, 89, 0, 8], shape(vik25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: vik50 = reshape([0, 18, 97, 1, 26, 102, 2, 34, 107, 2, 43, 113, 2, 51, 118, 2, 58, 123, 3, 66, 128, 3, 74, 133, 6, 84, 139, 11, 93, 145, 19, 102, 151, 30, 111, 157, 43, 121, 164, 60, 133, 172, 75, 144, 179, 90, 154, 186, 106, 164, 193, 122, 174, 200, 141, 186, 208, 157, 196, 214, 173, 205, 221, 189, 214, 227, 204, 223, 232, 222, 230, 233, 232, 231, 229, 238, 227, 220, 238, 219, 208, 235, 208, 192, 231, 198, 178, 227, 188, 165, 223, 178, 152, 219, 168, 139, 214, 157, 124, 210, 148, 112, 206, 139, 100, 202, 130, 88, 198, 121, 76, 194, 110, 63, 190, 101, 51, 184, 92, 40, 178, 81, 29, 169, 69, 18, 156, 55, 9, 145, 45, 6, 135, 36, 6, 126, 29, 6, 116, 21, 6, 106, 13, 7, 98, 6, 7, 89, 0, 8], shape(vik50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: vikO = reshape([79, 26, 61, 78, 26, 62, 78, 27, 63, 77, 27, 65, 76, 28, 66, 75, 29, 67, 75, 29, 68, 74, 30, 70, 73, 31, 71, 72, 32, 73, 72, 33, 74, 71, 33, 75, 70, 34, 77, 69, 35, 78, 69, 36, 80, 68, 37, 81, 67, 38, 83, 67, 39, 84, 66, 40, 86, 65, 41, 88, 64, 42, 89, 63, 44, 91, 63, 45, 93, 62, 46, 94, 61, 47, 96, 61, 49, 98, 60, 50, 99, 59, 51, 101, 58, 53, 103, 58, 54, 104, 57, 56, 106, 56, 57, 108, 56, 59, 110, 55, 60, 111, 54, 62, 113, 54, 63, 115, 53, 65, 116, 53, 67, 118, 52, 68, 120, 52, 70, 122, 52, 72, 123, 52, 73, 125, 51, 75, 127, 51, 77, 128, 51, 79, 130, 51, 81, 132, 51, 82, 133, 52, 84, 135, 52, 86, 137, 52, 88, 138, 53, 90, 140, 53, 92, 141, 54, 94, 143, 55, 95, 144, 56, 97, 146, 57, 99, 148, 58, 101, 149, 59, 103, 151, 60, 105, 152, 61, 107, 154, 63, 109, 155, 64, 111, 156, 66, 113, 158, 67, 115, 159, 69, 117, 161, 71, 119, 162, 73, 121, 164, 75, 123, 165, 77, 125, 166, 79, 127, 168, 81, 129, 169, 83, 131, 171, 85, 133, 172, 87, 135, 173, 90, 137, 175, 92, 139, 176, 94, 141, 177, 97, 143, 178, 99, 145, 180, 102, 147, 181, 104, 149, 182, 107, 151, 183, 109, 152, 184, 112, 154, 186, 114, 156, 187, 117, 158, 188, 120, 160, 189, 122, 162, 190, 125, 164, 191, 128, 165, 192, 131, 167, 193, 133, 169, 194, 136, 170, 194, 139, 172, 195, 142, 174, 196, 144, 175, 197, 147, 177, 197, 150, 178, 198, 153, 180, 198, 155, 181, 199, 158, 182, 199, 161, 184, 200, 164, 185, 200, 166, 186, 200, 169, 187, 200, 171, 188, 200, 174, 189, 200, 176, 190, 200, 179, 191, 200, 181, 192, 200, 184, 192, 199, 186, 193, 199, 188, 193, 198, 190, 194, 198, 192, 194, 197, 194, 194, 196, 196, 194, 195, 198, 195, 194, 200, 195, 193, 201, 194, 192, 203, 194, 191, 205, 194, 190, 206, 194, 188, 207, 193, 187, 209, 193, 185, 210, 192, 184, 211, 192, 182, 212, 191, 181, 213, 190, 179, 213, 189, 177, 214, 189, 175, 215, 188, 173, 215, 187, 172, 216, 186, 170, 216, 184, 168, 217, 183, 166, 217, 182, 164, 217, 181, 161, 217, 180, 159, 217, 178, 157, 217, 177, 155, 217, 175, 153, 217, 174, 151, 217, 172, 148, 217, 171, 146, 217, 169, 144, 216, 168, 141, 216, 166, 139, 216, 165, 137, 215, 163, 135, 215, 161, 132, 214, 160, 130, 213, 158, 128, 213, 156, 125, 212, 154, 123, 212, 152, 121, 211, 151, 118, 210, 149, 116, 209, 147, 114, 208, 145, 111, 208, 143, 109, 207, 141, 107, 206, 139, 104, 205, 138, 102, 204, 136, 100, 203, 134, 97, 202, 132, 95, 200, 130, 93, 199, 128, 91, 198, 126, 88, 197, 124, 86, 196, 121, 84, 194, 119, 82, 193, 117, 79, 192, 115, 77, 190, 113, 75, 189, 111, 73, 187, 109, 71, 186, 106, 69, 184, 104, 67, 183, 102, 65, 181, 100, 63, 179, 98, 61, 178, 95, 59, 176, 93, 57, 174, 91, 55, 172, 89, 53, 170, 86, 51, 169, 84, 50, 167, 82, 48, 165, 80, 47, 163, 77, 45, 161, 75, 44, 159, 73, 42, 157, 71, 41, 155, 69, 40, 153, 67, 39, 151, 65, 38, 149, 62, 37, 147, 60, 36, 145, 59, 35, 143, 57, 34, 141, 55, 33, 140, 53, 33, 138, 51, 32, 136, 49, 32, 134, 48, 31, 132, 46, 31, 130, 44, 31, 129, 43, 30, 127, 41, 30, 125, 40, 30, 124, 39, 30, 122, 37, 30, 121, 36, 30, 119, 35, 30, 118, 34, 31, 116, 33, 31, 115, 32, 31, 114, 31, 31, 112, 30, 32, 111, 29, 32, 110, 28, 32, 108, 27, 33, 107, 26, 33, 106, 26, 34, 105, 25, 34, 104, 25, 35, 103, 24, 35, 102, 24, 36, 101, 23, 37, 100, 23, 37, 99, 22, 38, 98, 22, 39, 97, 22, 39, 96, 22, 40, 95, 22, 41, 94, 21, 42, 93, 21, 43, 92, 21, 43, 91, 21, 44, 90, 21, 45, 90, 21, 46, 89, 21, 47, 88, 22, 48, 87, 22, 49, 86, 22, 50, 86, 22, 51, 85, 22, 52, 84, 23, 53, 83, 23, 54, 83, 23, 55, 82, 24, 56, 81, 24, 57, 80, 25, 58, 80, 25, 60], shape(vikO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: vikO10 = reshape([79, 26, 61, 58, 53, 103, 59, 103, 151, 117, 158, 188, 190, 194, 198, 217, 174, 151, 197, 124, 86, 149, 62, 37, 104, 25, 35, 80, 25, 60], shape(vikO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: vikO100 = reshape([79, 26, 61, 77, 27, 65, 75, 29, 67, 73, 31, 71, 72, 33, 74, 69, 35, 78, 68, 37, 81, 66, 40, 86, 63, 44, 91, 62, 46, 94, 60, 50, 99, 58, 53, 103, 56, 57, 108, 55, 60, 111, 53, 65, 116, 52, 70, 122, 52, 73, 125, 51, 79, 130, 51, 82, 133, 52, 88, 138, 54, 94, 143, 56, 97, 146, 59, 103, 151, 61, 107, 154, 66, 113, 158, 69, 117, 161, 75, 123, 165, 81, 129, 169, 85, 133, 172, 92, 139, 176, 97, 143, 178, 104, 149, 182, 109, 152, 184, 117, 158, 188, 125, 164, 191, 131, 167, 193, 139, 172, 195, 144, 175, 197, 153, 180, 198, 158, 182, 199, 166, 186, 200, 174, 189, 200, 179, 191, 200, 186, 193, 199, 190, 194, 198, 196, 194, 195, 200, 195, 193, 205, 194, 190, 209, 193, 185, 211, 192, 182, 213, 189, 177, 215, 188, 173, 216, 184, 168, 217, 181, 161, 217, 178, 157, 217, 174, 151, 217, 171, 146, 216, 166, 139, 215, 163, 135, 213, 158, 128, 212, 152, 121, 210, 149, 116, 208, 143, 109, 206, 139, 104, 203, 134, 97, 200, 130, 93, 197, 124, 86, 193, 117, 79, 190, 113, 75, 186, 106, 69, 183, 102, 65, 178, 95, 59, 174, 91, 55, 169, 84, 50, 163, 77, 45, 159, 73, 42, 153, 67, 39, 149, 62, 37, 143, 57, 34, 140, 53, 33, 134, 48, 31, 129, 43, 30, 125, 40, 30, 121, 36, 30, 118, 34, 31, 114, 31, 31, 110, 28, 32, 107, 26, 33, 104, 25, 35, 102, 24, 36, 99, 22, 38, 97, 22, 39, 94, 21, 42, 91, 21, 44, 90, 21, 46, 87, 22, 49, 86, 22, 51, 83, 23, 54, 82, 24, 56, 80, 25, 60], shape(vikO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: vikO25 = reshape([79, 26, 61, 71, 33, 75, 63, 44, 91, 56, 59, 110, 51, 77, 128, 55, 95, 144, 69, 117, 161, 90, 137, 175, 117, 158, 188, 147, 177, 197, 174, 189, 200, 198, 195, 194, 213, 190, 179, 217, 180, 159, 215, 163, 135, 208, 145, 111, 197, 124, 86, 181, 100, 63, 163, 77, 45, 141, 55, 33, 122, 37, 30, 108, 27, 33, 97, 22, 39, 88, 22, 48, 80, 25, 60], shape(vikO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: vikO50 = reshape([79, 26, 61, 75, 29, 67, 72, 33, 74, 67, 38, 83, 63, 44, 91, 60, 50, 99, 56, 57, 108, 53, 65, 116, 51, 75, 127, 52, 84, 135, 54, 94, 143, 59, 103, 151, 66, 113, 158, 77, 125, 166, 87, 135, 173, 99, 145, 180, 112, 154, 186, 125, 164, 191, 142, 174, 196, 155, 181, 199, 169, 187, 200, 181, 192, 200, 192, 194, 197, 203, 194, 191, 210, 192, 184, 214, 189, 175, 217, 183, 166, 217, 175, 153, 216, 168, 141, 214, 160, 130, 211, 151, 118, 207, 141, 107, 200, 130, 93, 194, 119, 82, 187, 109, 71, 179, 98, 61, 170, 86, 51, 159, 73, 42, 149, 62, 37, 140, 53, 33, 130, 44, 31, 122, 37, 30, 114, 31, 31, 107, 26, 33, 102, 24, 36, 97, 22, 39, 92, 21, 43, 87, 22, 49, 83, 23, 54, 80, 25, 60], shape(vikO50), order=[2, 1])","tags":"","loc":"module/scientific_colour_maps.html"},{"title":"matplotlib_colormaps – ForColormap","text":"Uses colormap_parameters module~~matplotlib_colormaps~~UsesGraph module~matplotlib_colormaps matplotlib_colormaps module~colormap_parameters colormap_parameters module~matplotlib_colormaps->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~matplotlib_colormaps~~UsedByGraph module~matplotlib_colormaps matplotlib_colormaps module~forcolormap forcolormap module~forcolormap->module~matplotlib_colormaps program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, dimension(0:255, 1:3) :: inferno = reshape([0, 0, 4, 1, 0, 5, 1, 1, 6, 1, 1, 8, 2, 1, 10, 2, 2, 12, 2, 2, 14, 3, 2, 16, 4, 3, 18, 4, 3, 20, 5, 4, 23, 6, 4, 25, 7, 5, 27, 8, 5, 29, 9, 6, 31, 10, 7, 34, 11, 7, 36, 12, 8, 38, 13, 8, 41, 14, 9, 43, 16, 9, 45, 17, 10, 48, 18, 10, 50, 20, 11, 52, 21, 11, 55, 22, 11, 57, 24, 12, 60, 25, 12, 62, 27, 12, 65, 28, 12, 67, 30, 12, 69, 31, 12, 72, 33, 12, 74, 35, 12, 76, 36, 12, 79, 38, 12, 81, 40, 11, 83, 41, 11, 85, 43, 11, 87, 45, 11, 89, 47, 10, 91, 49, 10, 92, 50, 10, 94, 52, 10, 95, 54, 9, 97, 56, 9, 98, 57, 9, 99, 59, 9, 100, 61, 9, 101, 62, 9, 102, 64, 10, 103, 66, 10, 104, 68, 10, 104, 69, 10, 105, 71, 11, 106, 73, 11, 106, 74, 12, 107, 76, 12, 107, 77, 13, 108, 79, 13, 108, 81, 14, 108, 82, 14, 109, 84, 15, 109, 85, 15, 109, 87, 16, 110, 89, 16, 110, 90, 17, 110, 92, 18, 110, 93, 18, 110, 95, 19, 110, 97, 19, 110, 98, 20, 110, 100, 21, 110, 101, 21, 110, 103, 22, 110, 105, 22, 110, 106, 23, 110, 108, 24, 110, 109, 24, 110, 111, 25, 110, 113, 25, 110, 114, 26, 110, 116, 26, 110, 117, 27, 110, 119, 28, 109, 120, 28, 109, 122, 29, 109, 124, 29, 109, 125, 30, 109, 127, 30, 108, 128, 31, 108, 130, 32, 108, 132, 32, 107, 133, 33, 107, 135, 33, 107, 136, 34, 106, 138, 34, 106, 140, 35, 105, 141, 35, 105, 143, 36, 105, 144, 37, 104, 146, 37, 104, 147, 38, 103, 149, 38, 103, 151, 39, 102, 152, 39, 102, 154, 40, 101, 155, 41, 100, 157, 41, 100, 159, 42, 99, 160, 42, 99, 162, 43, 98, 163, 44, 97, 165, 44, 96, 166, 45, 96, 168, 46, 95, 169, 46, 94, 171, 47, 94, 173, 48, 93, 174, 48, 92, 176, 49, 91, 177, 50, 90, 179, 50, 90, 180, 51, 89, 182, 52, 88, 183, 53, 87, 185, 53, 86, 186, 54, 85, 188, 55, 84, 189, 56, 83, 191, 57, 82, 192, 58, 81, 193, 58, 80, 195, 59, 79, 196, 60, 78, 198, 61, 77, 199, 62, 76, 200, 63, 75, 202, 64, 74, 203, 65, 73, 204, 66, 72, 206, 67, 71, 207, 68, 70, 208, 69, 69, 210, 70, 68, 211, 71, 67, 212, 72, 66, 213, 74, 65, 215, 75, 63, 216, 76, 62, 217, 77, 61, 218, 78, 60, 219, 80, 59, 221, 81, 58, 222, 82, 56, 223, 83, 55, 224, 85, 54, 225, 86, 53, 226, 87, 52, 227, 89, 51, 228, 90, 49, 229, 92, 48, 230, 93, 47, 231, 94, 46, 232, 96, 45, 233, 97, 43, 234, 99, 42, 235, 100, 41, 235, 102, 40, 236, 103, 38, 237, 105, 37, 238, 106, 36, 239, 108, 35, 239, 110, 33, 240, 111, 32, 241, 113, 31, 241, 115, 29, 242, 116, 28, 243, 118, 27, 243, 120, 25, 244, 121, 24, 245, 123, 23, 245, 125, 21, 246, 126, 20, 246, 128, 19, 247, 130, 18, 247, 132, 16, 248, 133, 15, 248, 135, 14, 248, 137, 12, 249, 139, 11, 249, 140, 10, 249, 142, 9, 250, 144, 8, 250, 146, 7, 250, 148, 7, 251, 150, 6, 251, 151, 6, 251, 153, 6, 251, 155, 6, 251, 157, 7, 252, 159, 7, 252, 161, 8, 252, 163, 9, 252, 165, 10, 252, 166, 12, 252, 168, 13, 252, 170, 15, 252, 172, 17, 252, 174, 18, 252, 176, 20, 252, 178, 22, 252, 180, 24, 251, 182, 26, 251, 184, 29, 251, 186, 31, 251, 188, 33, 251, 190, 35, 250, 192, 38, 250, 194, 40, 250, 196, 42, 250, 198, 45, 249, 199, 47, 249, 201, 50, 249, 203, 53, 248, 205, 55, 248, 207, 58, 247, 209, 61, 247, 211, 64, 246, 213, 67, 246, 215, 70, 245, 217, 73, 245, 219, 76, 244, 221, 79, 244, 223, 83, 244, 225, 86, 243, 227, 90, 243, 229, 93, 242, 230, 97, 242, 232, 101, 242, 234, 105, 241, 236, 109, 241, 237, 113, 241, 239, 117, 241, 241, 121, 242, 242, 125, 242, 244, 130, 243, 245, 134, 243, 246, 138, 244, 248, 142, 245, 249, 146, 246, 250, 150, 248, 251, 154, 249, 252, 157, 250, 253, 161, 252, 255, 164], shape(inferno), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: magma = reshape([0, 0, 4, 1, 0, 5, 1, 1, 6, 1, 1, 8, 2, 1, 9, 2, 2, 11, 2, 2, 13, 3, 3, 15, 3, 3, 18, 4, 4, 20, 5, 4, 22, 6, 5, 24, 6, 5, 26, 7, 6, 28, 8, 7, 30, 9, 7, 32, 10, 8, 34, 11, 9, 36, 12, 9, 38, 13, 10, 41, 14, 11, 43, 16, 11, 45, 17, 12, 47, 18, 13, 49, 19, 13, 52, 20, 14, 54, 21, 14, 56, 22, 15, 59, 24, 15, 61, 25, 16, 63, 26, 16, 66, 28, 16, 68, 29, 17, 71, 30, 17, 73, 32, 17, 75, 33, 17, 78, 34, 17, 80, 36, 18, 83, 37, 18, 85, 39, 18, 88, 41, 17, 90, 42, 17, 92, 44, 17, 95, 45, 17, 97, 47, 17, 99, 49, 17, 101, 51, 16, 103, 52, 16, 105, 54, 16, 107, 56, 16, 108, 57, 15, 110, 59, 15, 112, 61, 15, 113, 63, 15, 114, 64, 15, 116, 66, 15, 117, 68, 15, 118, 69, 16, 119, 71, 16, 120, 73, 16, 120, 74, 16, 121, 76, 17, 122, 78, 17, 123, 79, 18, 123, 81, 18, 124, 82, 19, 124, 84, 19, 125, 86, 20, 125, 87, 21, 126, 89, 21, 126, 90, 22, 126, 92, 22, 127, 93, 23, 127, 95, 24, 127, 96, 24, 128, 98, 25, 128, 100, 26, 128, 101, 26, 128, 103, 27, 128, 104, 28, 129, 106, 28, 129, 107, 29, 129, 109, 29, 129, 110, 30, 129, 112, 31, 129, 114, 31, 129, 115, 32, 129, 117, 33, 129, 118, 33, 129, 120, 34, 129, 121, 34, 130, 123, 35, 130, 124, 35, 130, 126, 36, 130, 128, 37, 130, 129, 37, 129, 131, 38, 129, 132, 38, 129, 134, 39, 129, 136, 39, 129, 137, 40, 129, 139, 41, 129, 140, 41, 129, 142, 42, 129, 144, 42, 129, 145, 43, 129, 147, 43, 128, 148, 44, 128, 150, 44, 128, 152, 45, 128, 153, 45, 128, 155, 46, 127, 156, 46, 127, 158, 47, 127, 160, 47, 127, 161, 48, 126, 163, 48, 126, 165, 49, 126, 166, 49, 125, 168, 50, 125, 170, 51, 125, 171, 51, 124, 173, 52, 124, 174, 52, 123, 176, 53, 123, 178, 53, 123, 179, 54, 122, 181, 54, 122, 183, 55, 121, 184, 55, 121, 186, 56, 120, 188, 57, 120, 189, 57, 119, 191, 58, 119, 192, 58, 118, 194, 59, 117, 196, 60, 117, 197, 60, 116, 199, 61, 115, 200, 62, 115, 202, 62, 114, 204, 63, 113, 205, 64, 113, 207, 64, 112, 208, 65, 111, 210, 66, 111, 211, 67, 110, 213, 68, 109, 214, 69, 108, 216, 69, 108, 217, 70, 107, 219, 71, 106, 220, 72, 105, 222, 73, 104, 223, 74, 104, 224, 76, 103, 226, 77, 102, 227, 78, 101, 228, 79, 100, 229, 80, 100, 231, 82, 99, 232, 83, 98, 233, 84, 98, 234, 86, 97, 235, 87, 96, 236, 88, 96, 237, 90, 95, 238, 91, 94, 239, 93, 94, 240, 95, 94, 241, 96, 93, 242, 98, 93, 242, 100, 92, 243, 101, 92, 244, 103, 92, 244, 105, 92, 245, 107, 92, 246, 108, 92, 246, 110, 92, 247, 112, 92, 247, 114, 92, 248, 116, 92, 248, 118, 92, 249, 120, 93, 249, 121, 93, 249, 123, 93, 250, 125, 94, 250, 127, 94, 250, 129, 95, 251, 131, 95, 251, 133, 96, 251, 135, 97, 252, 137, 97, 252, 138, 98, 252, 140, 99, 252, 142, 100, 252, 144, 101, 253, 146, 102, 253, 148, 103, 253, 150, 104, 253, 152, 105, 253, 154, 106, 253, 155, 107, 254, 157, 108, 254, 159, 109, 254, 161, 110, 254, 163, 111, 254, 165, 113, 254, 167, 114, 254, 169, 115, 254, 170, 116, 254, 172, 118, 254, 174, 119, 254, 176, 120, 254, 178, 122, 254, 180, 123, 254, 182, 124, 254, 183, 126, 254, 185, 127, 254, 187, 129, 254, 189, 130, 254, 191, 132, 254, 193, 133, 254, 194, 135, 254, 196, 136, 254, 198, 138, 254, 200, 140, 254, 202, 141, 254, 204, 143, 254, 205, 144, 254, 207, 146, 254, 209, 148, 254, 211, 149, 254, 213, 151, 254, 215, 153, 254, 216, 154, 253, 218, 156, 253, 220, 158, 253, 222, 160, 253, 224, 161, 253, 226, 163, 253, 227, 165, 253, 229, 167, 253, 231, 169, 253, 233, 170, 253, 235, 172, 252, 236, 174, 252, 238, 176, 252, 240, 178, 252, 242, 180, 252, 244, 182, 252, 246, 184, 252, 247, 185, 252, 249, 187, 252, 251, 189, 252, 253, 191], shape(magma), order=[2, 1]) character(len=*), public, parameter, dimension(*) :: matplotlib_colormaps_list = [character(colormap_name_length)::\"magma\", \"inferno\", \"plasma\", \"viridis\"] integer, public, dimension(0:255, 1:3) :: plasma = reshape([13, 8, 135, 16, 7, 136, 19, 7, 137, 22, 7, 138, 25, 6, 140, 27, 6, 141, 29, 6, 142, 32, 6, 143, 34, 6, 144, 36, 6, 145, 38, 5, 145, 40, 5, 146, 42, 5, 147, 44, 5, 148, 46, 5, 149, 47, 5, 150, 49, 5, 151, 51, 5, 151, 53, 4, 152, 55, 4, 153, 56, 4, 154, 58, 4, 154, 60, 4, 155, 62, 4, 156, 63, 4, 156, 65, 4, 157, 67, 3, 158, 68, 3, 158, 70, 3, 159, 72, 3, 159, 73, 3, 160, 75, 3, 161, 76, 2, 161, 78, 2, 162, 80, 2, 162, 81, 2, 163, 83, 2, 163, 85, 2, 164, 86, 1, 164, 88, 1, 164, 89, 1, 165, 91, 1, 165, 92, 1, 166, 94, 1, 166, 96, 1, 166, 97, 0, 167, 99, 0, 167, 100, 0, 167, 102, 0, 167, 103, 0, 168, 105, 0, 168, 106, 0, 168, 108, 0, 168, 110, 0, 168, 111, 0, 168, 113, 0, 168, 114, 1, 168, 116, 1, 168, 117, 1, 168, 119, 1, 168, 120, 1, 168, 122, 2, 168, 123, 2, 168, 125, 3, 168, 126, 3, 168, 128, 4, 168, 129, 4, 167, 131, 5, 167, 132, 5, 167, 134, 6, 166, 135, 7, 166, 136, 8, 166, 138, 9, 165, 139, 10, 165, 141, 11, 165, 142, 12, 164, 143, 13, 164, 145, 14, 163, 146, 15, 163, 148, 16, 162, 149, 17, 161, 150, 19, 161, 152, 20, 160, 153, 21, 159, 154, 22, 159, 156, 23, 158, 157, 24, 157, 158, 25, 157, 160, 26, 156, 161, 27, 155, 162, 29, 154, 163, 30, 154, 165, 31, 153, 166, 32, 152, 167, 33, 151, 168, 34, 150, 170, 35, 149, 171, 36, 148, 172, 38, 148, 173, 39, 147, 174, 40, 146, 176, 41, 145, 177, 42, 144, 178, 43, 143, 179, 44, 142, 180, 46, 141, 181, 47, 140, 182, 48, 139, 183, 49, 138, 184, 50, 137, 186, 51, 136, 187, 52, 136, 188, 53, 135, 189, 55, 134, 190, 56, 133, 191, 57, 132, 192, 58, 131, 193, 59, 130, 194, 60, 129, 195, 61, 128, 196, 62, 127, 197, 64, 126, 198, 65, 125, 199, 66, 124, 200, 67, 123, 201, 68, 122, 202, 69, 122, 203, 70, 121, 204, 71, 120, 204, 73, 119, 205, 74, 118, 206, 75, 117, 207, 76, 116, 208, 77, 115, 209, 78, 114, 210, 79, 113, 211, 81, 113, 212, 82, 112, 213, 83, 111, 213, 84, 110, 214, 85, 109, 215, 86, 108, 216, 87, 107, 217, 88, 106, 218, 90, 106, 218, 91, 105, 219, 92, 104, 220, 93, 103, 221, 94, 102, 222, 95, 101, 222, 97, 100, 223, 98, 99, 224, 99, 99, 225, 100, 98, 226, 101, 97, 226, 102, 96, 227, 104, 95, 228, 105, 94, 229, 106, 93, 229, 107, 93, 230, 108, 92, 231, 110, 91, 231, 111, 90, 232, 112, 89, 233, 113, 88, 233, 114, 87, 234, 116, 87, 235, 117, 86, 235, 118, 85, 236, 119, 84, 237, 121, 83, 237, 122, 82, 238, 123, 81, 239, 124, 81, 239, 126, 80, 240, 127, 79, 240, 128, 78, 241, 129, 77, 241, 131, 76, 242, 132, 75, 243, 133, 75, 243, 135, 74, 244, 136, 73, 244, 137, 72, 245, 139, 71, 245, 140, 70, 246, 141, 69, 246, 143, 68, 247, 144, 68, 247, 145, 67, 247, 147, 66, 248, 148, 65, 248, 149, 64, 249, 151, 63, 249, 152, 62, 249, 154, 62, 250, 155, 61, 250, 156, 60, 250, 158, 59, 251, 159, 58, 251, 161, 57, 251, 162, 56, 252, 163, 56, 252, 165, 55, 252, 166, 54, 252, 168, 53, 252, 169, 52, 253, 171, 51, 253, 172, 51, 253, 174, 50, 253, 175, 49, 253, 177, 48, 253, 178, 47, 253, 180, 47, 253, 181, 46, 254, 183, 45, 254, 184, 44, 254, 186, 44, 254, 187, 43, 254, 189, 42, 254, 190, 42, 254, 192, 41, 253, 194, 41, 253, 195, 40, 253, 197, 39, 253, 198, 39, 253, 200, 39, 253, 202, 38, 253, 203, 38, 252, 205, 37, 252, 206, 37, 252, 208, 37, 252, 210, 37, 251, 211, 36, 251, 213, 36, 251, 215, 36, 250, 216, 36, 250, 218, 36, 249, 220, 36, 249, 221, 37, 248, 223, 37, 248, 225, 37, 247, 226, 37, 247, 228, 37, 246, 230, 38, 246, 232, 38, 245, 233, 38, 245, 235, 39, 244, 237, 39, 243, 238, 39, 243, 240, 39, 242, 242, 39, 241, 244, 38, 241, 245, 37, 240, 247, 36, 240, 249, 33], shape(plasma), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: viridis = reshape([68, 1, 84, 68, 2, 86, 69, 4, 87, 69, 5, 89, 70, 7, 90, 70, 8, 92, 70, 10, 93, 70, 11, 94, 71, 13, 96, 71, 14, 97, 71, 16, 99, 71, 17, 100, 71, 19, 101, 72, 20, 103, 72, 22, 104, 72, 23, 105, 72, 24, 106, 72, 26, 108, 72, 27, 109, 72, 28, 110, 72, 29, 111, 72, 31, 112, 72, 32, 113, 72, 33, 115, 72, 35, 116, 72, 36, 117, 72, 37, 118, 72, 38, 119, 72, 40, 120, 72, 41, 121, 71, 42, 122, 71, 44, 122, 71, 45, 123, 71, 46, 124, 71, 47, 125, 70, 48, 126, 70, 50, 126, 70, 51, 127, 70, 52, 128, 69, 53, 129, 69, 55, 129, 69, 56, 130, 68, 57, 131, 68, 58, 131, 68, 59, 132, 67, 61, 132, 67, 62, 133, 66, 63, 133, 66, 64, 134, 66, 65, 134, 65, 66, 135, 65, 68, 135, 64, 69, 136, 64, 70, 136, 63, 71, 136, 63, 72, 137, 62, 73, 137, 62, 74, 137, 62, 76, 138, 61, 77, 138, 61, 78, 138, 60, 79, 138, 60, 80, 139, 59, 81, 139, 59, 82, 139, 58, 83, 139, 58, 84, 140, 57, 85, 140, 57, 86, 140, 56, 88, 140, 56, 89, 140, 55, 90, 140, 55, 91, 141, 54, 92, 141, 54, 93, 141, 53, 94, 141, 53, 95, 141, 52, 96, 141, 52, 97, 141, 51, 98, 141, 51, 99, 141, 50, 100, 142, 50, 101, 142, 49, 102, 142, 49, 103, 142, 49, 104, 142, 48, 105, 142, 48, 106, 142, 47, 107, 142, 47, 108, 142, 46, 109, 142, 46, 110, 142, 46, 111, 142, 45, 112, 142, 45, 113, 142, 44, 113, 142, 44, 114, 142, 44, 115, 142, 43, 116, 142, 43, 117, 142, 42, 118, 142, 42, 119, 142, 42, 120, 142, 41, 121, 142, 41, 122, 142, 41, 123, 142, 40, 124, 142, 40, 125, 142, 39, 126, 142, 39, 127, 142, 39, 128, 142, 38, 129, 142, 38, 130, 142, 38, 130, 142, 37, 131, 142, 37, 132, 142, 37, 133, 142, 36, 134, 142, 36, 135, 142, 35, 136, 142, 35, 137, 142, 35, 138, 141, 34, 139, 141, 34, 140, 141, 34, 141, 141, 33, 142, 141, 33, 143, 141, 33, 144, 141, 33, 145, 140, 32, 146, 140, 32, 146, 140, 32, 147, 140, 31, 148, 140, 31, 149, 139, 31, 150, 139, 31, 151, 139, 31, 152, 139, 31, 153, 138, 31, 154, 138, 30, 155, 138, 30, 156, 137, 30, 157, 137, 31, 158, 137, 31, 159, 136, 31, 160, 136, 31, 161, 136, 31, 161, 135, 31, 162, 135, 32, 163, 134, 32, 164, 134, 33, 165, 133, 33, 166, 133, 34, 167, 133, 34, 168, 132, 35, 169, 131, 36, 170, 131, 37, 171, 130, 37, 172, 130, 38, 173, 129, 39, 173, 129, 40, 174, 128, 41, 175, 127, 42, 176, 127, 44, 177, 126, 45, 178, 125, 46, 179, 124, 47, 180, 124, 49, 181, 123, 50, 182, 122, 52, 182, 121, 53, 183, 121, 55, 184, 120, 56, 185, 119, 58, 186, 118, 59, 187, 117, 61, 188, 116, 63, 188, 115, 64, 189, 114, 66, 190, 113, 68, 191, 112, 70, 192, 111, 72, 193, 110, 74, 193, 109, 76, 194, 108, 78, 195, 107, 80, 196, 106, 82, 197, 105, 84, 197, 104, 86, 198, 103, 88, 199, 101, 90, 200, 100, 92, 200, 99, 94, 201, 98, 96, 202, 96, 99, 203, 95, 101, 203, 94, 103, 204, 92, 105, 205, 91, 108, 205, 90, 110, 206, 88, 112, 207, 87, 115, 208, 86, 117, 208, 84, 119, 209, 83, 122, 209, 81, 124, 210, 80, 127, 211, 78, 129, 211, 77, 132, 212, 75, 134, 213, 73, 137, 213, 72, 139, 214, 70, 142, 214, 69, 144, 215, 67, 147, 215, 65, 149, 216, 64, 152, 216, 62, 155, 217, 60, 157, 217, 59, 160, 218, 57, 162, 218, 55, 165, 219, 54, 168, 219, 52, 170, 220, 50, 173, 220, 48, 176, 221, 47, 178, 221, 45, 181, 222, 43, 184, 222, 41, 186, 222, 40, 189, 223, 38, 192, 223, 37, 194, 223, 35, 197, 224, 33, 200, 224, 32, 202, 225, 31, 205, 225, 29, 208, 225, 28, 210, 226, 27, 213, 226, 26, 216, 226, 25, 218, 227, 25, 221, 227, 24, 223, 227, 24, 226, 228, 24, 229, 228, 25, 231, 228, 25, 234, 229, 26, 236, 229, 27, 239, 229, 28, 241, 229, 29, 244, 230, 30, 246, 230, 32, 248, 230, 33, 251, 231, 35, 253, 231, 37], shape(viridis), order=[2, 1])","tags":"","loc":"module/matplotlib_colormaps.html"},{"title":"forcolormap_info – ForColormap","text":"Uses colormap_parameters module~~forcolormap_info~~UsesGraph module~forcolormap_info forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~forcolormap_info~~UsedByGraph module~forcolormap_info forcolormap_info proc~check forcolormap::Colormap%check proc~check->module~forcolormap_info program~colormaps_list colormaps_list program~colormaps_list->module~forcolormap_info program~write_info write_info program~write_info->module~forcolormap_info Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Derived Types type, public :: Colormaps_info Components Type Visibility Attributes Name Initial type( table ), private :: colormaps (232) Type-Bound Procedures procedure, public :: finalize => deallocate_Colormaps_info procedure, public :: get_levels procedure, public :: get_name procedure, public :: get_ncolormaps procedure, public :: set_all procedure, public :: write type, private :: table Components Type Visibility Attributes Name Initial character(len=:), private, allocatable :: author character(len=:), private, allocatable :: colorbar character(len=:), private, allocatable :: family character(len=:), private, allocatable :: gradient integer, private :: levels character(len=:), private, allocatable :: license character(len=:), private, allocatable :: name character(len=:), private, allocatable :: package character(len=:), private, allocatable :: palette character(len=:), private, allocatable :: url Type-Bound Procedures procedure, public :: finalize => deallocate_table procedure, public :: set_info procedure, public :: write_info Functions private pure function findColumnIntersections (array) result(intersections) Arguments Type Intent Optional Attributes Name integer, intent(in) :: array (:,:) Return Value integer, allocatable, (:) private pure function get_levels (this, index) result(levels) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value integer private pure elemental function get_name (this, index) result(name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value character(len=colormap_name_length) private pure elemental function get_ncolormaps (this) result(ncolormaps) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this Return Value integer Subroutines private pure elemental subroutine deallocate_Colormaps_info (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this private pure elemental subroutine deallocate_table (this) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this private pure elemental subroutine set_all (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this private pure elemental subroutine set_info (this, package, family, name, gradient, palette, author, license, url, colorbar, levels) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this character(len=*), intent(in) :: package character(len=*), intent(in) :: family character(len=*), intent(in) :: name character(len=*), intent(in) :: gradient character(len=*), intent(in) :: palette character(len=*), intent(in) :: author character(len=*), intent(in) :: license character(len=*), intent(in) :: url character(len=*), intent(in) :: colorbar integer, intent(in) :: levels private impure subroutine write (this, verbose, name, family, gradient, palette, author, license, levels, file_name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: name character(len=*), intent(in), optional :: family character(len=*), intent(in), optional :: gradient character(len=*), intent(in), optional :: palette character(len=*), intent(in), optional :: author character(len=*), intent(in), optional :: license integer, intent(in), optional :: levels character(len=*), intent(in), optional :: file_name private impure subroutine write_info (this, verbose, file_name) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: file_name","tags":"","loc":"module/forcolormap_info.html"},{"title":"miscellaneous_colormaps – ForColormap","text":"Uses colormap_parameters module~~miscellaneous_colormaps~~UsesGraph module~miscellaneous_colormaps miscellaneous_colormaps module~colormap_parameters colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~miscellaneous_colormaps~~UsedByGraph module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap forcolormap module~forcolormap->module~miscellaneous_colormaps program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, dimension(0:1023, 1:3) :: black_body = reshape([0, 0, 0, 1, 0, 0, 2, 0, 0, 2, 1, 0, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 2, 1, 7, 2, 1, 7, 2, 1, 8, 2, 1, 9, 3, 1, 10, 3, 2, 11, 3, 2, 12, 3, 2, 12, 4, 2, 13, 4, 2, 14, 4, 2, 14, 4, 2, 15, 5, 3, 16, 5, 3, 16, 5, 3, 17, 5, 3, 17, 5, 3, 18, 6, 3, 19, 6, 3, 19, 6, 3, 20, 6, 4, 20, 7, 4, 21, 7, 4, 21, 7, 4, 22, 7, 4, 22, 8, 4, 23, 8, 4, 23, 8, 5, 23, 8, 5, 24, 9, 5, 24, 9, 5, 25, 9, 5, 25, 9, 5, 26, 10, 5, 26, 10, 5, 26, 10, 6, 27, 10, 6, 27, 10, 6, 28, 11, 6, 28, 11, 6, 28, 11, 6, 29, 11, 6, 29, 12, 7, 29, 12, 7, 30, 12, 7, 30, 12, 7, 30, 12, 7, 31, 13, 7, 31, 13, 7, 32, 13, 7, 32, 13, 8, 32, 13, 8, 33, 14, 8, 33, 14, 8, 33, 14, 8, 33, 14, 8, 34, 14, 8, 34, 15, 9, 34, 15, 9, 35, 15, 9, 35, 15, 9, 35, 15, 9, 36, 15, 9, 36, 16, 9, 37, 16, 10, 37, 16, 10, 37, 16, 10, 38, 16, 10, 38, 16, 10, 38, 16, 10, 39, 17, 10, 39, 17, 10, 39, 17, 11, 40, 17, 11, 40, 17, 11, 40, 17, 11, 41, 17, 11, 41, 17, 11, 42, 17, 11, 42, 17, 12, 42, 18, 12, 43, 18, 12, 43, 18, 12, 43, 18, 12, 44, 18, 12, 44, 18, 12, 45, 18, 12, 45, 18, 12, 45, 18, 13, 46, 18, 13, 46, 18, 13, 47, 19, 13, 47, 19, 13, 47, 19, 13, 48, 19, 13, 48, 19, 13, 48, 19, 14, 49, 19, 14, 49, 19, 14, 50, 19, 14, 50, 19, 14, 50, 19, 14, 51, 20, 14, 51, 20, 14, 52, 20, 14, 52, 20, 14, 52, 20, 15, 53, 20, 15, 53, 20, 15, 53, 20, 15, 54, 20, 15, 54, 20, 15, 55, 20, 15, 55, 20, 15, 55, 21, 15, 56, 21, 15, 56, 21, 16, 57, 21, 16, 57, 21, 16, 57, 21, 16, 58, 21, 16, 58, 21, 16, 59, 21, 16, 59, 21, 16, 59, 21, 16, 60, 21, 16, 60, 22, 16, 61, 22, 17, 61, 22, 17, 61, 22, 17, 62, 22, 17, 62, 22, 17, 63, 22, 17, 63, 22, 17, 63, 22, 17, 64, 22, 17, 64, 22, 17, 65, 22, 17, 65, 23, 18, 65, 23, 18, 66, 23, 18, 66, 23, 18, 67, 23, 18, 67, 23, 18, 67, 23, 18, 68, 23, 18, 68, 23, 18, 69, 23, 18, 69, 23, 18, 69, 23, 18, 70, 23, 18, 70, 24, 19, 71, 24, 19, 71, 24, 19, 72, 24, 19, 72, 24, 19, 72, 24, 19, 73, 24, 19, 73, 24, 19, 74, 24, 19, 74, 24, 19, 74, 24, 19, 75, 24, 19, 75, 24, 19, 76, 24, 19, 76, 25, 20, 76, 25, 20, 77, 25, 20, 77, 25, 20, 78, 25, 20, 78, 25, 20, 79, 25, 20, 79, 25, 20, 79, 25, 20, 80, 25, 20, 80, 25, 20, 81, 25, 20, 81, 25, 20, 81, 25, 20, 82, 26, 20, 82, 26, 21, 83, 26, 21, 83, 26, 21, 84, 26, 21, 84, 26, 21, 84, 26, 21, 85, 26, 21, 85, 26, 21, 86, 26, 21, 86, 26, 21, 87, 26, 21, 87, 26, 21, 87, 26, 21, 88, 26, 21, 88, 26, 21, 89, 27, 21, 89, 27, 22, 89, 27, 22, 90, 27, 22, 90, 27, 22, 91, 27, 22, 91, 27, 22, 92, 27, 22, 92, 27, 22, 92, 27, 22, 93, 27, 22, 93, 27, 22, 94, 27, 22, 94, 27, 22, 95, 27, 22, 95, 27, 22, 95, 28, 22, 96, 28, 23, 96, 28, 23, 97, 28, 23, 97, 28, 23, 98, 28, 23, 98, 28, 23, 98, 28, 23, 99, 28, 23, 99, 28, 23, 100, 28, 23, 100, 28, 23, 101, 28, 23, 101, 28, 23, 101, 28, 23, 102, 28, 23, 102, 28, 23, 103, 29, 24, 103, 29, 24, 104, 29, 24, 104, 29, 24, 105, 29, 24, 105, 29, 24, 105, 29, 24, 106, 29, 24, 106, 29, 24, 107, 29, 24, 107, 29, 24, 108, 29, 24, 108, 29, 24, 108, 29, 24, 109, 29, 24, 109, 29, 24, 110, 29, 25, 110, 29, 25, 111, 29, 25, 111, 30, 25, 112, 30, 25, 112, 30, 25, 112, 30, 25, 113, 30, 25, 113, 30, 25, 114, 30, 25, 114, 30, 25, 115, 30, 25, 115, 30, 25, 115, 30, 25, 116, 30, 25, 116, 30, 26, 117, 30, 26, 117, 30, 26, 118, 30, 26, 118, 30, 26, 119, 30, 26, 119, 30, 26, 119, 30, 26, 120, 31, 26, 120, 31, 26, 121, 31, 26, 121, 31, 26, 122, 31, 26, 122, 31, 26, 123, 31, 26, 123, 31, 26, 123, 31, 27, 124, 31, 27, 124, 31, 27, 125, 31, 27, 125, 31, 27, 126, 31, 27, 126, 31, 27, 127, 31, 27, 127, 31, 27, 128, 31, 27, 128, 31, 27, 128, 31, 27, 129, 31, 27, 129, 31, 27, 130, 31, 27, 130, 31, 27, 131, 32, 28, 131, 32, 28, 132, 32, 28, 132, 32, 28, 132, 32, 28, 133, 32, 28, 133, 32, 28, 134, 32, 28, 134, 32, 28, 135, 32, 28, 135, 32, 28, 136, 32, 28, 136, 32, 28, 137, 32, 28, 137, 32, 28, 137, 32, 28, 138, 32, 29, 138, 32, 29, 139, 32, 29, 139, 32, 29, 140, 32, 29, 140, 32, 29, 141, 32, 29, 141, 32, 29, 142, 32, 29, 142, 32, 29, 142, 32, 29, 143, 32, 29, 143, 33, 29, 144, 33, 29, 144, 33, 29, 145, 33, 29, 145, 33, 30, 146, 33, 30, 146, 33, 30, 147, 33, 30, 147, 33, 30, 148, 33, 30, 148, 33, 30, 148, 33, 30, 149, 33, 30, 149, 33, 30, 150, 33, 30, 150, 33, 30, 151, 33, 30, 151, 33, 30, 152, 33, 30, 152, 33, 31, 153, 33, 31, 153, 33, 31, 154, 33, 31, 154, 33, 31, 154, 33, 31, 155, 33, 31, 155, 33, 31, 156, 33, 31, 156, 33, 31, 157, 33, 31, 157, 33, 31, 158, 33, 31, 158, 33, 31, 159, 33, 31, 159, 33, 31, 160, 33, 32, 160, 33, 32, 160, 33, 32, 161, 33, 32, 161, 34, 32, 162, 34, 32, 162, 34, 32, 163, 34, 32, 163, 34, 32, 164, 34, 32, 164, 34, 32, 165, 34, 32, 165, 34, 32, 166, 34, 32, 166, 34, 32, 167, 34, 32, 167, 34, 33, 168, 34, 33, 168, 34, 33, 168, 34, 33, 169, 34, 33, 169, 34, 33, 170, 34, 33, 170, 34, 33, 171, 34, 33, 171, 34, 33, 172, 34, 33, 172, 34, 33, 173, 34, 33, 173, 34, 33, 174, 34, 33, 174, 34, 33, 175, 34, 34, 175, 34, 34, 176, 34, 34, 176, 34, 34, 176, 34, 34, 177, 34, 34, 177, 34, 34, 178, 34, 34, 178, 34, 34, 178, 35, 34, 179, 35, 34, 179, 36, 34, 179, 36, 34, 179, 37, 34, 180, 37, 34, 180, 38, 34, 180, 38, 34, 180, 39, 33, 181, 39, 33, 181, 40, 33, 181, 40, 33, 181, 40, 33, 182, 41, 33, 182, 41, 33, 182, 42, 33, 182, 42, 33, 183, 43, 33, 183, 43, 33, 183, 43, 33, 183, 44, 33, 184, 44, 33, 184, 45, 33, 184, 45, 33, 184, 46, 33, 185, 46, 32, 185, 46, 32, 185, 47, 32, 185, 47, 32, 186, 48, 32, 186, 48, 32, 186, 48, 32, 186, 49, 32, 187, 49, 32, 187, 50, 32, 187, 50, 32, 187, 50, 32, 188, 51, 32, 188, 51, 32, 188, 52, 32, 188, 52, 31, 189, 52, 31, 189, 53, 31, 189, 53, 31, 189, 53, 31, 190, 54, 31, 190, 54, 31, 190, 55, 31, 190, 55, 31, 191, 55, 31, 191, 56, 31, 191, 56, 31, 191, 57, 31, 192, 57, 30, 192, 57, 30, 192, 58, 30, 192, 58, 30, 193, 58, 30, 193, 59, 30, 193, 59, 30, 193, 59, 30, 194, 60, 30, 194, 60, 30, 194, 61, 30, 194, 61, 30, 195, 61, 29, 195, 62, 29, 195, 62, 29, 195, 62, 29, 196, 63, 29, 196, 63, 29, 196, 63, 29, 196, 64, 29, 197, 64, 29, 197, 65, 29, 197, 65, 29, 197, 65, 28, 198, 66, 28, 198, 66, 28, 198, 66, 28, 198, 67, 28, 199, 67, 28, 199, 67, 28, 199, 68, 28, 199, 68, 28, 200, 68, 28, 200, 69, 27, 200, 69, 27, 200, 69, 27, 201, 70, 27, 201, 70, 27, 201, 70, 27, 201, 71, 27, 202, 71, 27, 202, 72, 27, 202, 72, 26, 202, 72, 26, 203, 73, 26, 203, 73, 26, 203, 73, 26, 203, 74, 26, 204, 74, 26, 204, 74, 26, 204, 75, 25, 204, 75, 25, 204, 75, 25, 205, 76, 25, 205, 76, 25, 205, 76, 25, 205, 77, 25, 206, 77, 25, 206, 77, 24, 206, 78, 24, 206, 78, 24, 207, 78, 24, 207, 79, 24, 207, 79, 24, 207, 79, 24, 208, 80, 24, 208, 80, 23, 208, 80, 23, 208, 81, 23, 209, 81, 23, 209, 81, 23, 209, 82, 23, 209, 82, 23, 210, 82, 22, 210, 83, 22, 210, 83, 22, 210, 83, 22, 211, 84, 22, 211, 84, 22, 211, 84, 21, 211, 85, 21, 212, 85, 21, 212, 85, 21, 212, 86, 21, 212, 86, 21, 213, 86, 20, 213, 87, 20, 213, 87, 20, 213, 87, 20, 214, 88, 20, 214, 88, 20, 214, 88, 19, 214, 89, 19, 215, 89, 19, 215, 89, 19, 215, 90, 19, 215, 90, 18, 216, 90, 18, 216, 91, 18, 216, 91, 18, 216, 91, 18, 217, 92, 17, 217, 92, 17, 217, 92, 17, 217, 92, 17, 218, 93, 16, 218, 93, 16, 218, 93, 16, 218, 94, 16, 219, 94, 16, 219, 94, 15, 219, 95, 15, 219, 95, 15, 220, 95, 15, 220, 96, 14, 220, 96, 14, 220, 96, 14, 221, 97, 14, 221, 97, 13, 221, 97, 13, 221, 98, 13, 222, 98, 12, 222, 98, 12, 222, 99, 12, 222, 99, 12, 223, 99, 11, 223, 100, 11, 223, 100, 11, 223, 100, 10, 224, 101, 10, 224, 101, 10, 224, 101, 9, 224, 101, 9, 225, 102, 9, 225, 102, 8, 225, 102, 8, 225, 103, 8, 226, 103, 7, 226, 103, 7, 226, 104, 6, 226, 104, 6, 226, 104, 6, 227, 105, 5, 227, 105, 5, 227, 105, 5, 227, 106, 5, 227, 106, 5, 227, 107, 6, 227, 107, 6, 227, 108, 6, 227, 108, 6, 227, 109, 6, 228, 109, 6, 228, 110, 6, 228, 110, 6, 228, 110, 7, 228, 111, 7, 228, 111, 7, 228, 112, 7, 228, 112, 7, 228, 113, 7, 228, 113, 7, 228, 114, 8, 228, 114, 8, 228, 114, 8, 228, 115, 8, 228, 115, 8, 228, 116, 8, 228, 116, 9, 228, 117, 9, 229, 117, 9, 229, 118, 9, 229, 118, 9, 229, 118, 9, 229, 119, 9, 229, 119, 10, 229, 120, 10, 229, 120, 10, 229, 121, 10, 229, 121, 10, 229, 122, 10, 229, 122, 11, 229, 122, 11, 229, 123, 11, 229, 123, 11, 229, 124, 11, 229, 124, 11, 229, 125, 12, 229, 125, 12, 229, 125, 12, 230, 126, 12, 230, 126, 12, 230, 127, 12, 230, 127, 13, 230, 128, 13, 230, 128, 13, 230, 128, 13, 230, 129, 13, 230, 129, 13, 230, 130, 14, 230, 130, 14, 230, 130, 14, 230, 131, 14, 230, 131, 14, 230, 132, 14, 230, 132, 15, 230, 133, 15, 230, 133, 15, 230, 133, 15, 230, 134, 15, 230, 134, 15, 230, 135, 16, 230, 135, 16, 231, 136, 16, 231, 136, 16, 231, 136, 16, 231, 137, 16, 231, 137, 16, 231, 138, 17, 231, 138, 17, 231, 138, 17, 231, 139, 17, 231, 139, 17, 231, 140, 17, 231, 140, 18, 231, 141, 18, 231, 141, 18, 231, 141, 18, 231, 142, 18, 231, 142, 18, 231, 143, 19, 231, 143, 19, 231, 143, 19, 231, 144, 19, 231, 144, 19, 231, 145, 19, 231, 145, 19, 231, 145, 20, 231, 146, 20, 231, 146, 20, 231, 147, 20, 231, 147, 20, 232, 147, 20, 232, 148, 21, 232, 148, 21, 232, 149, 21, 232, 149, 21, 232, 150, 21, 232, 150, 21, 232, 150, 21, 232, 151, 22, 232, 151, 22, 232, 152, 22, 232, 152, 22, 232, 152, 22, 232, 153, 22, 232, 153, 23, 232, 154, 23, 232, 154, 23, 232, 154, 23, 232, 155, 23, 232, 155, 23, 232, 156, 24, 232, 156, 24, 232, 156, 24, 232, 157, 24, 232, 157, 24, 232, 158, 24, 232, 158, 24, 232, 158, 25, 232, 159, 25, 232, 159, 25, 232, 160, 25, 232, 160, 25, 232, 160, 25, 232, 161, 26, 232, 161, 26, 232, 162, 26, 232, 162, 26, 232, 162, 26, 232, 163, 26, 232, 163, 26, 232, 164, 27, 232, 164, 27, 233, 164, 27, 233, 165, 27, 233, 165, 27, 233, 166, 27, 233, 166, 28, 233, 166, 28, 233, 167, 28, 233, 167, 28, 233, 168, 28, 233, 168, 28, 233, 168, 28, 233, 169, 29, 233, 169, 29, 233, 170, 29, 233, 170, 29, 233, 170, 29, 233, 171, 29, 233, 171, 30, 233, 172, 30, 233, 172, 30, 233, 172, 30, 233, 173, 30, 233, 173, 30, 233, 173, 30, 233, 174, 31, 233, 174, 31, 233, 175, 31, 233, 175, 31, 233, 175, 31, 233, 176, 31, 233, 176, 32, 233, 177, 32, 233, 177, 32, 233, 177, 32, 233, 178, 32, 233, 178, 32, 233, 179, 32, 233, 179, 33, 233, 179, 33, 233, 180, 33, 233, 180, 33, 233, 181, 33, 233, 181, 33, 233, 181, 34, 233, 182, 34, 233, 182, 34, 233, 183, 34, 233, 183, 34, 233, 183, 34, 233, 184, 34, 233, 184, 35, 233, 184, 35, 233, 185, 35, 233, 185, 35, 233, 186, 35, 233, 186, 35, 233, 186, 36, 233, 187, 36, 233, 187, 36, 233, 188, 36, 233, 188, 36, 233, 188, 36, 233, 189, 36, 233, 189, 37, 233, 190, 37, 233, 190, 37, 233, 190, 37, 233, 191, 37, 233, 191, 37, 233, 191, 38, 233, 192, 38, 233, 192, 38, 233, 193, 38, 233, 193, 38, 233, 193, 38, 233, 194, 38, 233, 194, 39, 233, 195, 39, 233, 195, 39, 233, 195, 39, 233, 196, 39, 233, 196, 39, 233, 197, 40, 233, 197, 40, 233, 197, 40, 233, 198, 40, 233, 198, 40, 233, 198, 40, 233, 199, 40, 233, 199, 41, 233, 200, 41, 233, 200, 41, 233, 200, 41, 233, 201, 41, 233, 201, 41, 232, 202, 42, 232, 202, 42, 232, 202, 42, 232, 203, 42, 232, 203, 42, 232, 203, 42, 232, 204, 42, 232, 204, 43, 232, 205, 43, 232, 205, 43, 232, 205, 43, 232, 206, 43, 232, 206, 43, 232, 207, 44, 232, 207, 44, 232, 207, 44, 232, 208, 44, 232, 208, 44, 232, 208, 44, 232, 209, 44, 232, 209, 45, 232, 210, 45, 232, 210, 45, 232, 210, 45, 232, 211, 45, 232, 211, 45, 232, 212, 46, 232, 212, 46, 232, 212, 46, 232, 213, 46, 232, 213, 46, 232, 213, 46, 232, 214, 46, 232, 214, 47, 232, 215, 47, 232, 215, 47, 232, 215, 47, 232, 216, 47, 232, 216, 47, 231, 217, 48, 231, 217, 48, 231, 217, 48, 231, 218, 48, 231, 218, 48, 231, 218, 48, 231, 219, 48, 231, 219, 49, 231, 220, 49, 231, 220, 49, 231, 220, 49, 231, 221, 49, 231, 221, 49, 231, 222, 50, 231, 222, 50, 231, 222, 50, 231, 223, 50, 231, 223, 50, 231, 223, 50, 231, 224, 50, 231, 224, 51, 231, 225, 51, 231, 225, 51, 231, 225, 51, 231, 226, 51, 230, 226, 51, 230, 227, 52, 230, 227, 52, 230, 227, 52, 230, 228, 52, 230, 228, 52, 230, 228, 52, 230, 229, 53, 230, 229, 53, 230, 230, 53, 230, 230, 53, 230, 230, 55, 231, 230, 58, 231, 231, 61, 232, 231, 63, 232, 231, 66, 232, 231, 68, 233, 231, 70, 233, 232, 72, 233, 232, 75, 234, 232, 77, 234, 232, 79, 235, 232, 81, 235, 233, 83, 235, 233, 85, 236, 233, 87, 236, 233, 89, 236, 233, 91, 237, 234, 93, 237, 234, 95, 237, 234, 97, 238, 234, 99, 238, 235, 101, 238, 235, 103, 239, 235, 104, 239, 235, 106, 239, 235, 108, 240, 236, 110, 240, 236, 112, 240, 236, 114, 241, 236, 115, 241, 236, 117, 241, 237, 119, 242, 237, 121, 242, 237, 122, 242, 237, 124, 243, 237, 126, 243, 238, 128, 243, 238, 129, 243, 238, 131, 244, 238, 133, 244, 239, 134, 244, 239, 136, 245, 239, 138, 245, 239, 139, 245, 239, 141, 245, 240, 143, 246, 240, 145, 246, 240, 146, 246, 240, 148, 246, 240, 150, 247, 241, 151, 247, 241, 153, 247, 241, 155, 247, 241, 156, 248, 242, 158, 248, 242, 159, 248, 242, 161, 248, 242, 163, 249, 242, 164, 249, 243, 166, 249, 243, 168, 249, 243, 169, 249, 243, 171, 250, 243, 173, 250, 244, 174, 250, 244, 176, 250, 244, 177, 250, 244, 179, 251, 245, 181, 251, 245, 182, 251, 245, 184, 251, 245, 186, 251, 245, 187, 251, 246, 189, 252, 246, 190, 252, 246, 192, 252, 246, 194, 252, 247, 195, 252, 247, 197, 252, 247, 199, 253, 247, 200, 253, 247, 202, 253, 248, 203, 253, 248, 205, 253, 248, 207, 253, 248, 208, 253, 249, 210, 253, 249, 211, 254, 249, 213, 254, 249, 215, 254, 249, 216, 254, 250, 218, 254, 250, 219, 254, 250, 221, 254, 250, 223, 254, 251, 224, 254, 251, 226, 254, 251, 228, 254, 251, 229, 255, 252, 231, 255, 252, 232, 255, 252, 234, 255, 252, 236, 255, 252, 237, 255, 253, 239, 255, 253, 240, 255, 253, 242, 255, 253, 244, 255, 254, 245, 255, 254, 247, 255, 254, 249, 255, 254, 250, 255, 255, 252, 255, 255, 253, 255, 255, 255], shape(black_body), order=[2, 1]) character(len=*), public, parameter, dimension(*) :: miscellaneous_colormaps_list = [character(colormap_name_length)::\"fire\", \"rainbow\", \"inv_rainbow\", \"zebra\", \"cubehelix\", \"black_body\"] Subroutines public pure subroutine cubehelix_colormap (map, nlev, varargs) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map integer, intent(in) :: nlev real(kind=wp), intent(in), optional, dimension(:) :: varargs public pure subroutine fire_colormap (levels, map) Arguments Type Intent Optional Attributes Name integer, intent(in) :: levels integer, intent(out), dimension(:,:), allocatable :: map public pure subroutine inv_rainbow_colormap (map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map public pure subroutine rainbow_colormap (map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map public pure subroutine zebra_colormap (map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map","tags":"","loc":"module/miscellaneous_colormaps.html"},{"title":"colormap_parameters – ForColormap","text":"Uses iso_fortran_env module~~colormap_parameters~~UsesGraph module~colormap_parameters colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~colormap_parameters~~UsedByGraph module~colormap_parameters colormap_parameters module~forcolormap forcolormap module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps module~forcolormap_info forcolormap_info module~forcolormap_info->module~colormap_parameters module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters proc~error colormap_class.f90::error proc~error->module~colormap_parameters proc~check forcolormap::Colormap%check proc~check->module~forcolormap_info program~colormaps_list colormaps_list program~colormaps_list->module~forcolormap_info program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap program~write_info write_info program~write_info->module~forcolormap_info Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, parameter :: colormap_name_length = 30 real(kind=wp), public, parameter :: pi = 4*atan(1.0_wp)","tags":"","loc":"module/colormap_parameters.html"},{"title":"write_info – ForColormap","text":"Uses forcolormap_info program~~write_info~~UsesGraph program~write_info write_info module~forcolormap_info forcolormap_info program~write_info->module~forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Print all colormap information using default verbosity (level 1) Filter and write colormap information\nAvailable filters: name, family, gradient, palette, author, license, levels Write colormap information to a file Calls program~~write_info~~CallsGraph program~write_info write_info proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info program~write_info->proc~deallocate_colormaps_info proc~set_all forcolormap_info::Colormaps_info%set_all program~write_info->proc~set_all proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info->proc~deallocate_table proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormaps_info ) :: info Source Code program write_info use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Print all colormap information using default verbosity (level 1) ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name call info % write () !! Filter and write colormap information !! Available filters: name, family, gradient, palette, author, license, levels ! Filter by gradient using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by gradient and palette using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by family and palette using verbosity level 2 call info % write ( family = 'vik' , gradient = 'Diverging' , palette = 'Continuous' , verbose = 2 ) !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program write_info","tags":"","loc":"program/write_info.html"},{"title":"create – ForColormap","text":"Uses forcolormap program~~create~~UsesGraph program~create create module~forcolormap forcolormap program~create->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. This example demonstrates creating a custom colormap using methods like\ncreate_lagrange() and create_bezier(). Calls program~~create~~CallsGraph program~create create proc~create_bezier forcolormap::Colormap%create_bezier program~create->proc~create_bezier proc~create_lagrange forcolormap::Colormap%create_lagrange program~create->proc~create_lagrange proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~create->proc~write_ppm_colorbar proc~bezier forcolormap::bezier proc~create_bezier->proc~bezier proc~check forcolormap::Colormap%check proc~create_bezier->proc~check proc~reverse forcolormap::Colormap%reverse proc~create_bezier->proc~reverse proc~create_lagrange->proc~check proc~lagrange forcolormap::lagrange proc~create_lagrange->proc~lagrange proc~create_lagrange->proc~reverse export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~factorial forcolormap::factorial proc~bezier->proc~factorial proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange->proc~lagrange_poly proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial integer :: colors (3,3) type( Colormap ) :: custom_cmap Source Code program create use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: custom_cmap integer :: colors ( 3 , 3 ) ! Define control colors for the colormap. colors ( 1 ,:) = [ 255 , 0 , 0 ] ! Red colors ( 2 ,:) = [ 0 , 255 , 0 ] ! Green colors ( 3 ,:) = [ 0 , 0 , 255 ] ! Blue ! Create a custom colormap using Lagrange interpolation. call custom_cmap % create_lagrange ( 'custom_lagrange' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_lagrange' ) print * , \"See the custom_colorbar_lagrange.ppm colorbar\" ! Create a custom colormap using Bezier interpolation. call custom_cmap % create_bezier ( 'custom_bezier' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_bezier' ) print * , \"See the custom_colorbar_bezier.ppm colorbar\" end program create","tags":"","loc":"program/create.html"},{"title":"example1 – ForColormap","text":"Uses forcolormap_utils forimage forcolormap program~~example1~~UsesGraph program~example1 example1 forcolormap_utils forcolormap_utils program~example1->forcolormap_utils forimage forimage program~example1->forimage module~forcolormap forcolormap program~example1->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. This example demonstrates how ForImage can be used to import/export PPM files. Calls program~~example1~~CallsGraph program~example1 example1 export_pnm export_pnm program~example1->export_pnm finalize finalize program~example1->finalize import_pnm import_pnm program~example1->import_pnm proc~load forcolormap::Colormap%load program~example1->proc~load proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~example1->proc~write_ppm_colorbar test_colormap test_colormap program~example1->test_colormap proc~check forcolormap::Colormap%check proc~load->proc~check proc~reverse forcolormap::Colormap%reverse proc~load->proc~reverse proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: custom_cmap type(format_pnm) :: ex1_colorbar type(format_pnm) :: ex1_colormap Source Code program example1 use forcolormap use forcolormap_utils , only : test_colormap use forimage implicit none type ( Colormap ) :: custom_cmap type ( format_pnm ) :: ex1_colormap , ex1_colorbar ! Create ppm files call custom_cmap % load ( 'test_map_to_load.txt' , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colormap_ascii_test' , encoding = 'ascii' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_ascii_colorbar' , encoding = 'ascii' ) call custom_cmap % print () ! Import ascii ppm files call ex1_colormap % import_pnm ( 'a_loaded_colormap_ascii_test' , 'ppm' , 'ascii' ) call ex1_colorbar % import_pnm ( 'a_loaded_colormap_ascii_colorbar' , 'ppm' , 'ascii' ) ! Change colormap and colorbar colors ex1_colormap % pixels = ex1_colormap % pixels * ( 1.6 ) ex1_colorbar % pixels = ex1_colorbar % pixels * ( 1.6 ) ! Export binary ppm files call ex1_colormap % export_pnm ( 'a_loaded_colormap_binary_test_m' , 'binary' ) call ex1_colorbar % export_pnm ( 'a_loaded_colormap_binary_colorbar_m' , 'binary' ) ! Deallocate call ex1_colormap % finalize () call ex1_colorbar % finalize () end program example1","tags":"","loc":"program/example1.html"},{"title":"demo – ForColormap","text":"Uses forcolormap_utils forcolormap program~~demo~~UsesGraph program~demo demo forcolormap_utils forcolormap_utils program~demo->forcolormap_utils module~forcolormap forcolormap program~demo->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. We create PPM files (binary encoded by default) for each built-in colormap.\nThe built-in z=f(x,y) test function is in the [0, 2] range: Calls program~~demo~~CallsGraph program~demo demo proc~create forcolormap::Colormap%create program~demo->proc~create proc~get_levels forcolormap::Colormap%get_levels program~demo->proc~get_levels proc~get_name forcolormap::Colormap%get_name program~demo->proc~get_name proc~load forcolormap::Colormap%load program~demo->proc~load proc~set forcolormap::Colormap%set program~demo->proc~set proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~demo->proc~write_ppm_colorbar test_colormap test_colormap program~demo->test_colormap proc~check forcolormap::Colormap%check proc~create->proc~check proc~reverse forcolormap::Colormap%reverse proc~create->proc~reverse proc~load->proc~check proc~load->proc~reverse proc~set->proc~create proc~set->proc~check proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap integer, allocatable :: colors (:,:) type( Colormap ) :: custom_cmap integer :: i integer, dimension(0:7, 3) :: my_colormap = reshape([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255], shape(my_colormap), order=[2, 1]) Source Code program demo use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap integer , allocatable :: colors (:,:) ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp ) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ]) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap ) call custom_cmap % colorbar ( 'discrete_colorbar' ) call test_colormap ( custom_cmap , 'discrete_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_test' ) call custom_cmap % print () end program demo","tags":"","loc":"program/demo.html"},{"title":"demo_reverse – ForColormap","text":"Uses forcolormap_utils forcolormap program~~demo_reverse~~UsesGraph program~demo_reverse demo_reverse forcolormap_utils forcolormap_utils program~demo_reverse->forcolormap_utils module~forcolormap forcolormap program~demo_reverse->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. We create PPM files (binary encoded by default) for each built-in colormap.\nThe built-in z=f(x,y) test function is in the [0, 2] range: Calls program~~demo_reverse~~CallsGraph program~demo_reverse demo_reverse proc~create forcolormap::Colormap%create program~demo_reverse->proc~create proc~get_levels forcolormap::Colormap%get_levels program~demo_reverse->proc~get_levels proc~get_name forcolormap::Colormap%get_name program~demo_reverse->proc~get_name proc~load forcolormap::Colormap%load program~demo_reverse->proc~load proc~set forcolormap::Colormap%set program~demo_reverse->proc~set proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~demo_reverse->proc~write_ppm_colorbar test_colormap test_colormap program~demo_reverse->test_colormap proc~check forcolormap::Colormap%check proc~create->proc~check proc~reverse forcolormap::Colormap%reverse proc~create->proc~reverse proc~load->proc~check proc~load->proc~reverse proc~set->proc~create proc~set->proc~check proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap type( Colormap ) :: custom_cmap integer :: i integer, dimension(0:7, 3) :: my_colormap = reshape([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255], shape(my_colormap), order=[2, 1]) Source Code program demo_reverse use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp , reverse = . true .) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_reverse_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_reverse_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ], reverse = . true .) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_reverse_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_reverse_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap , reverse = . true .) call custom_cmap % colorbar ( 'discrete_reverse_colorbar' ) call test_colormap ( custom_cmap , 'discrete_reverse_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp , reverse = . true .) call custom_cmap % colorbar ( 'a_loaded_reverse_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_reverse_colormap_test' ) call custom_cmap % print () end program demo_reverse","tags":"","loc":"program/demo_reverse.html"},{"title":"extract – ForColormap","text":"Uses forcolormap program~~extract~~UsesGraph program~extract extract module~forcolormap forcolormap program~extract->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Calls program~~extract~~CallsGraph program~extract extract proc~extract forcolormap::Colormap%extract program~extract->proc~extract proc~set forcolormap::Colormap%set program~extract->proc~set proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~extract->proc~write_ppm_colorbar proc~create forcolormap::Colormap%create proc~extract->proc~create proc~reverse forcolormap::Colormap%reverse proc~extract->proc~reverse proc~scale_real_int forcolormap::scale_real_int proc~extract->proc~scale_real_int proc~check forcolormap::Colormap%check proc~set->proc~check proc~set->proc~create proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~create->proc~check proc~create->proc~reverse proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int->proc~scale_real_real proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap Source Code program extract use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap ! Initialize the colormap call cmap % set ( 'fes' , 0.0_wp , 2.0_wp ) ! Extract 10 colors from the colormap (extractedLevels=10) ! Optional arguments: 'name', 'zmin', 'zmax', and 'reverse' can be provided ! The extracted colormap will overwrite the existing colormap type (cmap) call cmap % extract ( 10 ) ! Generate a color bar for the extracted colormap call cmap % colorbar ( 'fes10_ex_colorbar' ) end program extract","tags":"","loc":"program/extract.html"},{"title":"colormaps_list – ForColormap","text":"Uses forcolormap_info program~~colormaps_list~~UsesGraph program~colormaps_list colormaps_list module~forcolormap_info forcolormap_info program~colormaps_list->module~forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Write colormap information to a file Calls program~~colormaps_list~~CallsGraph program~colormaps_list colormaps_list proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info program~colormaps_list->proc~deallocate_colormaps_info proc~set_all forcolormap_info::Colormaps_info%set_all program~colormaps_list->proc~set_all proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info->proc~deallocate_table proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormaps_info ) :: info Source Code program colormaps_list use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_SEQ.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_MSQ.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'colormaps_list/COLORMAPS_LIST_DIV.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'colormaps_list/COLORMAPS_LIST_CAT.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'colormaps_list/COLORMAPS_LIST_CYC.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program colormaps_list","tags":"","loc":"program/colormaps_list.html"},{"title":"modify – ForColormap","text":"Uses forcolormap program~~modify~~UsesGraph program~modify modify module~forcolormap forcolormap program~modify->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. This example shows how you can modify a colormap with methods like shift(),\nin concrete cases.\nIn the Scientific colour maps collection, all cyclic colormaps have their\nbright part in the middle. But we can shift the dark part towards the\ncenter.\nIn the Scientific colour maps collection, all categorical colormaps\nbegin with a dark colour, but a shift can be applied to begin with a\nbrighter colour.\nTwo levels towards left\nStarting from a diverging colormap, we can obtain what could be called\na diverging multi-sequential colormap. Calls program~~modify~~CallsGraph program~modify modify proc~get_levels forcolormap::Colormap%get_levels program~modify->proc~get_levels proc~set forcolormap::Colormap%set program~modify->proc~set proc~shift forcolormap::Colormap%shift program~modify->proc~shift proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~modify->proc~write_ppm_colorbar proc~check forcolormap::Colormap%check proc~set->proc~check proc~create forcolormap::Colormap%create proc~set->proc~create proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~reverse forcolormap::Colormap%reverse proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels~2 forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels~2 proc~get_name~2 forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name~2 proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~create->proc~check proc~create->proc~reverse proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap Source Code program modify use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap !> In the Scientific colour maps collection, all cyclic colormaps have their !> bright part in the middle. But we can shift the dark part towards the !> center. call cmap % set ( \"bamO\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bamO\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bamO_shifted\" ) print * , \"See the bamO.ppm and bamO_shifted.ppm colorbars\" !> In the Scientific colour maps collection, all categorical colormaps !> begin with a dark colour, but a shift can be applied to begin with a !> brighter colour. call cmap % set ( \"actonS\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"actonS\" ) call cmap % shift ( + 2 ) !! Two levels towards left call cmap % colorbar ( \"actonS_shifted\" ) print * , \"See the actonS.ppm and actonS_shifted.ppm colorbars\" !> Starting from a diverging colormap, we can obtain what could be called !> a diverging multi-sequential colormap. call cmap % set ( \"bam\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bam\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bam_shifted\" ) print * , \"See the bam.ppm and bam_shifted.ppm colorbars\" end program modify","tags":"","loc":"program/modify.html"},{"title":"info.f90 – ForColormap","text":"This file depends on sourcefile~~info.f90~~EfferentGraph sourcefile~info.f90 info.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~info.f90->sourcefile~colormaps_info.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-05 ! Last modification: gha3mi 2023-11-05 !------------------------------------------------------------------------------- program write_info use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Print all colormap information using default verbosity (level 1) ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name call info % write () !! Filter and write colormap information !! Available filters: name, family, gradient, palette, author, license, levels ! Filter by gradient using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by gradient and palette using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by family and palette using verbosity level 2 call info % write ( family = 'vik' , gradient = 'Diverging' , palette = 'Continuous' , verbose = 2 ) !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program write_info","tags":"","loc":"sourcefile/info.f90.html"},{"title":"create.f90 – ForColormap","text":"This file depends on sourcefile~~create.f90~~EfferentGraph sourcefile~create.f90 create.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi, vmagnin: 2024-02-16 ! Last modification: gha3mi 2024-02-16 !------------------------------------------------------------------------------- !> This example demonstrates creating a custom colormap using methods like !> create_lagrange() and create_bezier(). program create use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: custom_cmap integer :: colors ( 3 , 3 ) ! Define control colors for the colormap. colors ( 1 ,:) = [ 255 , 0 , 0 ] ! Red colors ( 2 ,:) = [ 0 , 255 , 0 ] ! Green colors ( 3 ,:) = [ 0 , 0 , 255 ] ! Blue ! Create a custom colormap using Lagrange interpolation. call custom_cmap % create_lagrange ( 'custom_lagrange' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_lagrange' ) print * , \"See the custom_colorbar_lagrange.ppm colorbar\" ! Create a custom colormap using Bezier interpolation. call custom_cmap % create_bezier ( 'custom_bezier' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_bezier' ) print * , \"See the custom_colorbar_bezier.ppm colorbar\" end program create","tags":"","loc":"sourcefile/create.f90.html"},{"title":"colormap_class.f90 – ForColormap","text":"This file depends on sourcefile~~colormap_class.f90~~EfferentGraph sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~colormap_class.f90~~AfferentGraph sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 Vincent Magnin, gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modification: gha3mi 2024-02-16, vmagnin 2024-02-16 !------------------------------------------------------------------------------- module forcolormap use colormap_parameters , only : wp , colormap_name_length use scientific_colour_maps use matplotlib_colormaps use miscellaneous_colormaps implicit none private public :: wp ! List of built-in colormaps: character ( * ), dimension ( * ), public , parameter :: colormaps_list = & [ character ( colormap_name_length ) :: & miscellaneous_colormaps_list ,& scientific_colour_maps_list ,& matplotlib_colormaps_list ] ! The Colormap class (attributes are encapsulated): type , public :: Colormap character ( colormap_name_length ), private :: name integer , private :: levels ! Number of levels real ( wp ), private :: zmin , zmax ! z range ! An array containing for each level the associated RGB values: integer , dimension (:, :), allocatable , private :: map contains procedure :: set procedure :: create procedure :: create_lagrange procedure :: create_bezier procedure :: load procedure :: get_RGB procedure :: compute_RGB procedure :: get_name procedure :: get_levels procedure :: get_zmin procedure :: get_zmax procedure :: print procedure :: colorbar => write_ppm_colorbar procedure :: reverse procedure :: shift procedure :: extract procedure , private :: check end type Colormap contains pure subroutine set ( self , name , zmin , zmax , levels , varargs , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , intent ( in ), optional :: levels real ( wp ), dimension (:), intent ( in ), optional :: varargs logical , intent ( in ), optional :: reverse self % name = trim ( name ) self % zmin = zmin self % zmax = zmax if ( present ( levels )) then self % levels = levels else self % levels = - 256 ! This value will be fixed in the check() procedure end if ! Check validity of the colormap and fix it if necessary call self % check ( check_name = . true ., check_zmin = . true ., check_zmax = . true ., check_levels = . true .) select case ( self % name ) ! Miscellaneous colormaps collection case ( \"fire\" ) ! Best with 256 levels but you can try other numbers: call fire_colormap ( self % levels , self % map ) case ( \"rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call rainbow_colormap ( self % map ) case ( \"inv_rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call inv_rainbow_colormap ( self % map ) case ( \"zebra\" ) ! The user can not choose the number of levels: self % levels = 256 call zebra_colormap ( self % map ) case ( \"cubehelix\" ) if ( present ( varargs )) then call cubehelix_colormap ( self % map , self % levels , varargs ) else call cubehelix_colormap ( self % map , self % levels ) end if ! Scientific colour maps collection (Fabio Crameri) ! (The user can not choose the number of levels) case ( \"acton\" ) call self % create ( self % name , self % zmin , self % zmax , acton ) case ( \"acton10\" ) call self % create ( self % name , self % zmin , self % zmax , acton10 ) case ( \"acton100\" ) call self % create ( self % name , self % zmin , self % zmax , acton100 ) case ( \"acton25\" ) call self % create ( self % name , self % zmin , self % zmax , acton25 ) case ( \"acton50\" ) call self % create ( self % name , self % zmin , self % zmax , acton50 ) case ( \"actonS\" ) call self % create ( self % name , self % zmin , self % zmax , actonS ) case ( \"bam\" ) call self % create ( self % name , self % zmin , self % zmax , bam ) case ( \"bam10\" ) call self % create ( self % name , self % zmin , self % zmax , bam10 ) case ( \"bam100\" ) call self % create ( self % name , self % zmin , self % zmax , bam100 ) case ( \"bam25\" ) call self % create ( self % name , self % zmin , self % zmax , bam25 ) case ( \"bam50\" ) call self % create ( self % name , self % zmin , self % zmax , bam50 ) case ( \"bamako\" ) call self % create ( self % name , self % zmin , self % zmax , bamako ) case ( \"bamako10\" ) call self % create ( self % name , self % zmin , self % zmax , bamako10 ) case ( \"bamako100\" ) call self % create ( self % name , self % zmin , self % zmax , bamako100 ) case ( \"bamako25\" ) call self % create ( self % name , self % zmin , self % zmax , bamako25 ) case ( \"bamako50\" ) call self % create ( self % name , self % zmin , self % zmax , bamako50 ) case ( \"bamakoS\" ) call self % create ( self % name , self % zmin , self % zmax , bamakoS ) case ( \"bamO\" ) call self % create ( self % name , self % zmin , self % zmax , bamO ) case ( \"bamO10\" ) call self % create ( self % name , self % zmin , self % zmax , bamO10 ) case ( \"bamO100\" ) call self % create ( self % name , self % zmin , self % zmax , bamO100 ) case ( \"bamO25\" ) call self % create ( self % name , self % zmin , self % zmax , bamO25 ) case ( \"bamO50\" ) call self % create ( self % name , self % zmin , self % zmax , bamO50 ) case ( \"batlow\" ) call self % create ( self % name , self % zmin , self % zmax , batlow ) case ( \"batlow10\" ) call self % create ( self % name , self % zmin , self % zmax , batlow10 ) case ( \"batlow100\" ) call self % create ( self % name , self % zmin , self % zmax , batlow100 ) case ( \"batlow25\" ) call self % create ( self % name , self % zmin , self % zmax , batlow25 ) case ( \"batlow50\" ) call self % create ( self % name , self % zmin , self % zmax , batlow50 ) case ( \"batlowK\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK ) case ( \"batlowK10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK10 ) case ( \"batlowK100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK100 ) case ( \"batlowK25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK25 ) case ( \"batlowK50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK50 ) case ( \"batlowKS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowKS ) case ( \"batlowS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowS ) case ( \"batlowW\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW ) case ( \"batlowW10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW10 ) case ( \"batlowW100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW100 ) case ( \"batlowW25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW25 ) case ( \"batlowW50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW50 ) case ( \"batlowWS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowWS ) case ( \"berlin\" ) call self % create ( self % name , self % zmin , self % zmax , berlin ) case ( \"berlin10\" ) call self % create ( self % name , self % zmin , self % zmax , berlin10 ) case ( \"berlin100\" ) call self % create ( self % name , self % zmin , self % zmax , berlin100 ) case ( \"berlin25\" ) call self % create ( self % name , self % zmin , self % zmax , berlin25 ) case ( \"berlin50\" ) call self % create ( self % name , self % zmin , self % zmax , berlin50 ) case ( \"bilbao\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao ) case ( \"bilbao10\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao10 ) case ( \"bilbao100\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao100 ) case ( \"bilbao25\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao25 ) case ( \"bilbao50\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao50 ) case ( \"bilbaoS\" ) call self % create ( self % name , self % zmin , self % zmax , bilbaoS ) case ( \"broc\" ) call self % create ( self % name , self % zmin , self % zmax , broc ) case ( \"broc10\" ) call self % create ( self % name , self % zmin , self % zmax , broc10 ) case ( \"broc100\" ) call self % create ( self % name , self % zmin , self % zmax , broc100 ) case ( \"broc25\" ) call self % create ( self % name , self % zmin , self % zmax , broc25 ) case ( \"broc50\" ) call self % create ( self % name , self % zmin , self % zmax , broc50 ) case ( \"brocO\" ) call self % create ( self % name , self % zmin , self % zmax , brocO ) case ( \"brocO10\" ) call self % create ( self % name , self % zmin , self % zmax , brocO10 ) case ( \"brocO100\" ) call self % create ( self % name , self % zmin , self % zmax , brocO100 ) case ( \"brocO25\" ) call self % create ( self % name , self % zmin , self % zmax , brocO25 ) case ( \"brocO50\" ) call self % create ( self % name , self % zmin , self % zmax , brocO50 ) case ( \"buda\" ) call self % create ( self % name , self % zmin , self % zmax , buda ) case ( \"buda10\" ) call self % create ( self % name , self % zmin , self % zmax , buda10 ) case ( \"buda100\" ) call self % create ( self % name , self % zmin , self % zmax , buda100 ) case ( \"buda25\" ) call self % create ( self % name , self % zmin , self % zmax , buda25 ) case ( \"buda50\" ) call self % create ( self % name , self % zmin , self % zmax , buda50 ) case ( \"budaS\" ) call self % create ( self % name , self % zmin , self % zmax , budaS ) case ( \"bukavu\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu ) case ( \"bukavu10\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu10 ) case ( \"bukavu100\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu100 ) case ( \"bukavu25\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu25 ) case ( \"bukavu50\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu50 ) case ( \"cork\" ) call self % create ( self % name , self % zmin , self % zmax , cork ) case ( \"cork10\" ) call self % create ( self % name , self % zmin , self % zmax , cork10 ) case ( \"cork100\" ) call self % create ( self % name , self % zmin , self % zmax , cork100 ) case ( \"cork25\" ) call self % create ( self % name , self % zmin , self % zmax , cork25 ) case ( \"cork50\" ) call self % create ( self % name , self % zmin , self % zmax , cork50 ) case ( \"corkO\" ) call self % create ( self % name , self % zmin , self % zmax , corkO ) case ( \"corkO10\" ) call self % create ( self % name , self % zmin , self % zmax , corkO10 ) case ( \"corkO100\" ) call self % create ( self % name , self % zmin , self % zmax , corkO100 ) case ( \"corkO25\" ) call self % create ( self % name , self % zmin , self % zmax , corkO25 ) case ( \"corkO50\" ) call self % create ( self % name , self % zmin , self % zmax , corkO50 ) case ( \"davos\" ) call self % create ( self % name , self % zmin , self % zmax , davos ) case ( \"davos10\" ) call self % create ( self % name , self % zmin , self % zmax , davos10 ) case ( \"davos100\" ) call self % create ( self % name , self % zmin , self % zmax , davos100 ) case ( \"davos25\" ) call self % create ( self % name , self % zmin , self % zmax , davos25 ) case ( \"davos50\" ) call self % create ( self % name , self % zmin , self % zmax , davos50 ) case ( \"davosS\" ) call self % create ( self % name , self % zmin , self % zmax , davosS ) case ( \"devon\" ) call self % create ( self % name , self % zmin , self % zmax , devon ) case ( \"devon10\" ) call self % create ( self % name , self % zmin , self % zmax , devon10 ) case ( \"devon100\" ) call self % create ( self % name , self % zmin , self % zmax , devon100 ) case ( \"devon25\" ) call self % create ( self % name , self % zmin , self % zmax , devon25 ) case ( \"devon50\" ) call self % create ( self % name , self % zmin , self % zmax , devon50 ) case ( \"devonS\" ) call self % create ( self % name , self % zmin , self % zmax , devonS ) case ( \"fes\" ) call self % create ( self % name , self % zmin , self % zmax , fes ) case ( \"fes10\" ) call self % create ( self % name , self % zmin , self % zmax , fes10 ) case ( \"fes100\" ) call self % create ( self % name , self % zmin , self % zmax , fes100 ) case ( \"fes25\" ) call self % create ( self % name , self % zmin , self % zmax , fes25 ) case ( \"fes50\" ) call self % create ( self % name , self % zmin , self % zmax , fes50 ) case ( \"glasgow\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow ) case ( \"glasgow10\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow10 ) case ( \"glasgow100\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow100 ) case ( \"glasgow25\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow25 ) case ( \"glasgow50\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow50 ) case ( \"glasgowS\" ) call self % create ( self % name , self % zmin , self % zmax , glasgowS ) case ( \"grayC\" ) call self % create ( self % name , self % zmin , self % zmax , grayC ) case ( \"grayC10\" ) call self % create ( self % name , self % zmin , self % zmax , grayC10 ) case ( \"grayC100\" ) call self % create ( self % name , self % zmin , self % zmax , grayC100 ) case ( \"grayC25\" ) call self % create ( self % name , self % zmin , self % zmax , grayC25 ) case ( \"grayC50\" ) call self % create ( self % name , self % zmin , self % zmax , grayC50 ) case ( \"grayCS\" ) call self % create ( self % name , self % zmin , self % zmax , grayCS ) case ( \"hawaii\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii ) case ( \"hawaii10\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii10 ) case ( \"hawaii100\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii100 ) case ( \"hawaii25\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii25 ) case ( \"hawaii50\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii50 ) case ( \"hawaiiS\" ) call self % create ( self % name , self % zmin , self % zmax , hawaiiS ) case ( \"imola\" ) call self % create ( self % name , self % zmin , self % zmax , imola ) case ( \"imola10\" ) call self % create ( self % name , self % zmin , self % zmax , imola10 ) case ( \"imola100\" ) call self % create ( self % name , self % zmin , self % zmax , imola100 ) case ( \"imola25\" ) call self % create ( self % name , self % zmin , self % zmax , imola25 ) case ( \"imola50\" ) call self % create ( self % name , self % zmin , self % zmax , imola50 ) case ( \"imolaS\" ) call self % create ( self % name , self % zmin , self % zmax , imolaS ) case ( \"lajolla\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla ) case ( \"lajolla10\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla10 ) case ( \"lajolla100\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla100 ) case ( \"lajolla25\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla25 ) case ( \"lajolla50\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla50 ) case ( \"lajollaS\" ) call self % create ( self % name , self % zmin , self % zmax , lajollaS ) case ( \"lapaz\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz ) case ( \"lapaz10\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz10 ) case ( \"lapaz100\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz100 ) case ( \"lapaz25\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz25 ) case ( \"lapaz50\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz50 ) case ( \"lapazS\" ) call self % create ( self % name , self % zmin , self % zmax , lapazS ) case ( \"lipari\" ) call self % create ( self % name , self % zmin , self % zmax , lipari ) case ( \"lipari10\" ) call self % create ( self % name , self % zmin , self % zmax , lipari10 ) case ( \"lipari100\" ) call self % create ( self % name , self % zmin , self % zmax , lipari100 ) case ( \"lipari25\" ) call self % create ( self % name , self % zmin , self % zmax , lipari25 ) case ( \"lipari50\" ) call self % create ( self % name , self % zmin , self % zmax , lipari50 ) case ( \"lipariS\" ) call self % create ( self % name , self % zmin , self % zmax , lipariS ) case ( \"lisbon\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon ) case ( \"lisbon10\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon10 ) case ( \"lisbon100\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon100 ) case ( \"lisbon25\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon25 ) case ( \"lisbon50\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon50 ) case ( \"managua\" ) call self % create ( self % name , self % zmin , self % zmax , managua ) case ( \"managua10\" ) call self % create ( self % name , self % zmin , self % zmax , managua10 ) case ( \"managua100\" ) call self % create ( self % name , self % zmin , self % zmax , managua100 ) case ( \"managua25\" ) call self % create ( self % name , self % zmin , self % zmax , managua25 ) case ( \"managua50\" ) call self % create ( self % name , self % zmin , self % zmax , managua50 ) case ( \"navia\" ) call self % create ( self % name , self % zmin , self % zmax , navia ) case ( \"navia10\" ) call self % create ( self % name , self % zmin , self % zmax , navia10 ) case ( \"navia100\" ) call self % create ( self % name , self % zmin , self % zmax , navia100 ) case ( \"navia25\" ) call self % create ( self % name , self % zmin , self % zmax , navia25 ) case ( \"navia50\" ) call self % create ( self % name , self % zmin , self % zmax , navia50 ) case ( \"naviaS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaS ) case ( \"naviaW\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW ) case ( \"naviaW10\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW10 ) case ( \"naviaW100\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW100 ) case ( \"naviaW25\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW25 ) case ( \"naviaW50\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW50 ) case ( \"naviaWS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaWS ) case ( \"nuuk\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk ) case ( \"nuuk10\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk10 ) case ( \"nuuk100\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk100 ) case ( \"nuuk25\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk25 ) case ( \"nuuk50\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk50 ) case ( \"nuukS\" ) call self % create ( self % name , self % zmin , self % zmax , nuukS ) case ( \"oleron\" ) call self % create ( self % name , self % zmin , self % zmax , oleron ) case ( \"oleron10\" ) call self % create ( self % name , self % zmin , self % zmax , oleron10 ) case ( \"oleron100\" ) call self % create ( self % name , self % zmin , self % zmax , oleron100 ) case ( \"oleron25\" ) call self % create ( self % name , self % zmin , self % zmax , oleron25 ) case ( \"oleron50\" ) call self % create ( self % name , self % zmin , self % zmax , oleron50 ) case ( \"oslo\" ) call self % create ( self % name , self % zmin , self % zmax , oslo ) case ( \"oslo10\" ) call self % create ( self % name , self % zmin , self % zmax , oslo10 ) case ( \"oslo100\" ) call self % create ( self % name , self % zmin , self % zmax , oslo100 ) case ( \"oslo25\" ) call self % create ( self % name , self % zmin , self % zmax , oslo25 ) case ( \"oslo50\" ) call self % create ( self % name , self % zmin , self % zmax , oslo50 ) case ( \"osloS\" ) call self % create ( self % name , self % zmin , self % zmax , osloS ) case ( \"roma\" ) call self % create ( self % name , self % zmin , self % zmax , roma ) case ( \"roma10\" ) call self % create ( self % name , self % zmin , self % zmax , roma10 ) case ( \"roma100\" ) call self % create ( self % name , self % zmin , self % zmax , roma100 ) case ( \"roma25\" ) call self % create ( self % name , self % zmin , self % zmax , roma25 ) case ( \"roma50\" ) call self % create ( self % name , self % zmin , self % zmax , roma50 ) case ( \"romaO\" ) call self % create ( self % name , self % zmin , self % zmax , romaO ) case ( \"romaO10\" ) call self % create ( self % name , self % zmin , self % zmax , romaO10 ) case ( \"romaO100\" ) call self % create ( self % name , self % zmin , self % zmax , romaO100 ) case ( \"romaO25\" ) call self % create ( self % name , self % zmin , self % zmax , romaO25 ) case ( \"romaO50\" ) call self % create ( self % name , self % zmin , self % zmax , romaO50 ) case ( \"tofino\" ) call self % create ( self % name , self % zmin , self % zmax , tofino ) case ( \"tofino10\" ) call self % create ( self % name , self % zmin , self % zmax , tofino10 ) case ( \"tofino100\" ) call self % create ( self % name , self % zmin , self % zmax , tofino100 ) case ( \"tofino25\" ) call self % create ( self % name , self % zmin , self % zmax , tofino25 ) case ( \"tofino50\" ) call self % create ( self % name , self % zmin , self % zmax , tofino50 ) case ( \"tokyo\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo ) case ( \"tokyo10\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo10 ) case ( \"tokyo100\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo100 ) case ( \"tokyo25\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo25 ) case ( \"tokyo50\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo50 ) case ( \"tokyoS\" ) call self % create ( self % name , self % zmin , self % zmax , tokyoS ) case ( \"turku\" ) call self % create ( self % name , self % zmin , self % zmax , turku ) case ( \"turku10\" ) call self % create ( self % name , self % zmin , self % zmax , turku10 ) case ( \"turku100\" ) call self % create ( self % name , self % zmin , self % zmax , turku100 ) case ( \"turku25\" ) call self % create ( self % name , self % zmin , self % zmax , turku25 ) case ( \"turku50\" ) call self % create ( self % name , self % zmin , self % zmax , turku50 ) case ( \"turkuS\" ) call self % create ( self % name , self % zmin , self % zmax , turkuS ) case ( \"vanimo\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo ) case ( \"vanimo10\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo10 ) case ( \"vanimo100\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo100 ) case ( \"vanimo25\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo25 ) case ( \"vanimo50\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo50 ) case ( \"vik\" ) call self % create ( self % name , self % zmin , self % zmax , vik ) case ( \"vik10\" ) call self % create ( self % name , self % zmin , self % zmax , vik10 ) case ( \"vik100\" ) call self % create ( self % name , self % zmin , self % zmax , vik100 ) case ( \"vik25\" ) call self % create ( self % name , self % zmin , self % zmax , vik25 ) case ( \"vik50\" ) call self % create ( self % name , self % zmin , self % zmax , vik50 ) case ( \"vikO\" ) call self % create ( self % name , self % zmin , self % zmax , vikO ) case ( \"vikO10\" ) call self % create ( self % name , self % zmin , self % zmax , vikO10 ) case ( \"vikO100\" ) call self % create ( self % name , self % zmin , self % zmax , vikO100 ) case ( \"vikO25\" ) call self % create ( self % name , self % zmin , self % zmax , vikO25 ) case ( \"vikO50\" ) call self % create ( self % name , self % zmin , self % zmax , vikO50 ) ! Matplotlib colormaps collection case ( \"magma\" ) call self % create ( self % name , self % zmin , self % zmax , magma ) case ( \"inferno\" ) call self % create ( self % name , self % zmin , self % zmax , inferno ) case ( \"plasma\" ) call self % create ( self % name , self % zmin , self % zmax , plasma ) case ( \"viridis\" ) call self % create ( self % name , self % zmin , self % zmax , viridis ) ! case ( \"black_body\" ) call self % create ( self % name , self % zmin , self % zmax , black_body ) case default self % name = \"grayC\" call self % create ( self % name , self % zmin , self % zmax , grayC ) end select ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine set ! You can create a custom colormap: pure subroutine create ( self , name , zmin , zmax , map , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax logical , intent ( in ), optional :: reverse integer , dimension (:, :), intent ( in ) :: map integer :: last self % name = trim ( name ) self % levels = size ( map (:, 1 )) last = self % levels - 1 self % zmin = zmin self % zmax = zmax call self % check ( check_zmin = . true ., check_zmax = . true ., check_levels = . true .) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if ! The second dimension is for RGB: 1=Red, 2=Green, 3=Blue allocate ( self % map ( 0 : last , 1 : 3 )) self % map = map ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine ! You can create a custom colormap: pure subroutine create_lagrange ( self , name , zmin , zmax , colors , levels , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , dimension (:, :), intent ( in ) :: colors integer , intent ( in ) :: levels logical , intent ( in ), optional :: reverse integer :: last self % name = trim ( name ) self % levels = levels last = self % levels - 1 self % zmin = zmin self % zmax = zmax call self % check ( check_zmin = . true ., check_zmax = . true ., check_levels = . true .) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if ! The second dimension is for RGB: 1=Red, 2=Green, 3=Blue allocate ( self % map ( 0 : last , 1 : 3 )) self % map = lagrange ( colors , self % levels ) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine ! You can create a custom colormap: pure subroutine create_bezier ( self , name , zmin , zmax , colors , levels , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , dimension (:, :), intent ( in ) :: colors integer , intent ( in ) :: levels logical , intent ( in ), optional :: reverse integer :: last self % name = trim ( name ) self % levels = levels last = self % levels - 1 self % zmin = zmin self % zmax = zmax call self % check ( check_zmin = . true ., check_zmax = . true ., check_levels = . true .) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if ! The second dimension is for RGB: 1=Red, 2=Green, 3=Blue allocate ( self % map ( 0 : last , 1 : 3 )) self % map = bezier ( colors , self % levels ) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine ! Load a .txt colormap with RGB integers separated by spaces on each line. ! Remark: if no path is indicated in filename, the .txt must be present ! at the root of the fpm project of the user. impure subroutine load ( self , filename , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename real ( wp ), intent ( in ) :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: i , n integer :: red , green , blue logical :: file_found integer :: file_unit , ios inquire ( file = filename , exist = file_found ) if ( file_found ) then ! We first count the number of lines (RGB triplets): n = 0 open ( newunit = file_unit , file = filename ) do read ( file_unit , '(3I3)' , iostat = ios ) red , green , blue if ( ios /= 0 ) exit n = n + 1 end do close ( file_unit ) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if allocate ( self % map ( 0 : n - 1 , 1 : 3 )) ! Then we read them and put them in the map: open ( newunit = file_unit , file = filename ) do i = 0 , n - 1 read ( file_unit , * , iostat = ios ) red , green , blue self % map ( i , 1 : 3 ) = [ red , green , blue ] ! Should not happen: if ( ios /= 0 ) exit end do close ( file_unit ) self % name = trim ( filename ) self % zmin = zmin self % zmax = zmax self % levels = n call self % check ( check_zmin = . true ., check_zmax = . true .) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if else stop \"ERROR: COLORMAP FILE NOT FOUND!\" end if end subroutine load ! Most of the time you will just give z to obtain RGB values: pure subroutine compute_RGB ( self , z , red , green , blue ) class ( Colormap ), intent ( inout ) :: self real ( wp ), intent ( in ) :: z integer , intent ( out ) :: red , green , blue integer :: level real ( wp ) :: zc ! z after correction ! If ever z is not in [zmin, zmax], this will be fixed by: zc = min ( max ( z , self % zmin ), self % zmax ) ! Passing from the real scale to the integer scale ! (will also work for discrete colormaps) ! zmin .........zc...................zmax ! ^ ^ ^ ! |0|1|....|level|...........|last|levels level = int (( zc - self % zmin ) / ( self % zmax - self % zmin ) * self % levels ) ! To avoid being out of range: level = min ( max ( level , 0 ), self % levels - 1 ) call get_RGB ( self , level , red , green , blue ) end subroutine ! But you can also obtain RGB by giving directly a level number: pure subroutine get_RGB ( self , level , red , green , blue ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: level integer , intent ( out ) :: red , green , blue red = self % map ( level , 1 ) green = self % map ( level , 2 ) blue = self % map ( level , 3 ) end subroutine pure function get_name ( self ) result ( name ) class ( Colormap ), intent ( in ) :: self character ( colormap_name_length ) :: name name = self % name end function pure function get_levels ( self ) result ( levels ) class ( Colormap ), intent ( in ) :: self integer :: levels levels = self % levels end function pure function get_zmin ( self ) result ( zmin ) class ( Colormap ), intent ( in ) :: self real ( wp ) :: zmin zmin = self % zmin end function pure function get_zmax ( self ) result ( zmax ) class ( Colormap ), intent ( in ) :: self real ( wp ) :: zmax zmax = self % zmax end function ! Useful for testing and debugging: impure subroutine print ( self ) class ( Colormap ), intent ( inout ) :: self integer :: i print '(a,a)' , \"Name of the colormap: \" , self % name print '(a,g0)' , \"zmin: \" , self % zmin print '(a,g0)' , \"zmax: \" , self % zmax print '(a,g0)' , \"Number of levels: \" , self % levels do i = 0 , self % levels - 1 print '(I3,2x,I3,2x,I3)' , self % map ( i , 1 ), self % map ( i , 2 ), self % map ( i , 3 ) end do end subroutine impure subroutine write_ppm_colorbar ( self , filename , width , height , encoding ) use forimage , only : format_pnm class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename integer :: i , j ! Pixbuffer coordinates integer , intent ( in ), optional :: width , height integer :: pixwidth , pixheight integer , dimension (:,:), allocatable :: rgb_image integer :: red , green , blue real ( wp ) :: z type ( format_pnm ) :: ppm character ( * ), intent ( in ), optional :: encoding if ( present ( width )) then pixwidth = width else pixwidth = 600 end if if ( present ( height )) then pixheight = height else pixheight = 50 end if allocate ( rgb_image ( pixheight , pixwidth * 3 )) do i = 0 , pixwidth - 1 do j = 0 , pixheight - 1 z = self % get_zmin () + i / real ( pixwidth - 1 , kind = wp ) * ( self % get_zmax () - self % get_zmin ()) call self % compute_RGB ( z , red , green , blue ) rgb_image ( pixheight - j , 3 * ( i + 1 ) - 2 ) = red rgb_image ( pixheight - j , 3 * ( i + 1 ) - 1 ) = green rgb_image ( pixheight - j , 3 * ( i + 1 )) = blue end do end do if ( present ( encoding )) then call ppm % set_format ( encoding ) else call ppm % set_format ( 'binary' ) end if call ppm % set_pnm ( encoding = ppm % get_format (),& file_format = 'ppm' ,& width = pixwidth ,& height = pixheight ,& max_color = 255 ,& comment = 'comment' ,& pixels = rgb_image ) call ppm % export_pnm ( filename ) end subroutine write_ppm_colorbar ! Reverse the colormap pure subroutine reverse ( self , name ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ), optional :: name self % map (:,:) = self % map ( size ( self % map , 1 ) - 1 : 0 : - 1 , :) if ( present ( name )) then self % name = trim ( name ) else self % name = trim ( self % name ) // '_reverse' end if end subroutine reverse !> Apply a circular shift to the colormap (left is +, right is -) pure subroutine shift ( self , sh ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: sh !! The shift self % map (:,:) = cshift ( self % map (:,:), sh ) end subroutine shift ! Normalize the input real array to the range [0, 1] pure function scale_real_real ( real_array , a , b ) result ( real_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array real ( wp ), intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: real_scaled_array real ( wp ) :: minValue , maxValue real ( wp ), parameter :: tolerance = 1.0e-12_wp ! Find minimum and maximum values in the input real array minValue = minval ( real_array ) maxValue = maxval ( real_array ) if ( abs ( maxValue - minValue ) < tolerance ) then real_scaled_array = b else real_scaled_array = a + ( b - a ) * ( real_array - minValue ) / ( maxValue - minValue ) end if end function scale_real_real ! Scale the input real array to the integer RGB range [a, b] pure function scale_real_int ( real_array , a , b ) result ( int_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array integer , intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: normalizedArray integer , dimension ( size ( real_array )) :: int_scaled_array ! Normalize the real array elements to the range [0, 1] normalizedArray = scale_real_real ( real_array , 0.0_wp , 1.0_wp ) ! Scale the real array elements between a and b int_scaled_array = a + nint (( b - a ) * normalizedArray ) end function scale_real_int ! Extracts colors from the colormap based on specified number of levels (nl) pure subroutine extract ( self , extractedLevels , name , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: extractedLevels character ( * ), intent ( in ), optional :: name real ( wp ), intent ( in ), optional :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: extracted_map ( extractedLevels , 3 ) integer :: ind ( extractedLevels , 3 ) real ( wp ) :: ind_rel ( extractedLevels , 3 ), array_rel ( self % levels , 3 ), step ( 3 ), current_element ( 3 ) integer :: i integer , dimension ( self % levels , 3 ) :: array character ( 3 ) :: extractedLevels_char ! Initialize array with indices do concurrent ( i = 1 : self % levels ) array ( i ,:) = i - 1 end do ! Normalize array elements to the range [0, 1] do concurrent ( i = 1 : 3 ) array_rel (:, i ) = array (:, i ) / maxval ( array (:, i )) end do ! Check if the number of extractedLevels is valid if ( extractedLevels <= 1 . or . extractedLevels > self % levels ) then error stop \"Error: Invalid number of extractedLevels. Must be > 1 and <= levels\" end if step (:) = array_rel ( self % levels ,:) / real ( extractedLevels - 1 , kind = wp ) current_element (:) = array_rel ( 1 ,:) do i = 1 , extractedLevels ind_rel ( i ,:) = current_element current_element = current_element + step end do ! Scale interpolated indices to integers between 0 and self%levels - 1 do concurrent ( i = 1 : 3 ) ind (:, i ) = scale_real_int ( ind_rel (:, i ), 0 , self % levels - 1 ) end do ! Extract colors from the colormap based on interpolated indices do concurrent ( i = 1 : 3 ) extracted_map (:, i ) = self % map ( ind (:, i ), i ) end do ! Set colormap name if provided, otherwise use the number of levels as part of the name if ( present ( name )) then self % name = name else write ( extractedLevels_char , '(I3)' ) extractedLevels self % name = self % name // trim ( extractedLevels_char ) end if ! Set zmin and zmax if provided if ( present ( zmin )) self % zmin = zmin if ( present ( zmax )) self % zmax = zmax ! Create the extracted colormap with the specified parameters call self % create ( self % name , self % zmin , self % zmax , extracted_map ) if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine extract ! Create colormap from continuous Bezier interpolation of control colors pure function bezier ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Bezier curve order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Bezier interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i ,:) = map_r ( i ,:) + real ( colors ( j + 1 ,:), wp ) * & real ( factorial ( order ), wp ) / ( real ( factorial ( j ), wp ) * real ( factorial ( order - j ), wp )) * t ** j * ( 1.0_wp - t ) ** ( order - j ) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function bezier ! Factorial function used for Bezier interpolation pure function factorial ( n ) result ( result ) integer , intent ( in ) :: n integer :: result , i result = 1 do concurrent ( i = 2 : n ) result = result * i end do end function factorial ! Create colormap from Lagrange interpolation of control colors pure function lagrange ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Lagrange interpolation. order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Lagrange interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i , 1 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 1 ), wp )) map_r ( i , 2 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 2 ), wp )) map_r ( i , 3 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 3 ), wp )) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function lagrange ! Lagrange polynomial pure function lagrange_poly ( t , n ) result ( B ) real ( wp ), intent ( in ) :: t integer , intent ( in ) :: n !! order + 1 real ( wp ), allocatable :: B (:) integer :: i , l real ( wp ), dimension (:), allocatable :: Xth ! Create an array of n equidistant points between 0 and 1 allocate ( Xth ( n ), source = 0.0_wp ) do i = 1 , n - 1 Xth ( i ) = 0.0_wp + real ( i - 1 , wp ) * ( 1.0_wp - ( 0.0_wp )) / real ( n - 1 , wp ) end do Xth ( n ) = 1.0_wp allocate ( B ( n ), source = 1.0_wp ) l = 0 i = 0 do i = 1 , n do l = 1 , n if ( l /= i ) then if ( abs ( Xth ( i ) - Xth ( l )) >= tiny ( 0.0_wp )) then B ( i ) = B ( i ) * ( t - Xth ( l )) / ( Xth ( i ) - Xth ( l )) end if end if end do end do end function lagrange_poly ! Check validity of the colormap and fix it if necessary pure subroutine check ( self , check_name , check_zmin , check_zmax , check_levels ) use forcolormap_info , only : Colormaps_info class ( Colormap ), intent ( inout ) :: self logical , dimension ( 4 ) :: status logical , intent ( in ), optional :: check_name , check_zmin , check_zmax , check_levels real ( wp ) :: temp type ( Colormaps_info ) :: cmap_info integer :: input_levels , i , levels real ( wp ) :: input_zmin , input_zmax character (:), allocatable :: input_name interface pure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) import wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels end subroutine error end interface ! Save input parameters for error message input_levels = self % levels input_zmin = self % zmin input_zmax = self % zmax input_name = self % name ! Initialize status array status = . true . call cmap_info % set_all () if ( present ( check_name )) then if ( check_name ) then ! Check if the colormap is valid if (. not . any ( self % name == colormaps_list )) status ( 1 ) = . false . ! Fix the colormap if it is not valid if ( status ( 1 ) . eqv . . false .) self % name = \"grayC\" ! Find the number of levels of the colormap do i = 1 , cmap_info % get_ncolormaps () if ( self % name == trim ( cmap_info % get_name ( i ))) then levels = cmap_info % get_levels ( i ) exit end if end do ! Check if the number of levels is valid if ( levels /= self % levels . or . self % levels < 1 ) then if ( self % levels /= - 256 ) then if ( levels /= - 1 ) then status ( 3 ) = . false . self % levels = levels end if else self % levels = 256 end if end if ! Fix the number of levels if it is not valid if ( status ( 3 ) . eqv . . false .) then self % levels = levels end if end if end if if ( present ( check_zmin )) then if ( check_zmin ) then ! Check validity of zmin and zmax if ( self % zmin > self % zmax ) status ( 2 ) = . false . ! Fix zmin and zmax if they are not valid if ( status ( 2 ) . eqv . . false .) then temp = self % zmin self % zmin = self % zmax self % zmax = temp end if end if end if if ( present ( check_levels )) then if ( check_levels ) then ! Check if the number of levels is valid if ( self % levels < 1 ) then status ( 4 ) = . false . self % levels = 256 end if end if end if ! Call error subroutine if any status is false if ( any ( status . eqv . . false .))& call error ( status , input_name , input_zmin , input_zmax , input_levels ) end subroutine check end module forcolormap impure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) use colormap_parameters , only : wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels integer :: i do i = 1 , size ( status ) if (. not . status ( i )) then select case ( i ) case ( 1 ) print '(a,a,a)' ,& \"Error 1: Colormap name '\" // trim ( input_name ) // \"' not found! 'grayC' is set by default.\" case ( 2 ) print '(a,f6.4,a,f6.4,a)' ,& \"Error 2: Min value (zmin=\" , input_zmin , \") exceeds Max value (zmax=\" , input_zmax , \")! zmin and zmax are swapped.\" case ( 3 ) print '(a,g0,a)' ,& \"Error 3: Number of Levels (levels=\" , input_levels , \") doesn't match colormap! Levels adjusted to colormap.\" case ( 4 ) print '(a,g0,a)' ,& \"Error 4: Number of Levels (levels=\" , input_levels , \") is less than 1! Levels adjusted to 256.\" case default print '(a)' , \"Unknown error!\" end select end if end do end subroutine error","tags":"","loc":"sourcefile/colormap_class.f90.html"},{"title":"scientific_colour_maps.f90 – ForColormap","text":"This file depends on sourcefile~~scientific_colour_maps.f90~~EfferentGraph sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~scientific_colour_maps.f90~~AfferentGraph sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023, Fabio Crameri for the Scientific coulour maps 8.0.1 ! and Vincent Magnin for the Fortran translation ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- module scientific_colour_maps use colormap_parameters , only : colormap_name_length implicit none private character ( * ), dimension ( * ), parameter , public :: scientific_colour_maps_list = & [ character ( colormap_name_length ) :: & \"acton\" , \"acton10\" , \"acton100\" , \"acton25\" , \"acton50\" , \"actonS\" , & \"bam\" , \"bam10\" , \"bam100\" , \"bam25\" , \"bam50\" , \"bamako\" , & \"bamako10\" , \"bamako100\" , \"bamako25\" , \"bamako50\" , \"bamakoS\" , \"bamO\" , & \"bamO10\" , \"bamO100\" , \"bamO25\" , \"bamO50\" , \"batlow\" , \"batlow10\" , & \"batlow100\" , \"batlow25\" , \"batlow50\" , \"batlowK\" , \"batlowK10\" , \"batlowK100\" , & \"batlowK25\" , \"batlowK50\" , \"batlowKS\" , \"batlowS\" , \"batlowW\" , \"batlowW10\" , & \"batlowW100\" , \"batlowW25\" , \"batlowW50\" , \"batlowWS\" , \"berlin\" , \"berlin10\" , & \"berlin100\" , \"berlin25\" , \"berlin50\" , \"bilbao\" , \"bilbao10\" , \"bilbao100\" , & \"bilbao25\" , \"bilbao50\" , \"bilbaoS\" , \"broc\" , \"broc10\" , \"broc100\" , & \"broc25\" , \"broc50\" , \"brocO\" , \"brocO10\" , \"brocO100\" , \"brocO25\" , & \"brocO50\" , \"buda\" , \"buda10\" , \"buda100\" , \"buda25\" , \"buda50\" , & \"budaS\" , \"bukavu\" , \"bukavu10\" , \"bukavu100\" , \"bukavu25\" , \"bukavu50\" , & \"cork\" , \"cork10\" , \"cork100\" , \"cork25\" , \"cork50\" , \"corkO\" , & \"corkO10\" , \"corkO100\" , \"corkO25\" , \"corkO50\" , \"davos\" , \"davos10\" , & \"davos100\" , \"davos25\" , \"davos50\" , \"davosS\" , \"devon\" , \"devon10\" , & \"devon100\" , \"devon25\" , \"devon50\" , \"devonS\" , \"fes\" , \"fes10\" , & \"fes100\" , \"fes25\" , \"fes50\" , \"glasgow\" , \"glasgow10\" , \"glasgow100\" , & \"glasgow25\" , \"glasgow50\" , \"glasgowS\" , \"grayC\" , \"grayC10\" , \"grayC100\" , & \"grayC25\" , \"grayC50\" , \"grayCS\" , \"hawaii\" , \"hawaii10\" , \"hawaii100\" , & \"hawaii25\" , \"hawaii50\" , \"hawaiiS\" , \"imola\" , \"imola10\" , \"imola100\" , & \"imola25\" , \"imola50\" , \"imolaS\" , \"lajolla\" , \"lajolla10\" , \"lajolla100\" , & \"lajolla25\" , \"lajolla50\" , \"lajollaS\" , \"lapaz\" , \"lapaz10\" , \"lapaz100\" , & \"lapaz25\" , \"lapaz50\" , \"lapazS\" , \"lipari\" , \"lipari10\" , \"lipari100\" , & \"lipari25\" , \"lipari50\" , \"lipariS\" , \"lisbon\" , \"lisbon10\" , \"lisbon100\" , & \"lisbon25\" , \"lisbon50\" , \"managua\" , \"managua10\" , \"managua100\" , \"managua25\" , & \"managua50\" , \"navia\" , \"navia10\" , \"navia100\" , \"navia25\" , \"navia50\" , & \"naviaS\" , \"naviaW\" , \"naviaW10\" , \"naviaW100\" , \"naviaW25\" , \"naviaW50\" , & \"naviaWS\" , \"nuuk\" , \"nuuk10\" , \"nuuk100\" , \"nuuk25\" , \"nuuk50\" , & \"nuukS\" , \"oleron\" , \"oleron10\" , \"oleron100\" , \"oleron25\" , \"oleron50\" , & \"oslo\" , \"oslo10\" , \"oslo100\" , \"oslo25\" , \"oslo50\" , \"osloS\" , & \"roma\" , \"roma10\" , \"roma100\" , \"roma25\" , \"roma50\" , \"romaO\" , & \"romaO10\" , \"romaO100\" , \"romaO25\" , \"romaO50\" , \"tofino\" , \"tofino10\" , & \"tofino100\" , \"tofino25\" , \"tofino50\" , \"tokyo\" , \"tokyo10\" , \"tokyo100\" , & \"tokyo25\" , \"tokyo50\" , \"tokyoS\" , \"turku\" , \"turku10\" , \"turku100\" , & \"turku25\" , \"turku50\" , \"turkuS\" , \"vanimo\" , \"vanimo10\" , \"vanimo100\" , & \"vanimo25\" , \"vanimo50\" , \"vik\" , \"vik10\" , \"vik100\" , \"vik25\" , & \"vik50\" , \"vikO\" , \"vikO10\" , \"vikO100\" , \"vikO25\" , \"vikO50\" ] integer , dimension ( 0 : 255 , 1 : 3 ), public :: acton = reshape ( [ & 38 , 13 , 64 , 39 , 14 , 65 , 40 , 15 , 66 , 41 , 17 , 67 , & 42 , 18 , 68 , 43 , 19 , 69 , 43 , 20 , 70 , 44 , 22 , 72 , & 45 , 23 , 73 , 46 , 24 , 74 , 47 , 25 , 75 , 48 , 27 , 76 , & 49 , 28 , 77 , 50 , 29 , 78 , 50 , 30 , 79 , 51 , 31 , 80 , & 52 , 33 , 82 , 53 , 34 , 83 , 54 , 35 , 84 , 54 , 36 , 85 , & 55 , 37 , 86 , 56 , 38 , 87 , 57 , 39 , 88 , 58 , 41 , 89 , & 59 , 42 , 90 , 59 , 43 , 91 , 60 , 44 , 92 , 61 , 45 , 93 , & 62 , 46 , 94 , 62 , 47 , 95 , 63 , 49 , 96 , 64 , 50 , 97 , & 65 , 51 , 98 , 66 , 52 , 99 , 66 , 53 , 100 , 67 , 54 , 101 , & 68 , 55 , 102 , 69 , 56 , 103 , 69 , 57 , 104 , 70 , 58 , 105 , & 71 , 60 , 106 , 72 , 61 , 107 , 72 , 62 , 108 , 73 , 63 , 109 , & 74 , 64 , 110 , 75 , 65 , 111 , 75 , 66 , 112 , 76 , 67 , 113 , & 77 , 68 , 114 , 78 , 69 , 115 , 78 , 70 , 116 , 79 , 71 , 117 , & 80 , 72 , 118 , 81 , 73 , 119 , 81 , 74 , 120 , 82 , 75 , 121 , & 83 , 76 , 122 , 84 , 77 , 123 , 84 , 78 , 123 , 85 , 79 , 124 , & 86 , 80 , 125 , 87 , 81 , 126 , 87 , 82 , 127 , 88 , 83 , 128 , & 89 , 84 , 129 , 90 , 85 , 130 , 91 , 86 , 131 , 92 , 87 , 131 , & 93 , 88 , 132 , 94 , 89 , 133 , 95 , 90 , 134 , 96 , 91 , 134 , & 97 , 91 , 135 , 98 , 92 , 136 , 99 , 93 , 136 , 101 , 93 , 137 , & 102 , 94 , 138 , 103 , 95 , 138 , 104 , 95 , 138 , 105 , 96 , 139 , & 107 , 96 , 139 , 108 , 96 , 140 , 109 , 97 , 140 , 110 , 97 , 140 , & 111 , 97 , 140 , 113 , 97 , 140 , 114 , 98 , 141 , 115 , 98 , 141 , & 116 , 98 , 141 , 117 , 98 , 141 , 119 , 98 , 141 , 120 , 98 , 141 , & 121 , 99 , 141 , 122 , 99 , 141 , 123 , 99 , 141 , 125 , 99 , 142 , & 126 , 99 , 142 , 127 , 99 , 142 , 128 , 99 , 142 , 129 , 99 , 142 , & 131 , 99 , 142 , 132 , 99 , 142 , 133 , 100 , 142 , 134 , 100 , 142 , & 136 , 100 , 142 , 137 , 100 , 142 , 138 , 100 , 142 , 139 , 100 , 142 , & 141 , 100 , 142 , 142 , 100 , 142 , 143 , 100 , 142 , 145 , 100 , 143 , & 146 , 100 , 143 , 147 , 101 , 143 , 149 , 101 , 143 , 150 , 101 , 143 , & 151 , 101 , 143 , 153 , 101 , 143 , 154 , 101 , 143 , 155 , 101 , 143 , & 157 , 101 , 143 , 158 , 101 , 143 , 160 , 101 , 143 , 161 , 102 , 143 , & 162 , 102 , 143 , 164 , 102 , 143 , 165 , 102 , 144 , 167 , 102 , 144 , & 168 , 102 , 144 , 170 , 102 , 144 , 171 , 102 , 144 , 172 , 103 , 144 , & 174 , 103 , 144 , 175 , 103 , 144 , 177 , 103 , 144 , 178 , 103 , 144 , & 180 , 103 , 145 , 181 , 104 , 145 , 183 , 104 , 145 , 184 , 104 , 145 , & 186 , 104 , 145 , 187 , 105 , 146 , 189 , 105 , 146 , 190 , 106 , 146 , & 191 , 106 , 147 , 193 , 107 , 147 , 194 , 107 , 148 , 195 , 108 , 148 , & 197 , 109 , 149 , 198 , 109 , 150 , 199 , 110 , 150 , 200 , 111 , 151 , & 201 , 112 , 152 , 202 , 113 , 153 , 203 , 114 , 153 , 204 , 115 , 154 , & 205 , 116 , 155 , 206 , 117 , 156 , 206 , 119 , 157 , 207 , 120 , 158 , & 208 , 121 , 159 , 208 , 122 , 160 , 209 , 124 , 161 , 210 , 125 , 163 , & 210 , 126 , 164 , 211 , 127 , 165 , 211 , 129 , 166 , 211 , 130 , 167 , & 212 , 131 , 168 , 212 , 133 , 169 , 213 , 134 , 170 , 213 , 135 , 171 , & 214 , 136 , 172 , 214 , 138 , 173 , 214 , 139 , 175 , 215 , 140 , 176 , & 215 , 142 , 177 , 216 , 143 , 178 , 216 , 144 , 179 , 216 , 146 , 180 , & 217 , 147 , 181 , 217 , 148 , 182 , 217 , 149 , 184 , 218 , 151 , 185 , & 218 , 152 , 186 , 219 , 153 , 187 , 219 , 155 , 188 , 219 , 156 , 189 , & 220 , 157 , 190 , 220 , 159 , 191 , 221 , 160 , 192 , 221 , 161 , 194 , & 221 , 163 , 195 , 222 , 164 , 196 , 222 , 165 , 197 , 222 , 167 , 198 , & 223 , 168 , 199 , 223 , 169 , 200 , 223 , 171 , 201 , 224 , 172 , 202 , & 224 , 173 , 203 , 225 , 174 , 204 , 225 , 176 , 205 , 225 , 177 , 206 , & 226 , 178 , 207 , 226 , 180 , 208 , 226 , 181 , 209 , 227 , 182 , 210 , & 227 , 183 , 211 , 227 , 185 , 212 , 228 , 186 , 213 , 228 , 187 , 214 , & 228 , 188 , 215 , 229 , 190 , 216 , 229 , 191 , 217 , 229 , 192 , 218 , & 229 , 193 , 219 , 230 , 194 , 220 , 230 , 196 , 221 , 230 , 197 , 222 , & 231 , 198 , 222 , 231 , 199 , 223 , 231 , 200 , 224 , 232 , 202 , 225 , & 232 , 203 , 226 , 232 , 204 , 227 , 232 , 205 , 228 , 233 , 206 , 228 , & 233 , 207 , 229 , 233 , 208 , 230 , 233 , 209 , 231 , 234 , 211 , 232 , & 234 , 212 , 233 , 234 , 213 , 233 , 235 , 214 , 234 , 235 , 215 , 235 , & 235 , 216 , 236 , 235 , 217 , 237 , 236 , 218 , 237 , 236 , 219 , 238 , & 236 , 220 , 239 , 236 , 221 , 240 , 237 , 222 , 240 , 237 , 223 , 241 , & 237 , 224 , 242 , 237 , 225 , 243 , 238 , 226 , 243 , 238 , 227 , 244 , & 238 , 228 , 245 , 238 , 229 , 246 , 239 , 230 , 246 , 239 , 231 , 247 , & 239 , 232 , 248 , 239 , 233 , 248 , 239 , 233 , 249 , 240 , 234 , 250 & ], shape ( acton ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: acton10 = reshape ( [ & 38 , 13 , 64 , 62 , 46 , 94 , 84 , 77 , 123 , 113 , 97 , 140 , & 147 , 101 , 143 , 189 , 105 , 146 , 213 , 134 , 170 , 223 , 171 , 201 , & 233 , 206 , 228 , 240 , 234 , 250 & ], shape ( acton10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: acton100 = reshape ( [ & 38 , 13 , 64 , 41 , 17 , 67 , 43 , 19 , 69 , 45 , 23 , 73 , & 47 , 25 , 75 , 50 , 29 , 78 , 51 , 31 , 80 , 54 , 35 , 84 , & 56 , 38 , 87 , 58 , 41 , 89 , 60 , 44 , 92 , 62 , 46 , 94 , & 64 , 50 , 97 , 66 , 52 , 99 , 68 , 55 , 102 , 70 , 58 , 105 , & 72 , 61 , 107 , 74 , 64 , 110 , 75 , 66 , 112 , 78 , 69 , 115 , & 80 , 72 , 118 , 81 , 74 , 120 , 84 , 77 , 123 , 85 , 79 , 124 , & 87 , 82 , 127 , 89 , 84 , 129 , 92 , 87 , 131 , 95 , 90 , 134 , & 97 , 91 , 135 , 101 , 93 , 137 , 103 , 95 , 138 , 107 , 96 , 139 , & 109 , 97 , 140 , 113 , 97 , 140 , 116 , 98 , 141 , 119 , 98 , 141 , & 122 , 99 , 141 , 125 , 99 , 142 , 128 , 99 , 142 , 131 , 99 , 142 , & 134 , 100 , 142 , 138 , 100 , 142 , 141 , 100 , 142 , 145 , 100 , 143 , & 147 , 101 , 143 , 151 , 101 , 143 , 154 , 101 , 143 , 158 , 101 , 143 , & 162 , 102 , 143 , 165 , 102 , 144 , 170 , 102 , 144 , 172 , 103 , 144 , & 177 , 103 , 144 , 181 , 104 , 145 , 184 , 104 , 145 , 189 , 105 , 146 , & 191 , 106 , 147 , 195 , 108 , 148 , 198 , 109 , 150 , 201 , 112 , 152 , & 204 , 115 , 154 , 206 , 117 , 156 , 208 , 121 , 159 , 209 , 124 , 161 , & 211 , 127 , 165 , 211 , 130 , 167 , 213 , 134 , 170 , 214 , 138 , 173 , & 215 , 140 , 176 , 216 , 144 , 179 , 217 , 147 , 181 , 218 , 151 , 185 , & 219 , 153 , 187 , 220 , 157 , 190 , 221 , 161 , 194 , 222 , 164 , 196 , & 223 , 168 , 199 , 223 , 171 , 201 , 225 , 174 , 204 , 225 , 177 , 206 , & 226 , 181 , 209 , 227 , 185 , 212 , 228 , 187 , 214 , 229 , 191 , 217 , & 229 , 193 , 219 , 230 , 197 , 222 , 231 , 200 , 224 , 232 , 203 , 226 , & 233 , 206 , 228 , 233 , 208 , 230 , 234 , 212 , 233 , 235 , 214 , 234 , & 235 , 217 , 237 , 236 , 220 , 239 , 237 , 222 , 240 , 237 , 225 , 243 , & 238 , 227 , 244 , 239 , 230 , 246 , 239 , 232 , 248 , 240 , 234 , 250 & ], shape ( acton100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: acton25 = reshape ( [ & 38 , 13 , 64 , 48 , 27 , 76 , 56 , 38 , 87 , 65 , 51 , 98 , & 73 , 63 , 109 , 81 , 73 , 119 , 89 , 84 , 129 , 99 , 93 , 136 , & 113 , 97 , 140 , 126 , 99 , 142 , 138 , 100 , 142 , 153 , 101 , 143 , & 168 , 102 , 144 , 183 , 104 , 145 , 198 , 109 , 150 , 207 , 120 , 158 , & 213 , 134 , 170 , 217 , 148 , 182 , 221 , 161 , 194 , 225 , 176 , 205 , & 229 , 190 , 216 , 232 , 202 , 225 , 235 , 214 , 234 , 237 , 224 , 242 , & 240 , 234 , 250 & ], shape ( acton25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: acton50 = reshape ( [ & 38 , 13 , 64 , 43 , 19 , 69 , 47 , 25 , 75 , 52 , 33 , 82 , & 56 , 38 , 87 , 60 , 44 , 92 , 64 , 50 , 97 , 68 , 55 , 102 , & 72 , 62 , 108 , 76 , 67 , 113 , 80 , 72 , 118 , 84 , 77 , 123 , & 87 , 82 , 127 , 93 , 88 , 132 , 98 , 92 , 136 , 104 , 95 , 138 , & 110 , 97 , 140 , 116 , 98 , 141 , 123 , 99 , 141 , 129 , 99 , 142 , & 136 , 100 , 142 , 142 , 100 , 142 , 149 , 101 , 143 , 157 , 101 , 143 , & 164 , 102 , 143 , 171 , 102 , 144 , 178 , 103 , 144 , 187 , 105 , 146 , & 194 , 107 , 148 , 200 , 111 , 151 , 205 , 116 , 155 , 208 , 122 , 160 , & 211 , 130 , 167 , 214 , 136 , 172 , 216 , 143 , 178 , 217 , 149 , 184 , & 219 , 156 , 189 , 222 , 164 , 196 , 223 , 171 , 201 , 225 , 177 , 206 , & 227 , 183 , 211 , 229 , 190 , 216 , 230 , 197 , 222 , 232 , 203 , 226 , & 233 , 208 , 230 , 235 , 214 , 234 , 236 , 219 , 238 , 237 , 225 , 243 , & 239 , 230 , 246 , 240 , 234 , 250 & ], shape ( acton50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: actonS = reshape ( [ & 38 , 13 , 64 , 240 , 234 , 250 , 168 , 102 , 144 , 89 , 84 , 129 , & 221 , 163 , 195 , 65 , 51 , 98 , 208 , 121 , 159 , 126 , 99 , 142 , & 232 , 203 , 226 , 146 , 100 , 143 , 52 , 33 , 82 , 215 , 142 , 177 , & 227 , 183 , 211 , 191 , 106 , 147 , 77 , 68 , 114 , 107 , 96 , 139 , & 236 , 220 , 239 , 224 , 173 , 203 , 157 , 101 , 143 , 180 , 103 , 145 , & 97 , 91 , 135 , 201 , 112 , 152 , 45 , 23 , 73 , 218 , 152 , 186 , & 229 , 193 , 219 , 212 , 131 , 168 , 59 , 42 , 90 , 234 , 212 , 233 , & 71 , 60 , 106 , 116 , 98 , 141 , 83 , 76 , 122 , 136 , 100 , 142 , & 238 , 228 , 245 , 74 , 64 , 110 , 86 , 80 , 125 , 217 , 147 , 181 , & 223 , 168 , 199 , 186 , 104 , 145 , 231 , 198 , 222 , 141 , 100 , 142 , & 237 , 224 , 242 , 80 , 72 , 118 , 210 , 126 , 164 , 174 , 103 , 144 , & 93 , 88 , 132 , 102 , 94 , 138 , 214 , 136 , 172 , 226 , 178 , 207 , & 49 , 28 , 77 , 121 , 99 , 141 , 228 , 188 , 215 , 235 , 216 , 236 , & 233 , 207 , 229 , 111 , 97 , 140 , 131 , 99 , 142 , 68 , 55 , 102 , & 151 , 101 , 143 , 205 , 116 , 155 , 197 , 109 , 149 , 220 , 157 , 190 , & 42 , 18 , 68 , 162 , 102 , 143 , 55 , 37 , 86 , 62 , 46 , 94 , & 239 , 231 , 247 , 154 , 101 , 143 , 114 , 98 , 141 , 54 , 35 , 84 , & 177 , 103 , 144 , 95 , 90 , 134 , 199 , 110 , 150 , 43 , 20 , 70 , & 211 , 129 , 166 , 143 , 100 , 142 , 214 , 139 , 175 , 104 , 95 , 138 , & 99 , 93 , 136 , 149 , 101 , 143 , 203 , 114 , 153 , 66 , 53 , 100 , & 69 , 57 , 104 , 84 , 78 , 123 , 60 , 44 , 92 , 63 , 49 , 96 , & 87 , 82 , 127 , 223 , 171 , 201 , 209 , 124 , 161 , 206 , 119 , 157 , & 237 , 222 , 240 , 219 , 155 , 188 , 226 , 181 , 209 , 160 , 101 , 143 , & 91 , 86 , 131 , 236 , 218 , 237 , 230 , 196 , 221 , 228 , 186 , 213 , & 47 , 25 , 75 , 235 , 214 , 234 , 216 , 144 , 179 , 238 , 226 , 243 & ], shape ( actonS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bam = reshape ( [ & 101 , 2 , 75 , 103 , 5 , 78 , 106 , 7 , 80 , 108 , 10 , 82 , & 110 , 13 , 84 , 112 , 16 , 87 , 114 , 18 , 89 , 117 , 20 , 91 , & 119 , 23 , 93 , 121 , 25 , 95 , 123 , 27 , 97 , 125 , 29 , 99 , & 127 , 31 , 102 , 129 , 33 , 104 , 132 , 35 , 106 , 134 , 37 , 108 , & 136 , 39 , 110 , 138 , 40 , 112 , 140 , 42 , 114 , 142 , 44 , 116 , & 144 , 46 , 118 , 146 , 48 , 120 , 147 , 49 , 122 , 149 , 51 , 124 , & 151 , 53 , 126 , 153 , 55 , 127 , 155 , 56 , 129 , 157 , 58 , 131 , & 158 , 60 , 133 , 160 , 62 , 135 , 162 , 63 , 136 , 164 , 65 , 138 , & 165 , 67 , 140 , 167 , 68 , 142 , 169 , 70 , 143 , 170 , 72 , 145 , & 172 , 73 , 147 , 173 , 75 , 148 , 175 , 77 , 150 , 176 , 78 , 151 , & 178 , 80 , 153 , 179 , 82 , 154 , 181 , 84 , 156 , 182 , 85 , 157 , & 184 , 87 , 159 , 185 , 89 , 160 , 186 , 90 , 162 , 188 , 92 , 163 , & 189 , 94 , 165 , 191 , 96 , 166 , 192 , 98 , 168 , 193 , 100 , 169 , & 194 , 102 , 171 , 196 , 104 , 172 , 197 , 106 , 174 , 198 , 108 , 175 , & 200 , 110 , 176 , 201 , 112 , 178 , 202 , 114 , 179 , 203 , 116 , 181 , & 204 , 118 , 182 , 206 , 120 , 183 , 207 , 122 , 185 , 208 , 124 , 186 , & 209 , 127 , 188 , 210 , 129 , 189 , 211 , 131 , 190 , 212 , 133 , 192 , & 213 , 135 , 193 , 214 , 138 , 194 , 215 , 140 , 196 , 216 , 142 , 197 , & 217 , 145 , 198 , 218 , 147 , 200 , 219 , 149 , 201 , 220 , 151 , 202 , & 221 , 154 , 203 , 222 , 156 , 205 , 223 , 158 , 206 , 223 , 161 , 207 , & 224 , 163 , 208 , 225 , 165 , 209 , 226 , 167 , 211 , 227 , 170 , 212 , & 228 , 172 , 213 , 228 , 174 , 214 , 229 , 176 , 215 , 230 , 179 , 216 , & 231 , 181 , 218 , 231 , 183 , 219 , 232 , 185 , 220 , 233 , 187 , 221 , & 234 , 189 , 222 , 234 , 192 , 223 , 235 , 194 , 224 , 236 , 196 , 225 , & 236 , 198 , 226 , 237 , 200 , 227 , 238 , 202 , 228 , 238 , 204 , 229 , & 239 , 206 , 230 , 239 , 208 , 231 , 240 , 209 , 232 , 241 , 211 , 233 , & 241 , 213 , 233 , 242 , 215 , 234 , 242 , 216 , 235 , 243 , 218 , 236 , & 243 , 220 , 236 , 243 , 221 , 237 , 244 , 223 , 238 , 244 , 224 , 238 , & 245 , 226 , 239 , 245 , 227 , 239 , 245 , 228 , 240 , 245 , 230 , 240 , & 246 , 231 , 240 , 246 , 232 , 241 , 246 , 233 , 241 , 246 , 234 , 241 , & 246 , 235 , 241 , 246 , 236 , 241 , 246 , 237 , 241 , 246 , 238 , 241 , & 246 , 239 , 241 , 246 , 239 , 241 , 246 , 240 , 241 , 246 , 241 , 241 , & 246 , 241 , 240 , 246 , 242 , 240 , 245 , 242 , 240 , 245 , 242 , 239 , & 245 , 243 , 239 , 244 , 243 , 238 , 244 , 243 , 237 , 243 , 243 , 237 , & 243 , 243 , 236 , 242 , 243 , 235 , 242 , 243 , 234 , 241 , 243 , 233 , & 240 , 243 , 232 , 239 , 243 , 230 , 239 , 243 , 229 , 238 , 242 , 228 , & 237 , 242 , 226 , 236 , 242 , 224 , 235 , 241 , 223 , 234 , 241 , 221 , & 232 , 240 , 219 , 231 , 240 , 217 , 230 , 239 , 215 , 229 , 239 , 213 , & 227 , 238 , 211 , 226 , 237 , 209 , 224 , 236 , 207 , 223 , 236 , 204 , & 221 , 235 , 202 , 220 , 234 , 199 , 218 , 233 , 197 , 216 , 232 , 194 , & 214 , 231 , 191 , 212 , 230 , 189 , 210 , 228 , 186 , 208 , 227 , 183 , & 206 , 226 , 180 , 204 , 225 , 177 , 202 , 223 , 174 , 200 , 222 , 171 , & 198 , 221 , 168 , 195 , 219 , 165 , 193 , 218 , 162 , 191 , 216 , 159 , & 188 , 215 , 155 , 186 , 213 , 152 , 183 , 211 , 149 , 181 , 210 , 146 , & 178 , 208 , 143 , 176 , 206 , 140 , 173 , 205 , 137 , 171 , 203 , 134 , & 168 , 201 , 131 , 166 , 199 , 128 , 163 , 198 , 125 , 161 , 196 , 122 , & 158 , 194 , 119 , 156 , 192 , 116 , 153 , 190 , 114 , 151 , 188 , 111 , & 148 , 187 , 109 , 146 , 185 , 106 , 143 , 183 , 104 , 141 , 181 , 101 , & 138 , 179 , 99 , 136 , 177 , 97 , 134 , 176 , 94 , 131 , 174 , 92 , & 129 , 172 , 90 , 127 , 170 , 88 , 124 , 168 , 86 , 122 , 167 , 84 , & 120 , 165 , 82 , 118 , 163 , 80 , 116 , 162 , 79 , 114 , 160 , 77 , & 112 , 158 , 75 , 109 , 156 , 73 , 107 , 155 , 72 , 105 , 153 , 70 , & 103 , 152 , 69 , 101 , 150 , 67 , 100 , 148 , 65 , 98 , 147 , 64 , & 96 , 145 , 62 , 94 , 144 , 61 , 92 , 142 , 60 , 90 , 141 , 58 , & 88 , 139 , 57 , 87 , 138 , 55 , 85 , 136 , 54 , 83 , 135 , 53 , & 81 , 133 , 51 , 80 , 132 , 50 , 78 , 130 , 49 , 76 , 129 , 47 , & 75 , 127 , 46 , 73 , 126 , 45 , 71 , 124 , 43 , 69 , 123 , 42 , & 68 , 121 , 41 , 66 , 120 , 39 , 64 , 118 , 38 , 62 , 117 , 37 , & 61 , 115 , 35 , 59 , 113 , 34 , 57 , 112 , 33 , 55 , 110 , 31 , & 53 , 109 , 30 , 51 , 107 , 28 , 50 , 105 , 27 , 48 , 104 , 25 , & 46 , 102 , 24 , 44 , 100 , 22 , 42 , 99 , 21 , 40 , 97 , 19 , & 38 , 95 , 18 , 36 , 93 , 16 , 34 , 92 , 14 , 32 , 90 , 13 , & 30 , 88 , 11 , 27 , 86 , 9 , 25 , 85 , 7 , 23 , 83 , 6 , & 21 , 81 , 4 , 18 , 79 , 3 , 15 , 77 , 1 , 13 , 76 , 0 & ], shape ( bam ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bam10 = reshape ( [ & 101 , 2 , 75 , 158 , 60 , 133 , 201 , 112 , 178 , 228 , 174 , 214 , & 245 , 227 , 239 , 239 , 243 , 229 , 193 , 218 , 162 , 124 , 168 , 86 , & 69 , 123 , 42 , 13 , 76 , 0 & ], shape ( bam10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bam100 = reshape ( [ & 101 , 2 , 75 , 108 , 10 , 82 , 112 , 16 , 87 , 119 , 23 , 93 , & 123 , 27 , 97 , 129 , 33 , 104 , 134 , 37 , 108 , 140 , 42 , 114 , & 146 , 48 , 120 , 149 , 51 , 124 , 155 , 56 , 129 , 158 , 60 , 133 , & 164 , 65 , 138 , 167 , 68 , 142 , 172 , 73 , 147 , 176 , 78 , 151 , & 179 , 82 , 154 , 184 , 87 , 159 , 186 , 90 , 162 , 191 , 96 , 166 , & 194 , 102 , 171 , 197 , 106 , 174 , 201 , 112 , 178 , 203 , 116 , 181 , & 207 , 122 , 185 , 209 , 127 , 188 , 212 , 133 , 192 , 215 , 140 , 196 , & 217 , 145 , 198 , 220 , 151 , 202 , 222 , 156 , 205 , 224 , 163 , 208 , & 226 , 167 , 211 , 228 , 174 , 214 , 231 , 181 , 218 , 232 , 185 , 220 , & 234 , 192 , 223 , 236 , 196 , 225 , 238 , 202 , 228 , 239 , 206 , 230 , & 241 , 211 , 233 , 242 , 216 , 235 , 243 , 220 , 236 , 244 , 224 , 238 , & 245 , 227 , 239 , 246 , 231 , 240 , 246 , 233 , 241 , 246 , 236 , 241 , & 246 , 239 , 241 , 246 , 240 , 241 , 246 , 242 , 240 , 245 , 242 , 239 , & 244 , 243 , 237 , 242 , 243 , 235 , 241 , 243 , 233 , 239 , 243 , 229 , & 237 , 242 , 226 , 234 , 241 , 221 , 231 , 240 , 217 , 227 , 238 , 211 , & 223 , 236 , 204 , 220 , 234 , 199 , 214 , 231 , 191 , 210 , 228 , 186 , & 204 , 225 , 177 , 200 , 222 , 171 , 193 , 218 , 162 , 186 , 213 , 152 , & 181 , 210 , 146 , 173 , 205 , 137 , 168 , 201 , 131 , 161 , 196 , 122 , & 156 , 192 , 116 , 148 , 187 , 109 , 141 , 181 , 101 , 136 , 177 , 97 , & 129 , 172 , 90 , 124 , 168 , 86 , 118 , 163 , 80 , 114 , 160 , 77 , & 107 , 155 , 72 , 101 , 150 , 67 , 98 , 147 , 64 , 92 , 142 , 60 , & 88 , 139 , 57 , 83 , 135 , 53 , 78 , 130 , 49 , 75 , 127 , 46 , & 69 , 123 , 42 , 66 , 120 , 39 , 61 , 115 , 35 , 57 , 112 , 33 , & 51 , 107 , 28 , 46 , 102 , 24 , 42 , 99 , 21 , 36 , 93 , 16 , & 32 , 90 , 13 , 25 , 85 , 7 , 21 , 81 , 4 , 13 , 76 , 0 & ], shape ( bam100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bam25 = reshape ( [ & 101 , 2 , 75 , 125 , 29 , 99 , 146 , 48 , 120 , 165 , 67 , 140 , & 182 , 85 , 157 , 196 , 104 , 172 , 209 , 127 , 188 , 219 , 149 , 201 , & 228 , 174 , 214 , 236 , 198 , 226 , 242 , 216 , 235 , 246 , 232 , 241 , & 246 , 241 , 240 , 242 , 243 , 234 , 231 , 240 , 217 , 216 , 232 , 194 , & 193 , 218 , 162 , 166 , 199 , 128 , 141 , 181 , 101 , 116 , 162 , 79 , & 94 , 144 , 61 , 76 , 129 , 47 , 57 , 112 , 33 , 38 , 95 , 18 , & 13 , 76 , 0 & ], shape ( bam25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bam50 = reshape ( [ & 101 , 2 , 75 , 112 , 16 , 87 , 123 , 27 , 97 , 136 , 39 , 110 , & 146 , 48 , 120 , 155 , 56 , 129 , 164 , 65 , 138 , 172 , 73 , 147 , & 181 , 84 , 156 , 188 , 92 , 163 , 194 , 102 , 171 , 201 , 112 , 178 , & 207 , 122 , 185 , 213 , 135 , 193 , 218 , 147 , 200 , 223 , 158 , 206 , & 227 , 170 , 212 , 231 , 181 , 218 , 235 , 194 , 224 , 238 , 204 , 229 , & 241 , 213 , 233 , 243 , 221 , 237 , 245 , 228 , 240 , 246 , 235 , 241 , & 246 , 239 , 241 , 245 , 242 , 240 , 243 , 243 , 237 , 239 , 243 , 230 , & 235 , 241 , 223 , 229 , 239 , 213 , 221 , 235 , 202 , 212 , 230 , 189 , & 200 , 222 , 171 , 188 , 215 , 155 , 176 , 206 , 140 , 163 , 198 , 125 , & 151 , 188 , 111 , 136 , 177 , 97 , 124 , 168 , 86 , 114 , 160 , 77 , & 103 , 152 , 69 , 94 , 144 , 61 , 83 , 135 , 53 , 75 , 127 , 46 , & 66 , 120 , 39 , 57 , 112 , 33 , 48 , 104 , 25 , 36 , 93 , 16 , & 25 , 85 , 7 , 13 , 76 , 0 & ], shape ( bam50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bamako = reshape ( [ & 0 , 59 , 71 , 0 , 59 , 71 , 1 , 59 , 71 , 1 , 60 , 71 , & 2 , 60 , 70 , 2 , 60 , 70 , 3 , 60 , 70 , 3 , 61 , 69 , & 4 , 61 , 69 , 4 , 61 , 69 , 5 , 62 , 69 , 5 , 62 , 68 , & 6 , 62 , 68 , 6 , 63 , 68 , 7 , 63 , 67 , 7 , 63 , 67 , & 8 , 63 , 67 , 8 , 64 , 66 , 9 , 64 , 66 , 9 , 64 , 66 , & 10 , 65 , 66 , 10 , 65 , 65 , 11 , 65 , 65 , 11 , 66 , 65 , & 12 , 66 , 64 , 12 , 66 , 64 , 13 , 67 , 64 , 13 , 67 , 63 , & 14 , 67 , 63 , 14 , 68 , 63 , 15 , 68 , 62 , 15 , 68 , 62 , & 16 , 69 , 62 , 16 , 69 , 61 , 17 , 69 , 61 , 18 , 70 , 61 , & 18 , 70 , 60 , 19 , 71 , 60 , 19 , 71 , 60 , 20 , 71 , 59 , & 20 , 72 , 59 , 21 , 72 , 58 , 22 , 72 , 58 , 22 , 73 , 58 , & 23 , 73 , 57 , 23 , 74 , 57 , 24 , 74 , 57 , 25 , 74 , 56 , & 25 , 75 , 56 , 26 , 75 , 55 , 27 , 76 , 55 , 27 , 76 , 55 , & 28 , 77 , 54 , 29 , 77 , 54 , 29 , 77 , 53 , 30 , 78 , 53 , & 31 , 78 , 52 , 32 , 79 , 52 , 32 , 79 , 51 , 33 , 80 , 51 , & 34 , 80 , 51 , 34 , 81 , 50 , 35 , 81 , 50 , 36 , 82 , 49 , & 37 , 82 , 49 , 38 , 83 , 48 , 38 , 83 , 48 , 39 , 84 , 47 , & 40 , 84 , 47 , 41 , 85 , 46 , 41 , 85 , 46 , 42 , 86 , 45 , & 43 , 86 , 45 , 44 , 87 , 44 , 45 , 87 , 44 , 46 , 88 , 43 , & 46 , 88 , 43 , 47 , 89 , 42 , 48 , 90 , 42 , 49 , 90 , 41 , & 50 , 91 , 41 , 51 , 91 , 40 , 52 , 92 , 39 , 53 , 92 , 39 , & 53 , 93 , 38 , 54 , 94 , 38 , 55 , 94 , 37 , 56 , 95 , 37 , & 57 , 95 , 36 , 58 , 96 , 35 , 59 , 97 , 35 , 60 , 97 , 34 , & 61 , 98 , 34 , 62 , 98 , 33 , 63 , 99 , 33 , 64 , 100 , 32 , & 65 , 100 , 31 , 66 , 101 , 31 , 67 , 102 , 30 , 68 , 102 , 30 , & 69 , 103 , 29 , 70 , 104 , 28 , 71 , 104 , 28 , 72 , 105 , 27 , & 73 , 105 , 26 , 74 , 106 , 26 , 75 , 107 , 25 , 76 , 107 , 24 , & 77 , 108 , 24 , 78 , 109 , 23 , 79 , 110 , 23 , 80 , 110 , 22 , & 81 , 111 , 21 , 82 , 112 , 21 , 83 , 112 , 20 , 84 , 113 , 19 , & 85 , 114 , 19 , 86 , 114 , 18 , 88 , 115 , 17 , 89 , 116 , 17 , & 90 , 116 , 16 , 91 , 117 , 15 , 92 , 118 , 15 , 93 , 119 , 14 , & 94 , 119 , 13 , 95 , 120 , 13 , 96 , 121 , 12 , 97 , 121 , 11 , & 99 , 122 , 10 , 100 , 123 , 10 , 101 , 124 , 9 , 102 , 124 , 8 , & 103 , 125 , 7 , 104 , 126 , 7 , 105 , 126 , 6 , 106 , 127 , 5 , & 107 , 128 , 5 , 109 , 128 , 4 , 110 , 129 , 4 , 111 , 130 , 3 , & 112 , 130 , 3 , 113 , 131 , 2 , 115 , 131 , 2 , 116 , 132 , 1 , & 117 , 132 , 1 , 119 , 133 , 1 , 120 , 133 , 1 , 121 , 134 , 0 , & 123 , 134 , 0 , 124 , 134 , 0 , 125 , 135 , 0 , 127 , 135 , 0 , & 128 , 135 , 0 , 129 , 136 , 0 , 131 , 136 , 0 , 132 , 136 , 0 , & 133 , 136 , 0 , 135 , 137 , 0 , 136 , 137 , 0 , 137 , 137 , 0 , & 139 , 137 , 0 , 140 , 138 , 0 , 141 , 138 , 0 , 143 , 138 , 0 , & 144 , 139 , 0 , 145 , 139 , 0 , 147 , 139 , 1 , 148 , 140 , 1 , & 149 , 140 , 1 , 151 , 141 , 2 , 152 , 141 , 3 , 153 , 142 , 3 , & 155 , 142 , 4 , 156 , 143 , 5 , 157 , 144 , 6 , 158 , 145 , 8 , & 160 , 146 , 9 , 161 , 146 , 11 , 162 , 147 , 13 , 164 , 148 , 14 , & 165 , 149 , 16 , 166 , 150 , 17 , 168 , 151 , 19 , 169 , 152 , 21 , & 170 , 153 , 22 , 172 , 154 , 24 , 173 , 155 , 26 , 174 , 156 , 27 , & 176 , 157 , 29 , 177 , 158 , 31 , 178 , 159 , 32 , 180 , 160 , 34 , & 181 , 161 , 36 , 183 , 162 , 37 , 184 , 163 , 39 , 185 , 165 , 41 , & 187 , 166 , 43 , 188 , 167 , 44 , 190 , 168 , 46 , 191 , 169 , 48 , & 192 , 170 , 50 , 194 , 171 , 52 , 195 , 172 , 53 , 197 , 173 , 55 , & 198 , 174 , 57 , 199 , 175 , 59 , 201 , 176 , 61 , 202 , 178 , 63 , & 203 , 179 , 65 , 205 , 180 , 68 , 206 , 181 , 70 , 207 , 182 , 72 , & 208 , 183 , 74 , 210 , 184 , 77 , 211 , 185 , 79 , 212 , 187 , 81 , & 213 , 188 , 84 , 214 , 189 , 86 , 215 , 190 , 89 , 217 , 191 , 91 , & 218 , 192 , 93 , 219 , 193 , 96 , 220 , 194 , 98 , 221 , 196 , 100 , & 222 , 197 , 103 , 223 , 198 , 105 , 224 , 199 , 108 , 226 , 200 , 110 , & 227 , 201 , 112 , 228 , 202 , 115 , 229 , 203 , 117 , 230 , 204 , 119 , & 231 , 205 , 122 , 232 , 207 , 124 , 233 , 208 , 126 , 234 , 209 , 129 , & 235 , 210 , 131 , 236 , 211 , 133 , 237 , 212 , 136 , 239 , 213 , 138 , & 240 , 214 , 140 , 241 , 215 , 142 , 242 , 216 , 145 , 243 , 217 , 147 , & 244 , 218 , 149 , 245 , 219 , 151 , 246 , 220 , 154 , 247 , 221 , 156 , & 248 , 222 , 158 , 249 , 223 , 160 , 250 , 224 , 163 , 251 , 225 , 165 , & 252 , 226 , 167 , 253 , 227 , 169 , 254 , 228 , 171 , 255 , 229 , 173 & ], shape ( bamako ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bamako10 = reshape ( [ & 0 , 59 , 71 , 14 , 67 , 63 , 32 , 79 , 52 , 54 , 94 , 38 , & 82 , 112 , 21 , 115 , 131 , 2 , 152 , 141 , 3 , 190 , 168 , 46 , & 226 , 200 , 110 , 255 , 229 , 173 & ], shape ( bamako10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bamako100 = reshape ( [ & 0 , 59 , 71 , 1 , 60 , 71 , 2 , 60 , 70 , 4 , 61 , 69 , & 5 , 62 , 69 , 6 , 63 , 68 , 7 , 63 , 67 , 9 , 64 , 66 , & 10 , 65 , 65 , 11 , 66 , 65 , 13 , 67 , 64 , 14 , 67 , 63 , & 15 , 68 , 62 , 16 , 69 , 61 , 18 , 70 , 60 , 20 , 71 , 59 , & 21 , 72 , 58 , 23 , 73 , 57 , 24 , 74 , 57 , 26 , 75 , 55 , & 28 , 77 , 54 , 29 , 77 , 53 , 32 , 79 , 52 , 33 , 80 , 51 , & 35 , 81 , 50 , 37 , 82 , 49 , 39 , 84 , 47 , 41 , 85 , 46 , & 43 , 86 , 45 , 46 , 88 , 43 , 47 , 89 , 42 , 50 , 91 , 41 , & 52 , 92 , 39 , 54 , 94 , 38 , 57 , 95 , 36 , 59 , 97 , 35 , & 62 , 98 , 33 , 64 , 100 , 32 , 67 , 102 , 30 , 69 , 103 , 29 , & 72 , 105 , 27 , 75 , 107 , 25 , 77 , 108 , 24 , 80 , 110 , 22 , & 82 , 112 , 21 , 85 , 114 , 19 , 88 , 115 , 17 , 91 , 117 , 15 , & 94 , 119 , 13 , 96 , 121 , 12 , 100 , 123 , 10 , 102 , 124 , 8 , & 105 , 126 , 6 , 109 , 128 , 4 , 111 , 130 , 3 , 115 , 131 , 2 , & 117 , 132 , 1 , 121 , 134 , 0 , 124 , 134 , 0 , 128 , 135 , 0 , & 132 , 136 , 0 , 135 , 137 , 0 , 139 , 137 , 0 , 141 , 138 , 0 , & 145 , 139 , 0 , 148 , 140 , 1 , 152 , 141 , 3 , 156 , 143 , 5 , & 158 , 145 , 8 , 162 , 147 , 13 , 165 , 149 , 16 , 169 , 152 , 21 , & 172 , 154 , 24 , 176 , 157 , 29 , 180 , 160 , 34 , 183 , 162 , 37 , & 187 , 166 , 43 , 190 , 168 , 46 , 194 , 171 , 52 , 197 , 173 , 55 , & 201 , 176 , 61 , 205 , 180 , 68 , 207 , 182 , 72 , 211 , 185 , 79 , & 213 , 188 , 84 , 217 , 191 , 91 , 220 , 194 , 98 , 222 , 197 , 103 , & 226 , 200 , 110 , 228 , 202 , 115 , 231 , 205 , 122 , 233 , 208 , 126 , & 236 , 211 , 133 , 240 , 214 , 140 , 242 , 216 , 145 , 245 , 219 , 151 , & 247 , 221 , 156 , 250 , 224 , 163 , 252 , 226 , 167 , 255 , 229 , 173 & ], shape ( bamako100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bamako25 = reshape ( [ & 0 , 59 , 71 , 5 , 62 , 68 , 10 , 65 , 65 , 16 , 69 , 62 , & 22 , 73 , 58 , 29 , 77 , 54 , 37 , 82 , 49 , 45 , 87 , 44 , & 54 , 94 , 38 , 65 , 100 , 31 , 75 , 107 , 25 , 86 , 114 , 18 , & 99 , 122 , 10 , 110 , 129 , 4 , 124 , 134 , 0 , 137 , 137 , 0 , & 152 , 141 , 3 , 166 , 150 , 17 , 180 , 160 , 34 , 195 , 172 , 53 , & 210 , 184 , 77 , 221 , 196 , 100 , 233 , 208 , 126 , 244 , 218 , 149 , & 255 , 229 , 173 & ], shape ( bamako25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bamako50 = reshape ( [ & 0 , 59 , 71 , 2 , 60 , 70 , 5 , 62 , 69 , 8 , 63 , 67 , & 10 , 65 , 65 , 13 , 67 , 64 , 15 , 68 , 62 , 18 , 70 , 60 , & 22 , 72 , 58 , 25 , 74 , 56 , 28 , 77 , 54 , 32 , 79 , 52 , & 35 , 81 , 50 , 40 , 84 , 47 , 44 , 87 , 44 , 48 , 90 , 42 , & 53 , 92 , 39 , 57 , 95 , 36 , 63 , 99 , 33 , 68 , 102 , 30 , & 73 , 105 , 26 , 78 , 109 , 23 , 83 , 112 , 20 , 90 , 116 , 16 , & 95 , 120 , 13 , 101 , 124 , 9 , 106 , 127 , 5 , 113 , 131 , 2 , & 120 , 133 , 1 , 127 , 135 , 0 , 133 , 136 , 0 , 140 , 138 , 0 , & 148 , 140 , 1 , 155 , 142 , 4 , 161 , 146 , 11 , 168 , 151 , 19 , & 174 , 156 , 27 , 183 , 162 , 37 , 190 , 168 , 46 , 197 , 173 , 55 , & 203 , 179 , 65 , 210 , 184 , 77 , 217 , 191 , 91 , 222 , 197 , 103 , & 228 , 202 , 115 , 233 , 208 , 126 , 239 , 213 , 138 , 245 , 219 , 151 , & 250 , 224 , 163 , 255 , 229 , 173 & ], shape ( bamako50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bamakoS = reshape ( [ & 0 , 59 , 71 , 255 , 229 , 173 , 99 , 122 , 10 , 37 , 82 , 49 , & 180 , 160 , 34 , 65 , 100 , 31 , 221 , 196 , 100 , 16 , 69 , 62 , & 139 , 137 , 0 , 8 , 63 , 67 , 25 , 75 , 56 , 239 , 213 , 138 , & 117 , 132 , 1 , 81 , 111 , 21 , 202 , 178 , 63 , 50 , 91 , 41 , & 160 , 146 , 9 , 149 , 140 , 1 , 247 , 221 , 156 , 128 , 135 , 0 , & 73 , 105 , 26 , 43 , 86 , 45 , 107 , 128 , 5 , 20 , 72 , 59 , & 57 , 95 , 36 , 191 , 169 , 48 , 212 , 187 , 81 , 12 , 66 , 64 , & 90 , 116 , 16 , 4 , 61 , 69 , 31 , 78 , 52 , 230 , 204 , 119 , & 170 , 153 , 22 , 243 , 217 , 147 , 123 , 134 , 0 , 85 , 114 , 19 , & 103 , 125 , 7 , 251 , 225 , 165 , 133 , 136 , 0 , 207 , 182 , 72 , & 61 , 98 , 34 , 2 , 60 , 70 , 28 , 77 , 54 , 94 , 119 , 13 , & 14 , 67 , 63 , 77 , 108 , 24 , 23 , 73 , 57 , 46 , 88 , 43 , & 10 , 65 , 66 , 112 , 130 , 3 , 197 , 173 , 55 , 185 , 165 , 41 , & 234 , 209 , 129 , 165 , 149 , 16 , 40 , 84 , 47 , 217 , 191 , 91 , & 69 , 103 , 29 , 18 , 70 , 60 , 34 , 80 , 51 , 6 , 62 , 68 , & 53 , 93 , 38 , 144 , 139 , 0 , 155 , 142 , 4 , 226 , 200 , 110 , & 176 , 157 , 29 , 199 , 175 , 59 , 188 , 167 , 44 , 11 , 65 , 65 , & 24 , 74 , 57 , 125 , 135 , 0 , 52 , 92 , 39 , 41 , 85 , 46 , & 205 , 180 , 68 , 131 , 136 , 0 , 157 , 144 , 6 , 152 , 141 , 3 , & 241 , 215 , 142 , 15 , 68 , 62 , 115 , 131 , 2 , 88 , 115 , 17 , & 96 , 121 , 12 , 29 , 77 , 53 , 183 , 162 , 37 , 35 , 81 , 50 , & 22 , 72 , 58 , 228 , 202 , 115 , 3 , 60 , 70 , 5 , 62 , 69 , & 79 , 110 , 23 , 9 , 64 , 66 , 253 , 227 , 169 , 141 , 138 , 0 , & 147 , 139 , 1 , 59 , 97 , 35 , 92 , 118 , 15 , 1 , 59 , 71 , & 38 , 83 , 48 , 223 , 198 , 105 , 17 , 69 , 61 , 67 , 102 , 30 & ], shape ( bamakoS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bamO = reshape ( [ & 79 , 48 , 67 , 80 , 47 , 69 , 81 , 47 , 70 , 83 , 48 , 71 , & 84 , 48 , 73 , 86 , 48 , 75 , 88 , 48 , 77 , 90 , 49 , 78 , & 92 , 50 , 80 , 94 , 50 , 82 , 96 , 51 , 84 , 98 , 52 , 87 , & 100 , 53 , 89 , 103 , 54 , 91 , 105 , 55 , 93 , 107 , 56 , 95 , & 109 , 57 , 97 , 112 , 58 , 99 , 114 , 59 , 101 , 116 , 61 , 103 , & 118 , 62 , 105 , 121 , 63 , 107 , 123 , 65 , 109 , 125 , 66 , 111 , & 127 , 68 , 113 , 129 , 69 , 115 , 131 , 70 , 117 , 133 , 72 , 119 , & 135 , 73 , 121 , 137 , 75 , 123 , 139 , 76 , 125 , 141 , 78 , 126 , & 143 , 79 , 128 , 145 , 81 , 130 , 147 , 82 , 132 , 148 , 84 , 133 , & 150 , 85 , 135 , 152 , 87 , 137 , 154 , 88 , 138 , 155 , 90 , 140 , & 157 , 91 , 141 , 159 , 93 , 143 , 160 , 94 , 145 , 162 , 96 , 146 , & 163 , 97 , 148 , 165 , 99 , 149 , 167 , 101 , 151 , 168 , 102 , 152 , & 170 , 104 , 154 , 171 , 105 , 155 , 173 , 107 , 157 , 174 , 109 , 158 , & 176 , 110 , 160 , 177 , 112 , 161 , 179 , 114 , 163 , 181 , 116 , 164 , & 182 , 118 , 166 , 184 , 119 , 167 , 185 , 121 , 169 , 187 , 123 , 170 , & 188 , 125 , 172 , 190 , 127 , 173 , 191 , 129 , 175 , 192 , 131 , 176 , & 194 , 133 , 178 , 195 , 135 , 179 , 197 , 137 , 181 , 198 , 139 , 182 , & 199 , 141 , 184 , 201 , 143 , 185 , 202 , 146 , 186 , 203 , 148 , 188 , & 204 , 150 , 189 , 205 , 152 , 190 , 207 , 154 , 191 , 208 , 156 , 193 , & 209 , 158 , 194 , 210 , 160 , 195 , 210 , 163 , 196 , 211 , 165 , 197 , & 212 , 167 , 198 , 213 , 169 , 199 , 214 , 171 , 199 , 214 , 173 , 200 , & 215 , 174 , 201 , 215 , 176 , 201 , 216 , 178 , 202 , 216 , 180 , 202 , & 217 , 181 , 203 , 217 , 183 , 203 , 217 , 184 , 203 , 217 , 186 , 204 , & 218 , 187 , 204 , 218 , 188 , 204 , 218 , 190 , 204 , 218 , 191 , 204 , & 218 , 192 , 204 , 218 , 193 , 204 , 218 , 194 , 204 , 218 , 195 , 204 , & 218 , 196 , 203 , 217 , 197 , 203 , 217 , 197 , 203 , 217 , 198 , 203 , & 217 , 199 , 202 , 217 , 199 , 202 , 216 , 200 , 202 , 216 , 201 , 201 , & 216 , 201 , 201 , 216 , 202 , 200 , 215 , 202 , 200 , 215 , 202 , 199 , & 215 , 203 , 199 , 214 , 203 , 199 , 214 , 203 , 198 , 214 , 204 , 197 , & 213 , 204 , 197 , 213 , 204 , 196 , 212 , 204 , 196 , 212 , 205 , 195 , & 212 , 205 , 194 , 211 , 205 , 194 , 211 , 205 , 193 , 210 , 205 , 192 , & 209 , 205 , 191 , 209 , 205 , 190 , 208 , 205 , 189 , 207 , 205 , 188 , & 206 , 205 , 187 , 205 , 205 , 186 , 204 , 205 , 185 , 203 , 204 , 183 , & 202 , 204 , 182 , 201 , 204 , 180 , 200 , 203 , 178 , 198 , 203 , 177 , & 197 , 202 , 175 , 195 , 201 , 173 , 194 , 200 , 170 , 192 , 199 , 168 , & 190 , 198 , 166 , 188 , 197 , 164 , 186 , 196 , 161 , 184 , 194 , 158 , & 182 , 193 , 156 , 180 , 191 , 153 , 178 , 190 , 151 , 176 , 188 , 148 , & 173 , 186 , 145 , 171 , 184 , 143 , 169 , 182 , 140 , 167 , 181 , 138 , & 164 , 179 , 135 , 162 , 177 , 133 , 160 , 175 , 131 , 158 , 173 , 128 , & 156 , 171 , 126 , 154 , 169 , 124 , 152 , 167 , 122 , 150 , 165 , 120 , & 148 , 163 , 118 , 146 , 161 , 116 , 145 , 159 , 114 , 143 , 158 , 112 , & 141 , 156 , 110 , 139 , 154 , 109 , 138 , 152 , 107 , 136 , 150 , 105 , & 134 , 148 , 104 , 133 , 147 , 102 , 131 , 145 , 101 , 130 , 143 , 99 , & 128 , 141 , 98 , 127 , 140 , 97 , 125 , 138 , 95 , 124 , 136 , 94 , & 123 , 135 , 93 , 121 , 133 , 92 , 120 , 131 , 91 , 119 , 130 , 90 , & 117 , 128 , 88 , 116 , 127 , 87 , 115 , 125 , 86 , 114 , 124 , 85 , & 113 , 122 , 84 , 111 , 121 , 83 , 110 , 119 , 82 , 109 , 117 , 82 , & 108 , 116 , 81 , 107 , 114 , 80 , 106 , 113 , 79 , 105 , 111 , 78 , & 103 , 110 , 77 , 102 , 108 , 76 , 101 , 107 , 76 , 100 , 105 , 75 , & 99 , 104 , 74 , 98 , 102 , 73 , 97 , 101 , 72 , 96 , 99 , 72 , & 95 , 98 , 71 , 94 , 96 , 70 , 93 , 95 , 70 , 92 , 93 , 69 , & 91 , 92 , 68 , 90 , 91 , 68 , 89 , 89 , 67 , 88 , 88 , 66 , & 87 , 86 , 66 , 87 , 85 , 65 , 86 , 84 , 65 , 85 , 83 , 64 , & 84 , 81 , 64 , 84 , 80 , 63 , 83 , 79 , 63 , 82 , 78 , 63 , & 81 , 77 , 62 , 81 , 76 , 62 , 80 , 75 , 61 , 80 , 73 , 61 , & 79 , 72 , 61 , 79 , 72 , 60 , 78 , 71 , 60 , 78 , 70 , 60 , & 77 , 69 , 60 , 77 , 68 , 59 , 76 , 67 , 59 , 76 , 66 , 59 , & 75 , 65 , 59 , 75 , 64 , 59 , 75 , 64 , 59 , 74 , 63 , 58 , & 74 , 62 , 58 , 74 , 61 , 58 , 74 , 60 , 58 , 73 , 60 , 58 , & 73 , 59 , 58 , 73 , 58 , 58 , 73 , 57 , 58 , 73 , 57 , 58 , & 73 , 56 , 58 , 72 , 55 , 58 , 72 , 54 , 59 , 72 , 54 , 59 , & 72 , 53 , 59 , 73 , 52 , 59 , 73 , 52 , 60 , 73 , 51 , 60 , & 73 , 50 , 61 , 74 , 50 , 61 , 74 , 49 , 62 , 75 , 49 , 62 , & 75 , 49 , 63 , 76 , 48 , 64 , 77 , 48 , 65 , 78 , 48 , 66 & ], shape ( bamO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bamO10 = reshape ( [ & 79 , 48 , 67 , 135 , 73 , 121 , 184 , 119 , 167 , 215 , 176 , 201 , & 214 , 203 , 199 , 186 , 196 , 161 , 131 , 145 , 101 , 97 , 101 , 72 , & 76 , 66 , 59 , 78 , 48 , 66 & ], shape ( bamO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bamO100 = reshape ( [ & 79 , 48 , 67 , 83 , 48 , 71 , 86 , 48 , 75 , 92 , 50 , 80 , & 96 , 51 , 84 , 103 , 54 , 91 , 107 , 56 , 95 , 114 , 59 , 101 , & 121 , 63 , 107 , 125 , 66 , 111 , 131 , 70 , 117 , 135 , 73 , 121 , & 141 , 78 , 126 , 145 , 81 , 130 , 150 , 85 , 135 , 155 , 90 , 140 , & 159 , 93 , 143 , 163 , 97 , 148 , 167 , 101 , 151 , 171 , 105 , 155 , & 176 , 110 , 160 , 179 , 114 , 163 , 184 , 119 , 167 , 187 , 123 , 170 , & 191 , 129 , 175 , 194 , 133 , 178 , 198 , 139 , 182 , 202 , 146 , 186 , & 204 , 150 , 189 , 208 , 156 , 193 , 210 , 160 , 195 , 212 , 167 , 198 , & 214 , 171 , 199 , 215 , 176 , 201 , 217 , 181 , 203 , 217 , 184 , 203 , & 218 , 188 , 204 , 218 , 191 , 204 , 218 , 194 , 204 , 218 , 196 , 203 , & 217 , 198 , 203 , 216 , 200 , 202 , 216 , 201 , 201 , 215 , 202 , 199 , & 214 , 203 , 199 , 213 , 204 , 197 , 212 , 204 , 196 , 211 , 205 , 194 , & 209 , 205 , 191 , 208 , 205 , 189 , 205 , 205 , 186 , 203 , 204 , 183 , & 200 , 203 , 178 , 195 , 201 , 173 , 192 , 199 , 168 , 186 , 196 , 161 , & 182 , 193 , 156 , 176 , 188 , 148 , 171 , 184 , 143 , 164 , 179 , 135 , & 158 , 173 , 128 , 154 , 169 , 124 , 148 , 163 , 118 , 145 , 159 , 114 , & 139 , 154 , 109 , 136 , 150 , 105 , 131 , 145 , 101 , 127 , 140 , 97 , & 124 , 136 , 94 , 120 , 131 , 91 , 117 , 128 , 88 , 114 , 124 , 85 , & 111 , 121 , 83 , 108 , 116 , 81 , 105 , 111 , 78 , 102 , 108 , 76 , & 99 , 104 , 74 , 97 , 101 , 72 , 94 , 96 , 70 , 92 , 93 , 69 , & 89 , 89 , 67 , 87 , 85 , 65 , 85 , 83 , 64 , 83 , 79 , 63 , & 81 , 77 , 62 , 80 , 73 , 61 , 78 , 71 , 60 , 77 , 69 , 60 , & 76 , 66 , 59 , 75 , 64 , 59 , 74 , 62 , 58 , 74 , 60 , 58 , & 73 , 58 , 58 , 73 , 56 , 58 , 72 , 54 , 59 , 73 , 52 , 59 , & 73 , 51 , 60 , 74 , 49 , 62 , 75 , 49 , 63 , 78 , 48 , 66 & ], shape ( bamO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bamO25 = reshape ( [ & 79 , 48 , 67 , 98 , 52 , 87 , 121 , 63 , 107 , 143 , 79 , 128 , & 162 , 96 , 146 , 177 , 112 , 161 , 194 , 133 , 178 , 207 , 154 , 191 , & 215 , 176 , 201 , 218 , 192 , 204 , 216 , 200 , 202 , 213 , 204 , 196 , & 206 , 205 , 187 , 194 , 200 , 170 , 171 , 184 , 143 , 150 , 165 , 120 , & 131 , 145 , 101 , 116 , 127 , 87 , 105 , 111 , 78 , 93 , 95 , 70 , & 84 , 80 , 63 , 78 , 70 , 60 , 74 , 60 , 58 , 72 , 53 , 59 , & 78 , 48 , 66 & ], shape ( bamO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bamO50 = reshape ( [ & 79 , 48 , 67 , 86 , 48 , 75 , 96 , 51 , 84 , 109 , 57 , 97 , & 121 , 63 , 107 , 131 , 70 , 117 , 141 , 78 , 126 , 150 , 85 , 135 , & 160 , 94 , 145 , 168 , 102 , 152 , 176 , 110 , 160 , 184 , 119 , 167 , & 191 , 129 , 175 , 199 , 141 , 184 , 205 , 152 , 190 , 210 , 163 , 196 , & 214 , 173 , 200 , 217 , 181 , 203 , 218 , 190 , 204 , 218 , 195 , 204 , & 217 , 199 , 202 , 216 , 202 , 200 , 214 , 203 , 198 , 212 , 205 , 194 , & 209 , 205 , 190 , 204 , 205 , 185 , 198 , 203 , 177 , 188 , 197 , 164 , & 178 , 190 , 151 , 167 , 181 , 138 , 156 , 171 , 126 , 146 , 161 , 116 , & 136 , 150 , 105 , 128 , 141 , 98 , 121 , 133 , 92 , 115 , 125 , 86 , & 109 , 117 , 82 , 102 , 108 , 76 , 97 , 101 , 72 , 92 , 93 , 69 , & 87 , 86 , 66 , 84 , 80 , 63 , 80 , 73 , 61 , 77 , 69 , 60 , & 75 , 64 , 59 , 74 , 60 , 58 , 73 , 57 , 58 , 73 , 52 , 59 , & 74 , 49 , 62 , 78 , 48 , 66 & ], shape ( bamO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: batlow = reshape ( [ & 1 , 25 , 89 , 2 , 27 , 89 , 3 , 28 , 90 , 4 , 30 , 90 , & 5 , 31 , 90 , 6 , 33 , 91 , 7 , 34 , 91 , 7 , 36 , 91 , & 8 , 37 , 91 , 9 , 39 , 92 , 10 , 40 , 92 , 10 , 42 , 92 , & 11 , 43 , 92 , 11 , 45 , 93 , 12 , 46 , 93 , 12 , 47 , 93 , & 13 , 49 , 93 , 13 , 50 , 94 , 13 , 51 , 94 , 14 , 53 , 94 , & 14 , 54 , 94 , 14 , 55 , 94 , 15 , 56 , 95 , 15 , 57 , 95 , & 15 , 59 , 95 , 15 , 60 , 95 , 16 , 61 , 95 , 16 , 62 , 95 , & 16 , 63 , 96 , 16 , 64 , 96 , 17 , 65 , 96 , 17 , 66 , 96 , & 17 , 67 , 96 , 17 , 68 , 96 , 18 , 69 , 97 , 18 , 70 , 97 , & 18 , 71 , 97 , 18 , 72 , 97 , 19 , 73 , 97 , 19 , 74 , 97 , & 19 , 75 , 97 , 20 , 76 , 98 , 20 , 77 , 98 , 20 , 78 , 98 , & 21 , 79 , 98 , 21 , 79 , 98 , 22 , 80 , 98 , 22 , 81 , 98 , & 23 , 82 , 98 , 23 , 83 , 98 , 24 , 84 , 98 , 24 , 85 , 98 , & 25 , 86 , 98 , 25 , 87 , 98 , 26 , 87 , 98 , 27 , 88 , 98 , & 27 , 89 , 98 , 28 , 90 , 98 , 29 , 91 , 98 , 30 , 92 , 98 , & 30 , 93 , 98 , 31 , 93 , 97 , 32 , 94 , 97 , 33 , 95 , 97 , & 34 , 96 , 97 , 35 , 96 , 96 , 36 , 97 , 96 , 37 , 98 , 96 , & 38 , 99 , 95 , 39 , 99 , 95 , 40 , 100 , 95 , 42 , 101 , 94 , & 43 , 101 , 94 , 44 , 102 , 93 , 45 , 103 , 93 , 47 , 103 , 92 , & 48 , 104 , 92 , 49 , 105 , 91 , 51 , 105 , 90 , 52 , 106 , 90 , & 53 , 106 , 89 , 55 , 107 , 88 , 56 , 108 , 88 , 58 , 108 , 87 , & 59 , 109 , 86 , 60 , 109 , 86 , 62 , 110 , 85 , 63 , 110 , 84 , & 65 , 111 , 83 , 66 , 111 , 82 , 68 , 112 , 82 , 69 , 112 , 81 , & 71 , 113 , 80 , 72 , 113 , 79 , 74 , 114 , 78 , 76 , 114 , 77 , & 77 , 115 , 77 , 79 , 115 , 76 , 80 , 116 , 75 , 82 , 116 , 74 , & 83 , 117 , 73 , 85 , 117 , 72 , 87 , 118 , 71 , 88 , 118 , 70 , & 90 , 119 , 69 , 91 , 119 , 69 , 93 , 120 , 68 , 95 , 120 , 67 , & 96 , 121 , 66 , 98 , 121 , 65 , 99 , 122 , 64 , 101 , 122 , 63 , & 103 , 123 , 62 , 104 , 123 , 62 , 106 , 123 , 61 , 108 , 124 , 60 , & 109 , 124 , 59 , 111 , 125 , 58 , 113 , 125 , 57 , 115 , 126 , 56 , & 116 , 126 , 56 , 118 , 127 , 55 , 120 , 127 , 54 , 121 , 128 , 53 , & 123 , 128 , 52 , 125 , 129 , 52 , 127 , 129 , 51 , 129 , 130 , 50 , & 130 , 130 , 49 , 132 , 131 , 49 , 134 , 131 , 48 , 136 , 132 , 47 , & 138 , 132 , 47 , 140 , 133 , 46 , 142 , 133 , 46 , 143 , 134 , 45 , & 145 , 134 , 45 , 147 , 135 , 44 , 149 , 135 , 44 , 151 , 136 , 44 , & 153 , 136 , 44 , 155 , 137 , 43 , 157 , 137 , 43 , 159 , 137 , 43 , & 161 , 138 , 43 , 163 , 138 , 44 , 165 , 139 , 44 , 167 , 139 , 44 , & 169 , 140 , 44 , 171 , 140 , 45 , 173 , 140 , 45 , 175 , 141 , 46 , & 177 , 141 , 47 , 179 , 142 , 47 , 181 , 142 , 48 , 183 , 142 , 49 , & 185 , 143 , 50 , 187 , 143 , 51 , 189 , 143 , 52 , 190 , 144 , 53 , & 192 , 144 , 54 , 194 , 144 , 55 , 196 , 145 , 56 , 198 , 145 , 58 , & 200 , 145 , 59 , 202 , 146 , 60 , 203 , 146 , 62 , 205 , 146 , 63 , & 207 , 147 , 64 , 209 , 147 , 66 , 210 , 147 , 67 , 212 , 148 , 69 , & 214 , 148 , 70 , 216 , 148 , 72 , 217 , 149 , 74 , 219 , 149 , 75 , & 221 , 149 , 77 , 222 , 150 , 79 , 224 , 150 , 81 , 225 , 151 , 82 , & 227 , 151 , 84 , 228 , 151 , 86 , 230 , 152 , 88 , 231 , 152 , 90 , & 233 , 153 , 92 , 234 , 153 , 94 , 235 , 154 , 96 , 237 , 154 , 98 , & 238 , 155 , 100 , 239 , 155 , 103 , 240 , 156 , 105 , 241 , 157 , 107 , & 242 , 157 , 109 , 243 , 158 , 112 , 244 , 159 , 114 , 245 , 159 , 116 , & 246 , 160 , 119 , 247 , 161 , 121 , 248 , 161 , 123 , 248 , 162 , 126 , & 249 , 163 , 128 , 249 , 163 , 130 , 250 , 164 , 133 , 250 , 165 , 135 , & 251 , 166 , 137 , 251 , 166 , 140 , 252 , 167 , 142 , 252 , 168 , 144 , & 252 , 169 , 147 , 252 , 169 , 149 , 253 , 170 , 151 , 253 , 171 , 154 , & 253 , 172 , 156 , 253 , 172 , 158 , 253 , 173 , 160 , 253 , 174 , 162 , & 253 , 175 , 165 , 253 , 175 , 167 , 253 , 176 , 169 , 253 , 177 , 171 , & 253 , 178 , 173 , 253 , 178 , 175 , 253 , 179 , 177 , 253 , 180 , 180 , & 253 , 180 , 182 , 253 , 181 , 184 , 253 , 182 , 186 , 253 , 183 , 188 , & 253 , 183 , 190 , 253 , 184 , 192 , 253 , 185 , 194 , 253 , 186 , 196 , & 253 , 186 , 199 , 253 , 187 , 201 , 253 , 188 , 203 , 253 , 188 , 205 , & 252 , 189 , 207 , 252 , 190 , 209 , 252 , 191 , 211 , 252 , 191 , 214 , & 252 , 192 , 216 , 252 , 193 , 218 , 252 , 194 , 220 , 252 , 195 , 223 , & 252 , 195 , 225 , 252 , 196 , 227 , 252 , 197 , 229 , 251 , 198 , 232 , & 251 , 198 , 234 , 251 , 199 , 236 , 251 , 200 , 239 , 251 , 201 , 241 , & 251 , 202 , 243 , 251 , 202 , 246 , 250 , 203 , 248 , 250 , 204 , 250 & ], shape ( batlow ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: batlow10 = reshape ( [ & 1 , 25 , 89 , 16 , 63 , 96 , 28 , 90 , 98 , 60 , 109 , 86 , & 104 , 123 , 62 , 157 , 137 , 43 , 210 , 147 , 67 , 248 , 161 , 123 , & 253 , 183 , 188 , 250 , 204 , 250 & ], shape ( batlow10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlow100 = reshape ( [ & 1 , 25 , 89 , 4 , 30 , 90 , 6 , 33 , 91 , 8 , 37 , 91 , & 10 , 40 , 92 , 11 , 45 , 93 , 12 , 47 , 93 , 13 , 51 , 94 , & 14 , 55 , 94 , 15 , 57 , 95 , 16 , 61 , 95 , 16 , 63 , 96 , & 17 , 66 , 96 , 17 , 68 , 96 , 18 , 71 , 97 , 19 , 74 , 97 , & 20 , 76 , 98 , 21 , 79 , 98 , 22 , 80 , 98 , 23 , 83 , 98 , & 25 , 86 , 98 , 26 , 87 , 98 , 28 , 90 , 98 , 30 , 92 , 98 , & 32 , 94 , 97 , 34 , 96 , 97 , 37 , 98 , 96 , 40 , 100 , 95 , & 43 , 101 , 94 , 47 , 103 , 92 , 49 , 105 , 91 , 53 , 106 , 89 , & 56 , 108 , 88 , 60 , 109 , 86 , 65 , 111 , 83 , 68 , 112 , 82 , & 72 , 113 , 79 , 76 , 114 , 77 , 80 , 116 , 75 , 83 , 117 , 73 , & 88 , 118 , 70 , 93 , 120 , 68 , 96 , 121 , 66 , 101 , 122 , 63 , & 104 , 123 , 62 , 109 , 124 , 59 , 113 , 125 , 57 , 118 , 127 , 55 , & 123 , 128 , 52 , 127 , 129 , 51 , 132 , 131 , 49 , 136 , 132 , 47 , & 142 , 133 , 46 , 147 , 135 , 44 , 151 , 136 , 44 , 157 , 137 , 43 , & 161 , 138 , 43 , 167 , 139 , 44 , 171 , 140 , 45 , 177 , 141 , 47 , & 183 , 142 , 49 , 187 , 143 , 51 , 192 , 144 , 54 , 196 , 145 , 56 , & 202 , 146 , 60 , 205 , 146 , 63 , 210 , 147 , 67 , 216 , 148 , 72 , & 219 , 149 , 75 , 224 , 150 , 81 , 227 , 151 , 84 , 231 , 152 , 90 , & 234 , 153 , 94 , 238 , 155 , 100 , 241 , 157 , 107 , 243 , 158 , 112 , & 246 , 160 , 119 , 248 , 161 , 123 , 249 , 163 , 130 , 250 , 165 , 135 , & 252 , 167 , 142 , 252 , 169 , 149 , 253 , 171 , 154 , 253 , 173 , 160 , & 253 , 175 , 165 , 253 , 177 , 171 , 253 , 179 , 177 , 253 , 180 , 182 , & 253 , 183 , 188 , 253 , 184 , 192 , 253 , 186 , 199 , 253 , 188 , 203 , & 252 , 190 , 209 , 252 , 192 , 216 , 252 , 194 , 220 , 252 , 196 , 227 , & 251 , 198 , 232 , 251 , 200 , 239 , 251 , 202 , 243 , 250 , 204 , 250 & ], shape ( batlow100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: batlow25 = reshape ( [ & 1 , 25 , 89 , 10 , 42 , 92 , 14 , 55 , 94 , 17 , 67 , 96 , & 20 , 78 , 98 , 25 , 87 , 98 , 34 , 96 , 97 , 45 , 103 , 93 , & 60 , 109 , 86 , 77 , 115 , 77 , 93 , 120 , 68 , 111 , 125 , 58 , & 130 , 130 , 49 , 149 , 135 , 44 , 171 , 140 , 45 , 190 , 144 , 53 , & 210 , 147 , 67 , 228 , 151 , 86 , 241 , 157 , 107 , 250 , 164 , 133 , & 253 , 172 , 158 , 253 , 180 , 180 , 253 , 188 , 203 , 252 , 195 , 225 , & 250 , 204 , 250 & ], shape ( batlow25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: batlow50 = reshape ( [ & 1 , 25 , 89 , 6 , 33 , 91 , 10 , 40 , 92 , 13 , 49 , 93 , & 14 , 55 , 94 , 16 , 61 , 95 , 17 , 66 , 96 , 18 , 71 , 97 , & 20 , 77 , 98 , 22 , 81 , 98 , 25 , 86 , 98 , 28 , 90 , 98 , & 32 , 94 , 97 , 38 , 99 , 95 , 44 , 102 , 93 , 51 , 105 , 90 , & 58 , 108 , 87 , 65 , 111 , 83 , 74 , 114 , 78 , 82 , 116 , 74 , & 90 , 119 , 69 , 98 , 121 , 65 , 106 , 123 , 61 , 116 , 126 , 56 , & 125 , 129 , 52 , 134 , 131 , 48 , 143 , 134 , 45 , 155 , 137 , 43 , & 165 , 139 , 44 , 175 , 141 , 46 , 185 , 143 , 50 , 194 , 144 , 55 , & 205 , 146 , 63 , 214 , 148 , 70 , 222 , 150 , 79 , 230 , 152 , 88 , & 237 , 154 , 98 , 243 , 158 , 112 , 248 , 161 , 123 , 250 , 165 , 135 , & 252 , 169 , 147 , 253 , 172 , 158 , 253 , 177 , 171 , 253 , 180 , 182 , & 253 , 184 , 192 , 253 , 188 , 203 , 252 , 191 , 214 , 252 , 196 , 227 , & 251 , 200 , 239 , 250 , 204 , 250 & ], shape ( batlow50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: batlowK = reshape ( [ & 4 , 5 , 10 , 5 , 7 , 13 , 6 , 8 , 15 , 7 , 10 , 17 , & 9 , 12 , 19 , 10 , 13 , 21 , 11 , 15 , 23 , 12 , 16 , 25 , & 13 , 17 , 26 , 14 , 18 , 28 , 15 , 20 , 30 , 15 , 21 , 31 , & 16 , 22 , 33 , 16 , 23 , 35 , 17 , 24 , 37 , 17 , 26 , 39 , & 18 , 27 , 41 , 18 , 28 , 43 , 19 , 30 , 45 , 20 , 31 , 47 , & 20 , 32 , 49 , 21 , 34 , 51 , 21 , 35 , 53 , 22 , 37 , 55 , & 23 , 38 , 57 , 23 , 39 , 59 , 24 , 41 , 61 , 25 , 43 , 63 , & 26 , 44 , 65 , 26 , 46 , 67 , 27 , 47 , 69 , 28 , 49 , 70 , & 29 , 50 , 72 , 30 , 52 , 74 , 31 , 53 , 75 , 32 , 55 , 77 , & 33 , 56 , 79 , 34 , 58 , 80 , 35 , 59 , 81 , 36 , 61 , 83 , & 37 , 62 , 84 , 38 , 64 , 85 , 39 , 65 , 86 , 40 , 67 , 87 , & 41 , 68 , 88 , 42 , 69 , 89 , 43 , 71 , 90 , 44 , 72 , 91 , & 45 , 73 , 91 , 46 , 74 , 92 , 47 , 75 , 93 , 48 , 77 , 93 , & 49 , 78 , 94 , 50 , 79 , 94 , 51 , 80 , 94 , 52 , 81 , 95 , & 53 , 82 , 95 , 54 , 83 , 95 , 55 , 84 , 95 , 56 , 85 , 95 , & 57 , 85 , 95 , 58 , 86 , 95 , 59 , 87 , 95 , 60 , 88 , 95 , & 61 , 89 , 95 , 62 , 89 , 95 , 62 , 90 , 95 , 63 , 91 , 94 , & 64 , 92 , 94 , 65 , 92 , 94 , 66 , 93 , 94 , 67 , 93 , 93 , & 67 , 94 , 93 , 68 , 95 , 93 , 69 , 95 , 92 , 70 , 96 , 92 , & 71 , 97 , 92 , 72 , 97 , 91 , 73 , 98 , 91 , 73 , 98 , 90 , & 74 , 99 , 90 , 75 , 99 , 89 , 76 , 100 , 89 , 77 , 101 , 88 , & 78 , 101 , 88 , 79 , 102 , 87 , 80 , 102 , 87 , 81 , 103 , 86 , & 82 , 103 , 86 , 83 , 104 , 85 , 84 , 105 , 85 , 85 , 105 , 84 , & 86 , 106 , 83 , 87 , 106 , 83 , 88 , 107 , 82 , 89 , 108 , 81 , & 90 , 108 , 81 , 91 , 109 , 80 , 92 , 110 , 79 , 94 , 110 , 79 , & 95 , 111 , 78 , 96 , 112 , 77 , 97 , 112 , 77 , 98 , 113 , 76 , & 99 , 114 , 75 , 101 , 114 , 75 , 102 , 115 , 74 , 103 , 116 , 73 , & 105 , 116 , 73 , 106 , 117 , 72 , 107 , 118 , 71 , 108 , 118 , 71 , & 110 , 119 , 70 , 111 , 120 , 69 , 113 , 120 , 69 , 114 , 121 , 68 , & 115 , 122 , 67 , 117 , 123 , 67 , 118 , 123 , 66 , 120 , 124 , 65 , & 121 , 125 , 65 , 123 , 126 , 64 , 125 , 126 , 63 , 126 , 127 , 63 , & 128 , 128 , 62 , 129 , 129 , 62 , 131 , 129 , 61 , 133 , 130 , 61 , & 134 , 131 , 60 , 136 , 132 , 60 , 138 , 133 , 59 , 140 , 133 , 59 , & 142 , 134 , 58 , 143 , 135 , 58 , 145 , 136 , 58 , 147 , 136 , 57 , & 149 , 137 , 57 , 151 , 138 , 57 , 153 , 139 , 56 , 155 , 139 , 56 , & 157 , 140 , 56 , 159 , 141 , 56 , 161 , 142 , 56 , 163 , 142 , 56 , & 165 , 143 , 56 , 167 , 144 , 56 , 169 , 145 , 57 , 171 , 145 , 57 , & 173 , 146 , 57 , 175 , 147 , 58 , 177 , 147 , 58 , 179 , 148 , 59 , & 181 , 149 , 59 , 183 , 149 , 60 , 186 , 150 , 61 , 188 , 150 , 61 , & 190 , 151 , 62 , 192 , 152 , 63 , 194 , 152 , 64 , 196 , 153 , 65 , & 198 , 153 , 66 , 200 , 154 , 67 , 201 , 154 , 69 , 203 , 155 , 70 , & 205 , 155 , 71 , 207 , 156 , 73 , 209 , 156 , 74 , 211 , 157 , 76 , & 212 , 157 , 77 , 214 , 157 , 79 , 216 , 158 , 80 , 217 , 158 , 82 , & 219 , 159 , 84 , 220 , 159 , 85 , 222 , 160 , 87 , 223 , 160 , 89 , & 225 , 160 , 91 , 226 , 161 , 93 , 228 , 161 , 95 , 229 , 161 , 96 , & 230 , 162 , 98 , 231 , 162 , 100 , 232 , 163 , 102 , 234 , 163 , 104 , & 235 , 163 , 106 , 236 , 164 , 108 , 237 , 164 , 110 , 238 , 165 , 112 , & 239 , 165 , 114 , 240 , 165 , 116 , 240 , 166 , 118 , 241 , 166 , 120 , & 242 , 167 , 122 , 243 , 167 , 124 , 243 , 167 , 126 , 244 , 168 , 128 , & 245 , 168 , 130 , 245 , 169 , 132 , 246 , 169 , 134 , 246 , 170 , 136 , & 247 , 170 , 139 , 247 , 171 , 141 , 248 , 171 , 143 , 248 , 172 , 145 , & 249 , 172 , 146 , 249 , 173 , 148 , 250 , 173 , 150 , 250 , 174 , 152 , & 250 , 174 , 154 , 251 , 175 , 156 , 251 , 175 , 158 , 251 , 176 , 160 , & 251 , 176 , 162 , 252 , 177 , 164 , 252 , 177 , 166 , 252 , 178 , 168 , & 252 , 178 , 170 , 252 , 179 , 172 , 252 , 179 , 174 , 253 , 180 , 176 , & 253 , 181 , 178 , 253 , 181 , 180 , 253 , 182 , 182 , 253 , 182 , 183 , & 253 , 183 , 185 , 253 , 183 , 187 , 253 , 184 , 189 , 253 , 185 , 191 , & 253 , 185 , 193 , 253 , 186 , 195 , 253 , 187 , 197 , 253 , 187 , 199 , & 253 , 188 , 201 , 253 , 188 , 203 , 253 , 189 , 205 , 253 , 190 , 207 , & 253 , 190 , 209 , 253 , 191 , 211 , 253 , 192 , 214 , 253 , 193 , 216 , & 253 , 193 , 218 , 253 , 194 , 220 , 253 , 195 , 222 , 253 , 195 , 224 , & 252 , 196 , 226 , 252 , 197 , 228 , 252 , 198 , 231 , 252 , 198 , 233 , & 252 , 199 , 235 , 252 , 200 , 237 , 251 , 200 , 239 , 251 , 201 , 241 , & 251 , 202 , 244 , 251 , 203 , 246 , 251 , 203 , 248 , 250 , 204 , 250 & ], shape ( batlowK ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: batlowK10 = reshape ( [ & 4 , 5 , 10 , 26 , 44 , 65 , 54 , 83 , 95 , 79 , 102 , 87 , & 111 , 120 , 69 , 161 , 142 , 56 , 216 , 158 , 80 , 246 , 169 , 134 , & 253 , 185 , 191 , 250 , 204 , 250 & ], shape ( batlowK10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowK100 = reshape ( [ & 4 , 5 , 10 , 7 , 10 , 17 , 10 , 13 , 21 , 13 , 17 , 26 , & 15 , 20 , 30 , 16 , 23 , 35 , 17 , 26 , 39 , 19 , 30 , 45 , & 21 , 34 , 51 , 22 , 37 , 55 , 24 , 41 , 61 , 26 , 44 , 65 , & 28 , 49 , 70 , 30 , 52 , 74 , 33 , 56 , 79 , 36 , 61 , 83 , & 38 , 64 , 85 , 41 , 68 , 88 , 43 , 71 , 90 , 46 , 74 , 92 , & 49 , 78 , 94 , 51 , 80 , 94 , 54 , 83 , 95 , 56 , 85 , 95 , & 59 , 87 , 95 , 61 , 89 , 95 , 63 , 91 , 94 , 66 , 93 , 94 , & 67 , 94 , 93 , 70 , 96 , 92 , 72 , 97 , 91 , 74 , 99 , 90 , & 76 , 100 , 89 , 79 , 102 , 87 , 82 , 103 , 86 , 84 , 105 , 85 , & 87 , 106 , 83 , 89 , 108 , 81 , 92 , 110 , 79 , 95 , 111 , 78 , & 98 , 113 , 76 , 102 , 115 , 74 , 105 , 116 , 73 , 108 , 118 , 71 , & 111 , 120 , 69 , 115 , 122 , 67 , 118 , 123 , 66 , 123 , 126 , 64 , & 128 , 128 , 62 , 131 , 129 , 61 , 136 , 132 , 60 , 140 , 133 , 59 , & 145 , 136 , 58 , 151 , 138 , 57 , 155 , 139 , 56 , 161 , 142 , 56 , & 165 , 143 , 56 , 171 , 145 , 57 , 175 , 147 , 58 , 181 , 149 , 59 , & 188 , 150 , 61 , 192 , 152 , 63 , 198 , 153 , 66 , 201 , 154 , 69 , & 207 , 156 , 73 , 211 , 157 , 76 , 216 , 158 , 80 , 220 , 159 , 85 , & 223 , 160 , 89 , 228 , 161 , 95 , 230 , 162 , 98 , 234 , 163 , 104 , & 236 , 164 , 108 , 239 , 165 , 114 , 241 , 166 , 120 , 243 , 167 , 124 , & 245 , 168 , 130 , 246 , 169 , 134 , 247 , 171 , 141 , 248 , 172 , 145 , & 250 , 173 , 150 , 251 , 175 , 156 , 251 , 176 , 160 , 252 , 177 , 166 , & 252 , 178 , 170 , 253 , 180 , 176 , 253 , 182 , 182 , 253 , 183 , 185 , & 253 , 185 , 191 , 253 , 186 , 195 , 253 , 188 , 201 , 253 , 189 , 205 , & 253 , 191 , 211 , 253 , 193 , 218 , 253 , 195 , 222 , 252 , 197 , 228 , & 252 , 198 , 233 , 251 , 200 , 239 , 251 , 202 , 244 , 250 , 204 , 250 & ], shape ( batlowK100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: batlowK25 = reshape ( [ & 4 , 5 , 10 , 15 , 21 , 31 , 21 , 34 , 51 , 29 , 50 , 72 , & 40 , 67 , 87 , 50 , 79 , 94 , 61 , 89 , 95 , 69 , 95 , 92 , & 79 , 102 , 87 , 90 , 108 , 81 , 102 , 115 , 74 , 117 , 123 , 67 , & 134 , 131 , 60 , 153 , 139 , 56 , 175 , 147 , 58 , 196 , 153 , 65 , & 216 , 158 , 80 , 231 , 162 , 100 , 241 , 166 , 120 , 248 , 171 , 143 , & 252 , 177 , 164 , 253 , 182 , 183 , 253 , 189 , 205 , 252 , 196 , 226 , & 250 , 204 , 250 & ], shape ( batlowK25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: batlowK50 = reshape ( [ & 4 , 5 , 10 , 10 , 13 , 21 , 15 , 20 , 30 , 18 , 27 , 41 , & 21 , 34 , 51 , 24 , 41 , 61 , 28 , 49 , 70 , 33 , 56 , 79 , & 39 , 65 , 86 , 44 , 72 , 91 , 49 , 78 , 94 , 54 , 83 , 95 , & 59 , 87 , 95 , 64 , 92 , 94 , 68 , 95 , 93 , 73 , 98 , 91 , & 77 , 101 , 88 , 82 , 103 , 86 , 88 , 107 , 82 , 94 , 110 , 79 , & 99 , 114 , 75 , 106 , 117 , 72 , 113 , 120 , 69 , 121 , 125 , 65 , & 129 , 129 , 62 , 138 , 133 , 59 , 147 , 136 , 57 , 159 , 141 , 56 , & 169 , 145 , 57 , 179 , 148 , 59 , 190 , 151 , 62 , 200 , 154 , 67 , & 211 , 157 , 76 , 219 , 159 , 84 , 226 , 161 , 93 , 232 , 163 , 102 , & 238 , 165 , 112 , 243 , 167 , 124 , 246 , 169 , 134 , 248 , 172 , 145 , & 250 , 174 , 154 , 252 , 177 , 164 , 253 , 180 , 176 , 253 , 183 , 185 , & 253 , 186 , 195 , 253 , 189 , 205 , 253 , 193 , 216 , 252 , 197 , 228 , & 251 , 200 , 239 , 250 , 204 , 250 & ], shape ( batlowK50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowKS = reshape ( [ & 4 , 5 , 10 , 253 , 192 , 214 , 120 , 124 , 65 , 57 , 85 , 95 , & 229 , 161 , 96 , 27 , 47 , 69 , 175 , 147 , 58 , 84 , 105 , 85 , & 250 , 174 , 154 , 17 , 26 , 39 , 145 , 136 , 58 , 205 , 155 , 71 , & 70 , 96 , 92 , 253 , 182 , 183 , 42 , 69 , 89 , 101 , 114 , 75 , & 243 , 167 , 126 , 50 , 79 , 94 , 253 , 187 , 199 , 252 , 178 , 168 , & 247 , 171 , 141 , 13 , 17 , 26 , 63 , 91 , 94 , 110 , 119 , 70 , & 133 , 130 , 61 , 92 , 110 , 79 , 190 , 151 , 62 , 159 , 141 , 56 , & 219 , 159 , 84 , 77 , 101 , 88 , 35 , 59 , 81 , 21 , 35 , 53 , & 238 , 165 , 112 , 212 , 157 , 77 , 31 , 53 , 75 , 253 , 180 , 176 , & 24 , 41 , 61 , 198 , 153 , 66 , 9 , 12 , 19 , 167 , 144 , 56 , & 46 , 74 , 92 , 253 , 185 , 191 , 67 , 93 , 93 , 73 , 98 , 90 , & 234 , 163 , 104 , 126 , 127 , 63 , 88 , 107 , 82 , 115 , 122 , 67 , & 183 , 149 , 60 , 96 , 112 , 77 , 16 , 22 , 33 , 225 , 160 , 91 , & 54 , 83 , 95 , 241 , 166 , 120 , 105 , 116 , 73 , 249 , 173 , 148 , & 251 , 176 , 162 , 245 , 169 , 132 , 140 , 133 , 59 , 61 , 89 , 95 , & 151 , 138 , 57 , 19 , 30 , 45 , 80 , 102 , 87 , 39 , 65 , 86 , & 253 , 189 , 205 , 216 , 158 , 80 , 251 , 175 , 158 , 222 , 160 , 87 , & 11 , 15 , 23 , 129 , 129 , 62 , 155 , 139 , 56 , 48 , 77 , 93 , & 82 , 103 , 86 , 240 , 165 , 116 , 65 , 92 , 94 , 107 , 118 , 71 , & 236 , 164 , 108 , 90 , 108 , 81 , 248 , 172 , 145 , 179 , 148 , 59 , & 20 , 32 , 49 , 253 , 190 , 209 , 123 , 126 , 64 , 33 , 56 , 79 , & 23 , 38 , 57 , 15 , 20 , 30 , 6 , 8 , 15 , 75 , 99 , 89 , & 163 , 142 , 56 , 252 , 179 , 172 , 194 , 152 , 64 , 136 , 132 , 60 , & 52 , 81 , 95 , 59 , 87 , 95 , 209 , 156 , 74 , 72 , 97 , 91 , & 113 , 120 , 69 , 29 , 50 , 72 , 98 , 113 , 76 , 253 , 186 , 195 & ], shape ( batlowKS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowS = reshape ( [ & 1 , 25 , 89 , 250 , 204 , 250 , 130 , 130 , 49 , 34 , 96 , 97 , & 241 , 157 , 107 , 17 , 67 , 96 , 253 , 180 , 180 , 77 , 115 , 77 , & 192 , 144 , 54 , 103 , 123 , 62 , 252 , 191 , 214 , 161 , 138 , 43 , & 252 , 168 , 144 , 53 , 106 , 89 , 13 , 49 , 93 , 23 , 82 , 98 , & 219 , 149 , 75 , 248 , 162 , 126 , 43 , 101 , 94 , 145 , 134 , 45 , & 90 , 119 , 69 , 27 , 89 , 98 , 253 , 186 , 196 , 177 , 141 , 47 , & 8 , 37 , 91 , 19 , 75 , 97 , 65 , 111 , 83 , 231 , 152 , 90 , & 15 , 59 , 95 , 251 , 198 , 232 , 253 , 174 , 162 , 116 , 126 , 56 , & 207 , 147 , 64 , 169 , 140 , 44 , 252 , 195 , 223 , 48 , 104 , 92 , & 253 , 183 , 188 , 5 , 31 , 90 , 109 , 124 , 59 , 18 , 71 , 97 , & 59 , 109 , 86 , 21 , 79 , 98 , 200 , 145 , 59 , 225 , 151 , 82 , & 71 , 113 , 80 , 14 , 54 , 94 , 11 , 43 , 92 , 16 , 63 , 96 , & 30 , 93 , 98 , 25 , 86 , 98 , 251 , 201 , 241 , 250 , 165 , 135 , & 253 , 171 , 154 , 38 , 99 , 95 , 96 , 121 , 66 , 138 , 132 , 47 , & 253 , 188 , 205 , 253 , 177 , 171 , 245 , 159 , 116 , 123 , 128 , 52 , & 153 , 136 , 44 , 237 , 154 , 98 , 83 , 117 , 73 , 185 , 143 , 50 , & 212 , 148 , 69 , 249 , 163 , 130 , 253 , 178 , 175 , 243 , 158 , 112 , & 93 , 120 , 68 , 56 , 108 , 88 , 12 , 46 , 93 , 252 , 169 , 149 , & 16 , 61 , 95 , 3 , 28 , 90 , 40 , 100 , 95 , 252 , 193 , 218 , & 203 , 146 , 62 , 80 , 116 , 75 , 253 , 175 , 167 , 196 , 145 , 56 , & 165 , 139 , 44 , 99 , 122 , 64 , 251 , 199 , 236 , 251 , 166 , 140 , & 7 , 34 , 91 , 20 , 77 , 98 , 120 , 127 , 54 , 149 , 135 , 44 , & 36 , 97 , 96 , 106 , 123 , 61 , 74 , 114 , 78 , 19 , 73 , 97 , & 252 , 196 , 227 , 62 , 110 , 85 , 253 , 172 , 158 , 13 , 51 , 94 , & 113 , 125 , 57 , 17 , 65 , 96 , 51 , 105 , 90 , 252 , 190 , 209 & ], shape ( batlowS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: batlowW = reshape ( [ & 1 , 25 , 89 , 2 , 27 , 89 , 3 , 28 , 90 , 4 , 30 , 90 , & 5 , 31 , 90 , 6 , 33 , 91 , 7 , 34 , 91 , 7 , 36 , 91 , & 8 , 37 , 91 , 9 , 39 , 92 , 10 , 40 , 92 , 10 , 42 , 92 , & 11 , 43 , 92 , 11 , 45 , 93 , 12 , 46 , 93 , 12 , 47 , 93 , & 13 , 49 , 93 , 13 , 50 , 94 , 13 , 51 , 94 , 14 , 53 , 94 , & 14 , 54 , 94 , 14 , 55 , 94 , 15 , 56 , 95 , 15 , 58 , 95 , & 15 , 59 , 95 , 15 , 60 , 95 , 16 , 61 , 95 , 16 , 62 , 95 , & 16 , 63 , 96 , 16 , 64 , 96 , 16 , 65 , 96 , 17 , 66 , 96 , & 17 , 67 , 96 , 17 , 68 , 96 , 17 , 69 , 97 , 18 , 70 , 97 , & 18 , 71 , 97 , 18 , 71 , 97 , 18 , 72 , 97 , 19 , 73 , 97 , & 19 , 74 , 97 , 19 , 75 , 97 , 20 , 76 , 98 , 20 , 77 , 98 , & 20 , 78 , 98 , 21 , 79 , 98 , 21 , 80 , 98 , 22 , 80 , 98 , & 22 , 81 , 98 , 22 , 82 , 98 , 23 , 83 , 98 , 23 , 84 , 98 , & 24 , 85 , 98 , 24 , 86 , 98 , 25 , 87 , 98 , 26 , 88 , 98 , & 26 , 88 , 98 , 27 , 89 , 98 , 28 , 90 , 98 , 28 , 91 , 98 , & 29 , 92 , 98 , 30 , 93 , 98 , 31 , 93 , 98 , 31 , 94 , 98 , & 32 , 95 , 97 , 33 , 96 , 97 , 34 , 97 , 97 , 35 , 97 , 97 , & 36 , 98 , 97 , 37 , 99 , 96 , 38 , 100 , 96 , 39 , 100 , 96 , & 40 , 101 , 95 , 42 , 102 , 95 , 43 , 103 , 94 , 44 , 103 , 94 , & 45 , 104 , 94 , 46 , 105 , 93 , 48 , 105 , 93 , 49 , 106 , 92 , & 50 , 107 , 92 , 52 , 107 , 91 , 53 , 108 , 90 , 54 , 108 , 90 , & 56 , 109 , 89 , 57 , 110 , 89 , 58 , 110 , 88 , 60 , 111 , 87 , & 61 , 112 , 86 , 63 , 112 , 86 , 64 , 113 , 85 , 66 , 113 , 84 , & 67 , 114 , 84 , 69 , 115 , 83 , 70 , 115 , 82 , 72 , 116 , 81 , & 73 , 116 , 81 , 75 , 117 , 80 , 76 , 117 , 79 , 78 , 118 , 78 , & 79 , 119 , 77 , 81 , 119 , 77 , 83 , 120 , 76 , 84 , 120 , 75 , & 86 , 121 , 74 , 87 , 122 , 73 , 89 , 122 , 73 , 91 , 123 , 72 , & 92 , 123 , 71 , 94 , 124 , 70 , 95 , 124 , 69 , 97 , 125 , 69 , & 99 , 126 , 68 , 100 , 126 , 67 , 102 , 127 , 66 , 104 , 127 , 65 , & 105 , 128 , 64 , 107 , 129 , 64 , 109 , 129 , 63 , 110 , 130 , 62 , & 112 , 130 , 61 , 114 , 131 , 61 , 116 , 132 , 60 , 117 , 132 , 59 , & 119 , 133 , 58 , 121 , 133 , 57 , 123 , 134 , 57 , 124 , 135 , 56 , & 126 , 135 , 55 , 128 , 136 , 55 , 130 , 137 , 54 , 132 , 137 , 53 , & 134 , 138 , 53 , 136 , 139 , 52 , 138 , 139 , 52 , 140 , 140 , 51 , & 142 , 141 , 51 , 144 , 141 , 51 , 146 , 142 , 50 , 148 , 143 , 50 , & 150 , 143 , 50 , 152 , 144 , 50 , 154 , 145 , 50 , 156 , 146 , 50 , & 158 , 146 , 51 , 160 , 147 , 51 , 162 , 148 , 51 , 164 , 148 , 52 , & 167 , 149 , 53 , 169 , 150 , 54 , 171 , 151 , 55 , 173 , 151 , 56 , & 175 , 152 , 57 , 177 , 153 , 58 , 179 , 153 , 59 , 181 , 154 , 61 , & 183 , 155 , 63 , 186 , 155 , 64 , 187 , 156 , 66 , 189 , 157 , 68 , & 191 , 157 , 70 , 193 , 158 , 72 , 195 , 159 , 74 , 197 , 159 , 76 , & 198 , 160 , 78 , 200 , 160 , 80 , 202 , 161 , 82 , 203 , 161 , 84 , & 205 , 162 , 86 , 206 , 162 , 88 , 208 , 163 , 90 , 209 , 163 , 92 , & 211 , 164 , 94 , 212 , 164 , 96 , 213 , 165 , 98 , 215 , 165 , 100 , & 216 , 165 , 102 , 217 , 166 , 105 , 218 , 166 , 107 , 219 , 167 , 109 , & 220 , 167 , 111 , 221 , 167 , 112 , 223 , 168 , 114 , 224 , 168 , 116 , & 225 , 169 , 118 , 226 , 169 , 120 , 227 , 169 , 122 , 228 , 170 , 124 , & 229 , 170 , 126 , 229 , 171 , 128 , 230 , 171 , 130 , 231 , 171 , 132 , & 232 , 172 , 134 , 233 , 172 , 136 , 234 , 173 , 137 , 235 , 173 , 139 , & 236 , 174 , 141 , 237 , 175 , 143 , 238 , 175 , 145 , 238 , 176 , 148 , & 239 , 177 , 150 , 240 , 177 , 152 , 241 , 178 , 154 , 242 , 179 , 156 , & 243 , 180 , 158 , 243 , 181 , 161 , 244 , 182 , 163 , 245 , 183 , 166 , & 246 , 185 , 168 , 247 , 186 , 170 , 247 , 187 , 173 , 248 , 189 , 175 , & 249 , 190 , 178 , 249 , 192 , 181 , 250 , 193 , 183 , 250 , 195 , 186 , & 251 , 197 , 188 , 252 , 198 , 191 , 252 , 200 , 193 , 252 , 202 , 196 , & 253 , 204 , 198 , 253 , 205 , 201 , 253 , 207 , 203 , 254 , 209 , 205 , & 254 , 211 , 207 , 254 , 213 , 210 , 254 , 214 , 212 , 254 , 216 , 214 , & 255 , 218 , 216 , 255 , 219 , 218 , 255 , 221 , 219 , 255 , 223 , 221 , & 255 , 224 , 223 , 255 , 226 , 225 , 255 , 227 , 226 , 255 , 229 , 228 , & 255 , 230 , 230 , 255 , 232 , 231 , 255 , 233 , 233 , 255 , 234 , 234 , & 255 , 236 , 235 , 255 , 237 , 237 , 255 , 239 , 238 , 255 , 240 , 240 , & 255 , 241 , 241 , 255 , 242 , 242 , 255 , 244 , 243 , 255 , 245 , 245 , & 255 , 246 , 246 , 255 , 247 , 247 , 255 , 248 , 248 , 255 , 250 , 249 , & 255 , 251 , 251 , 255 , 252 , 252 , 255 , 253 , 253 , 255 , 254 , 254 & ], shape ( batlowW ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: batlowW10 = reshape ( [ & 1 , 25 , 89 , 16 , 63 , 96 , 27 , 89 , 98 , 57 , 110 , 89 , & 100 , 126 , 67 , 154 , 145 , 50 , 208 , 163 , 90 , 238 , 175 , 145 , & 254 , 216 , 214 , 255 , 254 , 254 & ], shape ( batlowW10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowW100 = reshape ( [ & 1 , 25 , 89 , 4 , 30 , 90 , 6 , 33 , 91 , 8 , 37 , 91 , & 10 , 40 , 92 , 11 , 45 , 93 , 12 , 47 , 93 , 13 , 51 , 94 , & 14 , 55 , 94 , 15 , 58 , 95 , 16 , 61 , 95 , 16 , 63 , 96 , & 17 , 66 , 96 , 17 , 68 , 96 , 18 , 71 , 97 , 19 , 73 , 97 , & 19 , 75 , 97 , 20 , 78 , 98 , 21 , 80 , 98 , 22 , 82 , 98 , & 24 , 85 , 98 , 25 , 87 , 98 , 27 , 89 , 98 , 28 , 91 , 98 , & 31 , 93 , 98 , 32 , 95 , 97 , 35 , 97 , 97 , 38 , 100 , 96 , & 40 , 101 , 95 , 44 , 103 , 94 , 46 , 105 , 93 , 50 , 107 , 92 , & 53 , 108 , 90 , 57 , 110 , 89 , 61 , 112 , 86 , 64 , 113 , 85 , & 69 , 115 , 83 , 72 , 116 , 81 , 76 , 117 , 79 , 79 , 119 , 77 , & 84 , 120 , 75 , 89 , 122 , 73 , 92 , 123 , 71 , 97 , 125 , 69 , & 100 , 126 , 67 , 105 , 128 , 64 , 109 , 129 , 63 , 114 , 131 , 61 , & 119 , 133 , 58 , 123 , 134 , 57 , 128 , 136 , 55 , 132 , 137 , 53 , & 138 , 139 , 52 , 144 , 141 , 51 , 148 , 143 , 50 , 154 , 145 , 50 , & 158 , 146 , 51 , 164 , 148 , 52 , 169 , 150 , 54 , 175 , 152 , 57 , & 181 , 154 , 61 , 186 , 155 , 64 , 191 , 157 , 70 , 195 , 159 , 74 , & 200 , 160 , 80 , 203 , 161 , 84 , 208 , 163 , 90 , 212 , 164 , 96 , & 215 , 165 , 100 , 218 , 166 , 107 , 220 , 167 , 111 , 224 , 168 , 116 , & 226 , 169 , 120 , 229 , 170 , 126 , 231 , 171 , 132 , 233 , 172 , 136 , & 236 , 174 , 141 , 238 , 175 , 145 , 240 , 177 , 152 , 242 , 179 , 156 , & 244 , 182 , 163 , 247 , 186 , 170 , 248 , 189 , 175 , 250 , 193 , 183 , & 251 , 197 , 188 , 252 , 202 , 196 , 253 , 207 , 203 , 254 , 211 , 207 , & 254 , 216 , 214 , 255 , 219 , 218 , 255 , 224 , 223 , 255 , 227 , 226 , & 255 , 232 , 231 , 255 , 236 , 235 , 255 , 239 , 238 , 255 , 242 , 242 , & 255 , 245 , 245 , 255 , 248 , 248 , 255 , 251 , 251 , 255 , 254 , 254 & ], shape ( batlowW100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: batlowW25 = reshape ( [ & 1 , 25 , 89 , 10 , 42 , 92 , 14 , 55 , 94 , 17 , 67 , 96 , & 20 , 77 , 98 , 24 , 86 , 98 , 32 , 95 , 97 , 43 , 103 , 94 , & 57 , 110 , 89 , 73 , 116 , 81 , 89 , 122 , 73 , 107 , 129 , 64 , & 126 , 135 , 55 , 146 , 142 , 50 , 169 , 150 , 54 , 189 , 157 , 68 , & 208 , 163 , 90 , 221 , 167 , 112 , 231 , 171 , 132 , 241 , 178 , 154 , & 249 , 192 , 181 , 254 , 209 , 205 , 255 , 227 , 226 , 255 , 241 , 241 , & 255 , 254 , 254 & ], shape ( batlowW25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: batlowW50 = reshape ( [ & 1 , 25 , 89 , 6 , 33 , 91 , 10 , 40 , 92 , 13 , 49 , 93 , & 14 , 55 , 94 , 16 , 61 , 95 , 17 , 66 , 96 , 18 , 71 , 97 , & 20 , 76 , 98 , 22 , 80 , 98 , 24 , 85 , 98 , 27 , 89 , 98 , & 31 , 93 , 98 , 36 , 98 , 97 , 42 , 102 , 95 , 48 , 105 , 93 , & 54 , 108 , 90 , 61 , 112 , 86 , 70 , 115 , 82 , 78 , 118 , 78 , & 86 , 121 , 74 , 94 , 124 , 70 , 102 , 127 , 66 , 112 , 130 , 61 , & 121 , 133 , 57 , 130 , 137 , 54 , 140 , 140 , 51 , 152 , 144 , 50 , & 162 , 148 , 51 , 173 , 151 , 56 , 183 , 155 , 63 , 193 , 158 , 72 , & 203 , 161 , 84 , 211 , 164 , 94 , 217 , 166 , 105 , 223 , 168 , 114 , & 228 , 170 , 124 , 233 , 172 , 136 , 238 , 175 , 145 , 242 , 179 , 156 , & 246 , 185 , 168 , 249 , 192 , 181 , 252 , 202 , 196 , 254 , 211 , 207 , & 255 , 219 , 218 , 255 , 227 , 226 , 255 , 234 , 234 , 255 , 242 , 242 , & 255 , 248 , 248 , 255 , 254 , 254 & ], shape ( batlowW50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowWS = reshape ( [ & 255 , 254 , 254 , 1 , 25 , 89 , 124 , 135 , 56 , 231 , 171 , 132 , & 32 , 95 , 97 , 189 , 157 , 68 , 254 , 209 , 205 , 17 , 67 , 96 , & 73 , 116 , 81 , 13 , 49 , 93 , 156 , 146 , 50 , 50 , 107 , 92 , & 22 , 81 , 98 , 245 , 183 , 166 , 255 , 234 , 234 , 215 , 165 , 100 , & 99 , 126 , 68 , 19 , 74 , 97 , 173 , 151 , 56 , 203 , 161 , 84 , & 8 , 37 , 91 , 255 , 245 , 245 , 224 , 168 , 116 , 86 , 121 , 74 , & 61 , 112 , 86 , 255 , 223 , 221 , 250 , 195 , 186 , 26 , 88 , 98 , & 238 , 176 , 148 , 140 , 140 , 51 , 15 , 59 , 95 , 40 , 101 , 95 , & 110 , 130 , 62 , 255 , 229 , 228 , 45 , 104 , 94 , 148 , 143 , 50 , & 132 , 137 , 53 , 219 , 167 , 109 , 209 , 163 , 92 , 14 , 54 , 94 , & 164 , 148 , 52 , 24 , 85 , 98 , 248 , 189 , 175 , 255 , 240 , 240 , & 235 , 173 , 139 , 67 , 114 , 84 , 36 , 98 , 97 , 11 , 43 , 92 , & 255 , 250 , 249 , 242 , 179 , 156 , 92 , 123 , 71 , 181 , 154 , 61 , & 252 , 202 , 196 , 18 , 71 , 97 , 117 , 132 , 59 , 29 , 92 , 98 , & 56 , 109 , 89 , 254 , 216 , 214 , 20 , 78 , 98 , 197 , 159 , 76 , & 79 , 119 , 77 , 16 , 63 , 96 , 5 , 31 , 90 , 228 , 170 , 124 , & 104 , 127 , 65 , 21 , 80 , 98 , 53 , 108 , 90 , 89 , 122 , 73 , & 193 , 158 , 72 , 255 , 237 , 237 , 3 , 28 , 90 , 64 , 113 , 85 , & 240 , 177 , 152 , 255 , 219 , 218 , 229 , 171 , 128 , 16 , 61 , 95 , & 237 , 175 , 143 , 136 , 139 , 52 , 15 , 56 , 95 , 247 , 186 , 170 , & 152 , 144 , 50 , 70 , 115 , 82 , 83 , 120 , 76 , 48 , 105 , 93 , & 226 , 169 , 120 , 169 , 150 , 54 , 23 , 83 , 98 , 12 , 46 , 93 , & 160 , 147 , 51 , 221 , 167 , 112 , 177 , 153 , 58 , 217 , 166 , 105 , & 243 , 181 , 161 , 255 , 226 , 225 , 253 , 205 , 201 , 107 , 129 , 64 , & 255 , 242 , 242 , 13 , 51 , 94 , 252 , 198 , 191 , 249 , 192 , 181 & ], shape ( batlowWS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: berlin = reshape ( [ & 158 , 176 , 255 , 156 , 176 , 254 , 154 , 176 , 253 , 152 , 175 , 252 , & 149 , 175 , 251 , 147 , 175 , 250 , 145 , 174 , 249 , 142 , 174 , 247 , & 140 , 174 , 246 , 138 , 174 , 245 , 135 , 173 , 244 , 133 , 173 , 243 , & 130 , 173 , 242 , 128 , 172 , 241 , 126 , 172 , 240 , 123 , 172 , 238 , & 121 , 171 , 237 , 118 , 171 , 236 , 116 , 170 , 235 , 113 , 170 , 233 , & 111 , 169 , 232 , 108 , 169 , 230 , 106 , 168 , 229 , 103 , 168 , 227 , & 101 , 167 , 226 , 98 , 166 , 224 , 96 , 165 , 223 , 93 , 165 , 221 , & 91 , 164 , 219 , 88 , 163 , 217 , 86 , 162 , 215 , 84 , 160 , 213 , & 81 , 159 , 211 , 79 , 158 , 209 , 77 , 157 , 207 , 75 , 155 , 205 , & 72 , 154 , 202 , 70 , 152 , 200 , 68 , 151 , 198 , 67 , 149 , 195 , & 65 , 148 , 193 , 63 , 146 , 190 , 62 , 144 , 188 , 60 , 142 , 185 , & 59 , 141 , 183 , 57 , 139 , 180 , 56 , 137 , 178 , 55 , 135 , 175 , & 54 , 133 , 173 , 53 , 132 , 170 , 51 , 130 , 168 , 50 , 128 , 166 , & 50 , 126 , 163 , 49 , 124 , 161 , 48 , 122 , 158 , 47 , 120 , 156 , & 46 , 118 , 153 , 45 , 117 , 151 , 44 , 115 , 148 , 44 , 113 , 146 , & 43 , 111 , 143 , 42 , 109 , 141 , 41 , 107 , 139 , 41 , 105 , 136 , & 40 , 104 , 134 , 39 , 102 , 131 , 39 , 100 , 129 , 38 , 98 , 127 , & 37 , 96 , 124 , 36 , 94 , 122 , 36 , 93 , 120 , 35 , 91 , 117 , & 34 , 89 , 115 , 34 , 87 , 113 , 33 , 85 , 110 , 32 , 84 , 108 , & 32 , 82 , 106 , 31 , 80 , 104 , 30 , 78 , 101 , 30 , 77 , 99 , & 29 , 75 , 97 , 28 , 73 , 95 , 28 , 71 , 92 , 27 , 70 , 90 , & 26 , 68 , 88 , 26 , 66 , 86 , 25 , 65 , 83 , 25 , 63 , 81 , & 24 , 61 , 79 , 23 , 60 , 77 , 23 , 58 , 75 , 22 , 56 , 73 , & 22 , 55 , 71 , 21 , 53 , 68 , 21 , 51 , 66 , 20 , 50 , 64 , & 20 , 48 , 62 , 19 , 47 , 60 , 19 , 45 , 58 , 18 , 44 , 56 , & 18 , 42 , 54 , 18 , 41 , 52 , 17 , 39 , 50 , 17 , 38 , 48 , & 17 , 36 , 46 , 17 , 35 , 44 , 17 , 33 , 42 , 17 , 32 , 40 , & 16 , 31 , 38 , 16 , 29 , 37 , 16 , 28 , 35 , 17 , 27 , 33 , & 17 , 26 , 32 , 17 , 25 , 30 , 17 , 24 , 28 , 17 , 22 , 27 , & 17 , 21 , 25 , 17 , 20 , 24 , 17 , 19 , 23 , 18 , 18 , 21 , & 18 , 18 , 20 , 19 , 17 , 18 , 20 , 16 , 17 , 20 , 15 , 16 , & 21 , 14 , 14 , 22 , 14 , 13 , 23 , 13 , 11 , 24 , 12 , 10 , & 25 , 12 , 9 , 26 , 12 , 8 , 27 , 11 , 7 , 28 , 11 , 6 , & 29 , 11 , 5 , 30 , 11 , 4 , 32 , 11 , 4 , 33 , 11 , 3 , & 34 , 12 , 2 , 35 , 12 , 2 , 36 , 12 , 2 , 37 , 12 , 1 , & 38 , 13 , 1 , 39 , 13 , 1 , 40 , 13 , 1 , 42 , 14 , 1 , & 43 , 14 , 1 , 44 , 14 , 0 , 45 , 14 , 0 , 47 , 14 , 0 , & 48 , 15 , 0 , 49 , 15 , 0 , 51 , 15 , 0 , 52 , 15 , 0 , & 53 , 16 , 0 , 55 , 16 , 0 , 56 , 16 , 0 , 57 , 17 , 0 , & 59 , 17 , 0 , 60 , 17 , 1 , 62 , 18 , 1 , 63 , 18 , 1 , & 65 , 18 , 1 , 66 , 19 , 1 , 68 , 19 , 1 , 69 , 20 , 1 , & 71 , 20 , 1 , 72 , 21 , 2 , 74 , 21 , 2 , 75 , 22 , 2 , & 77 , 22 , 2 , 79 , 23 , 3 , 80 , 24 , 3 , 82 , 24 , 4 , & 84 , 25 , 5 , 86 , 26 , 5 , 87 , 27 , 6 , 89 , 28 , 7 , & 91 , 29 , 8 , 93 , 30 , 9 , 95 , 31 , 10 , 97 , 32 , 11 , & 99 , 33 , 12 , 101 , 35 , 14 , 104 , 36 , 15 , 106 , 37 , 16 , & 108 , 39 , 17 , 110 , 40 , 19 , 112 , 42 , 20 , 115 , 43 , 22 , & 117 , 45 , 23 , 119 , 47 , 25 , 121 , 48 , 27 , 123 , 50 , 28 , & 125 , 52 , 30 , 128 , 54 , 32 , 130 , 55 , 34 , 132 , 57 , 36 , & 134 , 59 , 38 , 136 , 61 , 40 , 138 , 63 , 42 , 140 , 64 , 44 , & 142 , 66 , 46 , 144 , 68 , 48 , 146 , 70 , 50 , 148 , 72 , 52 , & 150 , 74 , 54 , 152 , 76 , 57 , 154 , 77 , 59 , 156 , 79 , 61 , & 158 , 81 , 63 , 160 , 83 , 65 , 162 , 85 , 68 , 164 , 87 , 70 , & 166 , 89 , 72 , 168 , 90 , 74 , 170 , 92 , 76 , 172 , 94 , 79 , & 174 , 96 , 81 , 176 , 98 , 83 , 178 , 100 , 85 , 180 , 102 , 88 , & 182 , 104 , 90 , 184 , 106 , 92 , 186 , 107 , 95 , 188 , 109 , 97 , & 190 , 111 , 99 , 192 , 113 , 101 , 194 , 115 , 104 , 196 , 117 , 106 , & 198 , 119 , 108 , 200 , 121 , 111 , 202 , 123 , 113 , 204 , 125 , 115 , & 206 , 127 , 118 , 208 , 129 , 120 , 210 , 131 , 122 , 213 , 133 , 125 , & 215 , 135 , 127 , 217 , 137 , 130 , 219 , 139 , 132 , 221 , 141 , 134 , & 223 , 143 , 137 , 225 , 145 , 139 , 227 , 147 , 142 , 229 , 149 , 144 , & 231 , 151 , 146 , 234 , 153 , 149 , 236 , 155 , 151 , 238 , 157 , 154 , & 240 , 159 , 156 , 242 , 161 , 159 , 244 , 163 , 161 , 246 , 165 , 163 , & 249 , 167 , 166 , 251 , 169 , 168 , 253 , 171 , 171 , 255 , 173 , 173 & ], shape ( berlin ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: berlin10 = reshape ( [ & 158 , 176 , 255 , 91 , 164 , 219 , 45 , 117 , 151 , 26 , 66 , 86 , & 17 , 25 , 30 , 40 , 13 , 1 , 80 , 24 , 3 , 138 , 63 , 42 , & 196 , 117 , 106 , 255 , 173 , 173 & ], shape ( berlin10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: berlin100 = reshape ( [ & 158 , 176 , 255 , 152 , 175 , 252 , 147 , 175 , 250 , 140 , 174 , 246 , & 135 , 173 , 244 , 128 , 172 , 241 , 123 , 172 , 238 , 116 , 170 , 235 , & 108 , 169 , 230 , 103 , 168 , 227 , 96 , 165 , 223 , 91 , 164 , 219 , & 84 , 160 , 213 , 79 , 158 , 209 , 72 , 154 , 202 , 67 , 149 , 195 , & 63 , 146 , 190 , 59 , 141 , 183 , 56 , 137 , 178 , 53 , 132 , 170 , & 50 , 126 , 163 , 48 , 122 , 158 , 45 , 117 , 151 , 44 , 113 , 146 , & 41 , 107 , 139 , 40 , 104 , 134 , 38 , 98 , 127 , 36 , 93 , 120 , & 34 , 89 , 115 , 32 , 84 , 108 , 31 , 80 , 104 , 29 , 75 , 97 , & 28 , 71 , 92 , 26 , 66 , 86 , 24 , 61 , 79 , 23 , 58 , 75 , & 21 , 53 , 68 , 20 , 50 , 64 , 19 , 45 , 58 , 18 , 42 , 54 , & 17 , 38 , 48 , 17 , 33 , 42 , 16 , 31 , 38 , 17 , 27 , 33 , & 17 , 25 , 30 , 17 , 21 , 25 , 17 , 19 , 23 , 19 , 17 , 18 , & 21 , 14 , 14 , 23 , 13 , 11 , 26 , 12 , 8 , 28 , 11 , 6 , & 32 , 11 , 4 , 35 , 12 , 2 , 37 , 12 , 1 , 40 , 13 , 1 , & 43 , 14 , 1 , 47 , 14 , 0 , 49 , 15 , 0 , 53 , 16 , 0 , & 57 , 17 , 0 , 60 , 17 , 1 , 65 , 18 , 1 , 68 , 19 , 1 , & 72 , 21 , 2 , 75 , 22 , 2 , 80 , 24 , 3 , 86 , 26 , 5 , & 89 , 28 , 7 , 95 , 31 , 10 , 99 , 33 , 12 , 106 , 37 , 16 , & 110 , 40 , 19 , 117 , 45 , 23 , 123 , 50 , 28 , 128 , 54 , 32 , & 134 , 59 , 38 , 138 , 63 , 42 , 144 , 68 , 48 , 148 , 72 , 52 , & 154 , 77 , 59 , 160 , 83 , 65 , 164 , 87 , 70 , 170 , 92 , 76 , & 174 , 96 , 81 , 180 , 102 , 88 , 186 , 107 , 95 , 190 , 111 , 99 , & 196 , 117 , 106 , 200 , 121 , 111 , 206 , 127 , 118 , 210 , 131 , 122 , & 217 , 137 , 130 , 223 , 143 , 137 , 227 , 147 , 142 , 234 , 153 , 149 , & 238 , 157 , 154 , 244 , 163 , 161 , 249 , 167 , 166 , 255 , 173 , 173 & ], shape ( berlin100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: berlin25 = reshape ( [ & 158 , 176 , 255 , 133 , 173 , 243 , 108 , 169 , 230 , 81 , 159 , 211 , & 60 , 142 , 185 , 49 , 124 , 161 , 40 , 104 , 134 , 33 , 85 , 110 , & 26 , 66 , 86 , 20 , 48 , 62 , 17 , 33 , 42 , 17 , 20 , 24 , & 25 , 12 , 9 , 36 , 12 , 2 , 49 , 15 , 0 , 63 , 18 , 1 , & 80 , 24 , 3 , 101 , 35 , 14 , 123 , 50 , 28 , 146 , 70 , 50 , & 168 , 90 , 74 , 188 , 109 , 97 , 210 , 131 , 122 , 231 , 151 , 146 , & 255 , 173 , 173 & ], shape ( berlin25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: berlin50 = reshape ( [ & 158 , 176 , 255 , 147 , 175 , 250 , 135 , 173 , 244 , 121 , 171 , 237 , & 108 , 169 , 230 , 96 , 165 , 223 , 84 , 160 , 213 , 72 , 154 , 202 , & 62 , 144 , 188 , 55 , 135 , 175 , 50 , 126 , 163 , 45 , 117 , 151 , & 41 , 107 , 139 , 37 , 96 , 124 , 34 , 87 , 113 , 30 , 78 , 101 , & 27 , 70 , 90 , 24 , 61 , 79 , 21 , 51 , 66 , 18 , 44 , 56 , & 17 , 36 , 46 , 16 , 29 , 37 , 17 , 24 , 28 , 18 , 18 , 20 , & 22 , 14 , 13 , 27 , 11 , 7 , 33 , 11 , 3 , 39 , 13 , 1 , & 45 , 14 , 0 , 52 , 15 , 0 , 59 , 17 , 0 , 66 , 19 , 1 , & 75 , 22 , 2 , 84 , 25 , 5 , 93 , 30 , 9 , 104 , 36 , 15 , & 115 , 43 , 22 , 128 , 54 , 32 , 138 , 63 , 42 , 148 , 72 , 52 , & 158 , 81 , 63 , 168 , 90 , 74 , 180 , 102 , 88 , 190 , 111 , 99 , & 200 , 121 , 111 , 210 , 131 , 122 , 221 , 141 , 134 , 234 , 153 , 149 , & 244 , 163 , 161 , 255 , 173 , 173 & ], shape ( berlin50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bilbao = reshape ( [ & 76 , 0 , 1 , 78 , 1 , 3 , 79 , 2 , 5 , 81 , 4 , 7 , & 82 , 5 , 9 , 84 , 7 , 11 , 85 , 8 , 13 , 87 , 10 , 14 , & 88 , 11 , 16 , 90 , 13 , 17 , 91 , 14 , 19 , 93 , 16 , 20 , & 94 , 17 , 21 , 96 , 19 , 22 , 97 , 20 , 24 , 98 , 21 , 25 , & 100 , 22 , 26 , 101 , 24 , 27 , 103 , 25 , 29 , 104 , 26 , 30 , & 105 , 27 , 31 , 107 , 29 , 32 , 108 , 30 , 34 , 109 , 31 , 35 , & 110 , 32 , 36 , 112 , 33 , 38 , 113 , 34 , 39 , 114 , 35 , 40 , & 115 , 37 , 41 , 117 , 38 , 43 , 118 , 39 , 44 , 119 , 40 , 45 , & 120 , 41 , 47 , 122 , 42 , 48 , 123 , 43 , 49 , 124 , 45 , 50 , & 125 , 46 , 52 , 126 , 47 , 53 , 128 , 48 , 54 , 129 , 49 , 55 , & 130 , 50 , 57 , 131 , 51 , 58 , 132 , 52 , 59 , 133 , 53 , 60 , & 135 , 55 , 62 , 136 , 56 , 63 , 137 , 57 , 64 , 138 , 58 , 65 , & 139 , 59 , 66 , 140 , 60 , 67 , 141 , 61 , 69 , 142 , 63 , 70 , & 143 , 64 , 71 , 144 , 65 , 72 , 145 , 66 , 73 , 146 , 67 , 74 , & 147 , 69 , 75 , 148 , 70 , 75 , 149 , 71 , 76 , 149 , 72 , 77 , & 150 , 73 , 78 , 151 , 74 , 79 , 152 , 76 , 79 , 152 , 77 , 80 , & 153 , 78 , 81 , 153 , 79 , 81 , 154 , 80 , 82 , 154 , 81 , 82 , & 155 , 82 , 83 , 155 , 83 , 83 , 156 , 84 , 83 , 156 , 85 , 84 , & 157 , 86 , 84 , 157 , 87 , 84 , 157 , 88 , 85 , 158 , 89 , 85 , & 158 , 90 , 85 , 158 , 91 , 86 , 158 , 92 , 86 , 159 , 93 , 86 , & 159 , 94 , 86 , 159 , 94 , 86 , 159 , 95 , 87 , 160 , 96 , 87 , & 160 , 97 , 87 , 160 , 98 , 87 , 160 , 99 , 87 , 161 , 99 , 88 , & 161 , 100 , 88 , 161 , 101 , 88 , 161 , 102 , 88 , 161 , 103 , 88 , & 162 , 103 , 89 , 162 , 104 , 89 , 162 , 105 , 89 , 162 , 106 , 89 , & 163 , 107 , 89 , 163 , 107 , 89 , 163 , 108 , 90 , 163 , 109 , 90 , & 163 , 110 , 90 , 164 , 110 , 90 , 164 , 111 , 90 , 164 , 112 , 90 , & 164 , 113 , 91 , 164 , 113 , 91 , 165 , 114 , 91 , 165 , 115 , 91 , & 165 , 116 , 91 , 165 , 116 , 91 , 165 , 117 , 91 , 166 , 118 , 92 , & 166 , 118 , 92 , 166 , 119 , 92 , 166 , 120 , 92 , 166 , 121 , 92 , & 167 , 121 , 92 , 167 , 122 , 93 , 167 , 123 , 93 , 167 , 124 , 93 , & 167 , 124 , 93 , 168 , 125 , 93 , 168 , 126 , 93 , 168 , 126 , 94 , & 168 , 127 , 94 , 168 , 128 , 94 , 169 , 129 , 94 , 169 , 129 , 94 , & 169 , 130 , 94 , 169 , 131 , 94 , 169 , 132 , 95 , 170 , 132 , 95 , & 170 , 133 , 95 , 170 , 134 , 95 , 170 , 134 , 95 , 170 , 135 , 95 , & 171 , 136 , 96 , 171 , 137 , 96 , 171 , 137 , 96 , 171 , 138 , 96 , & 171 , 139 , 96 , 172 , 140 , 96 , 172 , 141 , 97 , 172 , 141 , 97 , & 172 , 142 , 97 , 172 , 143 , 97 , 173 , 144 , 97 , 173 , 145 , 98 , & 173 , 145 , 98 , 173 , 146 , 98 , 174 , 147 , 98 , 174 , 148 , 99 , & 174 , 149 , 99 , 174 , 150 , 99 , 175 , 150 , 100 , 175 , 151 , 100 , & 175 , 152 , 100 , 175 , 153 , 101 , 176 , 154 , 102 , 176 , 155 , 102 , & 177 , 156 , 103 , 177 , 157 , 104 , 177 , 158 , 104 , 178 , 159 , 105 , & 178 , 160 , 106 , 179 , 161 , 107 , 179 , 162 , 109 , 179 , 163 , 110 , & 180 , 164 , 111 , 180 , 165 , 113 , 181 , 167 , 114 , 181 , 168 , 116 , & 182 , 169 , 117 , 182 , 170 , 119 , 183 , 171 , 121 , 183 , 172 , 122 , & 184 , 172 , 124 , 184 , 173 , 126 , 185 , 174 , 128 , 185 , 175 , 130 , & 186 , 176 , 131 , 186 , 177 , 133 , 187 , 178 , 135 , 187 , 178 , 137 , & 188 , 179 , 139 , 188 , 180 , 141 , 189 , 181 , 142 , 189 , 181 , 144 , & 190 , 182 , 146 , 190 , 183 , 148 , 191 , 183 , 149 , 191 , 184 , 151 , & 191 , 185 , 153 , 192 , 185 , 154 , 192 , 186 , 156 , 193 , 187 , 158 , & 193 , 187 , 159 , 193 , 188 , 161 , 194 , 188 , 163 , 194 , 189 , 164 , & 195 , 190 , 166 , 195 , 190 , 167 , 195 , 191 , 169 , 196 , 191 , 170 , & 196 , 192 , 172 , 197 , 193 , 173 , 197 , 193 , 175 , 197 , 194 , 176 , & 198 , 194 , 178 , 198 , 195 , 179 , 199 , 195 , 180 , 199 , 196 , 182 , & 199 , 197 , 183 , 200 , 197 , 185 , 200 , 198 , 186 , 201 , 199 , 188 , & 202 , 199 , 189 , 202 , 200 , 190 , 203 , 201 , 192 , 203 , 202 , 193 , & 204 , 202 , 195 , 205 , 203 , 196 , 206 , 204 , 198 , 206 , 205 , 199 , & 207 , 206 , 201 , 208 , 207 , 203 , 209 , 208 , 204 , 210 , 210 , 206 , & 212 , 211 , 207 , 213 , 212 , 209 , 214 , 213 , 211 , 215 , 215 , 212 , & 217 , 216 , 214 , 218 , 218 , 216 , 219 , 219 , 218 , 221 , 221 , 219 , & 222 , 222 , 221 , 224 , 224 , 223 , 225 , 225 , 225 , 227 , 227 , 226 , & 229 , 229 , 228 , 230 , 230 , 230 , 232 , 232 , 232 , 234 , 234 , 233 , & 235 , 235 , 235 , 237 , 237 , 237 , 239 , 239 , 239 , 241 , 241 , 240 , & 242 , 242 , 242 , 244 , 244 , 244 , 246 , 246 , 246 , 248 , 248 , 248 , & 250 , 250 , 250 , 251 , 251 , 251 , 253 , 253 , 253 , 255 , 255 , 255 & ], shape ( bilbao ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bilbao10 = reshape ( [ & 76 , 0 , 1 , 115 , 37 , 41 , 148 , 70 , 75 , 160 , 98 , 87 , & 166 , 119 , 92 , 172 , 141 , 97 , 181 , 167 , 114 , 194 , 188 , 163 , & 210 , 210 , 206 , 255 , 255 , 255 & ], shape ( bilbao10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bilbao100 = reshape ( [ & 76 , 0 , 1 , 81 , 4 , 7 , 84 , 7 , 11 , 88 , 11 , 16 , & 91 , 14 , 19 , 96 , 19 , 22 , 98 , 21 , 25 , 103 , 25 , 29 , & 107 , 29 , 32 , 109 , 31 , 35 , 113 , 34 , 39 , 115 , 37 , 41 , & 119 , 40 , 45 , 122 , 42 , 48 , 125 , 46 , 52 , 129 , 49 , 55 , & 131 , 51 , 58 , 135 , 55 , 62 , 137 , 57 , 64 , 140 , 60 , 67 , & 143 , 64 , 71 , 145 , 66 , 73 , 148 , 70 , 75 , 149 , 72 , 77 , & 152 , 76 , 79 , 153 , 78 , 81 , 154 , 81 , 82 , 156 , 84 , 83 , & 157 , 86 , 84 , 158 , 89 , 85 , 158 , 91 , 86 , 159 , 94 , 86 , & 159 , 95 , 87 , 160 , 98 , 87 , 161 , 100 , 88 , 161 , 102 , 88 , & 162 , 104 , 89 , 162 , 106 , 89 , 163 , 108 , 90 , 163 , 110 , 90 , & 164 , 112 , 90 , 165 , 114 , 91 , 165 , 116 , 91 , 166 , 118 , 92 , & 166 , 119 , 92 , 167 , 121 , 92 , 167 , 123 , 93 , 168 , 125 , 93 , & 168 , 127 , 94 , 169 , 129 , 94 , 169 , 131 , 94 , 170 , 132 , 95 , & 170 , 134 , 95 , 171 , 137 , 96 , 171 , 138 , 96 , 172 , 141 , 97 , & 172 , 142 , 97 , 173 , 145 , 98 , 173 , 146 , 98 , 174 , 149 , 99 , & 175 , 151 , 100 , 175 , 153 , 101 , 177 , 156 , 103 , 177 , 158 , 104 , & 179 , 161 , 107 , 179 , 163 , 110 , 181 , 167 , 114 , 182 , 170 , 119 , & 183 , 172 , 122 , 185 , 174 , 128 , 186 , 176 , 131 , 187 , 178 , 137 , & 188 , 180 , 141 , 190 , 182 , 146 , 191 , 184 , 151 , 192 , 185 , 154 , & 193 , 187 , 159 , 194 , 188 , 163 , 195 , 190 , 167 , 196 , 191 , 170 , & 197 , 193 , 175 , 198 , 195 , 179 , 199 , 196 , 182 , 200 , 198 , 186 , & 202 , 199 , 189 , 203 , 202 , 193 , 206 , 204 , 198 , 207 , 206 , 201 , & 210 , 210 , 206 , 213 , 212 , 209 , 217 , 216 , 214 , 219 , 219 , 218 , & 224 , 224 , 223 , 229 , 229 , 228 , 232 , 232 , 232 , 237 , 237 , 237 , & 241 , 241 , 240 , 246 , 246 , 246 , 250 , 250 , 250 , 255 , 255 , 255 & ], shape ( bilbao100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bilbao25 = reshape ( [ & 76 , 0 , 1 , 93 , 16 , 20 , 107 , 29 , 32 , 120 , 41 , 47 , & 133 , 53 , 60 , 144 , 65 , 72 , 153 , 78 , 81 , 157 , 88 , 85 , & 160 , 98 , 87 , 163 , 107 , 89 , 165 , 114 , 91 , 167 , 122 , 93 , & 169 , 130 , 94 , 171 , 137 , 96 , 173 , 146 , 98 , 176 , 155 , 102 , & 181 , 167 , 114 , 186 , 177 , 133 , 191 , 184 , 151 , 195 , 191 , 169 , & 200 , 197 , 185 , 206 , 205 , 199 , 219 , 219 , 218 , 235 , 235 , 235 , & 255 , 255 , 255 & ], shape ( bilbao25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bilbao50 = reshape ( [ & 76 , 0 , 1 , 84 , 7 , 11 , 91 , 14 , 19 , 100 , 22 , 26 , & 107 , 29 , 32 , 113 , 34 , 39 , 119 , 40 , 45 , 125 , 46 , 52 , & 132 , 52 , 59 , 138 , 58 , 65 , 143 , 64 , 71 , 148 , 70 , 75 , & 152 , 76 , 79 , 155 , 82 , 83 , 157 , 87 , 84 , 158 , 92 , 86 , & 160 , 96 , 87 , 161 , 100 , 88 , 162 , 105 , 89 , 163 , 109 , 90 , & 164 , 113 , 91 , 165 , 116 , 91 , 166 , 120 , 92 , 167 , 124 , 93 , & 168 , 128 , 94 , 169 , 132 , 95 , 170 , 135 , 95 , 172 , 140 , 96 , & 173 , 144 , 97 , 174 , 148 , 99 , 175 , 152 , 100 , 177 , 157 , 104 , & 179 , 163 , 110 , 182 , 169 , 117 , 184 , 173 , 126 , 187 , 178 , 135 , & 189 , 181 , 144 , 192 , 185 , 154 , 194 , 188 , 163 , 196 , 191 , 170 , & 198 , 194 , 178 , 200 , 197 , 185 , 203 , 202 , 193 , 207 , 206 , 201 , & 213 , 212 , 209 , 219 , 219 , 218 , 227 , 227 , 226 , 237 , 237 , 237 , & 246 , 246 , 246 , 255 , 255 , 255 & ], shape ( bilbao50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bilbaoS = reshape ( [ & 76 , 0 , 1 , 248 , 248 , 248 , 169 , 129 , 94 , 152 , 77 , 80 , & 190 , 183 , 148 , 119 , 40 , 45 , 162 , 106 , 89 , 175 , 153 , 101 , & 204 , 202 , 195 , 159 , 93 , 86 , 138 , 58 , 65 , 182 , 170 , 119 , & 100 , 22 , 26 , 221 , 221 , 219 , 172 , 140 , 96 , 197 , 193 , 173 , & 166 , 118 , 92 , 161 , 99 , 88 , 173 , 146 , 98 , 234 , 234 , 233 , & 129 , 49 , 55 , 88 , 11 , 16 , 164 , 112 , 90 , 179 , 161 , 107 , & 193 , 188 , 161 , 156 , 85 , 84 , 146 , 67 , 74 , 186 , 177 , 133 , & 170 , 134 , 95 , 109 , 31 , 35 , 210 , 210 , 206 , 167 , 123 , 93 , & 200 , 197 , 185 , 161 , 103 , 88 , 174 , 150 , 99 , 198 , 195 , 179 , & 180 , 165 , 113 , 160 , 96 , 87 , 171 , 137 , 96 , 142 , 63 , 70 , & 188 , 180 , 141 , 154 , 81 , 82 , 94 , 17 , 21 , 158 , 89 , 85 , & 149 , 72 , 77 , 82 , 5 , 9 , 133 , 53 , 60 , 227 , 227 , 226 , & 184 , 173 , 126 , 215 , 215 , 212 , 163 , 109 , 90 , 241 , 241 , 240 , & 124 , 45 , 50 , 195 , 190 , 167 , 168 , 126 , 93 , 165 , 115 , 91 , & 192 , 185 , 154 , 172 , 143 , 97 , 177 , 157 , 104 , 114 , 35 , 40 , & 104 , 26 , 30 , 169 , 131 , 94 , 206 , 205 , 199 , 202 , 200 , 190 , & 166 , 121 , 92 , 244 , 244 , 244 , 189 , 181 , 144 , 136 , 56 , 63 , & 168 , 127 , 94 , 176 , 155 , 102 , 199 , 196 , 182 , 172 , 141 , 97 , & 237 , 237 , 237 , 117 , 38 , 43 , 155 , 83 , 83 , 165 , 116 , 91 , & 122 , 42 , 48 , 148 , 70 , 75 , 140 , 60 , 67 , 181 , 168 , 116 , & 160 , 98 , 87 , 193 , 187 , 158 , 170 , 135 , 95 , 151 , 74 , 79 , & 183 , 172 , 122 , 85 , 8 , 13 , 173 , 145 , 98 , 230 , 230 , 230 , & 162 , 104 , 89 , 171 , 138 , 96 , 213 , 212 , 209 , 153 , 79 , 81 , & 196 , 191 , 170 , 126 , 47 , 53 , 201 , 199 , 188 , 158 , 91 , 86 , & 194 , 189 , 164 , 187 , 178 , 137 , 112 , 33 , 38 , 224 , 224 , 223 & ], shape ( bilbaoS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: broc = reshape ( [ & 44 , 26 , 76 , 44 , 27 , 78 , 44 , 29 , 79 , 43 , 30 , 81 , & 43 , 32 , 82 , 43 , 33 , 84 , 43 , 35 , 85 , 43 , 36 , 87 , & 43 , 38 , 88 , 43 , 39 , 90 , 43 , 41 , 91 , 43 , 42 , 93 , & 42 , 44 , 94 , 42 , 45 , 96 , 42 , 46 , 97 , 42 , 48 , 99 , & 42 , 49 , 100 , 42 , 51 , 102 , 41 , 53 , 103 , 41 , 54 , 105 , & 41 , 56 , 106 , 41 , 57 , 108 , 41 , 59 , 109 , 41 , 60 , 111 , & 41 , 62 , 113 , 40 , 63 , 114 , 40 , 65 , 116 , 40 , 67 , 117 , & 40 , 68 , 119 , 40 , 70 , 120 , 40 , 71 , 122 , 41 , 73 , 124 , & 41 , 75 , 125 , 41 , 76 , 127 , 41 , 78 , 128 , 42 , 80 , 130 , & 42 , 81 , 131 , 43 , 83 , 133 , 44 , 85 , 134 , 45 , 87 , 136 , & 46 , 88 , 137 , 47 , 90 , 139 , 48 , 92 , 140 , 49 , 94 , 142 , & 51 , 95 , 143 , 52 , 97 , 145 , 54 , 99 , 146 , 55 , 101 , 147 , & 57 , 102 , 149 , 59 , 104 , 150 , 61 , 106 , 151 , 63 , 107 , 153 , & 65 , 109 , 154 , 67 , 111 , 155 , 69 , 113 , 156 , 71 , 114 , 158 , & 73 , 116 , 159 , 75 , 118 , 160 , 77 , 120 , 161 , 80 , 121 , 163 , & 82 , 123 , 164 , 84 , 125 , 165 , 86 , 127 , 166 , 88 , 128 , 167 , & 91 , 130 , 169 , 93 , 132 , 170 , 95 , 133 , 171 , 97 , 135 , 172 , & 100 , 137 , 173 , 102 , 139 , 175 , 104 , 140 , 176 , 107 , 142 , 177 , & 109 , 144 , 178 , 111 , 146 , 179 , 113 , 147 , 181 , 116 , 149 , 182 , & 118 , 151 , 183 , 120 , 153 , 184 , 123 , 155 , 186 , 125 , 156 , 187 , & 127 , 158 , 188 , 130 , 160 , 189 , 132 , 162 , 190 , 134 , 163 , 192 , & 137 , 165 , 193 , 139 , 167 , 194 , 141 , 169 , 195 , 144 , 170 , 197 , & 146 , 172 , 198 , 148 , 174 , 199 , 151 , 176 , 200 , 153 , 178 , 202 , & 155 , 179 , 203 , 158 , 181 , 204 , 160 , 183 , 205 , 162 , 185 , 206 , & 165 , 187 , 208 , 167 , 188 , 209 , 170 , 190 , 210 , 172 , 192 , 211 , & 174 , 194 , 213 , 177 , 196 , 214 , 179 , 197 , 215 , 181 , 199 , 216 , & 184 , 201 , 218 , 186 , 203 , 219 , 189 , 205 , 220 , 191 , 207 , 221 , & 194 , 208 , 223 , 196 , 210 , 224 , 198 , 212 , 225 , 201 , 214 , 226 , & 203 , 216 , 228 , 206 , 217 , 229 , 208 , 219 , 230 , 210 , 221 , 231 , & 213 , 223 , 232 , 215 , 224 , 233 , 217 , 226 , 234 , 220 , 228 , 235 , & 222 , 229 , 236 , 224 , 231 , 236 , 226 , 232 , 237 , 228 , 234 , 237 , & 230 , 235 , 237 , 231 , 236 , 237 , 233 , 237 , 237 , 234 , 238 , 236 , & 235 , 238 , 236 , 236 , 239 , 235 , 237 , 239 , 233 , 237 , 239 , 232 , & 238 , 239 , 231 , 238 , 239 , 229 , 238 , 239 , 227 , 237 , 238 , 225 , & 237 , 238 , 223 , 236 , 237 , 221 , 236 , 236 , 219 , 235 , 235 , 217 , & 234 , 234 , 214 , 233 , 233 , 212 , 232 , 232 , 210 , 231 , 231 , 207 , & 230 , 230 , 205 , 229 , 229 , 203 , 228 , 228 , 200 , 227 , 226 , 198 , & 225 , 225 , 196 , 224 , 224 , 193 , 223 , 223 , 191 , 222 , 222 , 189 , & 221 , 221 , 186 , 220 , 219 , 184 , 218 , 218 , 181 , 217 , 217 , 179 , & 216 , 216 , 177 , 215 , 215 , 174 , 213 , 213 , 172 , 212 , 212 , 170 , & 211 , 211 , 167 , 210 , 210 , 165 , 208 , 208 , 162 , 207 , 207 , 160 , & 206 , 206 , 158 , 204 , 204 , 155 , 203 , 203 , 153 , 201 , 201 , 150 , & 200 , 200 , 148 , 198 , 198 , 145 , 197 , 197 , 143 , 195 , 195 , 140 , & 193 , 193 , 138 , 192 , 191 , 135 , 190 , 190 , 133 , 188 , 188 , 131 , & 186 , 186 , 128 , 184 , 184 , 126 , 182 , 182 , 124 , 180 , 180 , 121 , & 178 , 178 , 119 , 176 , 176 , 117 , 174 , 174 , 115 , 172 , 172 , 113 , & 170 , 170 , 111 , 168 , 168 , 109 , 166 , 166 , 107 , 163 , 163 , 105 , & 161 , 161 , 103 , 159 , 159 , 101 , 157 , 157 , 99 , 155 , 155 , 98 , & 153 , 153 , 96 , 151 , 151 , 94 , 149 , 149 , 92 , 147 , 147 , 91 , & 145 , 145 , 89 , 143 , 143 , 87 , 141 , 141 , 86 , 139 , 139 , 84 , & 137 , 137 , 82 , 135 , 135 , 81 , 133 , 133 , 79 , 131 , 131 , 77 , & 129 , 129 , 76 , 127 , 127 , 74 , 125 , 125 , 72 , 123 , 123 , 71 , & 121 , 121 , 69 , 119 , 119 , 68 , 117 , 117 , 66 , 116 , 116 , 64 , & 114 , 114 , 63 , 112 , 112 , 61 , 110 , 110 , 60 , 108 , 108 , 58 , & 106 , 106 , 56 , 104 , 104 , 55 , 102 , 102 , 53 , 100 , 100 , 52 , & 98 , 98 , 50 , 97 , 96 , 49 , 95 , 95 , 47 , 93 , 93 , 45 , & 91 , 91 , 44 , 89 , 89 , 42 , 87 , 87 , 41 , 85 , 85 , 39 , & 84 , 84 , 38 , 82 , 82 , 36 , 80 , 80 , 35 , 78 , 78 , 33 , & 76 , 76 , 32 , 75 , 75 , 31 , 73 , 73 , 29 , 71 , 71 , 28 , & 69 , 69 , 26 , 67 , 67 , 25 , 66 , 66 , 24 , 64 , 64 , 22 , & 62 , 62 , 21 , 60 , 61 , 20 , 59 , 59 , 18 , 57 , 57 , 17 , & 55 , 56 , 16 , 54 , 54 , 15 , 52 , 52 , 14 , 50 , 51 , 12 , & 49 , 49 , 11 , 47 , 48 , 10 , 46 , 46 , 8 , 44 , 44 , 7 , & 43 , 43 , 5 , 41 , 41 , 4 , 40 , 40 , 2 , 38 , 38 , 0 & ], shape ( broc ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: broc10 = reshape ( [ & 44 , 26 , 76 , 40 , 68 , 119 , 75 , 118 , 160 , 139 , 167 , 194 , & 206 , 217 , 229 , 232 , 232 , 210 , 197 , 197 , 143 , 141 , 141 , 86 , & 85 , 85 , 39 , 38 , 38 , 0 & ], shape ( broc10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: broc100 = reshape ( [ & 44 , 26 , 76 , 43 , 30 , 81 , 43 , 33 , 84 , 43 , 38 , 88 , & 43 , 41 , 91 , 42 , 45 , 96 , 42 , 48 , 99 , 41 , 53 , 103 , & 41 , 57 , 108 , 41 , 60 , 111 , 40 , 65 , 116 , 40 , 68 , 119 , & 41 , 73 , 124 , 41 , 76 , 127 , 42 , 81 , 131 , 45 , 87 , 136 , & 47 , 90 , 139 , 51 , 95 , 143 , 54 , 99 , 146 , 59 , 104 , 150 , & 65 , 109 , 154 , 69 , 113 , 156 , 75 , 118 , 160 , 80 , 121 , 163 , & 86 , 127 , 166 , 91 , 130 , 169 , 97 , 135 , 172 , 104 , 140 , 176 , & 109 , 144 , 178 , 116 , 149 , 182 , 120 , 153 , 184 , 127 , 158 , 188 , & 132 , 162 , 190 , 139 , 167 , 194 , 146 , 172 , 198 , 151 , 176 , 200 , & 158 , 181 , 204 , 162 , 185 , 206 , 170 , 190 , 210 , 174 , 194 , 213 , & 181 , 199 , 216 , 189 , 205 , 220 , 194 , 208 , 223 , 201 , 214 , 226 , & 206 , 217 , 229 , 213 , 223 , 232 , 217 , 226 , 234 , 224 , 231 , 236 , & 230 , 235 , 237 , 233 , 237 , 237 , 236 , 239 , 235 , 237 , 239 , 232 , & 238 , 239 , 227 , 236 , 237 , 221 , 235 , 235 , 217 , 232 , 232 , 210 , & 230 , 230 , 205 , 227 , 226 , 198 , 224 , 224 , 193 , 221 , 221 , 186 , & 217 , 217 , 179 , 215 , 215 , 174 , 211 , 211 , 167 , 208 , 208 , 162 , & 204 , 204 , 155 , 201 , 201 , 150 , 197 , 197 , 143 , 192 , 191 , 135 , & 188 , 188 , 131 , 182 , 182 , 124 , 178 , 178 , 119 , 172 , 172 , 113 , & 168 , 168 , 109 , 161 , 161 , 103 , 155 , 155 , 98 , 151 , 151 , 94 , & 145 , 145 , 89 , 141 , 141 , 86 , 135 , 135 , 81 , 131 , 131 , 77 , & 125 , 125 , 72 , 119 , 119 , 68 , 116 , 116 , 64 , 110 , 110 , 60 , & 106 , 106 , 56 , 100 , 100 , 52 , 95 , 95 , 47 , 91 , 91 , 44 , & 85 , 85 , 39 , 82 , 82 , 36 , 76 , 76 , 32 , 73 , 73 , 29 , & 67 , 67 , 25 , 62 , 62 , 21 , 59 , 59 , 18 , 54 , 54 , 15 , & 50 , 51 , 12 , 46 , 46 , 8 , 43 , 43 , 5 , 38 , 38 , 0 & ], shape ( broc100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: broc25 = reshape ( [ & 44 , 26 , 76 , 43 , 42 , 93 , 41 , 57 , 108 , 41 , 75 , 125 , & 49 , 94 , 142 , 67 , 111 , 155 , 91 , 130 , 169 , 113 , 147 , 181 , & 139 , 167 , 194 , 165 , 187 , 208 , 189 , 205 , 220 , 215 , 224 , 233 , & 235 , 238 , 236 , 236 , 236 , 219 , 224 , 224 , 193 , 212 , 212 , 170 , & 197 , 197 , 143 , 176 , 176 , 117 , 155 , 155 , 98 , 133 , 133 , 79 , & 112 , 112 , 61 , 93 , 93 , 45 , 73 , 73 , 29 , 55 , 56 , 16 , & 38 , 38 , 0 & ], shape ( broc25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: broc50 = reshape ( [ & 44 , 26 , 76 , 43 , 33 , 84 , 43 , 41 , 91 , 42 , 49 , 100 , & 41 , 57 , 108 , 40 , 65 , 116 , 41 , 73 , 124 , 42 , 81 , 131 , & 48 , 92 , 140 , 55 , 101 , 147 , 65 , 109 , 154 , 75 , 118 , 160 , & 86 , 127 , 166 , 100 , 137 , 173 , 111 , 146 , 179 , 123 , 155 , 186 , & 134 , 163 , 192 , 146 , 172 , 198 , 160 , 183 , 205 , 172 , 192 , 211 , & 184 , 201 , 218 , 196 , 210 , 224 , 208 , 219 , 230 , 222 , 229 , 236 , & 231 , 236 , 237 , 237 , 239 , 233 , 237 , 238 , 225 , 233 , 233 , 212 , & 228 , 228 , 200 , 222 , 222 , 189 , 216 , 216 , 177 , 210 , 210 , 165 , & 201 , 201 , 150 , 193 , 193 , 138 , 184 , 184 , 126 , 174 , 174 , 115 , & 163 , 163 , 105 , 151 , 151 , 94 , 141 , 141 , 86 , 131 , 131 , 77 , & 121 , 121 , 69 , 112 , 112 , 61 , 100 , 100 , 52 , 91 , 91 , 44 , & 82 , 82 , 36 , 73 , 73 , 29 , 64 , 64 , 22 , 54 , 54 , 15 , & 46 , 46 , 8 , 38 , 38 , 0 & ], shape ( broc50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: brocO = reshape ( [ & 55 , 47 , 56 , 54 , 47 , 57 , 54 , 47 , 58 , 54 , 47 , 59 , & 54 , 47 , 60 , 54 , 48 , 61 , 54 , 48 , 63 , 54 , 48 , 64 , & 54 , 48 , 65 , 54 , 49 , 67 , 54 , 49 , 68 , 54 , 50 , 70 , & 54 , 50 , 71 , 54 , 51 , 73 , 54 , 51 , 74 , 54 , 52 , 76 , & 54 , 53 , 78 , 54 , 53 , 80 , 54 , 54 , 81 , 54 , 55 , 83 , & 54 , 56 , 85 , 54 , 57 , 87 , 55 , 58 , 89 , 55 , 59 , 91 , & 55 , 60 , 92 , 55 , 61 , 94 , 55 , 63 , 96 , 56 , 64 , 98 , & 56 , 65 , 100 , 56 , 67 , 102 , 57 , 68 , 104 , 57 , 69 , 106 , & 58 , 71 , 108 , 58 , 72 , 111 , 59 , 74 , 113 , 59 , 76 , 115 , & 60 , 77 , 117 , 61 , 79 , 119 , 62 , 81 , 121 , 62 , 82 , 123 , & 63 , 84 , 124 , 64 , 86 , 126 , 65 , 87 , 128 , 66 , 89 , 130 , & 67 , 91 , 132 , 68 , 93 , 134 , 69 , 94 , 136 , 71 , 96 , 138 , & 72 , 98 , 139 , 73 , 100 , 141 , 74 , 102 , 143 , 76 , 103 , 144 , & 77 , 105 , 146 , 79 , 107 , 148 , 80 , 109 , 149 , 82 , 111 , 151 , & 83 , 112 , 153 , 85 , 114 , 154 , 86 , 116 , 156 , 88 , 118 , 157 , & 90 , 120 , 159 , 91 , 121 , 160 , 93 , 123 , 162 , 95 , 125 , 163 , & 97 , 127 , 165 , 99 , 129 , 166 , 100 , 130 , 167 , 102 , 132 , 169 , & 104 , 134 , 170 , 106 , 136 , 171 , 108 , 137 , 173 , 110 , 139 , 174 , & 112 , 141 , 175 , 114 , 143 , 177 , 116 , 144 , 178 , 118 , 146 , 179 , & 120 , 148 , 180 , 122 , 150 , 182 , 124 , 151 , 183 , 126 , 153 , 184 , & 128 , 155 , 185 , 130 , 157 , 186 , 132 , 158 , 187 , 134 , 160 , 189 , & 136 , 162 , 190 , 138 , 163 , 191 , 140 , 165 , 192 , 142 , 167 , 193 , & 145 , 168 , 194 , 147 , 170 , 195 , 149 , 172 , 196 , 151 , 173 , 197 , & 153 , 175 , 198 , 155 , 177 , 199 , 157 , 178 , 200 , 159 , 180 , 200 , & 161 , 181 , 201 , 163 , 183 , 202 , 165 , 184 , 203 , 167 , 186 , 204 , & 169 , 187 , 204 , 171 , 189 , 205 , 173 , 190 , 205 , 175 , 192 , 206 , & 177 , 193 , 206 , 179 , 194 , 207 , 181 , 196 , 207 , 183 , 197 , 208 , & 184 , 198 , 208 , 186 , 200 , 208 , 188 , 201 , 208 , 189 , 202 , 208 , & 191 , 203 , 208 , 193 , 204 , 208 , 194 , 205 , 208 , 196 , 206 , 208 , & 197 , 207 , 207 , 198 , 207 , 207 , 199 , 208 , 206 , 201 , 209 , 206 , & 202 , 209 , 205 , 203 , 210 , 204 , 203 , 210 , 203 , 204 , 211 , 203 , & 205 , 211 , 202 , 206 , 211 , 200 , 206 , 211 , 199 , 207 , 211 , 198 , & 207 , 211 , 197 , 207 , 211 , 195 , 207 , 211 , 194 , 207 , 211 , 192 , & 207 , 211 , 190 , 207 , 210 , 189 , 207 , 210 , 187 , 207 , 209 , 185 , & 206 , 208 , 183 , 206 , 208 , 181 , 205 , 207 , 179 , 205 , 206 , 177 , & 204 , 205 , 175 , 203 , 204 , 173 , 202 , 203 , 171 , 201 , 202 , 169 , & 200 , 201 , 166 , 199 , 200 , 164 , 198 , 198 , 162 , 197 , 197 , 160 , & 196 , 196 , 157 , 194 , 194 , 155 , 193 , 193 , 153 , 191 , 191 , 150 , & 190 , 190 , 148 , 188 , 188 , 146 , 187 , 187 , 144 , 185 , 185 , 141 , & 184 , 183 , 139 , 182 , 182 , 137 , 180 , 180 , 134 , 179 , 178 , 132 , & 177 , 176 , 130 , 175 , 175 , 127 , 173 , 173 , 125 , 171 , 171 , 123 , & 170 , 169 , 121 , 168 , 167 , 119 , 166 , 165 , 116 , 164 , 164 , 114 , & 162 , 162 , 112 , 160 , 160 , 110 , 158 , 158 , 108 , 157 , 156 , 106 , & 155 , 154 , 104 , 153 , 152 , 102 , 151 , 150 , 100 , 149 , 148 , 98 , & 147 , 146 , 96 , 145 , 145 , 94 , 143 , 143 , 92 , 141 , 141 , 90 , & 139 , 139 , 89 , 137 , 137 , 87 , 136 , 135 , 85 , 134 , 133 , 83 , & 132 , 131 , 81 , 130 , 129 , 80 , 128 , 127 , 78 , 126 , 126 , 76 , & 124 , 124 , 75 , 123 , 122 , 73 , 121 , 120 , 72 , 119 , 118 , 70 , & 117 , 116 , 69 , 115 , 114 , 67 , 114 , 113 , 66 , 112 , 111 , 65 , & 110 , 109 , 63 , 108 , 107 , 62 , 107 , 105 , 61 , 105 , 104 , 59 , & 103 , 102 , 58 , 102 , 100 , 57 , 100 , 98 , 56 , 98 , 97 , 55 , & 97 , 95 , 54 , 95 , 93 , 53 , 94 , 92 , 52 , 92 , 90 , 51 , & 91 , 89 , 50 , 89 , 87 , 49 , 88 , 85 , 48 , 86 , 84 , 47 , & 85 , 82 , 46 , 84 , 81 , 46 , 82 , 79 , 45 , 81 , 78 , 45 , & 80 , 77 , 44 , 79 , 75 , 43 , 77 , 74 , 43 , 76 , 72 , 43 , & 75 , 71 , 42 , 74 , 70 , 42 , 73 , 69 , 42 , 72 , 67 , 41 , & 71 , 66 , 41 , 70 , 65 , 41 , 69 , 64 , 41 , 68 , 63 , 41 , & 67 , 62 , 41 , 66 , 61 , 41 , 66 , 60 , 41 , 65 , 59 , 41 , & 64 , 58 , 41 , 63 , 57 , 41 , 63 , 56 , 41 , 62 , 56 , 42 , & 62 , 55 , 42 , 61 , 54 , 42 , 60 , 53 , 43 , 60 , 53 , 43 , & 59 , 52 , 43 , 59 , 52 , 44 , 59 , 51 , 44 , 58 , 51 , 45 , & 58 , 50 , 46 , 57 , 50 , 46 , 57 , 49 , 47 , 57 , 49 , 48 , & 56 , 48 , 48 , 56 , 48 , 49 , 56 , 48 , 50 , 56 , 48 , 51 , & 55 , 47 , 52 , 55 , 47 , 53 , 55 , 47 , 54 , 55 , 47 , 55 & ], shape ( brocO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: brocO10 = reshape ( [ & 55 , 47 , 56 , 56 , 65 , 100 , 85 , 114 , 154 , 138 , 163 , 191 , & 193 , 204 , 208 , 202 , 203 , 171 , 158 , 158 , 108 , 107 , 105 , 61 , & 68 , 63 , 41 , 55 , 47 , 55 & ], shape ( brocO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: brocO100 = reshape ( [ & 55 , 47 , 56 , 54 , 47 , 59 , 54 , 48 , 61 , 54 , 48 , 65 , & 54 , 49 , 68 , 54 , 51 , 73 , 54 , 52 , 76 , 54 , 54 , 81 , & 54 , 57 , 87 , 55 , 59 , 91 , 55 , 63 , 96 , 56 , 65 , 100 , & 57 , 69 , 106 , 58 , 72 , 111 , 60 , 77 , 117 , 62 , 82 , 123 , & 64 , 86 , 126 , 67 , 91 , 132 , 69 , 94 , 136 , 73 , 100 , 141 , & 77 , 105 , 146 , 80 , 109 , 149 , 85 , 114 , 154 , 88 , 118 , 157 , & 93 , 123 , 162 , 97 , 127 , 165 , 102 , 132 , 169 , 108 , 137 , 173 , & 112 , 141 , 175 , 118 , 146 , 179 , 122 , 150 , 182 , 128 , 155 , 185 , & 132 , 158 , 187 , 138 , 163 , 191 , 145 , 168 , 194 , 149 , 172 , 196 , & 155 , 177 , 199 , 159 , 180 , 200 , 165 , 184 , 203 , 169 , 187 , 204 , & 175 , 192 , 206 , 181 , 196 , 207 , 184 , 198 , 208 , 189 , 202 , 208 , & 193 , 204 , 208 , 197 , 207 , 207 , 199 , 208 , 206 , 203 , 210 , 204 , & 205 , 211 , 202 , 206 , 211 , 199 , 207 , 211 , 195 , 207 , 211 , 192 , & 207 , 210 , 187 , 206 , 208 , 181 , 205 , 206 , 177 , 202 , 203 , 171 , & 200 , 201 , 166 , 197 , 197 , 160 , 194 , 194 , 155 , 190 , 190 , 148 , & 185 , 185 , 141 , 182 , 182 , 137 , 177 , 176 , 130 , 173 , 173 , 125 , & 168 , 167 , 119 , 164 , 164 , 114 , 158 , 158 , 108 , 153 , 152 , 102 , & 149 , 148 , 98 , 143 , 143 , 92 , 139 , 139 , 89 , 134 , 133 , 83 , & 130 , 129 , 80 , 124 , 124 , 75 , 119 , 118 , 70 , 115 , 114 , 67 , & 110 , 109 , 63 , 107 , 105 , 61 , 102 , 100 , 57 , 98 , 97 , 55 , & 94 , 92 , 52 , 89 , 87 , 49 , 86 , 84 , 47 , 82 , 79 , 45 , & 80 , 77 , 44 , 76 , 72 , 43 , 73 , 69 , 42 , 71 , 66 , 41 , & 68 , 63 , 41 , 66 , 61 , 41 , 64 , 58 , 41 , 63 , 56 , 41 , & 61 , 54 , 42 , 59 , 52 , 43 , 59 , 51 , 44 , 57 , 50 , 46 , & 57 , 49 , 48 , 56 , 48 , 50 , 55 , 47 , 52 , 55 , 47 , 55 & ], shape ( brocO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: brocO25 = reshape ( [ & 55 , 47 , 56 , 54 , 50 , 70 , 54 , 57 , 87 , 58 , 71 , 108 , & 66 , 89 , 130 , 79 , 107 , 148 , 97 , 127 , 165 , 116 , 144 , 178 , & 138 , 163 , 191 , 161 , 181 , 201 , 181 , 196 , 207 , 198 , 207 , 207 , & 207 , 211 , 197 , 205 , 207 , 179 , 194 , 194 , 155 , 179 , 178 , 132 , & 158 , 158 , 108 , 137 , 137 , 87 , 119 , 118 , 70 , 100 , 98 , 56 , & 84 , 81 , 46 , 72 , 67 , 41 , 63 , 56 , 41 , 58 , 50 , 46 , & 55 , 47 , 55 & ], shape ( brocO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: brocO50 = reshape ( [ & 55 , 47 , 56 , 54 , 48 , 61 , 54 , 49 , 68 , 54 , 53 , 78 , & 54 , 57 , 87 , 55 , 63 , 96 , 57 , 69 , 106 , 60 , 77 , 117 , & 65 , 87 , 128 , 71 , 96 , 138 , 77 , 105 , 146 , 85 , 114 , 154 , & 93 , 123 , 162 , 104 , 134 , 170 , 114 , 143 , 177 , 124 , 151 , 183 , & 134 , 160 , 189 , 145 , 168 , 194 , 157 , 178 , 200 , 167 , 186 , 204 , & 177 , 193 , 206 , 186 , 200 , 208 , 194 , 205 , 208 , 202 , 209 , 205 , & 206 , 211 , 200 , 207 , 211 , 194 , 207 , 209 , 185 , 203 , 204 , 173 , & 198 , 198 , 162 , 191 , 191 , 150 , 184 , 183 , 139 , 175 , 175 , 127 , & 164 , 164 , 114 , 155 , 154 , 104 , 145 , 145 , 94 , 136 , 135 , 85 , & 126 , 126 , 76 , 115 , 114 , 67 , 107 , 105 , 61 , 98 , 97 , 55 , & 91 , 89 , 50 , 84 , 81 , 46 , 76 , 72 , 43 , 71 , 66 , 41 , & 66 , 61 , 41 , 63 , 56 , 41 , 60 , 53 , 43 , 57 , 50 , 46 , & 56 , 48 , 50 , 55 , 47 , 55 & ], shape ( brocO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: buda = reshape ( [ & 179 , 1 , 179 , 179 , 3 , 178 , 179 , 5 , 177 , 179 , 7 , 176 , & 179 , 9 , 175 , 179 , 11 , 174 , 179 , 13 , 174 , 179 , 15 , 173 , & 179 , 17 , 172 , 179 , 18 , 171 , 179 , 20 , 170 , 179 , 22 , 169 , & 179 , 23 , 169 , 179 , 24 , 168 , 179 , 26 , 167 , 179 , 27 , 166 , & 179 , 28 , 166 , 179 , 30 , 165 , 179 , 31 , 164 , 179 , 32 , 164 , & 179 , 33 , 163 , 179 , 35 , 162 , 179 , 36 , 162 , 179 , 37 , 161 , & 179 , 38 , 160 , 179 , 39 , 160 , 179 , 40 , 159 , 179 , 41 , 159 , & 179 , 43 , 158 , 179 , 44 , 158 , 179 , 45 , 157 , 179 , 46 , 157 , & 179 , 47 , 156 , 179 , 48 , 156 , 180 , 49 , 155 , 180 , 50 , 155 , & 180 , 51 , 154 , 180 , 52 , 154 , 180 , 53 , 153 , 180 , 54 , 153 , & 181 , 55 , 152 , 181 , 56 , 152 , 181 , 57 , 152 , 181 , 58 , 151 , & 182 , 59 , 151 , 182 , 60 , 150 , 182 , 61 , 150 , 182 , 62 , 150 , & 183 , 63 , 149 , 183 , 64 , 149 , 183 , 65 , 149 , 184 , 66 , 148 , & 184 , 67 , 148 , 184 , 68 , 148 , 184 , 69 , 147 , 185 , 70 , 147 , & 185 , 71 , 147 , 185 , 72 , 146 , 186 , 73 , 146 , 186 , 74 , 146 , & 186 , 75 , 145 , 187 , 75 , 145 , 187 , 76 , 145 , 187 , 77 , 144 , & 188 , 78 , 144 , 188 , 79 , 144 , 188 , 80 , 143 , 188 , 81 , 143 , & 189 , 82 , 143 , 189 , 83 , 143 , 189 , 84 , 142 , 190 , 85 , 142 , & 190 , 85 , 142 , 190 , 86 , 141 , 191 , 87 , 141 , 191 , 88 , 141 , & 191 , 89 , 140 , 191 , 90 , 140 , 192 , 91 , 140 , 192 , 92 , 140 , & 192 , 92 , 139 , 193 , 93 , 139 , 193 , 94 , 139 , 193 , 95 , 138 , & 194 , 96 , 138 , 194 , 97 , 138 , 194 , 98 , 138 , 194 , 99 , 137 , & 195 , 99 , 137 , 195 , 100 , 137 , 195 , 101 , 136 , 196 , 102 , 136 , & 196 , 103 , 136 , 196 , 104 , 136 , 196 , 105 , 135 , 197 , 105 , 135 , & 197 , 106 , 135 , 197 , 107 , 134 , 198 , 108 , 134 , 198 , 109 , 134 , & 198 , 110 , 134 , 198 , 110 , 133 , 199 , 111 , 133 , 199 , 112 , 133 , & 199 , 113 , 132 , 199 , 114 , 132 , 200 , 115 , 132 , 200 , 115 , 132 , & 200 , 116 , 131 , 201 , 117 , 131 , 201 , 118 , 131 , 201 , 119 , 131 , & 201 , 120 , 130 , 202 , 121 , 130 , 202 , 121 , 130 , 202 , 122 , 129 , & 202 , 123 , 129 , 203 , 124 , 129 , 203 , 125 , 129 , 203 , 126 , 128 , & 203 , 126 , 128 , 204 , 127 , 128 , 204 , 128 , 128 , 204 , 129 , 127 , & 204 , 130 , 127 , 205 , 131 , 127 , 205 , 132 , 127 , 205 , 132 , 126 , & 205 , 133 , 126 , 206 , 134 , 126 , 206 , 135 , 126 , 206 , 136 , 126 , & 206 , 137 , 125 , 207 , 138 , 125 , 207 , 138 , 125 , 207 , 139 , 125 , & 207 , 140 , 124 , 207 , 141 , 124 , 208 , 142 , 124 , 208 , 143 , 124 , & 208 , 144 , 124 , 208 , 145 , 123 , 209 , 145 , 123 , 209 , 146 , 123 , & 209 , 147 , 123 , 209 , 148 , 122 , 209 , 149 , 122 , 210 , 150 , 122 , & 210 , 151 , 122 , 210 , 151 , 122 , 210 , 152 , 121 , 210 , 153 , 121 , & 211 , 154 , 121 , 211 , 155 , 121 , 211 , 156 , 120 , 211 , 157 , 120 , & 212 , 158 , 120 , 212 , 158 , 120 , 212 , 159 , 120 , 212 , 160 , 119 , & 212 , 161 , 119 , 213 , 162 , 119 , 213 , 163 , 119 , 213 , 164 , 119 , & 213 , 165 , 118 , 214 , 165 , 118 , 214 , 166 , 118 , 214 , 167 , 118 , & 214 , 168 , 117 , 214 , 169 , 117 , 215 , 170 , 117 , 215 , 171 , 117 , & 215 , 172 , 117 , 215 , 173 , 116 , 216 , 173 , 116 , 216 , 174 , 116 , & 216 , 175 , 116 , 216 , 176 , 115 , 216 , 177 , 115 , 217 , 178 , 115 , & 217 , 179 , 115 , 217 , 180 , 115 , 217 , 181 , 114 , 218 , 181 , 114 , & 218 , 182 , 114 , 218 , 183 , 114 , 218 , 184 , 113 , 218 , 185 , 113 , & 219 , 186 , 113 , 219 , 187 , 113 , 219 , 188 , 113 , 219 , 189 , 112 , & 220 , 190 , 112 , 220 , 191 , 112 , 220 , 191 , 112 , 220 , 192 , 111 , & 221 , 193 , 111 , 221 , 194 , 111 , 221 , 195 , 111 , 221 , 196 , 110 , & 221 , 197 , 110 , 222 , 198 , 110 , 222 , 199 , 110 , 222 , 200 , 110 , & 222 , 201 , 109 , 223 , 202 , 109 , 223 , 202 , 109 , 223 , 203 , 109 , & 223 , 204 , 108 , 224 , 205 , 108 , 224 , 206 , 108 , 224 , 207 , 108 , & 224 , 208 , 107 , 224 , 209 , 107 , 225 , 210 , 107 , 225 , 211 , 107 , & 225 , 212 , 107 , 226 , 213 , 106 , 226 , 214 , 106 , 226 , 215 , 106 , & 226 , 216 , 106 , 227 , 217 , 105 , 227 , 218 , 105 , 227 , 219 , 105 , & 228 , 220 , 105 , 228 , 221 , 105 , 229 , 222 , 104 , 229 , 223 , 104 , & 229 , 224 , 104 , 230 , 225 , 104 , 231 , 226 , 104 , 231 , 227 , 104 , & 232 , 228 , 103 , 232 , 229 , 103 , 233 , 230 , 103 , 234 , 231 , 103 , & 235 , 232 , 103 , 235 , 233 , 103 , 236 , 235 , 103 , 237 , 236 , 103 , & 238 , 237 , 103 , 239 , 238 , 102 , 240 , 239 , 102 , 241 , 240 , 102 , & 242 , 242 , 102 , 243 , 243 , 102 , 244 , 244 , 102 , 246 , 245 , 102 , & 247 , 246 , 102 , 248 , 248 , 102 , 249 , 249 , 102 , 250 , 250 , 102 , & 251 , 251 , 102 , 253 , 253 , 102 , 254 , 254 , 102 , 255 , 255 , 102 & ], shape ( buda ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: buda10 = reshape ( [ & 179 , 1 , 179 , 179 , 43 , 158 , 185 , 72 , 146 , 194 , 97 , 138 , & 202 , 121 , 130 , 209 , 145 , 123 , 215 , 170 , 117 , 221 , 195 , 111 , & 229 , 223 , 104 , 255 , 255 , 102 & ], shape ( buda10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: buda100 = reshape ( [ & 179 , 1 , 179 , 179 , 7 , 176 , 179 , 11 , 174 , 179 , 17 , 172 , & 179 , 20 , 170 , 179 , 24 , 168 , 179 , 27 , 166 , 179 , 31 , 164 , & 179 , 35 , 162 , 179 , 37 , 161 , 179 , 40 , 159 , 179 , 43 , 158 , & 179 , 46 , 157 , 179 , 48 , 156 , 180 , 51 , 154 , 180 , 54 , 153 , & 181 , 56 , 152 , 182 , 59 , 151 , 182 , 61 , 150 , 183 , 64 , 149 , & 184 , 67 , 148 , 184 , 69 , 147 , 185 , 72 , 146 , 186 , 74 , 146 , & 187 , 76 , 145 , 188 , 78 , 144 , 188 , 81 , 143 , 189 , 84 , 142 , & 190 , 85 , 142 , 191 , 88 , 141 , 191 , 90 , 140 , 192 , 92 , 139 , & 193 , 94 , 139 , 194 , 97 , 138 , 195 , 99 , 137 , 195 , 101 , 136 , & 196 , 104 , 136 , 197 , 105 , 135 , 198 , 108 , 134 , 198 , 110 , 134 , & 199 , 112 , 133 , 200 , 115 , 132 , 200 , 116 , 131 , 201 , 119 , 131 , & 202 , 121 , 130 , 202 , 123 , 129 , 203 , 125 , 129 , 204 , 127 , 128 , & 204 , 130 , 127 , 205 , 132 , 127 , 206 , 134 , 126 , 206 , 136 , 126 , & 207 , 138 , 125 , 207 , 141 , 124 , 208 , 143 , 124 , 209 , 145 , 123 , & 209 , 147 , 123 , 210 , 150 , 122 , 210 , 151 , 122 , 211 , 154 , 121 , & 211 , 157 , 120 , 212 , 158 , 120 , 212 , 161 , 119 , 213 , 163 , 119 , & 214 , 165 , 118 , 214 , 167 , 118 , 215 , 170 , 117 , 215 , 173 , 116 , & 216 , 174 , 116 , 216 , 177 , 115 , 217 , 179 , 115 , 218 , 181 , 114 , & 218 , 183 , 114 , 219 , 186 , 113 , 219 , 189 , 112 , 220 , 191 , 112 , & 221 , 193 , 111 , 221 , 195 , 111 , 222 , 198 , 110 , 222 , 200 , 110 , & 223 , 202 , 109 , 224 , 205 , 108 , 224 , 207 , 108 , 225 , 210 , 107 , & 225 , 212 , 107 , 226 , 215 , 106 , 227 , 218 , 105 , 228 , 220 , 105 , & 229 , 223 , 104 , 230 , 225 , 104 , 232 , 228 , 103 , 233 , 230 , 103 , & 235 , 233 , 103 , 238 , 237 , 103 , 240 , 239 , 102 , 243 , 243 , 102 , & 246 , 245 , 102 , 249 , 249 , 102 , 251 , 251 , 102 , 255 , 255 , 102 & ], shape ( buda100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: buda25 = reshape ( [ & 179 , 1 , 179 , 179 , 22 , 169 , 179 , 35 , 162 , 179 , 47 , 156 , & 181 , 58 , 151 , 184 , 68 , 148 , 188 , 78 , 144 , 191 , 87 , 141 , & 194 , 97 , 138 , 197 , 106 , 135 , 200 , 115 , 132 , 203 , 124 , 129 , & 205 , 133 , 126 , 208 , 142 , 124 , 210 , 151 , 122 , 212 , 160 , 119 , & 215 , 170 , 117 , 217 , 180 , 115 , 219 , 189 , 112 , 222 , 199 , 110 , & 224 , 209 , 107 , 227 , 219 , 105 , 233 , 230 , 103 , 242 , 242 , 102 , & 255 , 255 , 102 & ], shape ( buda25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: buda50 = reshape ( [ & 179 , 1 , 179 , 179 , 11 , 174 , 179 , 20 , 170 , 179 , 28 , 166 , & 179 , 35 , 162 , 179 , 40 , 159 , 179 , 46 , 157 , 180 , 51 , 154 , & 181 , 57 , 152 , 182 , 62 , 150 , 184 , 67 , 148 , 185 , 72 , 146 , & 187 , 76 , 145 , 189 , 82 , 143 , 190 , 86 , 141 , 192 , 91 , 140 , & 193 , 95 , 138 , 195 , 99 , 137 , 196 , 105 , 135 , 198 , 109 , 134 , & 199 , 113 , 132 , 201 , 117 , 131 , 202 , 121 , 130 , 203 , 126 , 128 , & 205 , 131 , 127 , 206 , 135 , 126 , 207 , 139 , 125 , 208 , 145 , 123 , & 209 , 149 , 122 , 210 , 153 , 121 , 212 , 158 , 120 , 213 , 162 , 119 , & 214 , 167 , 118 , 215 , 172 , 117 , 216 , 176 , 115 , 217 , 181 , 114 , & 218 , 185 , 113 , 220 , 191 , 112 , 221 , 195 , 111 , 222 , 200 , 110 , & 223 , 204 , 108 , 224 , 209 , 107 , 226 , 215 , 106 , 228 , 220 , 105 , & 230 , 225 , 104 , 233 , 230 , 103 , 237 , 236 , 103 , 243 , 243 , 102 , & 249 , 249 , 102 , 255 , 255 , 102 & ], shape ( buda50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: budaS = reshape ( [ & 179 , 1 , 179 , 255 , 255 , 102 , 205 , 133 , 126 , 188 , 78 , 144 , & 220 , 190 , 112 , 179 , 47 , 156 , 212 , 161 , 119 , 197 , 106 , 135 , & 227 , 219 , 105 , 192 , 92 , 139 , 179 , 28 , 166 , 209 , 147 , 123 , & 201 , 120 , 130 , 183 , 63 , 149 , 237 , 236 , 103 , 216 , 175 , 116 , & 223 , 204 , 108 , 181 , 55 , 152 , 218 , 182 , 114 , 179 , 17 , 172 , & 221 , 197 , 110 , 199 , 113 , 132 , 231 , 227 , 104 , 246 , 245 , 102 , & 195 , 99 , 137 , 179 , 38 , 160 , 211 , 154 , 121 , 207 , 140 , 124 , & 203 , 126 , 128 , 185 , 71 , 147 , 190 , 85 , 142 , 214 , 168 , 117 , & 225 , 211 , 107 , 221 , 193 , 111 , 179 , 23 , 169 , 198 , 110 , 134 , & 250 , 250 , 102 , 200 , 116 , 131 , 191 , 89 , 140 , 212 , 158 , 120 , & 226 , 215 , 106 , 219 , 186 , 113 , 204 , 130 , 127 , 215 , 172 , 117 , & 213 , 165 , 118 , 194 , 96 , 138 , 229 , 223 , 104 , 196 , 103 , 136 , & 241 , 240 , 102 , 210 , 151 , 122 , 179 , 33 , 163 , 182 , 59 , 151 , & 179 , 43 , 158 , 202 , 123 , 129 , 179 , 9 , 175 , 206 , 137 , 125 , & 234 , 231 , 103 , 208 , 144 , 124 , 222 , 201 , 109 , 186 , 75 , 145 , & 184 , 67 , 148 , 217 , 179 , 115 , 189 , 82 , 143 , 180 , 51 , 154 , & 224 , 207 , 108 , 179 , 26 , 167 , 179 , 20 , 170 , 192 , 91 , 140 , & 183 , 65 , 149 , 216 , 173 , 116 , 232 , 229 , 103 , 198 , 108 , 134 , & 179 , 45 , 157 , 222 , 199 , 110 , 205 , 132 , 127 , 216 , 177 , 115 , & 215 , 170 , 117 , 201 , 118 , 131 , 213 , 163 , 119 , 212 , 159 , 120 , & 207 , 138 , 125 , 182 , 61 , 150 , 206 , 135 , 126 , 221 , 195 , 111 , & 199 , 111 , 133 , 220 , 191 , 112 , 217 , 181 , 114 , 248 , 248 , 102 , & 189 , 84 , 142 , 193 , 94 , 139 , 195 , 101 , 136 , 179 , 5 , 177 , & 211 , 156 , 120 , 209 , 145 , 123 , 194 , 98 , 138 , 200 , 115 , 132 , & 203 , 125 , 129 , 187 , 76 , 145 , 181 , 57 , 152 , 179 , 40 , 159 & ], shape ( budaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bukavu = reshape ( [ & 26 , 51 , 51 , 26 , 52 , 53 , 26 , 53 , 55 , 26 , 53 , 57 , & 27 , 54 , 59 , 27 , 55 , 61 , 27 , 56 , 63 , 27 , 57 , 65 , & 27 , 58 , 67 , 28 , 59 , 69 , 28 , 60 , 71 , 28 , 61 , 73 , & 28 , 62 , 76 , 29 , 62 , 78 , 29 , 63 , 80 , 29 , 64 , 82 , & 30 , 66 , 85 , 30 , 67 , 87 , 30 , 68 , 90 , 30 , 69 , 92 , & 31 , 70 , 95 , 31 , 71 , 98 , 31 , 72 , 101 , 32 , 74 , 104 , & 32 , 75 , 107 , 32 , 76 , 110 , 33 , 78 , 113 , 33 , 79 , 117 , & 34 , 81 , 120 , 34 , 82 , 123 , 34 , 84 , 127 , 35 , 85 , 130 , & 35 , 87 , 134 , 36 , 89 , 137 , 36 , 91 , 140 , 37 , 92 , 143 , & 37 , 94 , 146 , 38 , 96 , 149 , 39 , 98 , 151 , 39 , 100 , 154 , & 40 , 102 , 156 , 41 , 104 , 159 , 41 , 105 , 161 , 42 , 107 , 163 , & 42 , 109 , 166 , 43 , 111 , 168 , 44 , 113 , 170 , 44 , 115 , 173 , & 45 , 117 , 175 , 45 , 118 , 177 , 46 , 120 , 180 , 47 , 122 , 182 , & 47 , 124 , 184 , 48 , 126 , 186 , 49 , 127 , 189 , 50 , 129 , 191 , & 50 , 131 , 192 , 52 , 133 , 194 , 53 , 135 , 196 , 54 , 137 , 197 , & 56 , 138 , 198 , 58 , 140 , 198 , 59 , 142 , 199 , 61 , 144 , 199 , & 63 , 146 , 200 , 65 , 147 , 200 , 67 , 149 , 200 , 69 , 151 , 200 , & 71 , 153 , 200 , 73 , 154 , 200 , 75 , 156 , 200 , 76 , 158 , 201 , & 78 , 160 , 201 , 80 , 161 , 201 , 82 , 163 , 201 , 84 , 165 , 201 , & 86 , 166 , 201 , 88 , 168 , 201 , 89 , 170 , 201 , 91 , 171 , 202 , & 93 , 173 , 202 , 95 , 174 , 202 , 97 , 176 , 202 , 98 , 178 , 202 , & 100 , 179 , 202 , 102 , 181 , 202 , 104 , 183 , 202 , 106 , 184 , 203 , & 107 , 186 , 203 , 109 , 187 , 203 , 111 , 189 , 203 , 113 , 191 , 203 , & 114 , 192 , 203 , 116 , 194 , 203 , 118 , 195 , 203 , 120 , 197 , 204 , & 122 , 199 , 204 , 124 , 200 , 204 , 127 , 202 , 204 , 129 , 204 , 205 , & 132 , 205 , 205 , 135 , 207 , 206 , 138 , 209 , 207 , 142 , 211 , 208 , & 146 , 213 , 209 , 149 , 215 , 209 , 153 , 217 , 210 , 157 , 218 , 211 , & 160 , 220 , 212 , 164 , 222 , 213 , 168 , 224 , 214 , 172 , 226 , 215 , & 175 , 228 , 216 , 179 , 230 , 217 , 182 , 231 , 218 , 186 , 233 , 219 , & 190 , 235 , 220 , 193 , 237 , 220 , 197 , 239 , 221 , 200 , 240 , 222 , & 204 , 242 , 223 , 207 , 244 , 224 , 211 , 246 , 225 , 214 , 247 , 226 , & 218 , 249 , 227 , 221 , 251 , 227 , 224 , 252 , 228 , 228 , 254 , 229 , & 1 , 64 , 38 , 2 , 65 , 37 , 3 , 66 , 36 , 4 , 68 , 35 , & 5 , 69 , 34 , 6 , 70 , 33 , 7 , 71 , 32 , 8 , 73 , 31 , & 9 , 74 , 30 , 11 , 75 , 29 , 12 , 77 , 28 , 14 , 78 , 27 , & 15 , 80 , 26 , 17 , 81 , 25 , 19 , 83 , 24 , 21 , 84 , 23 , & 23 , 86 , 22 , 26 , 88 , 21 , 28 , 89 , 20 , 31 , 91 , 19 , & 34 , 93 , 19 , 37 , 94 , 18 , 40 , 96 , 18 , 43 , 98 , 18 , & 47 , 99 , 18 , 50 , 101 , 19 , 54 , 102 , 19 , 57 , 103 , 20 , & 61 , 105 , 21 , 64 , 106 , 22 , 68 , 107 , 23 , 71 , 108 , 25 , & 75 , 109 , 26 , 78 , 110 , 27 , 82 , 111 , 29 , 85 , 111 , 30 , & 88 , 112 , 32 , 91 , 113 , 33 , 94 , 113 , 35 , 97 , 114 , 36 , & 100 , 114 , 37 , 103 , 115 , 39 , 105 , 115 , 40 , 108 , 116 , 41 , & 111 , 116 , 43 , 113 , 117 , 44 , 116 , 117 , 45 , 118 , 118 , 46 , & 120 , 118 , 47 , 123 , 118 , 49 , 125 , 119 , 50 , 127 , 119 , 51 , & 130 , 120 , 52 , 132 , 120 , 53 , 134 , 120 , 54 , 136 , 121 , 56 , & 139 , 121 , 57 , 141 , 122 , 58 , 143 , 122 , 59 , 145 , 123 , 60 , & 147 , 123 , 62 , 150 , 124 , 63 , 152 , 124 , 64 , 154 , 125 , 66 , & 156 , 126 , 67 , 158 , 126 , 69 , 161 , 127 , 71 , 163 , 128 , 73 , & 165 , 130 , 75 , 167 , 131 , 77 , 170 , 132 , 79 , 172 , 134 , 82 , & 174 , 135 , 84 , 176 , 137 , 87 , 178 , 139 , 90 , 180 , 141 , 93 , & 182 , 143 , 96 , 183 , 145 , 99 , 185 , 147 , 102 , 187 , 149 , 105 , & 188 , 151 , 108 , 190 , 153 , 111 , 191 , 156 , 114 , 192 , 158 , 118 , & 194 , 160 , 121 , 195 , 162 , 124 , 196 , 165 , 127 , 197 , 167 , 130 , & 198 , 169 , 133 , 200 , 172 , 137 , 201 , 174 , 140 , 202 , 176 , 143 , & 203 , 178 , 146 , 204 , 181 , 150 , 205 , 183 , 153 , 206 , 185 , 156 , & 207 , 187 , 160 , 208 , 189 , 163 , 210 , 192 , 166 , 211 , 194 , 170 , & 212 , 196 , 173 , 213 , 198 , 176 , 214 , 200 , 180 , 215 , 202 , 183 , & 216 , 204 , 186 , 217 , 205 , 190 , 218 , 207 , 193 , 219 , 209 , 196 , & 220 , 211 , 199 , 221 , 212 , 202 , 222 , 214 , 205 , 223 , 215 , 208 , & 224 , 217 , 210 , 225 , 218 , 213 , 226 , 219 , 216 , 227 , 221 , 219 , & 227 , 222 , 221 , 228 , 223 , 224 , 229 , 225 , 227 , 230 , 226 , 229 , & 231 , 227 , 232 , 232 , 229 , 235 , 233 , 230 , 237 , 233 , 231 , 240 , & 234 , 233 , 243 , 235 , 234 , 246 , 236 , 236 , 249 , 237 , 237 , 252 & ], shape ( bukavu ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bukavu10 = reshape ( [ & 26 , 51 , 51 , 34 , 81 , 120 , 52 , 133 , 194 , 102 , 181 , 202 , & 179 , 230 , 217 , 19 , 83 , 24 , 105 , 115 , 40 , 170 , 132 , 79 , & 211 , 194 , 170 , 237 , 237 , 252 & ], shape ( bukavu10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bukavu100 = reshape ( [ & 26 , 51 , 51 , 26 , 53 , 57 , 27 , 55 , 61 , 27 , 58 , 67 , & 28 , 60 , 71 , 29 , 62 , 78 , 29 , 64 , 82 , 30 , 68 , 90 , & 31 , 71 , 98 , 32 , 74 , 104 , 33 , 78 , 113 , 34 , 81 , 120 , & 35 , 85 , 130 , 36 , 89 , 137 , 37 , 94 , 146 , 39 , 100 , 154 , & 41 , 104 , 159 , 42 , 109 , 166 , 44 , 113 , 170 , 45 , 118 , 177 , & 47 , 124 , 184 , 49 , 127 , 189 , 52 , 133 , 194 , 54 , 137 , 197 , & 59 , 142 , 199 , 63 , 146 , 200 , 69 , 151 , 200 , 75 , 156 , 200 , & 78 , 160 , 201 , 84 , 165 , 201 , 88 , 168 , 201 , 93 , 173 , 202 , & 97 , 176 , 202 , 102 , 181 , 202 , 107 , 186 , 203 , 111 , 189 , 203 , & 116 , 194 , 203 , 120 , 197 , 204 , 127 , 202 , 204 , 132 , 205 , 205 , & 142 , 211 , 208 , 153 , 217 , 210 , 160 , 220 , 212 , 172 , 226 , 215 , & 179 , 230 , 217 , 190 , 235 , 220 , 197 , 239 , 221 , 207 , 244 , 224 , & 218 , 249 , 227 , 224 , 252 , 228 , 2 , 65 , 37 , 4 , 68 , 35 , & 7 , 71 , 32 , 11 , 75 , 29 , 14 , 78 , 27 , 19 , 83 , 24 , & 23 , 86 , 22 , 31 , 91 , 19 , 37 , 94 , 18 , 47 , 99 , 18 , & 57 , 103 , 20 , 64 , 106 , 22 , 75 , 109 , 26 , 82 , 111 , 29 , & 91 , 113 , 33 , 97 , 114 , 36 , 105 , 115 , 40 , 113 , 117 , 44 , & 118 , 118 , 46 , 125 , 119 , 50 , 130 , 120 , 52 , 136 , 121 , 56 , & 141 , 122 , 58 , 147 , 123 , 62 , 154 , 125 , 66 , 158 , 126 , 69 , & 165 , 130 , 75 , 170 , 132 , 79 , 176 , 137 , 87 , 180 , 141 , 93 , & 185 , 147 , 102 , 190 , 153 , 111 , 192 , 158 , 118 , 196 , 165 , 127 , & 198 , 169 , 133 , 202 , 176 , 143 , 205 , 183 , 153 , 207 , 187 , 160 , & 211 , 194 , 170 , 213 , 198 , 176 , 216 , 204 , 186 , 218 , 207 , 193 , & 221 , 212 , 202 , 224 , 217 , 210 , 226 , 219 , 216 , 228 , 223 , 224 , & 230 , 226 , 229 , 233 , 230 , 237 , 234 , 233 , 243 , 237 , 237 , 252 & ], shape ( bukavu100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bukavu25 = reshape ( [ & 26 , 51 , 51 , 28 , 61 , 73 , 31 , 71 , 98 , 35 , 87 , 134 , & 42 , 107 , 163 , 48 , 126 , 186 , 63 , 146 , 200 , 82 , 163 , 201 , & 102 , 181 , 202 , 122 , 199 , 204 , 153 , 217 , 210 , 193 , 237 , 220 , & 1 , 64 , 38 , 12 , 77 , 28 , 37 , 94 , 18 , 71 , 108 , 25 , & 105 , 115 , 40 , 132 , 120 , 53 , 154 , 125 , 66 , 178 , 139 , 90 , & 195 , 162 , 124 , 206 , 185 , 156 , 218 , 207 , 193 , 227 , 222 , 221 , & 237 , 237 , 252 & ], shape ( bukavu25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bukavu50 = reshape ( [ & 26 , 51 , 51 , 27 , 55 , 61 , 28 , 60 , 71 , 30 , 66 , 85 , & 31 , 71 , 98 , 33 , 78 , 113 , 35 , 85 , 130 , 37 , 94 , 146 , & 41 , 105 , 161 , 44 , 115 , 173 , 47 , 124 , 184 , 52 , 133 , 194 , & 59 , 142 , 199 , 71 , 153 , 200 , 80 , 161 , 201 , 89 , 170 , 201 , & 98 , 178 , 202 , 107 , 186 , 203 , 118 , 195 , 203 , 129 , 204 , 205 , & 146 , 213 , 209 , 164 , 222 , 213 , 182 , 231 , 218 , 204 , 242 , 223 , & 221 , 251 , 227 , 3 , 66 , 36 , 8 , 73 , 31 , 17 , 81 , 25 , & 28 , 89 , 20 , 43 , 98 , 18 , 61 , 105 , 21 , 78 , 110 , 27 , & 97 , 114 , 36 , 111 , 116 , 43 , 123 , 118 , 49 , 134 , 120 , 54 , & 145 , 123 , 60 , 158 , 126 , 69 , 170 , 132 , 79 , 180 , 141 , 93 , & 188 , 151 , 108 , 195 , 162 , 124 , 202 , 176 , 143 , 207 , 187 , 160 , & 213 , 198 , 176 , 218 , 207 , 193 , 223 , 215 , 208 , 228 , 223 , 224 , & 233 , 230 , 237 , 237 , 237 , 252 & ], shape ( bukavu50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: cork = reshape ( [ & 44 , 25 , 76 , 44 , 27 , 78 , 44 , 29 , 79 , 43 , 30 , 81 , & 43 , 32 , 83 , 43 , 34 , 84 , 43 , 35 , 86 , 43 , 37 , 87 , & 43 , 38 , 89 , 43 , 40 , 91 , 43 , 41 , 92 , 42 , 43 , 94 , & 42 , 44 , 95 , 42 , 46 , 97 , 42 , 47 , 98 , 42 , 49 , 100 , & 42 , 50 , 101 , 41 , 52 , 103 , 41 , 54 , 104 , 41 , 55 , 106 , & 41 , 57 , 107 , 41 , 58 , 109 , 40 , 60 , 110 , 40 , 61 , 112 , & 40 , 63 , 114 , 40 , 64 , 115 , 40 , 66 , 117 , 40 , 67 , 118 , & 40 , 69 , 120 , 40 , 70 , 121 , 40 , 72 , 123 , 40 , 74 , 124 , & 40 , 75 , 126 , 40 , 77 , 127 , 41 , 79 , 129 , 41 , 80 , 130 , & 42 , 82 , 132 , 42 , 83 , 133 , 43 , 85 , 135 , 44 , 87 , 136 , & 45 , 89 , 138 , 46 , 90 , 139 , 47 , 92 , 141 , 48 , 94 , 142 , & 50 , 95 , 143 , 51 , 97 , 145 , 53 , 99 , 146 , 54 , 100 , 147 , & 56 , 102 , 149 , 58 , 104 , 150 , 60 , 105 , 151 , 61 , 107 , 152 , & 63 , 108 , 153 , 65 , 110 , 155 , 67 , 112 , 156 , 69 , 113 , 157 , & 71 , 115 , 158 , 73 , 116 , 159 , 75 , 118 , 160 , 76 , 119 , 161 , & 78 , 121 , 162 , 80 , 122 , 163 , 82 , 124 , 164 , 84 , 125 , 165 , & 86 , 127 , 166 , 88 , 128 , 167 , 90 , 130 , 168 , 92 , 131 , 169 , & 94 , 133 , 170 , 96 , 134 , 172 , 98 , 136 , 173 , 100 , 137 , 174 , & 102 , 139 , 175 , 104 , 141 , 176 , 106 , 142 , 177 , 109 , 144 , 178 , & 111 , 146 , 179 , 113 , 147 , 180 , 115 , 149 , 182 , 117 , 151 , 183 , & 119 , 152 , 184 , 122 , 154 , 185 , 124 , 156 , 186 , 126 , 157 , 187 , & 129 , 159 , 189 , 131 , 161 , 190 , 133 , 163 , 191 , 136 , 164 , 192 , & 138 , 166 , 194 , 140 , 168 , 195 , 143 , 170 , 196 , 145 , 172 , 197 , & 148 , 174 , 199 , 150 , 175 , 200 , 153 , 177 , 201 , 155 , 179 , 203 , & 158 , 181 , 204 , 160 , 183 , 205 , 163 , 185 , 207 , 165 , 187 , 208 , & 168 , 189 , 209 , 170 , 191 , 211 , 173 , 193 , 212 , 176 , 195 , 213 , & 178 , 197 , 215 , 181 , 199 , 216 , 184 , 201 , 218 , 186 , 203 , 219 , & 189 , 205 , 220 , 192 , 207 , 222 , 194 , 209 , 223 , 197 , 211 , 225 , & 200 , 213 , 226 , 202 , 215 , 227 , 205 , 217 , 229 , 208 , 219 , 230 , & 210 , 221 , 231 , 213 , 223 , 232 , 215 , 225 , 233 , 218 , 227 , 234 , & 220 , 229 , 235 , 222 , 230 , 236 , 224 , 232 , 237 , 226 , 233 , 237 , & 227 , 235 , 237 , 229 , 236 , 237 , 230 , 237 , 237 , 230 , 237 , 237 , & 230 , 237 , 236 , 230 , 238 , 235 , 230 , 238 , 234 , 229 , 237 , 232 , & 228 , 237 , 231 , 227 , 236 , 229 , 226 , 235 , 227 , 224 , 234 , 225 , & 222 , 233 , 223 , 220 , 232 , 221 , 218 , 231 , 219 , 216 , 229 , 217 , & 214 , 228 , 214 , 212 , 226 , 212 , 210 , 225 , 210 , 207 , 223 , 207 , & 205 , 222 , 205 , 203 , 220 , 203 , 200 , 219 , 200 , 198 , 217 , 198 , & 196 , 215 , 195 , 193 , 214 , 193 , 191 , 212 , 191 , 188 , 211 , 188 , & 186 , 209 , 186 , 183 , 207 , 183 , 181 , 206 , 181 , 178 , 204 , 178 , & 176 , 202 , 176 , 174 , 201 , 173 , 171 , 199 , 171 , 169 , 197 , 168 , & 166 , 196 , 166 , 164 , 194 , 163 , 161 , 192 , 161 , 159 , 191 , 159 , & 156 , 189 , 156 , 154 , 187 , 154 , 151 , 186 , 151 , 149 , 184 , 149 , & 146 , 183 , 146 , 144 , 181 , 144 , 142 , 179 , 141 , 139 , 178 , 139 , & 137 , 176 , 136 , 134 , 174 , 134 , 132 , 173 , 132 , 130 , 171 , 129 , & 127 , 170 , 127 , 125 , 168 , 125 , 123 , 167 , 122 , 120 , 165 , 120 , & 118 , 163 , 118 , 116 , 162 , 115 , 113 , 160 , 113 , 111 , 159 , 111 , & 109 , 157 , 108 , 107 , 156 , 106 , 104 , 154 , 104 , 102 , 153 , 102 , & 100 , 151 , 100 , 98 , 150 , 97 , 96 , 149 , 95 , 93 , 147 , 93 , & 91 , 146 , 91 , 89 , 144 , 89 , 87 , 143 , 87 , 85 , 141 , 85 , & 83 , 140 , 82 , 81 , 139 , 80 , 79 , 137 , 78 , 77 , 136 , 76 , & 75 , 134 , 74 , 73 , 133 , 72 , 71 , 132 , 70 , 69 , 130 , 68 , & 67 , 129 , 66 , 65 , 127 , 64 , 63 , 126 , 62 , 61 , 125 , 60 , & 59 , 123 , 58 , 57 , 122 , 56 , 55 , 120 , 54 , 53 , 119 , 52 , & 51 , 117 , 50 , 49 , 116 , 48 , 47 , 114 , 46 , 45 , 112 , 44 , & 43 , 111 , 42 , 42 , 109 , 40 , 40 , 107 , 38 , 38 , 106 , 37 , & 37 , 104 , 35 , 35 , 102 , 33 , 34 , 100 , 32 , 32 , 99 , 30 , & 31 , 97 , 29 , 30 , 95 , 27 , 29 , 93 , 26 , 28 , 91 , 25 , & 27 , 89 , 23 , 26 , 88 , 22 , 25 , 86 , 21 , 24 , 84 , 20 , & 24 , 82 , 19 , 23 , 80 , 18 , 23 , 78 , 18 , 22 , 76 , 17 , & 22 , 75 , 16 , 21 , 73 , 15 , 21 , 71 , 15 , 20 , 69 , 14 , & 20 , 67 , 13 , 19 , 65 , 13 , 19 , 64 , 12 , 19 , 62 , 12 , & 18 , 60 , 11 , 18 , 58 , 10 , 18 , 56 , 10 , 17 , 55 , 9 , & 17 , 53 , 8 , 17 , 51 , 8 , 16 , 49 , 7 , 16 , 48 , 6 , & 16 , 46 , 5 , 16 , 44 , 5 , 15 , 43 , 4 , 15 , 41 , 3 & ], shape ( cork ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: cork10 = reshape ( [ & 44 , 25 , 76 , 40 , 69 , 120 , 73 , 116 , 159 , 131 , 161 , 190 , & 202 , 215 , 227 , 210 , 225 , 210 , 142 , 179 , 141 , 79 , 137 , 78 , & 28 , 91 , 25 , 15 , 41 , 3 & ], shape ( cork10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: cork100 = reshape ( [ & 44 , 25 , 76 , 43 , 30 , 81 , 43 , 34 , 84 , 43 , 38 , 89 , & 43 , 41 , 92 , 42 , 46 , 97 , 42 , 49 , 100 , 41 , 54 , 104 , & 41 , 58 , 109 , 40 , 61 , 112 , 40 , 66 , 117 , 40 , 69 , 120 , & 40 , 74 , 124 , 40 , 77 , 127 , 42 , 82 , 132 , 44 , 87 , 136 , & 46 , 90 , 139 , 50 , 95 , 143 , 53 , 99 , 146 , 58 , 104 , 150 , & 63 , 108 , 153 , 67 , 112 , 156 , 73 , 116 , 159 , 76 , 119 , 161 , & 82 , 124 , 164 , 86 , 127 , 166 , 92 , 131 , 169 , 98 , 136 , 173 , & 102 , 139 , 175 , 109 , 144 , 178 , 113 , 147 , 180 , 119 , 152 , 184 , & 124 , 156 , 186 , 131 , 161 , 190 , 138 , 166 , 194 , 143 , 170 , 196 , & 150 , 175 , 200 , 155 , 179 , 203 , 163 , 185 , 207 , 168 , 189 , 209 , & 176 , 195 , 213 , 184 , 201 , 218 , 189 , 205 , 220 , 197 , 211 , 225 , & 202 , 215 , 227 , 210 , 221 , 231 , 215 , 225 , 233 , 222 , 230 , 236 , & 227 , 235 , 237 , 230 , 237 , 237 , 230 , 238 , 235 , 229 , 237 , 232 , & 226 , 235 , 227 , 220 , 232 , 221 , 216 , 229 , 217 , 210 , 225 , 210 , & 205 , 222 , 205 , 198 , 217 , 198 , 193 , 214 , 193 , 186 , 209 , 186 , & 178 , 204 , 178 , 174 , 201 , 173 , 166 , 196 , 166 , 161 , 192 , 161 , & 154 , 187 , 154 , 149 , 184 , 149 , 142 , 179 , 141 , 134 , 174 , 134 , & 130 , 171 , 129 , 123 , 167 , 122 , 118 , 163 , 118 , 111 , 159 , 111 , & 107 , 156 , 106 , 100 , 151 , 100 , 93 , 147 , 93 , 89 , 144 , 89 , & 83 , 140 , 82 , 79 , 137 , 78 , 73 , 133 , 72 , 69 , 130 , 68 , & 63 , 126 , 62 , 57 , 122 , 56 , 53 , 119 , 52 , 47 , 114 , 46 , & 43 , 111 , 42 , 38 , 106 , 37 , 34 , 100 , 32 , 31 , 97 , 29 , & 28 , 91 , 25 , 26 , 88 , 22 , 24 , 82 , 19 , 23 , 78 , 18 , & 21 , 73 , 15 , 20 , 67 , 13 , 19 , 64 , 12 , 18 , 58 , 10 , & 17 , 55 , 9 , 16 , 49 , 7 , 16 , 46 , 5 , 15 , 41 , 3 & ], shape ( cork100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: cork25 = reshape ( [ & 44 , 25 , 76 , 42 , 43 , 94 , 41 , 58 , 109 , 40 , 75 , 126 , & 48 , 94 , 142 , 65 , 110 , 155 , 86 , 127 , 166 , 106 , 142 , 177 , & 131 , 161 , 190 , 158 , 181 , 204 , 184 , 201 , 218 , 213 , 223 , 232 , & 230 , 237 , 236 , 218 , 231 , 219 , 193 , 214 , 193 , 169 , 197 , 168 , & 142 , 179 , 141 , 116 , 162 , 115 , 93 , 147 , 93 , 71 , 132 , 70 , & 49 , 116 , 48 , 32 , 99 , 30 , 23 , 78 , 18 , 18 , 60 , 11 , & 15 , 41 , 3 & ], shape ( cork25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: cork50 = reshape ( [ & 44 , 25 , 76 , 43 , 34 , 84 , 43 , 41 , 92 , 42 , 50 , 101 , & 41 , 58 , 109 , 40 , 66 , 117 , 40 , 74 , 124 , 42 , 82 , 132 , & 47 , 92 , 141 , 54 , 100 , 147 , 63 , 108 , 153 , 73 , 116 , 159 , & 82 , 124 , 164 , 94 , 133 , 170 , 104 , 141 , 176 , 115 , 149 , 182 , & 126 , 157 , 187 , 138 , 166 , 194 , 153 , 177 , 201 , 165 , 187 , 208 , & 178 , 197 , 215 , 192 , 207 , 222 , 205 , 217 , 229 , 220 , 229 , 235 , & 229 , 236 , 237 , 230 , 238 , 234 , 224 , 234 , 225 , 212 , 226 , 212 , & 200 , 219 , 200 , 188 , 211 , 188 , 176 , 202 , 176 , 164 , 194 , 163 , & 149 , 184 , 149 , 137 , 176 , 136 , 125 , 168 , 125 , 113 , 160 , 113 , & 102 , 153 , 102 , 89 , 144 , 89 , 79 , 137 , 78 , 69 , 130 , 68 , & 59 , 123 , 58 , 49 , 116 , 48 , 38 , 106 , 37 , 31 , 97 , 29 , & 26 , 88 , 22 , 23 , 78 , 18 , 20 , 69 , 14 , 18 , 58 , 10 , & 16 , 49 , 7 , 15 , 41 , 3 & ], shape ( cork50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: corkO = reshape ( [ & 63 , 62 , 58 , 63 , 62 , 59 , 63 , 62 , 60 , 63 , 61 , 61 , & 62 , 61 , 62 , 62 , 61 , 63 , 62 , 61 , 64 , 62 , 61 , 65 , & 62 , 61 , 66 , 62 , 61 , 67 , 62 , 61 , 68 , 62 , 61 , 69 , & 62 , 61 , 70 , 62 , 61 , 71 , 62 , 61 , 72 , 62 , 61 , 73 , & 62 , 61 , 75 , 62 , 61 , 76 , 62 , 62 , 77 , 62 , 62 , 79 , & 62 , 63 , 80 , 62 , 63 , 82 , 62 , 64 , 83 , 62 , 64 , 85 , & 62 , 65 , 86 , 62 , 65 , 88 , 62 , 66 , 90 , 62 , 67 , 91 , & 62 , 68 , 93 , 62 , 69 , 95 , 63 , 70 , 97 , 63 , 71 , 98 , & 63 , 72 , 100 , 64 , 73 , 102 , 64 , 74 , 104 , 64 , 75 , 106 , & 65 , 76 , 108 , 65 , 78 , 110 , 66 , 79 , 112 , 66 , 80 , 114 , & 67 , 82 , 116 , 68 , 83 , 118 , 68 , 85 , 120 , 69 , 86 , 122 , & 70 , 88 , 124 , 71 , 89 , 126 , 71 , 91 , 128 , 72 , 93 , 130 , & 73 , 94 , 132 , 74 , 96 , 134 , 75 , 98 , 135 , 77 , 99 , 137 , & 78 , 101 , 139 , 79 , 103 , 141 , 80 , 105 , 143 , 81 , 106 , 145 , & 83 , 108 , 146 , 84 , 110 , 148 , 86 , 112 , 150 , 87 , 113 , 151 , & 88 , 115 , 153 , 90 , 117 , 155 , 92 , 119 , 156 , 93 , 120 , 158 , & 95 , 122 , 159 , 96 , 124 , 161 , 98 , 126 , 162 , 100 , 127 , 164 , & 101 , 129 , 165 , 103 , 131 , 166 , 105 , 133 , 168 , 106 , 134 , 169 , & 108 , 136 , 171 , 110 , 138 , 172 , 112 , 140 , 173 , 114 , 141 , 174 , & 115 , 143 , 176 , 117 , 145 , 177 , 119 , 146 , 178 , 121 , 148 , 179 , & 123 , 150 , 180 , 124 , 151 , 182 , 126 , 153 , 183 , 128 , 155 , 184 , & 130 , 156 , 185 , 132 , 158 , 186 , 134 , 160 , 187 , 135 , 161 , 188 , & 137 , 163 , 189 , 139 , 164 , 190 , 141 , 166 , 191 , 143 , 167 , 192 , & 144 , 169 , 192 , 146 , 171 , 193 , 148 , 172 , 194 , 150 , 174 , 195 , & 151 , 175 , 195 , 153 , 177 , 196 , 154 , 178 , 197 , 156 , 179 , 197 , & 158 , 181 , 198 , 159 , 182 , 198 , 161 , 184 , 199 , 162 , 185 , 199 , & 163 , 186 , 199 , 165 , 187 , 200 , 166 , 189 , 200 , 167 , 190 , 200 , & 168 , 191 , 200 , 169 , 192 , 200 , 170 , 193 , 200 , 171 , 194 , 200 , & 172 , 195 , 200 , 173 , 196 , 200 , 174 , 197 , 199 , 174 , 198 , 199 , & 175 , 198 , 199 , 175 , 199 , 198 , 176 , 200 , 197 , 176 , 200 , 197 , & 176 , 201 , 196 , 176 , 201 , 195 , 176 , 202 , 194 , 176 , 202 , 193 , & 176 , 202 , 192 , 176 , 202 , 191 , 176 , 202 , 190 , 175 , 203 , 189 , & 175 , 203 , 188 , 174 , 202 , 187 , 173 , 202 , 185 , 173 , 202 , 184 , & 172 , 202 , 182 , 171 , 202 , 181 , 170 , 201 , 179 , 169 , 201 , 178 , & 168 , 200 , 176 , 167 , 200 , 175 , 166 , 199 , 173 , 165 , 199 , 171 , & 163 , 198 , 170 , 162 , 197 , 168 , 161 , 196 , 166 , 159 , 196 , 164 , & 158 , 195 , 163 , 156 , 194 , 161 , 155 , 193 , 159 , 153 , 192 , 157 , & 152 , 191 , 155 , 150 , 190 , 153 , 149 , 189 , 151 , 147 , 188 , 149 , & 145 , 187 , 147 , 144 , 186 , 145 , 142 , 185 , 143 , 140 , 183 , 141 , & 139 , 182 , 139 , 137 , 181 , 137 , 135 , 180 , 135 , 134 , 178 , 133 , & 132 , 177 , 131 , 130 , 176 , 129 , 128 , 174 , 127 , 127 , 173 , 125 , & 125 , 172 , 123 , 123 , 170 , 121 , 122 , 169 , 119 , 120 , 167 , 117 , & 118 , 166 , 115 , 117 , 164 , 113 , 115 , 163 , 111 , 113 , 161 , 108 , & 112 , 159 , 106 , 110 , 158 , 104 , 108 , 156 , 102 , 107 , 154 , 100 , & 105 , 153 , 98 , 104 , 151 , 96 , 102 , 149 , 94 , 101 , 148 , 92 , & 99 , 146 , 90 , 98 , 144 , 88 , 96 , 142 , 86 , 95 , 141 , 84 , & 94 , 139 , 82 , 92 , 137 , 80 , 91 , 135 , 78 , 90 , 134 , 76 , & 89 , 132 , 74 , 87 , 130 , 73 , 86 , 128 , 71 , 85 , 127 , 69 , & 84 , 125 , 68 , 83 , 123 , 66 , 82 , 121 , 65 , 81 , 120 , 63 , & 80 , 118 , 62 , 79 , 116 , 60 , 79 , 115 , 59 , 78 , 113 , 58 , & 77 , 111 , 56 , 76 , 110 , 55 , 76 , 108 , 54 , 75 , 107 , 53 , & 74 , 105 , 52 , 74 , 104 , 51 , 73 , 102 , 50 , 73 , 101 , 50 , & 72 , 100 , 49 , 72 , 98 , 48 , 71 , 97 , 48 , 71 , 96 , 47 , & 70 , 94 , 47 , 70 , 93 , 46 , 70 , 92 , 46 , 69 , 91 , 45 , & 69 , 89 , 45 , 69 , 88 , 45 , 69 , 87 , 45 , 68 , 86 , 44 , & 68 , 85 , 44 , 68 , 84 , 44 , 68 , 83 , 44 , 67 , 82 , 44 , & 67 , 81 , 44 , 67 , 80 , 44 , 67 , 79 , 44 , 67 , 79 , 44 , & 66 , 78 , 45 , 66 , 77 , 45 , 66 , 76 , 45 , 66 , 75 , 45 , & 66 , 75 , 46 , 66 , 74 , 46 , 66 , 73 , 46 , 65 , 72 , 47 , & 65 , 72 , 47 , 65 , 71 , 47 , 65 , 71 , 48 , 65 , 70 , 48 , & 65 , 69 , 49 , 65 , 69 , 49 , 65 , 68 , 50 , 64 , 68 , 50 , & 64 , 67 , 51 , 64 , 67 , 51 , 64 , 66 , 52 , 64 , 66 , 52 , & 64 , 65 , 53 , 64 , 65 , 54 , 64 , 64 , 54 , 63 , 64 , 55 , & 63 , 63 , 56 , 63 , 63 , 56 , 63 , 63 , 57 , 63 , 62 , 58 & ], shape ( corkO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: corkO10 = reshape ( [ & 63 , 62 , 58 , 62 , 68 , 93 , 84 , 110 , 148 , 132 , 158 , 186 , & 173 , 196 , 200 , 161 , 196 , 166 , 115 , 163 , 111 , 79 , 115 , 59 , & 67 , 79 , 44 , 63 , 62 , 58 & ], shape ( corkO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: corkO100 = reshape ( [ & 63 , 62 , 58 , 63 , 61 , 61 , 62 , 61 , 63 , 62 , 61 , 66 , & 62 , 61 , 68 , 62 , 61 , 71 , 62 , 61 , 73 , 62 , 62 , 77 , & 62 , 63 , 82 , 62 , 64 , 85 , 62 , 66 , 90 , 62 , 68 , 93 , & 63 , 71 , 98 , 64 , 73 , 102 , 65 , 76 , 108 , 66 , 80 , 114 , & 68 , 83 , 118 , 70 , 88 , 124 , 71 , 91 , 128 , 74 , 96 , 134 , & 78 , 101 , 139 , 80 , 105 , 143 , 84 , 110 , 148 , 87 , 113 , 151 , & 92 , 119 , 156 , 95 , 122 , 159 , 100 , 127 , 164 , 105 , 133 , 168 , & 108 , 136 , 171 , 114 , 141 , 174 , 117 , 145 , 177 , 123 , 150 , 180 , & 126 , 153 , 183 , 132 , 158 , 186 , 137 , 163 , 189 , 141 , 166 , 191 , & 146 , 171 , 193 , 150 , 174 , 195 , 154 , 178 , 197 , 158 , 181 , 198 , & 162 , 185 , 199 , 166 , 189 , 200 , 168 , 191 , 200 , 171 , 194 , 200 , & 173 , 196 , 200 , 175 , 198 , 199 , 176 , 200 , 197 , 176 , 201 , 195 , & 176 , 202 , 192 , 176 , 202 , 190 , 174 , 202 , 187 , 173 , 202 , 184 , & 170 , 201 , 179 , 167 , 200 , 175 , 165 , 199 , 171 , 161 , 196 , 166 , & 158 , 195 , 163 , 153 , 192 , 157 , 150 , 190 , 153 , 145 , 187 , 147 , & 140 , 183 , 141 , 137 , 181 , 137 , 132 , 177 , 131 , 128 , 174 , 127 , & 123 , 170 , 121 , 120 , 167 , 117 , 115 , 163 , 111 , 110 , 158 , 104 , & 107 , 154 , 100 , 102 , 149 , 94 , 99 , 146 , 90 , 95 , 141 , 84 , & 92 , 137 , 80 , 89 , 132 , 74 , 85 , 127 , 69 , 83 , 123 , 66 , & 80 , 118 , 62 , 79 , 115 , 59 , 76 , 110 , 55 , 75 , 107 , 53 , & 73 , 102 , 50 , 72 , 98 , 48 , 71 , 96 , 47 , 70 , 92 , 46 , & 69 , 89 , 45 , 68 , 86 , 44 , 68 , 83 , 44 , 67 , 81 , 44 , & 67 , 79 , 44 , 66 , 77 , 45 , 66 , 75 , 46 , 66 , 73 , 46 , & 65 , 71 , 47 , 65 , 69 , 49 , 65 , 68 , 50 , 64 , 67 , 51 , & 64 , 66 , 52 , 64 , 64 , 54 , 63 , 63 , 56 , 63 , 62 , 58 & ], shape ( corkO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: corkO25 = reshape ( [ & 63 , 62 , 58 , 62 , 61 , 69 , 62 , 63 , 82 , 63 , 72 , 100 , & 69 , 86 , 122 , 79 , 103 , 141 , 95 , 122 , 159 , 112 , 140 , 173 , & 132 , 158 , 186 , 151 , 175 , 195 , 166 , 189 , 200 , 175 , 199 , 198 , & 175 , 203 , 188 , 166 , 199 , 173 , 150 , 190 , 153 , 134 , 178 , 133 , & 115 , 163 , 111 , 98 , 144 , 88 , 85 , 127 , 69 , 76 , 108 , 54 , & 70 , 93 , 46 , 67 , 82 , 44 , 66 , 73 , 46 , 64 , 67 , 51 , & 63 , 62 , 58 & ], shape ( corkO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: corkO50 = reshape ( [ & 63 , 62 , 58 , 62 , 61 , 63 , 62 , 61 , 68 , 62 , 61 , 75 , & 62 , 63 , 82 , 62 , 66 , 90 , 63 , 71 , 98 , 65 , 76 , 108 , & 68 , 85 , 120 , 72 , 93 , 130 , 78 , 101 , 139 , 84 , 110 , 148 , & 92 , 119 , 156 , 101 , 129 , 165 , 110 , 138 , 172 , 119 , 146 , 178 , & 128 , 155 , 184 , 137 , 163 , 189 , 148 , 172 , 194 , 156 , 179 , 197 , & 163 , 186 , 199 , 169 , 192 , 200 , 174 , 197 , 199 , 176 , 201 , 196 , & 176 , 202 , 191 , 173 , 202 , 185 , 169 , 201 , 178 , 162 , 197 , 168 , & 155 , 193 , 159 , 147 , 188 , 149 , 139 , 182 , 139 , 130 , 176 , 129 , & 120 , 167 , 117 , 112 , 159 , 106 , 104 , 151 , 96 , 96 , 142 , 86 , & 90 , 134 , 76 , 83 , 123 , 66 , 79 , 115 , 59 , 75 , 107 , 53 , & 72 , 100 , 49 , 70 , 93 , 46 , 68 , 86 , 44 , 67 , 81 , 44 , & 66 , 77 , 45 , 66 , 73 , 46 , 65 , 70 , 48 , 64 , 67 , 51 , & 64 , 64 , 54 , 63 , 62 , 58 & ], shape ( corkO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: davos = reshape ( [ & 0 , 5 , 74 , 0 , 7 , 76 , 0 , 9 , 77 , 0 , 11 , 79 , & 1 , 12 , 80 , 1 , 14 , 81 , 2 , 15 , 83 , 2 , 16 , 84 , & 3 , 18 , 86 , 4 , 19 , 87 , 4 , 20 , 89 , 5 , 22 , 90 , & 5 , 23 , 91 , 6 , 24 , 93 , 7 , 26 , 94 , 7 , 27 , 96 , & 8 , 28 , 97 , 9 , 30 , 98 , 10 , 31 , 100 , 11 , 32 , 101 , & 11 , 34 , 103 , 12 , 35 , 104 , 13 , 36 , 105 , 14 , 38 , 107 , & 14 , 39 , 108 , 15 , 40 , 109 , 16 , 42 , 111 , 17 , 43 , 112 , & 17 , 44 , 113 , 18 , 46 , 115 , 19 , 47 , 116 , 19 , 48 , 117 , & 20 , 50 , 119 , 21 , 51 , 120 , 22 , 52 , 121 , 23 , 54 , 122 , & 23 , 55 , 124 , 24 , 56 , 125 , 25 , 58 , 126 , 26 , 59 , 127 , & 26 , 60 , 128 , 27 , 62 , 130 , 28 , 63 , 131 , 29 , 64 , 132 , & 30 , 65 , 133 , 30 , 67 , 134 , 31 , 68 , 135 , 32 , 69 , 136 , & 33 , 71 , 137 , 34 , 72 , 138 , 35 , 73 , 139 , 35 , 74 , 140 , & 36 , 76 , 141 , 37 , 77 , 142 , 38 , 78 , 143 , 39 , 79 , 144 , & 40 , 81 , 144 , 41 , 82 , 145 , 42 , 83 , 146 , 42 , 84 , 147 , & 43 , 86 , 147 , 44 , 87 , 148 , 45 , 88 , 149 , 46 , 89 , 149 , & 47 , 90 , 150 , 48 , 91 , 151 , 49 , 92 , 151 , 50 , 94 , 152 , & 51 , 95 , 152 , 52 , 96 , 153 , 53 , 97 , 153 , 54 , 98 , 154 , & 55 , 99 , 154 , 56 , 100 , 154 , 57 , 101 , 155 , 58 , 102 , 155 , & 58 , 103 , 155 , 59 , 104 , 156 , 60 , 105 , 156 , 61 , 106 , 156 , & 62 , 107 , 156 , 63 , 108 , 157 , 64 , 109 , 157 , 65 , 110 , 157 , & 66 , 111 , 157 , 67 , 112 , 157 , 68 , 112 , 157 , 69 , 113 , 157 , & 70 , 114 , 157 , 71 , 115 , 157 , 72 , 116 , 157 , 73 , 117 , 157 , & 74 , 118 , 157 , 75 , 118 , 157 , 76 , 119 , 157 , 77 , 120 , 157 , & 78 , 121 , 157 , 79 , 121 , 157 , 80 , 122 , 156 , 81 , 123 , 156 , & 82 , 124 , 156 , 83 , 124 , 156 , 84 , 125 , 156 , 85 , 126 , 155 , & 86 , 127 , 155 , 86 , 127 , 155 , 87 , 128 , 155 , 88 , 129 , 154 , & 89 , 129 , 154 , 90 , 130 , 154 , 91 , 131 , 153 , 92 , 131 , 153 , & 93 , 132 , 153 , 94 , 133 , 152 , 95 , 133 , 152 , 96 , 134 , 152 , & 97 , 134 , 151 , 98 , 135 , 151 , 99 , 136 , 151 , 100 , 136 , 150 , & 101 , 137 , 150 , 101 , 138 , 149 , 102 , 138 , 149 , 103 , 139 , 149 , & 104 , 139 , 148 , 105 , 140 , 148 , 106 , 141 , 147 , 107 , 141 , 147 , & 108 , 142 , 147 , 109 , 142 , 146 , 110 , 143 , 146 , 111 , 144 , 145 , & 112 , 144 , 145 , 113 , 145 , 145 , 114 , 145 , 144 , 115 , 146 , 144 , & 116 , 147 , 143 , 116 , 147 , 143 , 117 , 148 , 143 , 118 , 149 , 142 , & 119 , 149 , 142 , 120 , 150 , 141 , 121 , 150 , 141 , 122 , 151 , 141 , & 123 , 152 , 140 , 124 , 152 , 140 , 125 , 153 , 140 , 126 , 154 , 139 , & 127 , 154 , 139 , 128 , 155 , 139 , 129 , 156 , 138 , 130 , 157 , 138 , & 131 , 157 , 138 , 132 , 158 , 137 , 134 , 159 , 137 , 135 , 160 , 137 , & 136 , 160 , 137 , 137 , 161 , 136 , 138 , 162 , 136 , 139 , 163 , 136 , & 140 , 163 , 136 , 141 , 164 , 136 , 143 , 165 , 136 , 144 , 166 , 135 , & 145 , 167 , 135 , 146 , 168 , 135 , 147 , 169 , 135 , 149 , 170 , 135 , & 150 , 171 , 135 , 151 , 172 , 135 , 153 , 173 , 136 , 154 , 174 , 136 , & 155 , 175 , 136 , 157 , 176 , 136 , 158 , 177 , 136 , 160 , 178 , 137 , & 161 , 179 , 137 , 163 , 180 , 137 , 164 , 182 , 138 , 166 , 183 , 138 , & 168 , 184 , 139 , 169 , 185 , 139 , 171 , 187 , 140 , 173 , 188 , 140 , & 174 , 189 , 141 , 176 , 191 , 142 , 178 , 192 , 143 , 180 , 193 , 144 , & 182 , 195 , 145 , 184 , 196 , 146 , 185 , 198 , 147 , 187 , 199 , 148 , & 189 , 201 , 149 , 191 , 202 , 150 , 193 , 204 , 152 , 195 , 205 , 153 , & 197 , 207 , 155 , 199 , 208 , 156 , 201 , 210 , 158 , 203 , 211 , 159 , & 205 , 213 , 161 , 207 , 214 , 162 , 208 , 216 , 164 , 210 , 217 , 166 , & 212 , 219 , 168 , 214 , 220 , 169 , 216 , 222 , 171 , 217 , 223 , 173 , & 219 , 224 , 175 , 221 , 226 , 177 , 222 , 227 , 179 , 224 , 228 , 181 , & 225 , 229 , 182 , 227 , 231 , 184 , 228 , 232 , 186 , 230 , 233 , 188 , & 231 , 234 , 190 , 232 , 235 , 192 , 234 , 236 , 194 , 235 , 237 , 196 , & 236 , 238 , 198 , 237 , 239 , 199 , 238 , 239 , 201 , 239 , 240 , 203 , & 240 , 241 , 205 , 241 , 242 , 207 , 242 , 242 , 208 , 243 , 243 , 210 , & 243 , 244 , 212 , 244 , 244 , 214 , 245 , 245 , 215 , 245 , 246 , 217 , & 246 , 246 , 219 , 247 , 247 , 221 , 247 , 247 , 222 , 248 , 248 , 224 , & 248 , 248 , 225 , 249 , 249 , 227 , 249 , 249 , 229 , 250 , 249 , 230 , & 250 , 250 , 232 , 251 , 250 , 233 , 251 , 251 , 235 , 251 , 251 , 236 , & 252 , 251 , 238 , 252 , 252 , 240 , 252 , 252 , 241 , 252 , 252 , 243 , & 253 , 253 , 244 , 253 , 253 , 246 , 253 , 253 , 247 , 254 , 253 , 249 , & 254 , 254 , 250 , 254 , 254 , 252 , 254 , 254 , 253 , 254 , 254 , 254 & ], shape ( davos ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: davos10 = reshape ( [ & 0 , 5 , 74 , 17 , 44 , 113 , 41 , 82 , 145 , 67 , 112 , 157 , & 94 , 133 , 152 , 121 , 150 , 141 , 153 , 173 , 136 , 201 , 210 , 158 , & 243 , 243 , 210 , 254 , 254 , 254 & ], shape ( davos10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: davos100 = reshape ( [ & 0 , 5 , 74 , 0 , 11 , 79 , 1 , 14 , 81 , 3 , 18 , 86 , & 4 , 20 , 89 , 6 , 24 , 93 , 7 , 27 , 96 , 10 , 31 , 100 , & 12 , 35 , 104 , 14 , 38 , 107 , 16 , 42 , 111 , 17 , 44 , 113 , & 19 , 48 , 117 , 21 , 51 , 120 , 23 , 55 , 124 , 26 , 59 , 127 , & 27 , 62 , 130 , 30 , 65 , 133 , 31 , 68 , 135 , 34 , 72 , 138 , & 36 , 76 , 141 , 38 , 78 , 143 , 41 , 82 , 145 , 42 , 84 , 147 , & 45 , 88 , 149 , 47 , 90 , 150 , 50 , 94 , 152 , 53 , 97 , 153 , & 55 , 99 , 154 , 58 , 102 , 155 , 59 , 104 , 156 , 62 , 107 , 156 , & 64 , 109 , 157 , 67 , 112 , 157 , 70 , 114 , 157 , 72 , 116 , 157 , & 75 , 118 , 157 , 77 , 120 , 157 , 80 , 122 , 156 , 82 , 124 , 156 , & 85 , 126 , 155 , 87 , 128 , 155 , 89 , 129 , 154 , 92 , 131 , 153 , & 94 , 133 , 152 , 97 , 134 , 151 , 99 , 136 , 151 , 101 , 138 , 149 , & 104 , 139 , 148 , 106 , 141 , 147 , 109 , 142 , 146 , 111 , 144 , 145 , & 114 , 145 , 144 , 116 , 147 , 143 , 118 , 149 , 142 , 121 , 150 , 141 , & 123 , 152 , 140 , 126 , 154 , 139 , 128 , 155 , 139 , 131 , 157 , 138 , & 135 , 160 , 137 , 137 , 161 , 136 , 140 , 163 , 136 , 143 , 165 , 136 , & 146 , 168 , 135 , 149 , 170 , 135 , 153 , 173 , 136 , 157 , 176 , 136 , & 160 , 178 , 137 , 164 , 182 , 138 , 168 , 184 , 139 , 173 , 188 , 140 , & 176 , 191 , 142 , 182 , 195 , 145 , 187 , 199 , 148 , 191 , 202 , 150 , & 197 , 207 , 155 , 201 , 210 , 158 , 207 , 214 , 162 , 210 , 217 , 166 , & 216 , 222 , 171 , 221 , 226 , 177 , 224 , 228 , 181 , 228 , 232 , 186 , & 231 , 234 , 190 , 235 , 237 , 196 , 238 , 239 , 201 , 240 , 241 , 205 , & 243 , 243 , 210 , 244 , 244 , 214 , 246 , 246 , 219 , 247 , 247 , 222 , & 249 , 249 , 227 , 250 , 250 , 232 , 251 , 251 , 235 , 252 , 252 , 240 , & 252 , 252 , 243 , 253 , 253 , 247 , 254 , 254 , 250 , 254 , 254 , 254 & ], shape ( davos100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: davos25 = reshape ( [ & 0 , 5 , 74 , 5 , 22 , 90 , 12 , 35 , 104 , 20 , 50 , 119 , & 29 , 64 , 132 , 37 , 77 , 142 , 47 , 90 , 150 , 57 , 101 , 155 , & 67 , 112 , 157 , 78 , 121 , 157 , 87 , 128 , 155 , 98 , 135 , 151 , & 108 , 142 , 147 , 117 , 148 , 143 , 128 , 155 , 139 , 139 , 163 , 136 , & 153 , 173 , 136 , 169 , 185 , 139 , 187 , 199 , 148 , 208 , 216 , 164 , & 227 , 231 , 184 , 239 , 240 , 203 , 247 , 247 , 222 , 252 , 251 , 238 , & 254 , 254 , 254 & ], shape ( davos25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: davos50 = reshape ( [ & 0 , 5 , 74 , 1 , 14 , 81 , 4 , 20 , 89 , 8 , 28 , 97 , & 12 , 35 , 104 , 16 , 42 , 111 , 19 , 48 , 117 , 23 , 55 , 124 , & 28 , 63 , 131 , 32 , 69 , 136 , 36 , 76 , 141 , 41 , 82 , 145 , & 45 , 88 , 149 , 51 , 95 , 152 , 56 , 100 , 154 , 60 , 105 , 156 , & 65 , 110 , 157 , 70 , 114 , 157 , 76 , 119 , 157 , 81 , 123 , 156 , & 86 , 127 , 155 , 90 , 130 , 154 , 95 , 133 , 152 , 101 , 137 , 150 , & 105 , 140 , 148 , 110 , 143 , 146 , 115 , 146 , 144 , 120 , 150 , 141 , & 125 , 153 , 140 , 130 , 157 , 138 , 136 , 160 , 137 , 141 , 164 , 136 , & 149 , 170 , 135 , 155 , 175 , 136 , 163 , 180 , 137 , 171 , 187 , 140 , & 180 , 193 , 144 , 191 , 202 , 150 , 201 , 210 , 158 , 210 , 217 , 166 , & 219 , 224 , 175 , 227 , 231 , 184 , 235 , 237 , 196 , 240 , 241 , 205 , & 244 , 244 , 214 , 247 , 247 , 222 , 250 , 249 , 230 , 252 , 252 , 240 , & 253 , 253 , 247 , 254 , 254 , 254 & ], shape ( davos50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: davosS = reshape ( [ & 0 , 5 , 74 , 253 , 253 , 244 , 104 , 139 , 148 , 178 , 192 , 143 , & 45 , 88 , 149 , 232 , 235 , 192 , 19 , 48 , 117 , 75 , 118 , 157 , & 135 , 160 , 137 , 154 , 174 , 136 , 90 , 130 , 154 , 118 , 149 , 142 , & 60 , 105 , 156 , 7 , 27 , 96 , 32 , 69 , 136 , 207 , 214 , 162 , & 246 , 246 , 219 , 144 , 166 , 135 , 53 , 97 , 153 , 14 , 38 , 107 , & 221 , 226 , 177 , 126 , 154 , 139 , 26 , 59 , 127 , 83 , 124 , 156 , & 250 , 250 , 232 , 191 , 202 , 150 , 241 , 242 , 207 , 3 , 18 , 86 , & 67 , 112 , 157 , 98 , 135 , 151 , 166 , 183 , 138 , 39 , 79 , 144 , & 111 , 144 , 145 , 252 , 251 , 238 , 237 , 239 , 199 , 130 , 157 , 138 , & 86 , 127 , 155 , 57 , 101 , 155 , 160 , 178 , 137 , 199 , 208 , 156 , & 1 , 12 , 80 , 11 , 32 , 101 , 49 , 92 , 151 , 214 , 220 , 169 , & 122 , 151 , 141 , 248 , 248 , 225 , 23 , 54 , 122 , 115 , 146 , 144 , & 35 , 74 , 140 , 17 , 43 , 112 , 227 , 231 , 184 , 94 , 133 , 152 , & 71 , 115 , 157 , 29 , 64 , 132 , 79 , 121 , 157 , 139 , 163 , 136 , & 149 , 170 , 135 , 63 , 108 , 157 , 101 , 138 , 149 , 5 , 22 , 90 , & 42 , 83 , 146 , 108 , 142 , 147 , 173 , 188 , 140 , 184 , 196 , 146 , & 243 , 244 , 212 , 12 , 35 , 104 , 239 , 240 , 203 , 58 , 103 , 155 , & 128 , 155 , 139 , 77 , 120 , 157 , 249 , 249 , 229 , 169 , 185 , 139 , & 230 , 233 , 188 , 120 , 150 , 141 , 146 , 168 , 135 , 69 , 113 , 157 , & 34 , 72 , 138 , 18 , 46 , 115 , 27 , 62 , 130 , 247 , 247 , 222 , & 2 , 15 , 83 , 224 , 228 , 181 , 106 , 141 , 147 , 195 , 205 , 153 , & 88 , 129 , 154 , 65 , 110 , 157 , 163 , 180 , 137 , 73 , 117 , 157 , & 116 , 147 , 143 , 235 , 237 , 196 , 210 , 217 , 166 , 37 , 77 , 142 , & 85 , 126 , 155 , 203 , 211 , 159 , 21 , 51 , 120 , 151 , 172 , 135 , & 217 , 223 , 173 , 96 , 134 , 152 , 113 , 145 , 145 , 187 , 199 , 148 & ], shape ( davosS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: devon = reshape ( [ & 44 , 26 , 76 , 44 , 27 , 77 , 44 , 28 , 78 , 43 , 28 , 79 , & 43 , 29 , 80 , 43 , 30 , 81 , 43 , 31 , 82 , 43 , 32 , 83 , & 43 , 33 , 84 , 43 , 34 , 85 , 43 , 35 , 86 , 43 , 36 , 87 , & 43 , 37 , 88 , 43 , 38 , 88 , 43 , 39 , 89 , 42 , 40 , 90 , & 42 , 41 , 91 , 42 , 41 , 92 , 42 , 42 , 93 , 42 , 43 , 94 , & 42 , 44 , 95 , 42 , 45 , 96 , 42 , 46 , 97 , 42 , 47 , 98 , & 41 , 48 , 99 , 41 , 49 , 100 , 41 , 50 , 101 , 41 , 51 , 102 , & 41 , 52 , 103 , 41 , 53 , 104 , 41 , 54 , 105 , 41 , 55 , 106 , & 41 , 56 , 106 , 40 , 57 , 107 , 40 , 57 , 108 , 40 , 58 , 109 , & 40 , 59 , 110 , 40 , 60 , 111 , 40 , 61 , 112 , 40 , 62 , 113 , & 40 , 63 , 114 , 40 , 64 , 115 , 39 , 65 , 116 , 39 , 66 , 117 , & 39 , 67 , 118 , 39 , 68 , 120 , 39 , 69 , 121 , 39 , 70 , 122 , & 39 , 71 , 123 , 39 , 72 , 124 , 39 , 73 , 125 , 39 , 74 , 126 , & 39 , 76 , 127 , 39 , 77 , 129 , 39 , 78 , 130 , 39 , 79 , 131 , & 39 , 80 , 132 , 39 , 81 , 134 , 39 , 82 , 135 , 39 , 83 , 136 , & 40 , 84 , 138 , 40 , 85 , 139 , 40 , 86 , 140 , 40 , 87 , 142 , & 41 , 88 , 143 , 41 , 89 , 144 , 41 , 90 , 146 , 42 , 91 , 147 , & 42 , 92 , 149 , 43 , 93 , 150 , 43 , 93 , 152 , 44 , 94 , 153 , & 44 , 95 , 154 , 45 , 96 , 156 , 46 , 97 , 157 , 46 , 98 , 159 , & 47 , 98 , 160 , 48 , 99 , 162 , 48 , 100 , 163 , 49 , 101 , 164 , & 50 , 101 , 166 , 50 , 102 , 167 , 51 , 103 , 169 , 52 , 104 , 170 , & 53 , 104 , 171 , 54 , 105 , 173 , 55 , 106 , 174 , 56 , 106 , 176 , & 57 , 107 , 177 , 58 , 108 , 178 , 59 , 109 , 180 , 60 , 109 , 181 , & 61 , 110 , 183 , 62 , 111 , 184 , 63 , 112 , 185 , 65 , 113 , 187 , & 66 , 114 , 188 , 68 , 114 , 189 , 69 , 115 , 191 , 71 , 116 , 192 , & 72 , 117 , 193 , 74 , 118 , 195 , 76 , 119 , 196 , 77 , 120 , 197 , & 79 , 121 , 198 , 81 , 122 , 200 , 83 , 123 , 201 , 85 , 124 , 202 , & 87 , 124 , 203 , 89 , 125 , 204 , 91 , 126 , 205 , 93 , 127 , 206 , & 95 , 128 , 207 , 97 , 129 , 208 , 99 , 130 , 209 , 101 , 131 , 210 , & 103 , 132 , 211 , 105 , 133 , 212 , 107 , 134 , 213 , 109 , 135 , 214 , & 111 , 136 , 215 , 113 , 136 , 216 , 115 , 137 , 216 , 117 , 138 , 217 , & 119 , 139 , 218 , 121 , 140 , 219 , 123 , 141 , 220 , 125 , 142 , 220 , & 126 , 143 , 221 , 128 , 143 , 222 , 130 , 144 , 223 , 132 , 145 , 223 , & 134 , 146 , 224 , 136 , 147 , 225 , 138 , 148 , 225 , 140 , 149 , 226 , & 141 , 149 , 227 , 143 , 150 , 227 , 145 , 151 , 228 , 147 , 152 , 229 , & 149 , 153 , 229 , 150 , 154 , 230 , 152 , 155 , 231 , 154 , 155 , 231 , & 155 , 156 , 232 , 157 , 157 , 232 , 158 , 158 , 233 , 160 , 159 , 233 , & 162 , 160 , 234 , 163 , 161 , 234 , 164 , 162 , 235 , 166 , 163 , 235 , & 167 , 164 , 236 , 168 , 165 , 236 , 170 , 165 , 237 , 171 , 166 , 237 , & 172 , 167 , 237 , 173 , 168 , 238 , 174 , 169 , 238 , 175 , 170 , 238 , & 176 , 171 , 238 , 177 , 172 , 239 , 178 , 173 , 239 , 179 , 173 , 239 , & 180 , 174 , 239 , 181 , 175 , 240 , 182 , 176 , 240 , 183 , 177 , 240 , & 184 , 178 , 240 , 185 , 179 , 240 , 186 , 179 , 241 , 186 , 180 , 241 , & 187 , 181 , 241 , 188 , 182 , 241 , 189 , 183 , 241 , 190 , 184 , 242 , & 190 , 185 , 242 , 191 , 185 , 242 , 192 , 186 , 242 , 193 , 187 , 242 , & 194 , 188 , 242 , 194 , 189 , 243 , 195 , 190 , 243 , 196 , 191 , 243 , & 197 , 192 , 243 , 198 , 192 , 243 , 198 , 193 , 243 , 199 , 194 , 244 , & 200 , 195 , 244 , 201 , 196 , 244 , 202 , 197 , 244 , 202 , 198 , 244 , & 203 , 198 , 244 , 204 , 199 , 244 , 205 , 200 , 245 , 206 , 201 , 245 , & 206 , 202 , 245 , 207 , 203 , 245 , 208 , 204 , 245 , 209 , 205 , 245 , & 210 , 205 , 246 , 210 , 206 , 246 , 211 , 207 , 246 , 212 , 208 , 246 , & 213 , 209 , 246 , 214 , 210 , 246 , 214 , 211 , 247 , 215 , 212 , 247 , & 216 , 212 , 247 , 217 , 213 , 247 , 218 , 214 , 247 , 218 , 215 , 247 , & 219 , 216 , 248 , 220 , 217 , 248 , 221 , 218 , 248 , 222 , 219 , 248 , & 222 , 220 , 248 , 223 , 220 , 248 , 224 , 221 , 249 , 225 , 222 , 249 , & 226 , 223 , 249 , 227 , 224 , 249 , 227 , 225 , 249 , 228 , 226 , 250 , & 229 , 227 , 250 , 230 , 228 , 250 , 231 , 228 , 250 , 232 , 229 , 250 , & 232 , 230 , 250 , 233 , 231 , 251 , 234 , 232 , 251 , 235 , 233 , 251 , & 236 , 234 , 251 , 237 , 235 , 251 , 237 , 236 , 251 , 238 , 237 , 252 , & 239 , 238 , 252 , 240 , 238 , 252 , 241 , 239 , 252 , 242 , 240 , 252 , & 242 , 241 , 252 , 243 , 242 , 253 , 244 , 243 , 253 , 245 , 244 , 253 , & 246 , 245 , 253 , 247 , 246 , 253 , 247 , 247 , 253 , 248 , 248 , 254 , & 249 , 249 , 254 , 250 , 249 , 254 , 251 , 250 , 254 , 252 , 251 , 254 , & 252 , 252 , 254 , 253 , 253 , 255 , 254 , 254 , 255 , 255 , 255 , 255 & ], shape ( devon ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: devon10 = reshape ( [ & 44 , 26 , 76 , 41 , 52 , 103 , 39 , 81 , 134 , 54 , 105 , 173 , & 97 , 129 , 208 , 152 , 155 , 231 , 186 , 179 , 241 , 208 , 204 , 245 , & 232 , 229 , 250 , 255 , 255 , 255 & ], shape ( devon10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: devon100 = reshape ( [ & 44 , 26 , 76 , 43 , 28 , 79 , 43 , 30 , 81 , 43 , 33 , 84 , & 43 , 35 , 86 , 43 , 38 , 88 , 42 , 40 , 90 , 42 , 42 , 93 , & 42 , 45 , 96 , 42 , 47 , 98 , 41 , 50 , 101 , 41 , 52 , 103 , & 41 , 55 , 106 , 40 , 57 , 107 , 40 , 59 , 110 , 40 , 62 , 113 , & 40 , 64 , 115 , 39 , 67 , 118 , 39 , 69 , 121 , 39 , 72 , 124 , & 39 , 76 , 127 , 39 , 78 , 130 , 39 , 81 , 134 , 39 , 83 , 136 , & 40 , 86 , 140 , 41 , 88 , 143 , 42 , 91 , 147 , 43 , 93 , 152 , & 44 , 95 , 154 , 46 , 98 , 159 , 48 , 99 , 162 , 50 , 101 , 166 , & 51 , 103 , 169 , 54 , 105 , 173 , 57 , 107 , 177 , 59 , 109 , 180 , & 62 , 111 , 184 , 65 , 113 , 187 , 69 , 115 , 191 , 72 , 117 , 193 , & 77 , 120 , 197 , 83 , 123 , 201 , 87 , 124 , 203 , 93 , 127 , 206 , & 97 , 129 , 208 , 103 , 132 , 211 , 107 , 134 , 213 , 113 , 136 , 216 , & 119 , 139 , 218 , 123 , 141 , 220 , 128 , 143 , 222 , 132 , 145 , 223 , & 138 , 148 , 225 , 143 , 150 , 227 , 147 , 152 , 229 , 152 , 155 , 231 , & 155 , 156 , 232 , 160 , 159 , 233 , 163 , 161 , 234 , 167 , 164 , 236 , & 171 , 166 , 237 , 173 , 168 , 238 , 176 , 171 , 238 , 178 , 173 , 239 , & 181 , 175 , 240 , 183 , 177 , 240 , 186 , 179 , 241 , 188 , 182 , 241 , & 190 , 184 , 242 , 192 , 186 , 242 , 194 , 188 , 242 , 196 , 191 , 243 , & 198 , 192 , 243 , 200 , 195 , 244 , 202 , 198 , 244 , 204 , 199 , 244 , & 206 , 202 , 245 , 208 , 204 , 245 , 210 , 206 , 246 , 212 , 208 , 246 , & 214 , 211 , 247 , 217 , 213 , 247 , 218 , 215 , 247 , 221 , 218 , 248 , & 222 , 220 , 248 , 225 , 222 , 249 , 227 , 225 , 249 , 229 , 227 , 250 , & 232 , 229 , 250 , 233 , 231 , 251 , 236 , 234 , 251 , 237 , 236 , 251 , & 240 , 238 , 252 , 242 , 241 , 252 , 244 , 243 , 253 , 247 , 246 , 253 , & 248 , 248 , 254 , 251 , 250 , 254 , 252 , 252 , 254 , 255 , 255 , 255 & ], shape ( devon100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: devon25 = reshape ( [ & 44 , 26 , 76 , 43 , 36 , 87 , 42 , 45 , 96 , 41 , 56 , 106 , & 39 , 66 , 117 , 39 , 77 , 129 , 41 , 88 , 143 , 46 , 97 , 157 , & 54 , 105 , 173 , 66 , 114 , 188 , 83 , 123 , 201 , 105 , 133 , 212 , & 126 , 143 , 221 , 145 , 151 , 228 , 163 , 161 , 234 , 175 , 170 , 238 , & 186 , 179 , 241 , 194 , 189 , 243 , 202 , 198 , 244 , 211 , 207 , 246 , & 220 , 217 , 248 , 228 , 226 , 250 , 237 , 236 , 251 , 246 , 245 , 253 , & 255 , 255 , 255 & ], shape ( devon25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: devon50 = reshape ( [ & 44 , 26 , 76 , 43 , 30 , 81 , 43 , 35 , 86 , 42 , 41 , 91 , & 42 , 45 , 96 , 41 , 50 , 101 , 41 , 55 , 106 , 40 , 59 , 110 , & 39 , 65 , 116 , 39 , 70 , 122 , 39 , 76 , 127 , 39 , 81 , 134 , & 40 , 86 , 140 , 42 , 92 , 149 , 45 , 96 , 156 , 48 , 100 , 163 , & 52 , 104 , 170 , 57 , 107 , 177 , 63 , 112 , 185 , 71 , 116 , 192 , & 79 , 121 , 198 , 89 , 125 , 204 , 99 , 130 , 209 , 111 , 136 , 215 , & 121 , 140 , 219 , 130 , 144 , 223 , 140 , 149 , 226 , 150 , 154 , 230 , & 158 , 158 , 233 , 166 , 163 , 235 , 172 , 167 , 237 , 177 , 172 , 239 , & 183 , 177 , 240 , 187 , 181 , 241 , 191 , 185 , 242 , 195 , 190 , 243 , & 199 , 194 , 244 , 204 , 199 , 244 , 208 , 204 , 245 , 212 , 208 , 246 , & 216 , 212 , 247 , 220 , 217 , 248 , 225 , 222 , 249 , 229 , 227 , 250 , & 233 , 231 , 251 , 237 , 236 , 251 , 242 , 240 , 252 , 247 , 246 , 253 , & 251 , 250 , 254 , 255 , 255 , 255 & ], shape ( devon50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: devonS = reshape ( [ & 44 , 26 , 76 , 248 , 248 , 254 , 119 , 139 , 218 , 40 , 86 , 140 , & 198 , 192 , 243 , 41 , 55 , 106 , 62 , 111 , 184 , 222 , 220 , 248 , & 171 , 166 , 237 , 42 , 41 , 91 , 149 , 153 , 229 , 89 , 125 , 204 , & 235 , 233 , 251 , 186 , 179 , 241 , 39 , 70 , 122 , 48 , 99 , 162 , & 210 , 206 , 246 , 40 , 62 , 113 , 74 , 118 , 195 , 54 , 105 , 173 , & 43 , 33 , 84 , 134 , 146 , 224 , 204 , 199 , 244 , 242 , 240 , 252 , & 42 , 47 , 98 , 192 , 186 , 242 , 162 , 160 , 234 , 178 , 173 , 239 , & 217 , 213 , 247 , 228 , 226 , 250 , 43 , 93 , 150 , 39 , 78 , 130 , & 105 , 133 , 212 , 43 , 37 , 88 , 68 , 114 , 189 , 126 , 143 , 221 , & 207 , 203 , 245 , 40 , 58 , 109 , 97 , 129 , 208 , 41 , 51 , 102 , & 214 , 210 , 246 , 58 , 108 , 178 , 45 , 96 , 156 , 39 , 66 , 117 , & 43 , 29 , 80 , 245 , 244 , 253 , 81 , 122 , 200 , 238 , 237 , 252 , & 141 , 149 , 227 , 232 , 229 , 250 , 155 , 156 , 232 , 39 , 82 , 135 , & 189 , 183 , 241 , 201 , 196 , 244 , 182 , 176 , 240 , 50 , 102 , 167 , & 226 , 223 , 249 , 195 , 190 , 243 , 167 , 164 , 236 , 39 , 73 , 125 , & 42 , 43 , 94 , 41 , 90 , 146 , 175 , 170 , 238 , 111 , 136 , 215 , & 220 , 217 , 248 , 93 , 127 , 206 , 44 , 28 , 78 , 49 , 101 , 164 , & 123 , 141 , 220 , 41 , 88 , 143 , 190 , 185 , 242 , 233 , 231 , 251 , & 152 , 155 , 231 , 40 , 84 , 138 , 237 , 235 , 251 , 43 , 39 , 89 , & 173 , 168 , 238 , 240 , 238 , 252 , 115 , 137 , 216 , 243 , 242 , 253 , & 39 , 80 , 132 , 130 , 144 , 223 , 218 , 215 , 247 , 40 , 64 , 115 , & 206 , 201 , 245 , 41 , 53 , 104 , 71 , 116 , 192 , 212 , 208 , 246 , & 184 , 178 , 240 , 85 , 124 , 202 , 158 , 158 , 233 , 42 , 45 , 96 , & 39 , 76 , 127 , 43 , 31 , 82 , 215 , 212 , 247 , 43 , 35 , 86 , & 145 , 151 , 228 , 40 , 60 , 111 , 164 , 162 , 235 , 187 , 181 , 241 & ], shape ( devonS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: fes = reshape ( [ & 13 , 13 , 13 , 15 , 15 , 15 , 18 , 18 , 18 , 20 , 20 , 20 , & 22 , 22 , 22 , 24 , 24 , 24 , 25 , 25 , 25 , 27 , 27 , 27 , & 29 , 29 , 29 , 31 , 31 , 31 , 33 , 33 , 33 , 34 , 34 , 34 , & 36 , 36 , 36 , 38 , 38 , 38 , 40 , 40 , 40 , 41 , 41 , 41 , & 43 , 43 , 43 , 45 , 45 , 45 , 46 , 46 , 46 , 48 , 48 , 48 , & 50 , 50 , 50 , 52 , 52 , 52 , 53 , 53 , 53 , 55 , 55 , 55 , & 57 , 57 , 57 , 59 , 59 , 59 , 60 , 60 , 60 , 62 , 62 , 62 , & 64 , 64 , 64 , 65 , 65 , 65 , 67 , 67 , 67 , 69 , 69 , 69 , & 70 , 70 , 70 , 72 , 72 , 72 , 73 , 73 , 73 , 75 , 75 , 75 , & 77 , 77 , 77 , 78 , 78 , 78 , 80 , 80 , 80 , 82 , 82 , 82 , & 83 , 83 , 83 , 85 , 85 , 85 , 86 , 86 , 86 , 88 , 88 , 88 , & 89 , 89 , 89 , 91 , 91 , 91 , 92 , 92 , 92 , 94 , 94 , 94 , & 96 , 96 , 96 , 97 , 97 , 97 , 99 , 99 , 99 , 100 , 100 , 100 , & 101 , 101 , 101 , 103 , 103 , 103 , 104 , 104 , 104 , 106 , 106 , 106 , & 107 , 107 , 107 , 109 , 109 , 109 , 110 , 110 , 110 , 112 , 112 , 112 , & 113 , 113 , 113 , 114 , 114 , 114 , 116 , 116 , 116 , 117 , 117 , 117 , & 119 , 119 , 119 , 120 , 120 , 120 , 121 , 121 , 121 , 123 , 123 , 123 , & 124 , 124 , 124 , 126 , 126 , 126 , 127 , 127 , 127 , 129 , 129 , 129 , & 130 , 130 , 130 , 132 , 132 , 132 , 133 , 133 , 133 , 135 , 135 , 135 , & 136 , 136 , 136 , 138 , 138 , 138 , 139 , 139 , 139 , 141 , 141 , 141 , & 142 , 142 , 142 , 144 , 144 , 144 , 146 , 146 , 146 , 147 , 147 , 147 , & 149 , 149 , 149 , 151 , 151 , 151 , 153 , 153 , 153 , 154 , 154 , 154 , & 156 , 156 , 156 , 158 , 158 , 158 , 160 , 160 , 160 , 161 , 161 , 161 , & 163 , 163 , 163 , 165 , 165 , 165 , 167 , 167 , 167 , 169 , 169 , 169 , & 171 , 171 , 171 , 173 , 173 , 173 , 175 , 175 , 175 , 177 , 177 , 177 , & 179 , 179 , 179 , 181 , 181 , 181 , 183 , 183 , 183 , 185 , 185 , 185 , & 187 , 187 , 187 , 189 , 189 , 189 , 191 , 191 , 191 , 193 , 193 , 193 , & 195 , 195 , 195 , 197 , 197 , 197 , 200 , 200 , 200 , 202 , 202 , 202 , & 204 , 204 , 204 , 206 , 206 , 206 , 209 , 209 , 209 , 211 , 211 , 211 , & 213 , 213 , 213 , 216 , 216 , 216 , 218 , 218 , 218 , 221 , 221 , 221 , & 223 , 223 , 223 , 226 , 226 , 226 , 228 , 228 , 228 , 231 , 231 , 231 , & 233 , 233 , 233 , 236 , 236 , 236 , 238 , 238 , 238 , 241 , 241 , 241 , & 2 , 64 , 38 , 5 , 65 , 38 , 9 , 66 , 37 , 12 , 67 , 36 , & 15 , 68 , 35 , 18 , 70 , 35 , 21 , 71 , 34 , 24 , 72 , 34 , & 27 , 73 , 33 , 30 , 74 , 33 , 33 , 75 , 32 , 36 , 76 , 32 , & 39 , 78 , 32 , 43 , 79 , 32 , 46 , 80 , 32 , 49 , 81 , 32 , & 52 , 82 , 32 , 55 , 83 , 32 , 58 , 84 , 32 , 61 , 85 , 32 , & 63 , 85 , 33 , 66 , 86 , 33 , 69 , 87 , 34 , 72 , 88 , 34 , & 74 , 89 , 34 , 77 , 89 , 35 , 80 , 90 , 35 , 82 , 91 , 36 , & 85 , 91 , 36 , 87 , 92 , 37 , 90 , 93 , 37 , 92 , 93 , 38 , & 94 , 94 , 38 , 97 , 94 , 38 , 99 , 95 , 39 , 101 , 96 , 39 , & 104 , 96 , 40 , 106 , 97 , 40 , 108 , 97 , 41 , 111 , 98 , 41 , & 113 , 98 , 41 , 115 , 99 , 42 , 117 , 100 , 42 , 120 , 100 , 43 , & 122 , 101 , 43 , 124 , 101 , 44 , 127 , 102 , 44 , 129 , 103 , 45 , & 131 , 103 , 45 , 134 , 104 , 46 , 136 , 104 , 46 , 139 , 105 , 47 , & 141 , 106 , 47 , 144 , 107 , 48 , 146 , 107 , 48 , 149 , 108 , 49 , & 151 , 109 , 50 , 154 , 110 , 51 , 156 , 111 , 52 , 159 , 112 , 53 , & 161 , 113 , 55 , 164 , 115 , 56 , 166 , 116 , 58 , 168 , 118 , 60 , & 171 , 119 , 62 , 173 , 121 , 64 , 175 , 123 , 66 , 177 , 125 , 69 , & 179 , 127 , 71 , 181 , 129 , 74 , 182 , 131 , 77 , 184 , 133 , 80 , & 185 , 135 , 83 , 186 , 137 , 86 , 188 , 139 , 89 , 189 , 142 , 92 , & 190 , 144 , 95 , 191 , 146 , 98 , 192 , 148 , 101 , 193 , 151 , 105 , & 194 , 153 , 108 , 195 , 155 , 111 , 196 , 157 , 114 , 197 , 159 , 117 , & 198 , 162 , 120 , 198 , 164 , 124 , 199 , 166 , 127 , 200 , 168 , 130 , & 201 , 171 , 133 , 202 , 173 , 137 , 203 , 175 , 140 , 204 , 177 , 143 , & 205 , 179 , 146 , 206 , 182 , 150 , 207 , 184 , 153 , 208 , 186 , 156 , & 209 , 188 , 160 , 210 , 190 , 163 , 210 , 192 , 166 , 211 , 194 , 170 , & 212 , 196 , 173 , 213 , 198 , 176 , 214 , 200 , 180 , 215 , 202 , 183 , & 216 , 204 , 186 , 217 , 206 , 189 , 218 , 207 , 193 , 219 , 209 , 196 , & 220 , 211 , 199 , 221 , 212 , 202 , 222 , 214 , 205 , 223 , 215 , 207 , & 224 , 217 , 210 , 225 , 218 , 213 , 226 , 219 , 216 , 226 , 221 , 218 , & 227 , 222 , 221 , 228 , 223 , 224 , 229 , 224 , 226 , 230 , 226 , 229 , & 231 , 227 , 232 , 232 , 228 , 234 , 232 , 230 , 237 , 233 , 231 , 240 , & 234 , 233 , 243 , 235 , 234 , 246 , 236 , 235 , 249 , 237 , 237 , 252 & ], shape ( fes ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: fes10 = reshape ( [ & 13 , 13 , 13 , 64 , 64 , 64 , 109 , 109 , 109 , 151 , 151 , 151 , & 206 , 206 , 206 , 46 , 80 , 32 , 117 , 100 , 42 , 182 , 131 , 77 , & 211 , 194 , 170 , 237 , 237 , 252 & ], shape ( fes10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: fes100 = reshape ( [ & 13 , 13 , 13 , 20 , 20 , 20 , 24 , 24 , 24 , 29 , 29 , 29 , & 33 , 33 , 33 , 38 , 38 , 38 , 41 , 41 , 41 , 46 , 46 , 46 , & 52 , 52 , 52 , 55 , 55 , 55 , 60 , 60 , 60 , 64 , 64 , 64 , & 69 , 69 , 69 , 72 , 72 , 72 , 77 , 77 , 77 , 82 , 82 , 82 , & 85 , 85 , 85 , 89 , 89 , 89 , 92 , 92 , 92 , 97 , 97 , 97 , & 101 , 101 , 101 , 104 , 104 , 104 , 109 , 109 , 109 , 112 , 112 , 112 , & 116 , 116 , 116 , 119 , 119 , 119 , 123 , 123 , 123 , 127 , 127 , 127 , & 130 , 130 , 130 , 135 , 135 , 135 , 138 , 138 , 138 , 142 , 142 , 142 , & 146 , 146 , 146 , 151 , 151 , 151 , 156 , 156 , 156 , 160 , 160 , 160 , & 165 , 165 , 165 , 169 , 169 , 169 , 175 , 175 , 175 , 179 , 179 , 179 , & 185 , 185 , 185 , 191 , 191 , 191 , 195 , 195 , 195 , 202 , 202 , 202 , & 206 , 206 , 206 , 213 , 213 , 213 , 218 , 218 , 218 , 226 , 226 , 226 , & 233 , 233 , 233 , 238 , 238 , 238 , 5 , 65 , 38 , 12 , 67 , 36 , & 21 , 71 , 34 , 30 , 74 , 33 , 36 , 76 , 32 , 46 , 80 , 32 , & 52 , 82 , 32 , 61 , 85 , 32 , 66 , 86 , 33 , 74 , 89 , 34 , & 82 , 91 , 36 , 87 , 92 , 37 , 94 , 94 , 38 , 99 , 95 , 39 , & 106 , 97 , 40 , 111 , 98 , 41 , 117 , 100 , 42 , 124 , 101 , 44 , & 129 , 103 , 45 , 136 , 104 , 46 , 141 , 106 , 47 , 149 , 108 , 49 , & 154 , 110 , 51 , 161 , 113 , 55 , 168 , 118 , 60 , 173 , 121 , 64 , & 179 , 127 , 71 , 182 , 131 , 77 , 186 , 137 , 86 , 189 , 142 , 92 , & 192 , 148 , 101 , 195 , 155 , 111 , 197 , 159 , 117 , 199 , 166 , 127 , & 201 , 171 , 133 , 204 , 177 , 143 , 207 , 184 , 153 , 209 , 188 , 160 , & 211 , 194 , 170 , 213 , 198 , 176 , 216 , 204 , 186 , 218 , 207 , 193 , & 221 , 212 , 202 , 224 , 217 , 210 , 226 , 219 , 216 , 228 , 223 , 224 , & 230 , 226 , 229 , 232 , 230 , 237 , 234 , 233 , 243 , 237 , 237 , 252 & ], shape ( fes100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: fes25 = reshape ( [ & 13 , 13 , 13 , 34 , 34 , 34 , 52 , 52 , 52 , 70 , 70 , 70 , & 88 , 88 , 88 , 103 , 103 , 103 , 119 , 119 , 119 , 133 , 133 , 133 , & 151 , 151 , 151 , 171 , 171 , 171 , 191 , 191 , 191 , 216 , 216 , 216 , & 2 , 64 , 38 , 33 , 75 , 32 , 66 , 86 , 33 , 92 , 93 , 38 , & 117 , 100 , 42 , 144 , 107 , 48 , 168 , 118 , 60 , 188 , 139 , 89 , & 198 , 164 , 124 , 208 , 186 , 156 , 218 , 207 , 193 , 227 , 222 , 221 , & 237 , 237 , 252 & ], shape ( fes25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: fes50 = reshape ( [ & 13 , 13 , 13 , 24 , 24 , 24 , 33 , 33 , 33 , 43 , 43 , 43 , & 52 , 52 , 52 , 60 , 60 , 60 , 69 , 69 , 69 , 77 , 77 , 77 , & 86 , 86 , 86 , 94 , 94 , 94 , 101 , 101 , 101 , 109 , 109 , 109 , & 116 , 116 , 116 , 124 , 124 , 124 , 132 , 132 , 132 , 139 , 139 , 139 , & 147 , 147 , 147 , 156 , 156 , 156 , 167 , 167 , 167 , 177 , 177 , 177 , & 187 , 187 , 187 , 197 , 197 , 197 , 209 , 209 , 209 , 223 , 223 , 223 , & 236 , 236 , 236 , 9 , 66 , 37 , 24 , 72 , 34 , 43 , 79 , 32 , & 58 , 84 , 32 , 72 , 88 , 34 , 85 , 91 , 36 , 97 , 94 , 38 , & 111 , 98 , 41 , 122 , 101 , 43 , 134 , 104 , 46 , 146 , 107 , 48 , & 159 , 112 , 53 , 173 , 121 , 64 , 182 , 131 , 77 , 189 , 142 , 92 , & 194 , 153 , 108 , 198 , 164 , 124 , 204 , 177 , 143 , 209 , 188 , 160 , & 213 , 198 , 176 , 218 , 207 , 193 , 223 , 215 , 207 , 228 , 223 , 224 , & 232 , 230 , 237 , 237 , 237 , 252 & ], shape ( fes50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: glasgow = reshape ( [ & 54 , 19 , 56 , 55 , 19 , 55 , 56 , 19 , 55 , 57 , 20 , 54 , & 58 , 20 , 53 , 59 , 20 , 52 , 60 , 20 , 51 , 61 , 21 , 51 , & 62 , 21 , 50 , 63 , 21 , 49 , 64 , 21 , 48 , 64 , 22 , 47 , & 65 , 22 , 47 , 66 , 22 , 46 , 67 , 22 , 45 , 68 , 23 , 44 , & 69 , 23 , 44 , 70 , 23 , 43 , 70 , 23 , 42 , 71 , 24 , 41 , & 72 , 24 , 41 , 73 , 24 , 40 , 74 , 24 , 39 , 75 , 25 , 38 , & 75 , 25 , 38 , 76 , 25 , 37 , 77 , 25 , 36 , 78 , 26 , 36 , & 79 , 26 , 35 , 80 , 26 , 34 , 80 , 26 , 33 , 81 , 27 , 33 , & 82 , 27 , 32 , 83 , 27 , 31 , 84 , 27 , 30 , 85 , 28 , 30 , & 86 , 28 , 29 , 87 , 28 , 28 , 87 , 28 , 27 , 88 , 29 , 27 , & 89 , 29 , 26 , 90 , 29 , 25 , 91 , 30 , 24 , 92 , 30 , 24 , & 93 , 30 , 23 , 94 , 31 , 22 , 95 , 31 , 21 , 96 , 32 , 20 , & 97 , 32 , 19 , 98 , 33 , 19 , 99 , 33 , 18 , 101 , 34 , 17 , & 102 , 34 , 16 , 103 , 35 , 15 , 104 , 36 , 14 , 105 , 37 , 13 , & 106 , 37 , 12 , 107 , 38 , 11 , 108 , 39 , 11 , 108 , 40 , 10 , & 109 , 41 , 9 , 110 , 42 , 8 , 111 , 43 , 7 , 112 , 44 , 6 , & 112 , 45 , 6 , 113 , 46 , 5 , 113 , 47 , 4 , 114 , 49 , 4 , & 114 , 50 , 3 , 115 , 51 , 3 , 115 , 52 , 3 , 115 , 53 , 2 , & 116 , 55 , 2 , 116 , 56 , 2 , 116 , 57 , 1 , 116 , 58 , 1 , & 116 , 59 , 1 , 116 , 60 , 1 , 116 , 62 , 1 , 116 , 63 , 1 , & 117 , 64 , 1 , 117 , 65 , 0 , 117 , 66 , 0 , 117 , 67 , 0 , & 117 , 68 , 0 , 116 , 69 , 0 , 116 , 70 , 0 , 116 , 71 , 0 , & 116 , 73 , 0 , 116 , 74 , 0 , 116 , 75 , 0 , 116 , 76 , 0 , & 116 , 77 , 0 , 116 , 78 , 1 , 116 , 79 , 1 , 116 , 80 , 1 , & 116 , 81 , 1 , 116 , 82 , 1 , 116 , 83 , 2 , 116 , 84 , 2 , & 116 , 85 , 3 , 116 , 86 , 3 , 115 , 87 , 4 , 115 , 88 , 4 , & 115 , 89 , 5 , 115 , 90 , 6 , 115 , 91 , 7 , 115 , 92 , 8 , & 114 , 94 , 10 , 114 , 95 , 11 , 114 , 96 , 13 , 114 , 97 , 14 , & 114 , 98 , 16 , 113 , 99 , 17 , 113 , 100 , 19 , 113 , 101 , 21 , & 113 , 102 , 23 , 112 , 102 , 24 , 112 , 103 , 26 , 112 , 104 , 28 , & 112 , 105 , 30 , 111 , 106 , 32 , 111 , 107 , 33 , 111 , 108 , 35 , & 110 , 109 , 37 , 110 , 110 , 39 , 110 , 111 , 41 , 109 , 112 , 43 , & 109 , 112 , 45 , 109 , 113 , 47 , 108 , 114 , 49 , 108 , 115 , 50 , & 108 , 116 , 52 , 107 , 117 , 54 , 107 , 117 , 56 , 107 , 118 , 58 , & 106 , 119 , 60 , 106 , 120 , 62 , 106 , 121 , 64 , 105 , 122 , 66 , & 105 , 122 , 68 , 105 , 123 , 70 , 104 , 124 , 72 , 104 , 125 , 74 , & 104 , 125 , 76 , 103 , 126 , 77 , 103 , 127 , 79 , 103 , 128 , 81 , & 102 , 129 , 83 , 102 , 129 , 85 , 102 , 130 , 87 , 101 , 131 , 89 , & 101 , 132 , 91 , 101 , 132 , 93 , 101 , 133 , 95 , 100 , 134 , 97 , & 100 , 135 , 99 , 100 , 136 , 100 , 99 , 136 , 102 , 99 , 137 , 104 , & 99 , 138 , 106 , 98 , 139 , 108 , 98 , 139 , 110 , 98 , 140 , 112 , & 97 , 141 , 114 , 97 , 142 , 116 , 97 , 142 , 118 , 97 , 143 , 120 , & 96 , 144 , 121 , 96 , 145 , 123 , 96 , 146 , 125 , 96 , 146 , 127 , & 96 , 147 , 129 , 96 , 148 , 131 , 95 , 149 , 133 , 95 , 149 , 135 , & 96 , 150 , 137 , 96 , 151 , 138 , 96 , 152 , 140 , 96 , 153 , 142 , & 96 , 153 , 144 , 97 , 154 , 146 , 97 , 155 , 148 , 98 , 156 , 150 , & 98 , 157 , 152 , 99 , 158 , 154 , 100 , 159 , 155 , 101 , 159 , 157 , & 102 , 160 , 159 , 103 , 161 , 161 , 104 , 162 , 163 , 105 , 163 , 165 , & 107 , 164 , 166 , 108 , 165 , 168 , 110 , 165 , 170 , 111 , 166 , 171 , & 113 , 167 , 173 , 114 , 168 , 175 , 116 , 169 , 176 , 118 , 170 , 178 , & 119 , 170 , 179 , 121 , 171 , 181 , 123 , 172 , 183 , 125 , 173 , 184 , & 126 , 174 , 185 , 128 , 174 , 187 , 130 , 175 , 188 , 132 , 176 , 190 , & 134 , 177 , 191 , 135 , 177 , 193 , 137 , 178 , 194 , 139 , 179 , 195 , & 141 , 180 , 197 , 142 , 180 , 198 , 144 , 181 , 200 , 146 , 182 , 201 , & 148 , 182 , 202 , 149 , 183 , 204 , 151 , 184 , 205 , 153 , 185 , 206 , & 155 , 185 , 207 , 156 , 186 , 209 , 158 , 187 , 210 , 160 , 187 , 211 , & 161 , 188 , 213 , 163 , 189 , 214 , 165 , 189 , 215 , 166 , 190 , 216 , & 168 , 191 , 218 , 170 , 191 , 219 , 171 , 192 , 220 , 173 , 193 , 221 , & 175 , 193 , 223 , 176 , 194 , 224 , 178 , 195 , 225 , 180 , 195 , 226 , & 181 , 196 , 228 , 183 , 197 , 229 , 185 , 198 , 230 , 187 , 198 , 231 , & 188 , 199 , 233 , 190 , 200 , 234 , 192 , 200 , 236 , 194 , 201 , 237 , & 196 , 202 , 238 , 198 , 203 , 240 , 200 , 204 , 241 , 202 , 204 , 243 , & 204 , 205 , 244 , 206 , 206 , 246 , 208 , 207 , 247 , 210 , 208 , 249 , & 212 , 209 , 250 , 215 , 209 , 252 , 217 , 210 , 253 , 219 , 211 , 255 & ], shape ( glasgow ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: glasgow10 = reshape ( [ & 54 , 19 , 56 , 79 , 26 , 35 , 107 , 38 , 11 , 116 , 69 , 0 , & 113 , 99 , 17 , 104 , 124 , 72 , 96 , 146 , 125 , 116 , 169 , 176 , & 166 , 190 , 216 , 219 , 211 , 255 & ], shape ( glasgow10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: glasgow100 = reshape ( [ & 54 , 19 , 56 , 57 , 20 , 54 , 59 , 20 , 52 , 62 , 21 , 50 , & 64 , 21 , 48 , 66 , 22 , 46 , 68 , 23 , 44 , 70 , 23 , 42 , & 73 , 24 , 40 , 75 , 25 , 38 , 77 , 25 , 36 , 79 , 26 , 35 , & 81 , 27 , 33 , 83 , 27 , 31 , 86 , 28 , 29 , 88 , 29 , 27 , & 90 , 29 , 25 , 93 , 30 , 23 , 95 , 31 , 21 , 98 , 33 , 19 , & 102 , 34 , 16 , 104 , 36 , 14 , 107 , 38 , 11 , 108 , 40 , 10 , & 111 , 43 , 7 , 112 , 45 , 6 , 114 , 49 , 4 , 115 , 52 , 3 , & 116 , 55 , 2 , 116 , 58 , 1 , 116 , 60 , 1 , 117 , 64 , 1 , & 117 , 66 , 0 , 116 , 69 , 0 , 116 , 73 , 0 , 116 , 75 , 0 , & 116 , 78 , 1 , 116 , 80 , 1 , 116 , 83 , 2 , 116 , 85 , 3 , & 115 , 88 , 4 , 115 , 91 , 7 , 114 , 94 , 10 , 114 , 97 , 14 , & 113 , 99 , 17 , 113 , 102 , 23 , 112 , 103 , 26 , 111 , 106 , 32 , & 110 , 109 , 37 , 110 , 111 , 41 , 109 , 113 , 47 , 108 , 115 , 50 , & 107 , 117 , 56 , 106 , 120 , 62 , 105 , 122 , 66 , 104 , 124 , 72 , & 104 , 125 , 76 , 103 , 128 , 81 , 102 , 129 , 85 , 101 , 132 , 91 , & 100 , 134 , 97 , 100 , 136 , 100 , 99 , 138 , 106 , 98 , 139 , 110 , & 97 , 142 , 116 , 97 , 143 , 120 , 96 , 146 , 125 , 96 , 148 , 131 , & 95 , 149 , 135 , 96 , 152 , 140 , 96 , 153 , 144 , 98 , 156 , 150 , & 99 , 158 , 154 , 102 , 160 , 159 , 105 , 163 , 165 , 108 , 165 , 168 , & 113 , 167 , 173 , 116 , 169 , 176 , 121 , 171 , 181 , 125 , 173 , 184 , & 130 , 175 , 188 , 135 , 177 , 193 , 139 , 179 , 195 , 144 , 181 , 200 , & 148 , 182 , 202 , 153 , 185 , 206 , 158 , 187 , 210 , 161 , 188 , 213 , & 166 , 190 , 216 , 170 , 191 , 219 , 175 , 193 , 223 , 178 , 195 , 225 , & 183 , 197 , 229 , 188 , 199 , 233 , 192 , 200 , 236 , 198 , 203 , 240 , & 202 , 204 , 243 , 208 , 207 , 247 , 212 , 209 , 250 , 219 , 211 , 255 & ], shape ( glasgow100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: glasgow25 = reshape ( [ & 54 , 19 , 56 , 64 , 22 , 47 , 73 , 24 , 40 , 82 , 27 , 32 , & 92 , 30 , 24 , 103 , 35 , 15 , 112 , 45 , 6 , 116 , 57 , 1 , & 116 , 69 , 0 , 116 , 81 , 1 , 115 , 91 , 7 , 112 , 102 , 24 , & 109 , 112 , 45 , 106 , 121 , 64 , 102 , 129 , 85 , 99 , 137 , 104 , & 96 , 146 , 125 , 97 , 154 , 146 , 105 , 163 , 165 , 123 , 172 , 183 , & 142 , 180 , 198 , 160 , 187 , 211 , 178 , 195 , 225 , 196 , 202 , 238 , & 219 , 211 , 255 & ], shape ( glasgow25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: glasgow50 = reshape ( [ & 54 , 19 , 56 , 59 , 20 , 52 , 64 , 21 , 48 , 69 , 23 , 44 , & 73 , 24 , 40 , 77 , 25 , 36 , 81 , 27 , 33 , 86 , 28 , 29 , & 91 , 30 , 24 , 96 , 32 , 20 , 102 , 34 , 16 , 107 , 38 , 11 , & 111 , 43 , 7 , 114 , 50 , 3 , 116 , 56 , 2 , 116 , 62 , 1 , & 117 , 67 , 0 , 116 , 73 , 0 , 116 , 79 , 1 , 116 , 84 , 2 , & 115 , 89 , 5 , 114 , 95 , 11 , 113 , 100 , 19 , 112 , 105 , 30 , & 110 , 110 , 39 , 108 , 114 , 49 , 107 , 118 , 58 , 105 , 123 , 70 , & 103 , 127 , 79 , 101 , 131 , 89 , 100 , 135 , 99 , 98 , 139 , 108 , & 97 , 143 , 120 , 96 , 147 , 129 , 96 , 151 , 138 , 97 , 155 , 148 , & 101 , 159 , 157 , 108 , 165 , 168 , 116 , 169 , 176 , 125 , 173 , 184 , & 134 , 177 , 191 , 142 , 180 , 198 , 153 , 185 , 206 , 161 , 188 , 213 , & 170 , 191 , 219 , 178 , 195 , 225 , 187 , 198 , 231 , 198 , 203 , 240 , & 208 , 207 , 247 , 219 , 211 , 255 & ], shape ( glasgow50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: glasgowS = reshape ( [ & 54 , 19 , 56 , 219 , 211 , 255 , 109 , 112 , 45 , 112 , 45 , 6 , & 105 , 163 , 165 , 82 , 27 , 32 , 160 , 187 , 211 , 116 , 81 , 1 , & 99 , 138 , 106 , 132 , 176 , 190 , 104 , 125 , 76 , 69 , 23 , 44 , & 97 , 32 , 19 , 114 , 98 , 16 , 187 , 198 , 231 , 117 , 64 , 1 , & 96 , 150 , 137 , 112 , 105 , 30 , 101 , 132 , 91 , 202 , 204 , 243 , & 115 , 89 , 5 , 106 , 37 , 12 , 173 , 193 , 221 , 146 , 182 , 201 , & 118 , 170 , 178 , 106 , 119 , 60 , 116 , 55 , 2 , 116 , 73 , 0 , & 75 , 25 , 38 , 62 , 21 , 50 , 96 , 144 , 121 , 89 , 29 , 26 , & 98 , 156 , 150 , 93 , 30 , 23 , 108 , 116 , 52 , 72 , 24 , 41 , & 58 , 20 , 53 , 86 , 28 , 29 , 97 , 141 , 114 , 79 , 26 , 35 , & 101 , 159 , 157 , 100 , 135 , 99 , 102 , 34 , 16 , 116 , 77 , 0 , & 113 , 102 , 23 , 114 , 50 , 3 , 153 , 185 , 206 , 105 , 122 , 68 , & 65 , 22 , 47 , 139 , 179 , 195 , 194 , 201 , 237 , 116 , 59 , 1 , & 166 , 190 , 216 , 116 , 85 , 3 , 109 , 41 , 9 , 96 , 147 , 129 , & 210 , 208 , 249 , 125 , 173 , 184 , 110 , 109 , 37 , 111 , 166 , 171 , & 114 , 94 , 10 , 180 , 195 , 226 , 102 , 129 , 83 , 117 , 68 , 0 , & 96 , 153 , 142 , 116 , 83 , 2 , 80 , 26 , 33 , 97 , 142 , 118 , & 110 , 111 , 41 , 67 , 22 , 45 , 106 , 121 , 64 , 116 , 62 , 1 , & 156 , 186 , 209 , 56 , 19 , 55 , 104 , 36 , 14 , 170 , 191 , 219 , & 111 , 43 , 7 , 116 , 75 , 0 , 115 , 87 , 4 , 135 , 177 , 193 , & 101 , 133 , 95 , 142 , 180 , 198 , 74 , 24 , 39 , 99 , 33 , 18 , & 96 , 146 , 125 , 70 , 23 , 42 , 114 , 168 , 175 , 99 , 136 , 102 , & 128 , 174 , 187 , 95 , 31 , 21 , 108 , 165 , 168 , 121 , 171 , 181 , & 183 , 197 , 229 , 113 , 100 , 19 , 108 , 39 , 11 , 116 , 70 , 0 , & 116 , 79 , 1 , 111 , 107 , 33 , 115 , 91 , 7 , 95 , 149 , 133 & ], shape ( glasgowS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: grayC = reshape ( [ & 0 , 0 , 0 , 2 , 2 , 2 , 4 , 4 , 4 , 5 , 5 , 5 , & 7 , 7 , 7 , 9 , 9 , 9 , 11 , 11 , 11 , 13 , 13 , 13 , & 14 , 14 , 14 , 15 , 15 , 15 , 17 , 17 , 17 , 18 , 18 , 18 , & 19 , 19 , 19 , 20 , 20 , 20 , 21 , 21 , 21 , 22 , 22 , 22 , & 23 , 23 , 23 , 24 , 24 , 24 , 25 , 25 , 25 , 26 , 26 , 26 , & 27 , 27 , 27 , 28 , 28 , 28 , 29 , 29 , 29 , 30 , 30 , 30 , & 31 , 31 , 31 , 32 , 32 , 32 , 33 , 33 , 33 , 34 , 34 , 34 , & 35 , 35 , 35 , 36 , 36 , 36 , 36 , 36 , 36 , 37 , 37 , 37 , & 38 , 38 , 38 , 39 , 39 , 39 , 40 , 40 , 40 , 41 , 41 , 41 , & 42 , 42 , 42 , 43 , 43 , 43 , 44 , 44 , 44 , 45 , 45 , 45 , & 46 , 46 , 46 , 47 , 47 , 47 , 48 , 48 , 48 , 49 , 49 , 49 , & 49 , 49 , 49 , 50 , 50 , 50 , 51 , 51 , 51 , 52 , 52 , 52 , & 53 , 53 , 53 , 54 , 54 , 54 , 55 , 55 , 55 , 56 , 56 , 56 , & 57 , 57 , 57 , 58 , 58 , 58 , 59 , 59 , 59 , 59 , 59 , 59 , & 60 , 60 , 60 , 61 , 61 , 61 , 62 , 62 , 62 , 63 , 63 , 63 , & 64 , 64 , 64 , 65 , 65 , 65 , 66 , 66 , 66 , 67 , 67 , 67 , & 68 , 68 , 68 , 68 , 68 , 68 , 69 , 69 , 69 , 70 , 70 , 70 , & 71 , 71 , 71 , 72 , 72 , 72 , 73 , 73 , 73 , 74 , 74 , 74 , & 75 , 75 , 75 , 75 , 75 , 75 , 76 , 76 , 76 , 77 , 77 , 77 , & 78 , 78 , 78 , 79 , 79 , 79 , 80 , 80 , 80 , 81 , 81 , 81 , & 81 , 81 , 81 , 82 , 82 , 82 , 83 , 83 , 83 , 84 , 84 , 84 , & 85 , 85 , 85 , 86 , 86 , 86 , 86 , 86 , 86 , 87 , 87 , 87 , & 88 , 88 , 88 , 89 , 89 , 89 , 90 , 90 , 90 , 91 , 91 , 91 , & 91 , 91 , 91 , 92 , 92 , 92 , 93 , 93 , 93 , 94 , 94 , 94 , & 95 , 95 , 95 , 95 , 95 , 95 , 96 , 96 , 96 , 97 , 97 , 97 , & 98 , 98 , 98 , 99 , 99 , 99 , 99 , 99 , 99 , 100 , 100 , 100 , & 101 , 101 , 101 , 102 , 102 , 102 , 103 , 103 , 103 , 103 , 103 , 103 , & 104 , 104 , 104 , 105 , 105 , 105 , 106 , 106 , 106 , 106 , 106 , 106 , & 107 , 107 , 107 , 108 , 108 , 108 , 109 , 109 , 109 , 110 , 110 , 110 , & 110 , 110 , 110 , 111 , 111 , 111 , 112 , 112 , 112 , 113 , 113 , 113 , & 113 , 113 , 113 , 114 , 114 , 114 , 115 , 115 , 115 , 116 , 116 , 116 , & 116 , 116 , 116 , 117 , 117 , 117 , 118 , 118 , 118 , 119 , 119 , 119 , & 119 , 119 , 119 , 120 , 120 , 120 , 121 , 121 , 121 , 122 , 122 , 122 , & 122 , 122 , 122 , 123 , 123 , 123 , 124 , 124 , 124 , 125 , 125 , 125 , & 125 , 125 , 125 , 126 , 126 , 126 , 127 , 127 , 127 , 128 , 128 , 128 , & 128 , 128 , 128 , 129 , 129 , 129 , 130 , 130 , 130 , 131 , 131 , 131 , & 132 , 132 , 132 , 132 , 132 , 132 , 133 , 133 , 133 , 134 , 134 , 134 , & 135 , 135 , 135 , 136 , 136 , 136 , 136 , 136 , 136 , 137 , 137 , 137 , & 138 , 138 , 138 , 139 , 139 , 139 , 140 , 140 , 140 , 141 , 141 , 141 , & 142 , 142 , 142 , 142 , 142 , 142 , 143 , 143 , 143 , 144 , 144 , 144 , & 145 , 145 , 145 , 146 , 146 , 146 , 147 , 147 , 147 , 148 , 148 , 148 , & 149 , 149 , 149 , 149 , 149 , 149 , 150 , 150 , 150 , 151 , 151 , 151 , & 152 , 152 , 152 , 153 , 153 , 153 , 154 , 154 , 154 , 155 , 155 , 155 , & 156 , 156 , 156 , 157 , 157 , 157 , 158 , 158 , 158 , 159 , 159 , 159 , & 160 , 160 , 160 , 161 , 161 , 161 , 162 , 162 , 162 , 163 , 163 , 163 , & 164 , 164 , 164 , 165 , 165 , 165 , 166 , 166 , 166 , 167 , 167 , 167 , & 168 , 168 , 168 , 169 , 169 , 169 , 170 , 170 , 170 , 171 , 171 , 171 , & 172 , 172 , 172 , 173 , 173 , 173 , 174 , 174 , 174 , 175 , 175 , 175 , & 176 , 176 , 176 , 177 , 177 , 177 , 178 , 178 , 178 , 179 , 179 , 179 , & 180 , 180 , 180 , 181 , 181 , 181 , 182 , 182 , 182 , 183 , 183 , 183 , & 184 , 184 , 184 , 185 , 185 , 185 , 187 , 187 , 187 , 188 , 188 , 188 , & 189 , 189 , 189 , 190 , 190 , 190 , 191 , 191 , 191 , 192 , 192 , 192 , & 193 , 193 , 193 , 195 , 195 , 195 , 196 , 196 , 196 , 197 , 197 , 197 , & 198 , 198 , 198 , 199 , 199 , 199 , 200 , 200 , 200 , 202 , 202 , 202 , & 203 , 203 , 203 , 204 , 204 , 204 , 205 , 205 , 205 , 206 , 206 , 206 , & 208 , 208 , 208 , 209 , 209 , 209 , 210 , 210 , 210 , 211 , 211 , 211 , & 213 , 213 , 213 , 214 , 214 , 214 , 215 , 215 , 215 , 216 , 216 , 216 , & 218 , 218 , 218 , 219 , 219 , 219 , 220 , 220 , 220 , 222 , 222 , 222 , & 223 , 223 , 223 , 224 , 224 , 224 , 226 , 226 , 226 , 227 , 227 , 227 , & 228 , 228 , 228 , 230 , 230 , 230 , 231 , 231 , 231 , 232 , 232 , 232 , & 234 , 234 , 234 , 235 , 235 , 235 , 236 , 236 , 236 , 238 , 238 , 238 , & 239 , 239 , 239 , 241 , 241 , 241 , 242 , 242 , 242 , 243 , 243 , 243 , & 245 , 245 , 245 , 246 , 246 , 246 , 248 , 248 , 248 , 249 , 249 , 249 , & 251 , 251 , 251 , 252 , 252 , 252 , 254 , 254 , 254 , 255 , 255 , 255 & ], shape ( grayC ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: grayC10 = reshape ( [ & 0 , 0 , 0 , 35 , 35 , 35 , 61 , 61 , 61 , 86 , 86 , 86 , & 108 , 108 , 108 , 130 , 130 , 130 , 154 , 154 , 154 , 182 , 182 , 182 , & 216 , 216 , 216 , 255 , 255 , 255 & ], shape ( grayC10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: grayC100 = reshape ( [ & 0 , 0 , 0 , 5 , 5 , 5 , 9 , 9 , 9 , 14 , 14 , 14 , & 17 , 17 , 17 , 20 , 20 , 20 , 22 , 22 , 22 , 25 , 25 , 25 , & 28 , 28 , 28 , 30 , 30 , 30 , 33 , 33 , 33 , 35 , 35 , 35 , & 37 , 37 , 37 , 39 , 39 , 39 , 42 , 42 , 42 , 45 , 45 , 45 , & 47 , 47 , 47 , 49 , 49 , 49 , 51 , 51 , 51 , 54 , 54 , 54 , & 57 , 57 , 57 , 59 , 59 , 59 , 61 , 61 , 61 , 63 , 63 , 63 , & 66 , 66 , 66 , 68 , 68 , 68 , 70 , 70 , 70 , 73 , 73 , 73 , & 75 , 75 , 75 , 77 , 77 , 77 , 79 , 79 , 79 , 81 , 81 , 81 , & 83 , 83 , 83 , 86 , 86 , 86 , 88 , 88 , 88 , 90 , 90 , 90 , & 92 , 92 , 92 , 94 , 94 , 94 , 96 , 96 , 96 , 98 , 98 , 98 , & 100 , 100 , 100 , 103 , 103 , 103 , 104 , 104 , 104 , 106 , 106 , 106 , & 108 , 108 , 108 , 110 , 110 , 110 , 112 , 112 , 112 , 114 , 114 , 114 , & 116 , 116 , 116 , 118 , 118 , 118 , 120 , 120 , 120 , 122 , 122 , 122 , & 124 , 124 , 124 , 126 , 126 , 126 , 128 , 128 , 128 , 130 , 130 , 130 , & 132 , 132 , 132 , 134 , 134 , 134 , 136 , 136 , 136 , 138 , 138 , 138 , & 141 , 141 , 141 , 142 , 142 , 142 , 145 , 145 , 145 , 147 , 147 , 147 , & 149 , 149 , 149 , 151 , 151 , 151 , 154 , 154 , 154 , 157 , 157 , 157 , & 159 , 159 , 159 , 162 , 162 , 162 , 164 , 164 , 164 , 167 , 167 , 167 , & 169 , 169 , 169 , 172 , 172 , 172 , 175 , 175 , 175 , 177 , 177 , 177 , & 180 , 180 , 180 , 182 , 182 , 182 , 185 , 185 , 185 , 188 , 188 , 188 , & 191 , 191 , 191 , 195 , 195 , 195 , 197 , 197 , 197 , 200 , 200 , 200 , & 203 , 203 , 203 , 206 , 206 , 206 , 210 , 210 , 210 , 213 , 213 , 213 , & 216 , 216 , 216 , 219 , 219 , 219 , 223 , 223 , 223 , 226 , 226 , 226 , & 230 , 230 , 230 , 234 , 234 , 234 , 236 , 236 , 236 , 241 , 241 , 241 , & 243 , 243 , 243 , 248 , 248 , 248 , 251 , 251 , 251 , 255 , 255 , 255 & ], shape ( grayC100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: grayC25 = reshape ( [ & 0 , 0 , 0 , 18 , 18 , 18 , 28 , 28 , 28 , 38 , 38 , 38 , & 49 , 49 , 49 , 58 , 58 , 58 , 68 , 68 , 68 , 76 , 76 , 76 , & 86 , 86 , 86 , 95 , 95 , 95 , 103 , 103 , 103 , 111 , 111 , 111 , & 119 , 119 , 119 , 127 , 127 , 127 , 136 , 136 , 136 , 144 , 144 , 144 , & 154 , 154 , 154 , 165 , 165 , 165 , 175 , 175 , 175 , 187 , 187 , 187 , & 199 , 199 , 199 , 211 , 211 , 211 , 226 , 226 , 226 , 239 , 239 , 239 , & 255 , 255 , 255 & ], shape ( grayC25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: grayC50 = reshape ( [ & 0 , 0 , 0 , 9 , 9 , 9 , 17 , 17 , 17 , 23 , 23 , 23 , & 28 , 28 , 28 , 33 , 33 , 33 , 37 , 37 , 37 , 42 , 42 , 42 , & 48 , 48 , 48 , 52 , 52 , 52 , 57 , 57 , 57 , 61 , 61 , 61 , & 66 , 66 , 66 , 71 , 71 , 71 , 75 , 75 , 75 , 80 , 80 , 80 , & 84 , 84 , 84 , 88 , 88 , 88 , 93 , 93 , 93 , 97 , 97 , 97 , & 101 , 101 , 101 , 105 , 105 , 105 , 109 , 109 , 109 , 113 , 113 , 113 , & 117 , 117 , 117 , 121 , 121 , 121 , 125 , 125 , 125 , 129 , 129 , 129 , & 133 , 133 , 133 , 137 , 137 , 137 , 142 , 142 , 142 , 146 , 146 , 146 , & 151 , 151 , 151 , 156 , 156 , 156 , 161 , 161 , 161 , 166 , 166 , 166 , & 171 , 171 , 171 , 177 , 177 , 177 , 182 , 182 , 182 , 188 , 188 , 188 , & 193 , 193 , 193 , 199 , 199 , 199 , 206 , 206 , 206 , 213 , 213 , 213 , & 219 , 219 , 219 , 226 , 226 , 226 , 232 , 232 , 232 , 241 , 241 , 241 , & 248 , 248 , 248 , 255 , 255 , 255 & ], shape ( grayC50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: grayCS = reshape ( [ & 7 , 7 , 7 , 249 , 249 , 249 , 119 , 119 , 119 , 69 , 69 , 69 , & 173 , 173 , 173 , 208 , 208 , 208 , 41 , 41 , 41 , 95 , 95 , 95 , & 143 , 143 , 143 , 107 , 107 , 107 , 157 , 157 , 157 , 27 , 27 , 27 , & 189 , 189 , 189 , 55 , 55 , 55 , 82 , 82 , 82 , 227 , 227 , 227 , & 131 , 131 , 131 , 238 , 238 , 238 , 113 , 113 , 113 , 89 , 89 , 89 , & 62 , 62 , 62 , 198 , 198 , 198 , 19 , 19 , 19 , 165 , 165 , 165 , & 136 , 136 , 136 , 101 , 101 , 101 , 216 , 216 , 216 , 76 , 76 , 76 , & 181 , 181 , 181 , 49 , 49 , 49 , 150 , 150 , 150 , 125 , 125 , 125 , & 34 , 34 , 34 , 104 , 104 , 104 , 147 , 147 , 147 , 128 , 128 , 128 , & 59 , 59 , 59 , 140 , 140 , 140 , 222 , 222 , 222 , 14 , 14 , 14 , & 45 , 45 , 45 , 193 , 193 , 193 , 23 , 23 , 23 , 66 , 66 , 66 , & 92 , 92 , 92 , 232 , 232 , 232 , 169 , 169 , 169 , 37 , 37 , 37 , & 110 , 110 , 110 , 86 , 86 , 86 , 116 , 116 , 116 , 73 , 73 , 73 , & 243 , 243 , 243 , 203 , 203 , 203 , 177 , 177 , 177 , 161 , 161 , 161 , & 98 , 98 , 98 , 30 , 30 , 30 , 51 , 51 , 51 , 79 , 79 , 79 , & 122 , 122 , 122 , 134 , 134 , 134 , 185 , 185 , 185 , 154 , 154 , 154 , & 211 , 211 , 211 , 138 , 138 , 138 , 39 , 39 , 39 , 32 , 32 , 32 , & 17 , 17 , 17 , 60 , 60 , 60 , 129 , 129 , 129 , 205 , 205 , 205 , & 87 , 87 , 87 , 64 , 64 , 64 , 25 , 25 , 25 , 235 , 235 , 235 , & 81 , 81 , 81 , 152 , 152 , 152 , 71 , 71 , 71 , 84 , 84 , 84 , & 179 , 179 , 179 , 57 , 57 , 57 , 200 , 200 , 200 , 43 , 43 , 43 , & 246 , 246 , 246 , 159 , 159 , 159 , 99 , 99 , 99 , 214 , 214 , 214 , & 11 , 11 , 11 , 175 , 175 , 175 , 219 , 219 , 219 , 142 , 142 , 142 , & 167 , 167 , 167 , 115 , 115 , 115 , 171 , 171 , 171 , 21 , 21 , 21 , & 75 , 75 , 75 , 53 , 53 , 53 , 91 , 91 , 91 , 230 , 230 , 230 & ], shape ( grayCS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: hawaii = reshape ( [ & 140 , 2 , 115 , 141 , 4 , 114 , 141 , 6 , 113 , 141 , 8 , 112 , & 141 , 10 , 111 , 142 , 13 , 110 , 142 , 14 , 109 , 142 , 16 , 108 , & 142 , 18 , 107 , 142 , 19 , 106 , 143 , 21 , 105 , 143 , 22 , 104 , & 143 , 24 , 103 , 143 , 25 , 102 , 143 , 26 , 101 , 144 , 28 , 100 , & 144 , 29 , 99 , 144 , 30 , 99 , 144 , 31 , 98 , 144 , 32 , 97 , & 144 , 33 , 96 , 145 , 35 , 95 , 145 , 36 , 94 , 145 , 37 , 93 , & 145 , 38 , 92 , 145 , 39 , 91 , 145 , 40 , 90 , 146 , 41 , 90 , & 146 , 42 , 89 , 146 , 43 , 88 , 146 , 44 , 87 , 146 , 45 , 86 , & 146 , 46 , 85 , 146 , 47 , 84 , 147 , 48 , 84 , 147 , 49 , 83 , & 147 , 50 , 82 , 147 , 51 , 81 , 147 , 52 , 80 , 147 , 53 , 80 , & 147 , 54 , 79 , 148 , 55 , 78 , 148 , 56 , 77 , 148 , 57 , 77 , & 148 , 58 , 76 , 148 , 59 , 75 , 148 , 60 , 74 , 148 , 61 , 74 , & 149 , 62 , 73 , 149 , 63 , 72 , 149 , 64 , 71 , 149 , 65 , 71 , & 149 , 66 , 70 , 149 , 67 , 69 , 149 , 68 , 69 , 149 , 69 , 68 , & 150 , 70 , 67 , 150 , 71 , 66 , 150 , 72 , 66 , 150 , 73 , 65 , & 150 , 74 , 64 , 150 , 75 , 64 , 150 , 76 , 63 , 150 , 77 , 62 , & 151 , 78 , 62 , 151 , 79 , 61 , 151 , 80 , 60 , 151 , 81 , 60 , & 151 , 82 , 59 , 151 , 83 , 58 , 151 , 83 , 58 , 151 , 84 , 57 , & 152 , 85 , 56 , 152 , 86 , 56 , 152 , 87 , 55 , 152 , 88 , 54 , & 152 , 89 , 54 , 152 , 90 , 53 , 152 , 92 , 52 , 153 , 93 , 52 , & 153 , 94 , 51 , 153 , 95 , 50 , 153 , 96 , 50 , 153 , 97 , 49 , & 153 , 98 , 48 , 153 , 99 , 48 , 153 , 100 , 47 , 154 , 101 , 46 , & 154 , 102 , 46 , 154 , 103 , 45 , 154 , 104 , 44 , 154 , 105 , 44 , & 154 , 106 , 43 , 154 , 107 , 42 , 155 , 108 , 42 , 155 , 109 , 41 , & 155 , 111 , 40 , 155 , 112 , 40 , 155 , 113 , 39 , 155 , 114 , 38 , & 155 , 115 , 38 , 155 , 116 , 37 , 156 , 117 , 36 , 156 , 119 , 36 , & 156 , 120 , 35 , 156 , 121 , 35 , 156 , 122 , 34 , 156 , 123 , 33 , & 156 , 125 , 33 , 156 , 126 , 32 , 156 , 127 , 32 , 156 , 128 , 31 , & 157 , 129 , 31 , 157 , 131 , 30 , 157 , 132 , 30 , 157 , 133 , 29 , & 157 , 135 , 29 , 157 , 136 , 29 , 157 , 137 , 28 , 157 , 138 , 28 , & 157 , 140 , 28 , 157 , 141 , 28 , 157 , 142 , 28 , 157 , 144 , 28 , & 156 , 145 , 28 , 156 , 146 , 28 , 156 , 148 , 28 , 156 , 149 , 28 , & 156 , 150 , 28 , 156 , 152 , 29 , 155 , 153 , 29 , 155 , 154 , 30 , & 155 , 156 , 31 , 155 , 157 , 31 , 154 , 159 , 32 , 154 , 160 , 33 , & 154 , 161 , 34 , 153 , 163 , 35 , 153 , 164 , 36 , 152 , 165 , 38 , & 152 , 166 , 39 , 151 , 168 , 40 , 151 , 169 , 42 , 150 , 170 , 43 , & 149 , 171 , 45 , 149 , 173 , 46 , 148 , 174 , 48 , 147 , 175 , 50 , & 147 , 176 , 51 , 146 , 177 , 53 , 145 , 179 , 55 , 145 , 180 , 57 , & 144 , 181 , 59 , 143 , 182 , 60 , 142 , 183 , 62 , 141 , 184 , 64 , & 140 , 185 , 66 , 140 , 186 , 68 , 139 , 187 , 70 , 138 , 188 , 72 , & 137 , 189 , 74 , 136 , 190 , 76 , 135 , 190 , 78 , 134 , 191 , 80 , & 133 , 192 , 82 , 132 , 193 , 84 , 131 , 194 , 87 , 130 , 195 , 89 , & 130 , 195 , 91 , 129 , 196 , 93 , 128 , 197 , 95 , 127 , 198 , 97 , & 126 , 198 , 99 , 125 , 199 , 101 , 124 , 200 , 103 , 123 , 201 , 105 , & 122 , 201 , 108 , 121 , 202 , 110 , 120 , 203 , 112 , 119 , 204 , 114 , & 118 , 204 , 116 , 117 , 205 , 118 , 116 , 206 , 121 , 115 , 206 , 123 , & 114 , 207 , 125 , 113 , 208 , 127 , 112 , 208 , 129 , 112 , 209 , 131 , & 111 , 210 , 134 , 110 , 210 , 136 , 109 , 211 , 138 , 108 , 212 , 140 , & 107 , 212 , 142 , 106 , 213 , 145 , 105 , 214 , 147 , 104 , 214 , 149 , & 104 , 215 , 151 , 103 , 216 , 153 , 102 , 216 , 156 , 101 , 217 , 158 , & 100 , 218 , 160 , 100 , 218 , 162 , 99 , 219 , 165 , 98 , 220 , 167 , & 98 , 220 , 169 , 97 , 221 , 171 , 97 , 222 , 174 , 96 , 222 , 176 , & 96 , 223 , 178 , 96 , 224 , 180 , 95 , 224 , 183 , 95 , 225 , 185 , & 95 , 226 , 187 , 95 , 226 , 189 , 95 , 227 , 192 , 95 , 228 , 194 , & 96 , 228 , 196 , 96 , 229 , 198 , 97 , 229 , 200 , 97 , 230 , 202 , & 98 , 231 , 205 , 99 , 231 , 207 , 100 , 232 , 209 , 102 , 232 , 211 , & 103 , 233 , 213 , 104 , 233 , 215 , 106 , 234 , 217 , 108 , 235 , 219 , & 109 , 235 , 220 , 111 , 235 , 222 , 113 , 236 , 224 , 115 , 236 , 226 , & 118 , 237 , 227 , 120 , 237 , 229 , 122 , 238 , 231 , 125 , 238 , 232 , & 127 , 238 , 234 , 130 , 239 , 235 , 132 , 239 , 236 , 135 , 239 , 238 , & 138 , 240 , 239 , 141 , 240 , 240 , 143 , 240 , 241 , 146 , 240 , 243 , & 149 , 241 , 244 , 152 , 241 , 245 , 154 , 241 , 246 , 157 , 241 , 247 , & 160 , 241 , 248 , 163 , 241 , 249 , 166 , 241 , 249 , 168 , 242 , 250 , & 171 , 242 , 251 , 174 , 242 , 252 , 177 , 242 , 253 , 179 , 242 , 253 & ], shape ( hawaii ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: hawaii10 = reshape ( [ & 140 , 2 , 115 , 146 , 42 , 89 , 150 , 71 , 66 , 153 , 99 , 48 , & 157 , 131 , 30 , 151 , 169 , 42 , 128 , 197 , 95 , 102 , 216 , 156 , & 108 , 235 , 219 , 179 , 242 , 253 & ], shape ( hawaii10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: hawaii100 = reshape ( [ & 140 , 2 , 115 , 141 , 8 , 112 , 142 , 13 , 110 , 142 , 18 , 107 , & 143 , 21 , 105 , 143 , 25 , 102 , 144 , 28 , 100 , 144 , 31 , 98 , & 145 , 35 , 95 , 145 , 37 , 93 , 145 , 40 , 90 , 146 , 42 , 89 , & 146 , 45 , 86 , 146 , 47 , 84 , 147 , 50 , 82 , 147 , 53 , 80 , & 148 , 55 , 78 , 148 , 58 , 76 , 148 , 60 , 74 , 149 , 63 , 72 , & 149 , 66 , 70 , 149 , 68 , 69 , 150 , 71 , 66 , 150 , 73 , 65 , & 150 , 76 , 63 , 151 , 78 , 62 , 151 , 81 , 60 , 151 , 83 , 58 , & 152 , 85 , 56 , 152 , 88 , 54 , 152 , 90 , 53 , 153 , 94 , 51 , & 153 , 96 , 50 , 153 , 99 , 48 , 154 , 102 , 46 , 154 , 104 , 44 , & 154 , 107 , 42 , 155 , 109 , 41 , 155 , 113 , 39 , 155 , 115 , 38 , & 156 , 119 , 36 , 156 , 122 , 34 , 156 , 125 , 33 , 156 , 128 , 31 , & 157 , 131 , 30 , 157 , 135 , 29 , 157 , 137 , 28 , 157 , 141 , 28 , & 156 , 145 , 28 , 156 , 148 , 28 , 156 , 152 , 29 , 155 , 154 , 30 , & 154 , 159 , 32 , 153 , 163 , 35 , 152 , 165 , 38 , 151 , 169 , 42 , & 149 , 171 , 45 , 147 , 175 , 50 , 146 , 177 , 53 , 144 , 181 , 59 , & 141 , 184 , 64 , 140 , 186 , 68 , 137 , 189 , 74 , 135 , 190 , 78 , & 132 , 193 , 84 , 130 , 195 , 89 , 128 , 197 , 95 , 125 , 199 , 101 , & 123 , 201 , 105 , 120 , 203 , 112 , 118 , 204 , 116 , 115 , 206 , 123 , & 113 , 208 , 127 , 111 , 210 , 134 , 108 , 212 , 140 , 106 , 213 , 145 , & 104 , 215 , 151 , 102 , 216 , 156 , 100 , 218 , 162 , 98 , 220 , 167 , & 97 , 222 , 174 , 96 , 224 , 180 , 95 , 225 , 185 , 95 , 227 , 192 , & 96 , 228 , 196 , 97 , 230 , 202 , 100 , 232 , 209 , 103 , 233 , 213 , & 108 , 235 , 219 , 111 , 235 , 222 , 118 , 237 , 227 , 122 , 238 , 231 , & 130 , 239 , 235 , 138 , 240 , 239 , 143 , 240 , 241 , 152 , 241 , 245 , & 157 , 241 , 247 , 166 , 241 , 249 , 171 , 242 , 251 , 179 , 242 , 253 & ], shape ( hawaii100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: hawaii25 = reshape ( [ & 140 , 2 , 115 , 143 , 22 , 104 , 145 , 35 , 95 , 146 , 46 , 85 , & 148 , 57 , 77 , 149 , 67 , 69 , 151 , 78 , 62 , 152 , 87 , 55 , & 153 , 99 , 48 , 155 , 111 , 40 , 156 , 122 , 34 , 157 , 136 , 29 , & 156 , 150 , 28 , 153 , 164 , 36 , 146 , 177 , 53 , 138 , 188 , 72 , & 128 , 197 , 95 , 117 , 205 , 118 , 108 , 212 , 140 , 99 , 219 , 165 , & 95 , 226 , 189 , 102 , 232 , 211 , 122 , 238 , 231 , 149 , 241 , 244 , & 179 , 242 , 253 & ], shape ( hawaii25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: hawaii50 = reshape ( [ & 140 , 2 , 115 , 142 , 13 , 110 , 143 , 21 , 105 , 144 , 29 , 99 , & 145 , 35 , 95 , 145 , 40 , 90 , 146 , 45 , 86 , 147 , 50 , 82 , & 148 , 56 , 77 , 148 , 61 , 74 , 149 , 66 , 70 , 150 , 71 , 66 , & 150 , 76 , 63 , 151 , 82 , 59 , 152 , 86 , 56 , 152 , 92 , 52 , & 153 , 97 , 49 , 154 , 102 , 46 , 155 , 108 , 42 , 155 , 114 , 38 , & 156 , 120 , 35 , 156 , 126 , 32 , 157 , 132 , 30 , 157 , 140 , 28 , & 156 , 146 , 28 , 155 , 153 , 29 , 154 , 160 , 33 , 151 , 168 , 40 , & 148 , 174 , 48 , 145 , 180 , 57 , 140 , 185 , 66 , 136 , 190 , 76 , & 130 , 195 , 89 , 126 , 198 , 99 , 121 , 202 , 110 , 116 , 206 , 121 , & 112 , 209 , 131 , 106 , 213 , 145 , 102 , 216 , 156 , 98 , 220 , 167 , & 96 , 223 , 178 , 95 , 226 , 189 , 97 , 230 , 202 , 103 , 233 , 213 , & 111 , 235 , 222 , 122 , 238 , 231 , 135 , 239 , 238 , 152 , 241 , 245 , & 166 , 241 , 249 , 179 , 242 , 253 & ], shape ( hawaii50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: hawaiiS = reshape ( [ & 140 , 2 , 115 , 179 , 242 , 253 , 156 , 150 , 28 , 151 , 78 , 62 , & 107 , 212 , 142 , 146 , 46 , 85 , 137 , 189 , 74 , 155 , 111 , 40 , & 103 , 233 , 213 , 122 , 201 , 108 , 149 , 62 , 73 , 96 , 223 , 178 , & 149 , 171 , 45 , 144 , 29 , 99 , 153 , 94 , 51 , 157 , 129 , 31 , & 135 , 239 , 238 , 147 , 54 , 79 , 96 , 228 , 196 , 157 , 241 , 247 , & 157 , 140 , 28 , 142 , 18 , 107 , 156 , 120 , 35 , 150 , 70 , 67 , & 100 , 218 , 160 , 152 , 85 , 56 , 114 , 207 , 125 , 130 , 195 , 91 , & 144 , 181 , 59 , 145 , 38 , 92 , 154 , 102 , 46 , 154 , 161 , 34 , & 115 , 236 , 226 , 152 , 166 , 39 , 151 , 82 , 59 , 146 , 42 , 89 , & 148 , 58 , 76 , 153 , 98 , 48 , 156 , 145 , 28 , 156 , 125 , 33 , & 155 , 156 , 31 , 118 , 204 , 116 , 157 , 135 , 29 , 141 , 10 , 111 , & 143 , 24 , 103 , 147 , 176 , 51 , 168 , 242 , 250 , 126 , 198 , 99 , & 125 , 238 , 232 , 152 , 89 , 54 , 154 , 106 , 43 , 98 , 231 , 205 , & 98 , 220 , 169 , 155 , 115 , 38 , 95 , 226 , 187 , 150 , 74 , 64 , & 140 , 185 , 66 , 149 , 66 , 70 , 133 , 192 , 82 , 104 , 215 , 151 , & 144 , 33 , 96 , 147 , 50 , 82 , 111 , 210 , 134 , 146 , 240 , 243 , & 108 , 235 , 219 , 143 , 26 , 101 , 149 , 64 , 71 , 135 , 190 , 78 , & 152 , 92 , 52 , 147 , 52 , 80 , 149 , 68 , 69 , 152 , 241 , 245 , & 153 , 100 , 47 , 151 , 83 , 58 , 124 , 200 , 103 , 141 , 6 , 113 , & 145 , 40 , 90 , 155 , 113 , 39 , 152 , 87 , 55 , 109 , 211 , 138 , & 112 , 208 , 129 , 100 , 232 , 209 , 148 , 174 , 48 , 145 , 179 , 55 , & 153 , 164 , 36 , 97 , 229 , 200 , 157 , 137 , 28 , 156 , 122 , 34 , & 139 , 187 , 70 , 153 , 96 , 50 , 145 , 36 , 94 , 156 , 127 , 32 , & 150 , 72 , 66 , 116 , 206 , 121 , 95 , 224 , 183 , 156 , 148 , 28 , & 128 , 197 , 95 , 151 , 80 , 60 , 154 , 159 , 32 , 155 , 108 , 42 & ], shape ( hawaiiS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: imola = reshape ( [ & 26 , 51 , 179 , 26 , 52 , 178 , 27 , 53 , 178 , 27 , 53 , 177 , & 28 , 54 , 177 , 28 , 55 , 177 , 28 , 55 , 176 , 29 , 56 , 176 , & 29 , 57 , 176 , 30 , 57 , 175 , 30 , 58 , 175 , 30 , 59 , 175 , & 31 , 60 , 174 , 31 , 60 , 174 , 31 , 61 , 174 , 32 , 62 , 173 , & 32 , 62 , 173 , 32 , 63 , 173 , 33 , 64 , 172 , 33 , 64 , 172 , & 33 , 65 , 172 , 34 , 66 , 171 , 34 , 66 , 171 , 34 , 67 , 171 , & 35 , 68 , 170 , 35 , 68 , 170 , 35 , 69 , 170 , 36 , 70 , 169 , & 36 , 70 , 169 , 36 , 71 , 169 , 37 , 72 , 168 , 37 , 72 , 168 , & 37 , 73 , 168 , 38 , 74 , 167 , 38 , 74 , 167 , 38 , 75 , 167 , & 39 , 76 , 166 , 39 , 76 , 166 , 39 , 77 , 166 , 40 , 78 , 165 , & 40 , 78 , 165 , 40 , 79 , 165 , 41 , 80 , 164 , 41 , 80 , 164 , & 41 , 81 , 164 , 42 , 82 , 163 , 42 , 82 , 163 , 42 , 83 , 163 , & 43 , 83 , 162 , 43 , 84 , 162 , 43 , 85 , 162 , 44 , 85 , 161 , & 44 , 86 , 161 , 44 , 87 , 161 , 45 , 87 , 160 , 45 , 88 , 160 , & 45 , 89 , 160 , 46 , 89 , 159 , 46 , 90 , 159 , 46 , 91 , 159 , & 47 , 91 , 158 , 47 , 92 , 158 , 47 , 93 , 158 , 48 , 93 , 157 , & 48 , 94 , 157 , 48 , 95 , 156 , 49 , 95 , 156 , 49 , 96 , 156 , & 50 , 96 , 155 , 50 , 97 , 155 , 50 , 98 , 155 , 51 , 98 , 154 , & 51 , 99 , 154 , 52 , 100 , 153 , 52 , 100 , 153 , 52 , 101 , 152 , & 53 , 101 , 152 , 53 , 102 , 152 , 54 , 103 , 151 , 54 , 103 , 151 , & 55 , 104 , 150 , 55 , 104 , 150 , 56 , 105 , 149 , 56 , 106 , 149 , & 57 , 106 , 148 , 57 , 107 , 148 , 58 , 107 , 147 , 58 , 108 , 147 , & 59 , 108 , 146 , 59 , 109 , 146 , 60 , 110 , 145 , 60 , 110 , 145 , & 61 , 111 , 144 , 61 , 111 , 144 , 62 , 112 , 143 , 62 , 112 , 143 , & 63 , 113 , 142 , 64 , 114 , 141 , 64 , 114 , 141 , 65 , 115 , 140 , & 65 , 115 , 140 , 66 , 116 , 139 , 66 , 116 , 139 , 67 , 117 , 138 , & 68 , 118 , 138 , 68 , 118 , 137 , 69 , 119 , 137 , 69 , 119 , 136 , & 70 , 120 , 136 , 70 , 121 , 135 , 71 , 121 , 135 , 72 , 122 , 134 , & 72 , 123 , 134 , 73 , 123 , 133 , 74 , 124 , 133 , 74 , 125 , 132 , & 75 , 125 , 132 , 76 , 126 , 131 , 76 , 127 , 131 , 77 , 127 , 130 , & 78 , 128 , 130 , 78 , 129 , 129 , 79 , 129 , 129 , 80 , 130 , 129 , & 81 , 131 , 128 , 81 , 132 , 128 , 82 , 133 , 128 , 83 , 133 , 127 , & 84 , 134 , 127 , 85 , 135 , 127 , 86 , 136 , 126 , 86 , 137 , 126 , & 87 , 138 , 126 , 88 , 138 , 125 , 89 , 139 , 125 , 90 , 140 , 125 , & 91 , 141 , 125 , 92 , 142 , 124 , 92 , 143 , 124 , 93 , 144 , 124 , & 94 , 145 , 123 , 95 , 146 , 123 , 96 , 146 , 123 , 97 , 147 , 123 , & 98 , 148 , 122 , 99 , 149 , 122 , 100 , 150 , 122 , 101 , 151 , 122 , & 102 , 152 , 122 , 103 , 153 , 121 , 103 , 154 , 121 , 104 , 155 , 121 , & 105 , 156 , 121 , 106 , 157 , 120 , 107 , 158 , 120 , 108 , 159 , 120 , & 109 , 160 , 120 , 110 , 161 , 119 , 111 , 162 , 119 , 112 , 163 , 119 , & 113 , 164 , 119 , 114 , 165 , 118 , 115 , 166 , 118 , 116 , 167 , 118 , & 117 , 168 , 118 , 118 , 169 , 117 , 119 , 170 , 117 , 120 , 171 , 117 , & 121 , 172 , 117 , 122 , 173 , 116 , 123 , 174 , 116 , 124 , 175 , 116 , & 125 , 176 , 116 , 126 , 177 , 115 , 127 , 178 , 115 , 128 , 179 , 115 , & 129 , 180 , 115 , 130 , 181 , 114 , 131 , 182 , 114 , 132 , 183 , 114 , & 133 , 184 , 114 , 134 , 185 , 113 , 135 , 186 , 113 , 136 , 187 , 113 , & 137 , 188 , 113 , 138 , 189 , 112 , 139 , 190 , 112 , 140 , 191 , 112 , & 141 , 192 , 112 , 142 , 193 , 111 , 144 , 194 , 111 , 145 , 195 , 111 , & 146 , 196 , 110 , 147 , 198 , 110 , 148 , 199 , 110 , 149 , 200 , 110 , & 150 , 201 , 109 , 151 , 202 , 109 , 152 , 203 , 109 , 153 , 204 , 109 , & 155 , 205 , 108 , 156 , 206 , 108 , 157 , 207 , 108 , 158 , 208 , 108 , & 159 , 210 , 107 , 161 , 211 , 107 , 162 , 212 , 107 , 163 , 213 , 107 , & 164 , 214 , 106 , 166 , 215 , 106 , 167 , 216 , 106 , 169 , 217 , 106 , & 170 , 218 , 105 , 172 , 219 , 105 , 173 , 221 , 105 , 175 , 222 , 105 , & 176 , 223 , 104 , 178 , 224 , 104 , 180 , 225 , 104 , 181 , 226 , 104 , & 183 , 227 , 104 , 185 , 228 , 104 , 187 , 229 , 103 , 189 , 230 , 103 , & 191 , 231 , 103 , 192 , 232 , 103 , 194 , 233 , 103 , 196 , 234 , 103 , & 198 , 235 , 103 , 200 , 235 , 103 , 202 , 236 , 103 , 205 , 237 , 102 , & 207 , 238 , 102 , 209 , 239 , 102 , 211 , 240 , 102 , 213 , 240 , 102 , & 215 , 241 , 102 , 217 , 242 , 102 , 219 , 243 , 102 , 221 , 244 , 102 , & 223 , 244 , 102 , 226 , 245 , 102 , 228 , 246 , 102 , 230 , 246 , 102 , & 232 , 247 , 102 , 234 , 248 , 102 , 236 , 249 , 102 , 238 , 249 , 102 , & 240 , 250 , 102 , 242 , 251 , 102 , 245 , 251 , 102 , 247 , 252 , 102 , & 249 , 253 , 102 , 251 , 254 , 102 , 253 , 254 , 102 , 255 , 255 , 102 & ], shape ( imola ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: imola10 = reshape ( [ & 26 , 51 , 179 , 36 , 70 , 169 , 46 , 89 , 159 , 57 , 107 , 148 , & 73 , 123 , 133 , 96 , 146 , 123 , 123 , 174 , 116 , 152 , 203 , 109 , & 196 , 234 , 103 , 255 , 255 , 102 & ], shape ( imola10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: imola100 = reshape ( [ & 26 , 51 , 179 , 27 , 53 , 177 , 28 , 55 , 177 , 29 , 57 , 176 , & 30 , 58 , 175 , 31 , 60 , 174 , 32 , 62 , 173 , 33 , 64 , 172 , & 34 , 66 , 171 , 34 , 67 , 171 , 35 , 69 , 170 , 36 , 70 , 169 , & 37 , 72 , 168 , 38 , 74 , 167 , 39 , 76 , 166 , 40 , 78 , 165 , & 40 , 79 , 165 , 41 , 81 , 164 , 42 , 82 , 163 , 43 , 84 , 162 , & 44 , 86 , 161 , 45 , 87 , 160 , 46 , 89 , 159 , 46 , 91 , 159 , & 47 , 93 , 158 , 48 , 94 , 157 , 49 , 96 , 156 , 50 , 98 , 155 , & 51 , 99 , 154 , 52 , 101 , 152 , 53 , 102 , 152 , 55 , 104 , 150 , & 56 , 105 , 149 , 57 , 107 , 148 , 59 , 108 , 146 , 60 , 110 , 145 , & 61 , 111 , 144 , 62 , 112 , 143 , 64 , 114 , 141 , 65 , 115 , 140 , & 67 , 117 , 138 , 69 , 119 , 137 , 70 , 120 , 136 , 72 , 122 , 134 , & 73 , 123 , 133 , 75 , 125 , 132 , 76 , 127 , 131 , 78 , 129 , 129 , & 81 , 131 , 128 , 82 , 133 , 128 , 85 , 135 , 127 , 86 , 137 , 126 , & 89 , 139 , 125 , 92 , 142 , 124 , 93 , 144 , 124 , 96 , 146 , 123 , & 98 , 148 , 122 , 101 , 151 , 122 , 103 , 153 , 121 , 105 , 156 , 121 , & 108 , 159 , 120 , 110 , 161 , 119 , 113 , 164 , 119 , 115 , 166 , 118 , & 118 , 169 , 117 , 120 , 171 , 117 , 123 , 174 , 116 , 126 , 177 , 115 , & 128 , 179 , 115 , 131 , 182 , 114 , 133 , 184 , 114 , 136 , 187 , 113 , & 138 , 189 , 112 , 141 , 192 , 112 , 145 , 195 , 111 , 147 , 198 , 110 , & 150 , 201 , 109 , 152 , 203 , 109 , 156 , 206 , 108 , 158 , 208 , 108 , & 162 , 212 , 107 , 166 , 215 , 106 , 169 , 217 , 106 , 173 , 221 , 105 , & 176 , 223 , 104 , 181 , 226 , 104 , 187 , 229 , 103 , 191 , 231 , 103 , & 196 , 234 , 103 , 200 , 235 , 103 , 207 , 238 , 102 , 211 , 240 , 102 , & 217 , 242 , 102 , 223 , 244 , 102 , 228 , 246 , 102 , 234 , 248 , 102 , & 238 , 249 , 102 , 245 , 251 , 102 , 249 , 253 , 102 , 255 , 255 , 102 & ], shape ( imola100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: imola25 = reshape ( [ & 26 , 51 , 179 , 30 , 59 , 175 , 34 , 66 , 171 , 37 , 73 , 168 , & 41 , 80 , 164 , 44 , 87 , 161 , 48 , 94 , 157 , 52 , 100 , 153 , & 57 , 107 , 148 , 63 , 113 , 142 , 69 , 119 , 137 , 76 , 126 , 131 , & 84 , 134 , 127 , 92 , 143 , 124 , 103 , 153 , 121 , 112 , 163 , 119 , & 123 , 174 , 116 , 134 , 185 , 113 , 145 , 195 , 111 , 157 , 207 , 108 , & 172 , 219 , 105 , 189 , 230 , 103 , 211 , 240 , 102 , 232 , 247 , 102 , & 255 , 255 , 102 & ], shape ( imola25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: imola50 = reshape ( [ & 26 , 51 , 179 , 28 , 55 , 177 , 30 , 58 , 175 , 32 , 62 , 173 , & 34 , 66 , 171 , 35 , 69 , 170 , 37 , 72 , 168 , 39 , 76 , 166 , & 41 , 80 , 164 , 42 , 83 , 163 , 44 , 86 , 161 , 46 , 89 , 159 , & 47 , 93 , 158 , 50 , 96 , 155 , 52 , 100 , 153 , 54 , 103 , 151 , & 56 , 106 , 149 , 59 , 108 , 146 , 62 , 112 , 143 , 65 , 115 , 140 , & 68 , 118 , 138 , 70 , 121 , 135 , 74 , 124 , 133 , 78 , 128 , 130 , & 81 , 132 , 128 , 86 , 136 , 126 , 90 , 140 , 125 , 95 , 146 , 123 , & 100 , 150 , 122 , 104 , 155 , 121 , 109 , 160 , 120 , 114 , 165 , 118 , & 120 , 171 , 117 , 125 , 176 , 116 , 130 , 181 , 114 , 135 , 186 , 113 , & 140 , 191 , 112 , 147 , 198 , 110 , 152 , 203 , 109 , 158 , 208 , 108 , & 164 , 214 , 106 , 172 , 219 , 105 , 181 , 226 , 104 , 191 , 231 , 103 , & 200 , 235 , 103 , 211 , 240 , 102 , 221 , 244 , 102 , 234 , 248 , 102 , & 245 , 251 , 102 , 255 , 255 , 102 & ], shape ( imola50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: imolaS = reshape ( [ & 26 , 51 , 179 , 255 , 255 , 102 , 84 , 134 , 127 , 48 , 94 , 157 , & 145 , 195 , 111 , 63 , 113 , 142 , 189 , 230 , 103 , 37 , 73 , 168 , & 113 , 164 , 119 , 43 , 83 , 162 , 221 , 244 , 102 , 72 , 123 , 134 , & 32 , 62 , 173 , 163 , 213 , 107 , 98 , 148 , 122 , 55 , 104 , 150 , & 128 , 179 , 115 , 175 , 222 , 105 , 45 , 89 , 160 , 136 , 187 , 113 , & 205 , 237 , 102 , 68 , 118 , 138 , 59 , 108 , 146 , 238 , 249 , 102 , & 91 , 141 , 125 , 105 , 156 , 121 , 40 , 78 , 165 , 35 , 68 , 170 , & 51 , 99 , 154 , 29 , 57 , 176 , 78 , 128 , 130 , 153 , 204 , 109 , & 121 , 172 , 117 , 70 , 120 , 136 , 140 , 191 , 112 , 87 , 138 , 126 , & 117 , 168 , 118 , 169 , 217 , 106 , 102 , 152 , 122 , 65 , 115 , 140 , & 61 , 111 , 144 , 33 , 65 , 172 , 230 , 246 , 102 , 57 , 106 , 148 , & 53 , 101 , 152 , 28 , 54 , 177 , 94 , 145 , 123 , 247 , 252 , 102 , & 44 , 86 , 161 , 158 , 208 , 108 , 36 , 70 , 169 , 181 , 226 , 104 , & 149 , 200 , 110 , 75 , 125 , 132 , 39 , 76 , 166 , 213 , 240 , 102 , & 41 , 81 , 164 , 31 , 60 , 174 , 109 , 160 , 120 , 132 , 183 , 114 , & 50 , 96 , 155 , 196 , 234 , 103 , 81 , 131 , 128 , 47 , 91 , 158 , & 124 , 175 , 116 , 92 , 143 , 124 , 37 , 72 , 168 , 33 , 64 , 172 , & 54 , 103 , 151 , 130 , 181 , 114 , 76 , 127 , 131 , 86 , 136 , 126 , & 31 , 61 , 174 , 35 , 69 , 170 , 62 , 112 , 143 , 60 , 110 , 145 , & 251 , 254 , 102 , 156 , 206 , 108 , 126 , 177 , 115 , 200 , 235 , 103 , & 89 , 139 , 125 , 64 , 114 , 141 , 192 , 232 , 103 , 47 , 93 , 158 , & 42 , 82 , 163 , 134 , 185 , 113 , 49 , 95 , 156 , 41 , 80 , 164 , & 56 , 105 , 149 , 58 , 107 , 147 , 27 , 53 , 178 , 50 , 98 , 155 , & 147 , 198 , 110 , 242 , 251 , 102 , 52 , 100 , 153 , 119 , 170 , 117 , & 234 , 248 , 102 , 100 , 150 , 122 , 69 , 119 , 137 , 115 , 166 , 118 & ], shape ( imolaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lajolla = reshape ( [ & 25 , 25 , 0 , 26 , 26 , 1 , 27 , 26 , 1 , 28 , 26 , 1 , & 29 , 27 , 2 , 30 , 27 , 2 , 30 , 27 , 3 , 31 , 28 , 3 , & 32 , 28 , 4 , 33 , 28 , 4 , 34 , 28 , 5 , 35 , 29 , 5 , & 36 , 29 , 6 , 36 , 29 , 7 , 37 , 30 , 7 , 38 , 30 , 8 , & 39 , 30 , 8 , 40 , 31 , 9 , 41 , 31 , 9 , 42 , 31 , 10 , & 43 , 32 , 10 , 44 , 32 , 11 , 45 , 32 , 12 , 46 , 33 , 12 , & 47 , 33 , 13 , 48 , 33 , 13 , 49 , 34 , 14 , 50 , 34 , 15 , & 51 , 34 , 15 , 52 , 35 , 16 , 53 , 35 , 16 , 54 , 36 , 17 , & 55 , 36 , 17 , 57 , 36 , 18 , 58 , 37 , 19 , 59 , 37 , 19 , & 60 , 38 , 20 , 61 , 38 , 20 , 63 , 38 , 21 , 64 , 39 , 22 , & 65 , 39 , 22 , 67 , 40 , 23 , 68 , 40 , 23 , 69 , 41 , 24 , & 71 , 41 , 25 , 72 , 42 , 26 , 74 , 42 , 26 , 75 , 43 , 27 , & 77 , 43 , 28 , 78 , 44 , 29 , 80 , 44 , 29 , 81 , 45 , 30 , & 83 , 45 , 31 , 84 , 46 , 32 , 86 , 46 , 33 , 87 , 47 , 33 , & 89 , 47 , 34 , 91 , 48 , 35 , 92 , 48 , 36 , 94 , 49 , 37 , & 96 , 50 , 38 , 97 , 50 , 39 , 99 , 51 , 40 , 101 , 51 , 41 , & 103 , 52 , 42 , 105 , 53 , 43 , 106 , 53 , 44 , 108 , 54 , 44 , & 110 , 54 , 45 , 112 , 55 , 46 , 114 , 56 , 47 , 116 , 56 , 48 , & 118 , 57 , 49 , 120 , 57 , 50 , 121 , 58 , 51 , 123 , 59 , 52 , & 125 , 59 , 53 , 127 , 60 , 54 , 129 , 60 , 55 , 131 , 61 , 56 , & 133 , 62 , 57 , 135 , 62 , 58 , 137 , 63 , 58 , 139 , 63 , 59 , & 141 , 64 , 60 , 143 , 64 , 61 , 146 , 65 , 62 , 148 , 65 , 62 , & 150 , 66 , 63 , 152 , 66 , 64 , 154 , 67 , 64 , 156 , 67 , 65 , & 158 , 68 , 66 , 160 , 68 , 66 , 162 , 69 , 67 , 164 , 69 , 68 , & 166 , 70 , 68 , 168 , 70 , 69 , 171 , 71 , 69 , 173 , 71 , 70 , & 175 , 72 , 70 , 177 , 72 , 71 , 179 , 73 , 71 , 181 , 73 , 71 , & 183 , 74 , 72 , 185 , 74 , 72 , 187 , 75 , 72 , 188 , 76 , 73 , & 190 , 76 , 73 , 192 , 77 , 73 , 194 , 77 , 74 , 196 , 78 , 74 , & 197 , 79 , 74 , 199 , 80 , 75 , 201 , 81 , 75 , 202 , 81 , 75 , & 204 , 82 , 75 , 205 , 83 , 76 , 207 , 84 , 76 , 208 , 85 , 76 , & 209 , 86 , 76 , 210 , 88 , 76 , 212 , 89 , 77 , 213 , 90 , 77 , & 214 , 91 , 77 , 215 , 92 , 77 , 215 , 94 , 77 , 216 , 95 , 77 , & 217 , 96 , 78 , 218 , 97 , 78 , 219 , 99 , 78 , 219 , 100 , 78 , & 220 , 101 , 78 , 220 , 103 , 78 , 221 , 104 , 78 , 221 , 105 , 79 , & 222 , 107 , 79 , 222 , 108 , 79 , 223 , 109 , 79 , 223 , 110 , 79 , & 224 , 112 , 79 , 224 , 113 , 79 , 224 , 114 , 79 , 225 , 116 , 79 , & 225 , 117 , 80 , 225 , 118 , 80 , 225 , 119 , 80 , 226 , 121 , 80 , & 226 , 122 , 80 , 226 , 123 , 80 , 227 , 124 , 80 , 227 , 125 , 80 , & 227 , 127 , 80 , 227 , 128 , 80 , 228 , 129 , 80 , 228 , 130 , 81 , & 228 , 131 , 81 , 228 , 133 , 81 , 229 , 134 , 81 , 229 , 135 , 81 , & 229 , 136 , 81 , 229 , 137 , 81 , 230 , 139 , 81 , 230 , 140 , 81 , & 230 , 141 , 81 , 230 , 142 , 81 , 230 , 143 , 82 , 231 , 144 , 82 , & 231 , 146 , 82 , 231 , 147 , 82 , 231 , 148 , 82 , 232 , 149 , 82 , & 232 , 150 , 82 , 232 , 151 , 82 , 232 , 152 , 82 , 233 , 154 , 82 , & 233 , 155 , 82 , 233 , 156 , 82 , 233 , 157 , 83 , 234 , 158 , 83 , & 234 , 159 , 83 , 234 , 161 , 83 , 234 , 162 , 83 , 235 , 163 , 83 , & 235 , 164 , 83 , 235 , 165 , 83 , 235 , 166 , 83 , 235 , 168 , 83 , & 236 , 169 , 83 , 236 , 170 , 84 , 236 , 171 , 84 , 236 , 172 , 84 , & 237 , 174 , 84 , 237 , 175 , 84 , 237 , 176 , 84 , 237 , 177 , 84 , & 238 , 179 , 85 , 238 , 180 , 85 , 238 , 181 , 85 , 239 , 182 , 85 , & 239 , 184 , 86 , 239 , 185 , 86 , 239 , 186 , 86 , 240 , 188 , 87 , & 240 , 189 , 87 , 240 , 190 , 88 , 241 , 192 , 88 , 241 , 193 , 89 , & 241 , 194 , 90 , 241 , 196 , 90 , 242 , 197 , 91 , 242 , 199 , 92 , & 242 , 200 , 93 , 243 , 202 , 95 , 243 , 203 , 96 , 244 , 205 , 97 , & 244 , 206 , 99 , 244 , 208 , 101 , 245 , 209 , 103 , 245 , 211 , 105 , & 245 , 212 , 107 , 246 , 214 , 109 , 246 , 215 , 111 , 247 , 217 , 113 , & 247 , 218 , 116 , 247 , 220 , 119 , 248 , 221 , 121 , 248 , 223 , 124 , & 248 , 224 , 127 , 249 , 226 , 130 , 249 , 227 , 132 , 250 , 229 , 135 , & 250 , 230 , 138 , 250 , 231 , 141 , 251 , 232 , 144 , 251 , 234 , 147 , & 251 , 235 , 150 , 251 , 236 , 153 , 252 , 237 , 156 , 252 , 239 , 159 , & 252 , 240 , 162 , 252 , 241 , 165 , 253 , 242 , 168 , 253 , 243 , 171 , & 253 , 244 , 174 , 253 , 245 , 176 , 254 , 246 , 179 , 254 , 247 , 182 , & 254 , 248 , 184 , 254 , 249 , 187 , 254 , 250 , 190 , 254 , 251 , 192 , & 255 , 252 , 195 , 255 , 253 , 198 , 255 , 254 , 200 , 255 , 254 , 203 & ], shape ( lajolla ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lajolla10 = reshape ( [ & 25 , 25 , 0 , 51 , 34 , 15 , 91 , 48 , 35 , 143 , 64 , 61 , & 199 , 80 , 75 , 224 , 114 , 79 , 231 , 148 , 82 , 238 , 181 , 85 , & 248 , 223 , 124 , 255 , 254 , 203 & ], shape ( lajolla10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lajolla100 = reshape ( [ & 25 , 25 , 0 , 28 , 26 , 1 , 30 , 27 , 2 , 32 , 28 , 4 , & 34 , 28 , 5 , 36 , 29 , 7 , 38 , 30 , 8 , 41 , 31 , 9 , & 44 , 32 , 11 , 46 , 33 , 12 , 49 , 34 , 14 , 51 , 34 , 15 , & 54 , 36 , 17 , 57 , 36 , 18 , 60 , 38 , 20 , 64 , 39 , 22 , & 67 , 40 , 23 , 71 , 41 , 25 , 74 , 42 , 26 , 78 , 44 , 29 , & 83 , 45 , 31 , 86 , 46 , 33 , 91 , 48 , 35 , 94 , 49 , 37 , & 99 , 51 , 40 , 103 , 52 , 42 , 108 , 54 , 44 , 114 , 56 , 47 , & 118 , 57 , 49 , 123 , 59 , 52 , 127 , 60 , 54 , 133 , 62 , 57 , & 137 , 63 , 58 , 143 , 64 , 61 , 150 , 66 , 63 , 154 , 67 , 64 , & 160 , 68 , 66 , 164 , 69 , 68 , 171 , 71 , 69 , 175 , 72 , 70 , & 181 , 73 , 71 , 187 , 75 , 72 , 190 , 76 , 73 , 196 , 78 , 74 , & 199 , 80 , 75 , 204 , 82 , 75 , 207 , 84 , 76 , 210 , 88 , 76 , & 214 , 91 , 77 , 215 , 94 , 77 , 218 , 97 , 78 , 219 , 100 , 78 , & 221 , 104 , 78 , 222 , 108 , 79 , 223 , 110 , 79 , 224 , 114 , 79 , & 225 , 117 , 80 , 226 , 121 , 80 , 226 , 123 , 80 , 227 , 127 , 80 , & 228 , 130 , 81 , 228 , 133 , 81 , 229 , 136 , 81 , 230 , 139 , 81 , & 230 , 142 , 81 , 231 , 144 , 82 , 231 , 148 , 82 , 232 , 151 , 82 , & 233 , 154 , 82 , 233 , 157 , 83 , 234 , 159 , 83 , 235 , 163 , 83 , & 235 , 165 , 83 , 236 , 169 , 83 , 236 , 172 , 84 , 237 , 175 , 84 , & 238 , 179 , 85 , 238 , 181 , 85 , 239 , 185 , 86 , 240 , 188 , 87 , & 241 , 192 , 88 , 241 , 196 , 90 , 242 , 199 , 92 , 243 , 203 , 96 , & 244 , 206 , 99 , 245 , 211 , 105 , 246 , 215 , 111 , 247 , 218 , 116 , & 248 , 223 , 124 , 249 , 226 , 130 , 250 , 230 , 138 , 251 , 232 , 144 , & 251 , 236 , 153 , 252 , 240 , 162 , 253 , 242 , 168 , 253 , 245 , 176 , & 254 , 247 , 182 , 254 , 250 , 190 , 255 , 252 , 195 , 255 , 254 , 203 & ], shape ( lajolla100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lajolla25 = reshape ( [ & 25 , 25 , 0 , 35 , 29 , 5 , 44 , 32 , 11 , 55 , 36 , 17 , & 69 , 41 , 24 , 84 , 46 , 32 , 103 , 52 , 42 , 121 , 58 , 51 , & 143 , 64 , 61 , 166 , 70 , 68 , 187 , 75 , 72 , 205 , 83 , 76 , & 217 , 96 , 78 , 223 , 109 , 79 , 226 , 123 , 80 , 229 , 135 , 81 , & 231 , 148 , 82 , 234 , 161 , 83 , 236 , 172 , 84 , 239 , 186 , 86 , & 243 , 202 , 95 , 247 , 217 , 113 , 251 , 232 , 144 , 253 , 244 , 174 , & 255 , 254 , 203 & ], shape ( lajolla25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lajolla50 = reshape ( [ & 25 , 25 , 0 , 30 , 27 , 2 , 34 , 28 , 5 , 39 , 30 , 8 , & 44 , 32 , 11 , 49 , 34 , 14 , 54 , 36 , 17 , 60 , 38 , 20 , & 68 , 40 , 23 , 75 , 43 , 27 , 83 , 45 , 31 , 91 , 48 , 35 , & 99 , 51 , 40 , 110 , 54 , 45 , 120 , 57 , 50 , 129 , 60 , 55 , & 139 , 63 , 59 , 150 , 66 , 63 , 162 , 69 , 67 , 173 , 71 , 70 , & 183 , 74 , 72 , 192 , 77 , 73 , 201 , 81 , 75 , 209 , 86 , 76 , & 215 , 92 , 77 , 219 , 99 , 78 , 221 , 105 , 79 , 224 , 113 , 79 , & 225 , 119 , 80 , 227 , 125 , 80 , 228 , 131 , 81 , 229 , 137 , 81 , & 231 , 144 , 82 , 232 , 150 , 82 , 233 , 156 , 82 , 234 , 162 , 83 , & 235 , 168 , 83 , 237 , 175 , 84 , 238 , 181 , 85 , 240 , 188 , 87 , & 241 , 194 , 90 , 243 , 202 , 95 , 245 , 211 , 105 , 247 , 218 , 116 , & 249 , 226 , 130 , 251 , 232 , 144 , 252 , 239 , 159 , 253 , 245 , 176 , & 254 , 250 , 190 , 255 , 254 , 203 & ], shape ( lajolla50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lajollaS = reshape ( [ & 25 , 25 , 0 , 255 , 254 , 203 , 217 , 96 , 78 , 103 , 52 , 42 , & 237 , 174 , 84 , 55 , 36 , 17 , 229 , 136 , 81 , 166 , 70 , 68 , & 247 , 218 , 116 , 241 , 194 , 90 , 133 , 62 , 57 , 77 , 43 , 28 , & 233 , 155 , 82 , 225 , 117 , 80 , 39 , 30 , 8 , 197 , 79 , 74 , & 252 , 240 , 162 , 150 , 66 , 63 , 235 , 164 , 83 , 183 , 74 , 72 , & 231 , 146 , 82 , 250 , 230 , 138 , 239 , 184 , 86 , 32 , 28 , 4 , & 244 , 206 , 99 , 227 , 127 , 80 , 118 , 57 , 49 , 47 , 33 , 13 , & 222 , 107 , 79 , 89 , 47 , 34 , 209 , 86 , 76 , 65 , 39 , 22 , & 254 , 248 , 184 , 245 , 212 , 107 , 158 , 68 , 66 , 36 , 29 , 6 , & 125 , 59 , 53 , 141 , 64 , 60 , 214 , 91 , 77 , 224 , 112 , 79 , & 234 , 159 , 83 , 175 , 72 , 70 , 251 , 235 , 150 , 83 , 45 , 31 , & 236 , 169 , 83 , 248 , 224 , 127 , 226 , 122 , 80 , 242 , 200 , 93 , & 29 , 27 , 2 , 220 , 101 , 78 , 43 , 32 , 10 , 60 , 38 , 20 , & 190 , 76 , 73 , 96 , 50 , 38 , 230 , 141 , 81 , 110 , 54 , 45 , & 238 , 179 , 85 , 232 , 150 , 82 , 71 , 41 , 25 , 51 , 34 , 15 , & 204 , 82 , 75 , 240 , 189 , 87 , 228 , 131 , 81 , 253 , 244 , 174 , & 254 , 251 , 192 , 179 , 73 , 71 , 114 , 56 , 47 , 230 , 139 , 81 , & 86 , 46 , 33 , 231 , 148 , 82 , 74 , 42 , 26 , 45 , 32 , 12 , & 251 , 232 , 144 , 224 , 114 , 79 , 194 , 77 , 74 , 49 , 34 , 14 , & 225 , 119 , 80 , 53 , 35 , 16 , 106 , 53 , 44 , 63 , 38 , 21 , & 162 , 69 , 67 , 187 , 75 , 72 , 252 , 237 , 156 , 246 , 215 , 111 , & 239 , 186 , 86 , 37 , 30 , 7 , 212 , 89 , 77 , 207 , 84 , 76 , & 215 , 94 , 77 , 254 , 246 , 179 , 121 , 58 , 51 , 58 , 37 , 19 , & 241 , 192 , 88 , 30 , 27 , 3 , 253 , 242 , 168 , 238 , 181 , 85 , & 249 , 227 , 132 , 235 , 166 , 83 , 229 , 134 , 81 , 255 , 253 , 198 & ], shape ( lajollaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lapaz = reshape ( [ & 26 , 12 , 100 , 27 , 14 , 101 , 27 , 15 , 102 , 27 , 16 , 103 , & 28 , 18 , 104 , 28 , 19 , 104 , 28 , 20 , 105 , 29 , 22 , 106 , & 29 , 23 , 107 , 29 , 24 , 108 , 30 , 25 , 109 , 30 , 26 , 109 , & 30 , 28 , 110 , 31 , 29 , 111 , 31 , 30 , 112 , 31 , 31 , 113 , & 32 , 32 , 113 , 32 , 33 , 114 , 32 , 35 , 115 , 32 , 36 , 116 , & 33 , 37 , 117 , 33 , 38 , 117 , 33 , 39 , 118 , 33 , 40 , 119 , & 34 , 41 , 120 , 34 , 42 , 121 , 34 , 43 , 121 , 34 , 44 , 122 , & 35 , 45 , 123 , 35 , 47 , 124 , 35 , 48 , 124 , 35 , 49 , 125 , & 36 , 50 , 126 , 36 , 51 , 127 , 36 , 52 , 127 , 36 , 53 , 128 , & 37 , 54 , 129 , 37 , 55 , 130 , 37 , 56 , 130 , 37 , 57 , 131 , & 38 , 58 , 132 , 38 , 59 , 132 , 38 , 60 , 133 , 38 , 61 , 134 , & 39 , 62 , 135 , 39 , 63 , 135 , 39 , 64 , 136 , 39 , 65 , 137 , & 40 , 66 , 137 , 40 , 67 , 138 , 40 , 69 , 139 , 40 , 70 , 139 , & 41 , 71 , 140 , 41 , 72 , 140 , 41 , 73 , 141 , 42 , 74 , 142 , & 42 , 75 , 142 , 42 , 76 , 143 , 43 , 77 , 144 , 43 , 78 , 144 , & 43 , 79 , 145 , 44 , 80 , 145 , 44 , 81 , 146 , 44 , 82 , 146 , & 45 , 83 , 147 , 45 , 84 , 148 , 45 , 85 , 148 , 46 , 86 , 149 , & 46 , 87 , 149 , 46 , 88 , 150 , 47 , 89 , 150 , 47 , 90 , 151 , & 48 , 91 , 151 , 48 , 92 , 152 , 48 , 93 , 152 , 49 , 94 , 153 , & 49 , 94 , 153 , 50 , 95 , 153 , 50 , 96 , 154 , 51 , 97 , 154 , & 51 , 98 , 155 , 52 , 99 , 155 , 52 , 100 , 156 , 53 , 101 , 156 , & 53 , 102 , 156 , 54 , 103 , 157 , 55 , 104 , 157 , 55 , 105 , 157 , & 56 , 106 , 158 , 56 , 107 , 158 , 57 , 108 , 158 , 58 , 109 , 159 , & 58 , 110 , 159 , 59 , 111 , 159 , 60 , 112 , 160 , 60 , 112 , 160 , & 61 , 113 , 160 , 62 , 114 , 161 , 62 , 115 , 161 , 63 , 116 , 161 , & 64 , 117 , 161 , 65 , 118 , 162 , 66 , 119 , 162 , 66 , 120 , 162 , & 67 , 121 , 162 , 68 , 122 , 162 , 69 , 122 , 162 , 70 , 123 , 163 , & 71 , 124 , 163 , 72 , 125 , 163 , 73 , 126 , 163 , 74 , 127 , 163 , & 75 , 128 , 163 , 76 , 128 , 163 , 77 , 129 , 163 , 78 , 130 , 163 , & 79 , 131 , 164 , 80 , 132 , 164 , 81 , 133 , 164 , 82 , 133 , 164 , & 83 , 134 , 164 , 84 , 135 , 164 , 85 , 136 , 164 , 86 , 136 , 164 , & 87 , 137 , 164 , 88 , 138 , 163 , 90 , 139 , 163 , 91 , 139 , 163 , & 92 , 140 , 163 , 93 , 141 , 163 , 94 , 142 , 163 , 96 , 142 , 163 , & 97 , 143 , 163 , 98 , 144 , 163 , 99 , 144 , 162 , 101 , 145 , 162 , & 102 , 146 , 162 , 103 , 146 , 162 , 104 , 147 , 162 , 106 , 148 , 161 , & 107 , 148 , 161 , 108 , 149 , 161 , 110 , 149 , 161 , 111 , 150 , 161 , & 112 , 151 , 160 , 114 , 151 , 160 , 115 , 152 , 160 , 116 , 152 , 159 , & 118 , 153 , 159 , 119 , 153 , 159 , 120 , 154 , 159 , 122 , 154 , 158 , & 123 , 155 , 158 , 124 , 155 , 158 , 126 , 156 , 157 , 127 , 156 , 157 , & 128 , 157 , 157 , 130 , 157 , 156 , 131 , 158 , 156 , 133 , 158 , 156 , & 134 , 158 , 155 , 135 , 159 , 155 , 137 , 159 , 154 , 138 , 160 , 154 , & 139 , 160 , 154 , 141 , 160 , 153 , 142 , 161 , 153 , 144 , 161 , 153 , & 145 , 162 , 152 , 146 , 162 , 152 , 148 , 162 , 152 , 149 , 163 , 152 , & 151 , 163 , 151 , 152 , 164 , 151 , 153 , 164 , 151 , 155 , 164 , 150 , & 156 , 165 , 150 , 158 , 165 , 150 , 159 , 166 , 150 , 161 , 166 , 150 , & 162 , 166 , 150 , 164 , 167 , 149 , 165 , 167 , 149 , 167 , 168 , 149 , & 168 , 168 , 149 , 170 , 169 , 149 , 171 , 169 , 149 , 173 , 170 , 149 , & 174 , 170 , 149 , 176 , 171 , 149 , 178 , 171 , 150 , 179 , 172 , 150 , & 181 , 173 , 150 , 183 , 173 , 150 , 184 , 174 , 151 , 186 , 175 , 151 , & 188 , 176 , 152 , 190 , 176 , 152 , 191 , 177 , 153 , 193 , 178 , 153 , & 195 , 179 , 154 , 197 , 180 , 155 , 199 , 181 , 156 , 200 , 182 , 156 , & 202 , 183 , 157 , 204 , 184 , 158 , 206 , 185 , 159 , 208 , 186 , 160 , & 210 , 187 , 162 , 211 , 188 , 163 , 213 , 189 , 164 , 215 , 190 , 166 , & 217 , 192 , 167 , 218 , 193 , 168 , 220 , 194 , 170 , 222 , 195 , 171 , & 223 , 197 , 173 , 225 , 198 , 175 , 227 , 199 , 176 , 228 , 201 , 178 , & 230 , 202 , 180 , 231 , 203 , 181 , 232 , 204 , 183 , 234 , 206 , 185 , & 235 , 207 , 187 , 236 , 208 , 189 , 237 , 210 , 190 , 239 , 211 , 192 , & 240 , 212 , 194 , 241 , 213 , 196 , 242 , 215 , 198 , 243 , 216 , 200 , & 244 , 217 , 201 , 244 , 218 , 203 , 245 , 219 , 205 , 246 , 221 , 207 , & 247 , 222 , 209 , 247 , 223 , 211 , 248 , 224 , 212 , 249 , 225 , 214 , & 249 , 226 , 216 , 250 , 227 , 218 , 250 , 229 , 220 , 251 , 230 , 221 , & 251 , 231 , 223 , 251 , 232 , 225 , 252 , 233 , 227 , 252 , 234 , 229 , & 252 , 235 , 230 , 253 , 236 , 232 , 253 , 237 , 234 , 253 , 238 , 236 , & 254 , 239 , 237 , 254 , 240 , 239 , 254 , 241 , 241 , 254 , 242 , 243 & ], shape ( lapaz ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lapaz10 = reshape ( [ & 26 , 12 , 100 , 35 , 45 , 123 , 42 , 76 , 143 , 54 , 103 , 157 , & 76 , 128 , 163 , 110 , 149 , 161 , 148 , 162 , 152 , 191 , 177 , 153 , & 239 , 211 , 192 , 254 , 242 , 243 & ], shape ( lapaz10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lapaz100 = reshape ( [ & 26 , 12 , 100 , 27 , 16 , 103 , 28 , 19 , 104 , 29 , 23 , 107 , & 30 , 25 , 109 , 31 , 29 , 111 , 31 , 31 , 113 , 32 , 35 , 115 , & 33 , 38 , 117 , 33 , 40 , 119 , 34 , 43 , 121 , 35 , 45 , 123 , & 35 , 49 , 125 , 36 , 51 , 127 , 37 , 54 , 129 , 37 , 57 , 131 , & 38 , 59 , 132 , 39 , 62 , 135 , 39 , 64 , 136 , 40 , 67 , 138 , & 41 , 71 , 140 , 41 , 73 , 141 , 42 , 76 , 143 , 43 , 78 , 144 , & 44 , 81 , 146 , 45 , 83 , 147 , 46 , 86 , 149 , 47 , 89 , 150 , & 48 , 91 , 151 , 49 , 94 , 153 , 50 , 95 , 153 , 51 , 98 , 155 , & 52 , 100 , 156 , 54 , 103 , 157 , 56 , 106 , 158 , 57 , 108 , 158 , & 59 , 111 , 159 , 60 , 112 , 160 , 62 , 115 , 161 , 64 , 117 , 161 , & 66 , 120 , 162 , 69 , 122 , 162 , 71 , 124 , 163 , 74 , 127 , 163 , & 76 , 128 , 163 , 79 , 131 , 164 , 81 , 133 , 164 , 84 , 135 , 164 , & 87 , 137 , 164 , 90 , 139 , 163 , 93 , 141 , 163 , 96 , 142 , 163 , & 99 , 144 , 162 , 103 , 146 , 162 , 106 , 148 , 161 , 110 , 149 , 161 , & 112 , 151 , 160 , 116 , 152 , 159 , 119 , 153 , 159 , 123 , 155 , 158 , & 127 , 156 , 157 , 130 , 157 , 156 , 134 , 158 , 155 , 137 , 159 , 154 , & 141 , 160 , 153 , 144 , 161 , 153 , 148 , 162 , 152 , 152 , 164 , 151 , & 155 , 164 , 150 , 159 , 166 , 150 , 162 , 166 , 150 , 167 , 168 , 149 , & 170 , 169 , 149 , 174 , 170 , 149 , 179 , 172 , 150 , 183 , 173 , 150 , & 188 , 176 , 152 , 191 , 177 , 153 , 197 , 180 , 155 , 200 , 182 , 156 , & 206 , 185 , 159 , 211 , 188 , 163 , 215 , 190 , 166 , 220 , 194 , 170 , & 223 , 197 , 173 , 228 , 201 , 178 , 232 , 204 , 183 , 235 , 207 , 187 , & 239 , 211 , 192 , 241 , 213 , 196 , 244 , 217 , 201 , 245 , 219 , 205 , & 247 , 223 , 211 , 249 , 226 , 216 , 250 , 229 , 220 , 251 , 232 , 225 , & 252 , 234 , 229 , 253 , 237 , 234 , 254 , 239 , 237 , 254 , 242 , 243 & ], shape ( lapaz100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lapaz25 = reshape ( [ & 26 , 12 , 100 , 30 , 26 , 109 , 33 , 38 , 117 , 36 , 50 , 126 , & 38 , 61 , 134 , 41 , 72 , 140 , 45 , 83 , 147 , 48 , 93 , 152 , & 54 , 103 , 157 , 61 , 113 , 160 , 69 , 122 , 162 , 80 , 132 , 164 , & 92 , 140 , 163 , 104 , 147 , 162 , 119 , 153 , 159 , 133 , 158 , 156 , & 148 , 162 , 152 , 164 , 167 , 149 , 179 , 172 , 150 , 199 , 181 , 156 , & 218 , 193 , 168 , 234 , 206 , 185 , 245 , 219 , 205 , 251 , 231 , 223 , & 254 , 242 , 243 & ], shape ( lapaz25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lapaz50 = reshape ( [ & 26 , 12 , 100 , 28 , 19 , 104 , 30 , 25 , 109 , 32 , 32 , 113 , & 33 , 38 , 117 , 34 , 43 , 121 , 35 , 49 , 125 , 37 , 54 , 129 , & 38 , 60 , 133 , 39 , 65 , 137 , 41 , 71 , 140 , 42 , 76 , 143 , & 44 , 81 , 146 , 46 , 87 , 149 , 48 , 92 , 152 , 50 , 96 , 154 , & 53 , 101 , 156 , 56 , 106 , 158 , 60 , 112 , 160 , 63 , 116 , 161 , & 67 , 121 , 162 , 72 , 125 , 163 , 77 , 129 , 163 , 83 , 134 , 164 , & 88 , 138 , 163 , 94 , 142 , 163 , 101 , 145 , 162 , 108 , 149 , 161 , & 115 , 152 , 160 , 122 , 154 , 158 , 128 , 157 , 157 , 135 , 159 , 155 , & 144 , 161 , 153 , 151 , 163 , 151 , 158 , 165 , 150 , 165 , 167 , 149 , & 173 , 170 , 149 , 183 , 173 , 150 , 191 , 177 , 153 , 200 , 182 , 156 , & 210 , 187 , 162 , 218 , 193 , 168 , 228 , 201 , 178 , 235 , 207 , 187 , & 241 , 213 , 196 , 245 , 219 , 205 , 249 , 225 , 214 , 251 , 232 , 225 , & 253 , 237 , 234 , 254 , 242 , 243 & ], shape ( lapaz50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lapazS = reshape ( [ & 26 , 12 , 100 , 254 , 242 , 243 , 92 , 140 , 163 , 45 , 83 , 147 , & 179 , 172 , 150 , 61 , 113 , 160 , 234 , 206 , 185 , 36 , 50 , 126 , & 133 , 158 , 156 , 32 , 32 , 113 , 155 , 164 , 150 , 51 , 98 , 155 , & 249 , 225 , 214 , 208 , 186 , 160 , 75 , 128 , 163 , 40 , 66 , 137 , & 111 , 150 , 161 , 34 , 41 , 120 , 48 , 91 , 151 , 144 , 161 , 153 , & 122 , 154 , 158 , 252 , 234 , 229 , 167 , 168 , 149 , 67 , 121 , 162 , & 193 , 178 , 153 , 29 , 23 , 107 , 38 , 58 , 132 , 222 , 195 , 171 , & 56 , 106 , 158 , 243 , 216 , 200 , 42 , 75 , 142 , 83 , 134 , 164 , & 101 , 145 , 162 , 30 , 28 , 110 , 46 , 87 , 149 , 37 , 54 , 129 , & 149 , 163 , 152 , 87 , 137 , 164 , 35 , 45 , 123 , 79 , 131 , 164 , & 246 , 221 , 207 , 138 , 160 , 154 , 200 , 182 , 156 , 253 , 238 , 236 , & 116 , 152 , 159 , 71 , 124 , 163 , 106 , 148 , 161 , 161 , 166 , 150 , & 215 , 190 , 166 , 127 , 156 , 157 , 186 , 175 , 151 , 49 , 94 , 153 , & 64 , 117 , 161 , 33 , 37 , 117 , 239 , 211 , 192 , 41 , 71 , 140 , & 43 , 79 , 145 , 53 , 102 , 156 , 251 , 230 , 221 , 28 , 18 , 104 , & 39 , 62 , 135 , 58 , 110 , 159 , 228 , 201 , 178 , 173 , 170 , 149 , & 97 , 143 , 163 , 231 , 203 , 181 , 146 , 162 , 152 , 190 , 176 , 152 , & 94 , 142 , 163 , 27 , 15 , 102 , 40 , 69 , 139 , 73 , 126 , 163 , & 114 , 151 , 160 , 60 , 112 , 160 , 141 , 160 , 153 , 124 , 155 , 158 , & 197 , 180 , 155 , 37 , 56 , 130 , 85 , 136 , 164 , 55 , 104 , 157 , & 253 , 236 , 232 , 247 , 223 , 211 , 241 , 213 , 196 , 62 , 115 , 161 , & 176 , 171 , 149 , 244 , 218 , 203 , 48 , 93 , 152 , 33 , 39 , 118 , & 90 , 139 , 163 , 47 , 89 , 150 , 218 , 193 , 168 , 36 , 52 , 127 , & 39 , 64 , 136 , 103 , 146 , 162 , 31 , 30 , 112 , 43 , 77 , 144 , & 152 , 164 , 151 , 34 , 43 , 121 , 135 , 159 , 155 , 236 , 208 , 189 & ], shape ( lapazS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lipari = reshape ( [ & 3 , 19 , 38 , 4 , 20 , 40 , 4 , 22 , 41 , 4 , 23 , 43 , & 5 , 24 , 45 , 5 , 25 , 47 , 5 , 27 , 49 , 5 , 28 , 51 , & 6 , 29 , 53 , 6 , 31 , 55 , 6 , 32 , 56 , 7 , 33 , 58 , & 7 , 34 , 60 , 7 , 36 , 62 , 8 , 37 , 64 , 8 , 38 , 66 , & 9 , 40 , 68 , 9 , 41 , 70 , 10 , 42 , 72 , 10 , 44 , 74 , & 11 , 45 , 75 , 12 , 46 , 77 , 13 , 48 , 79 , 13 , 49 , 81 , & 14 , 51 , 83 , 15 , 52 , 85 , 16 , 53 , 87 , 17 , 55 , 88 , & 19 , 56 , 90 , 20 , 57 , 92 , 21 , 59 , 94 , 22 , 60 , 95 , & 24 , 62 , 97 , 25 , 63 , 99 , 27 , 64 , 100 , 29 , 66 , 102 , & 30 , 67 , 104 , 32 , 68 , 105 , 34 , 70 , 107 , 36 , 71 , 108 , & 37 , 72 , 109 , 39 , 73 , 111 , 41 , 75 , 112 , 43 , 76 , 113 , & 45 , 77 , 114 , 47 , 78 , 115 , 49 , 79 , 116 , 52 , 80 , 117 , & 54 , 81 , 118 , 56 , 82 , 119 , 58 , 83 , 119 , 60 , 84 , 120 , & 62 , 85 , 120 , 63 , 86 , 121 , 65 , 86 , 121 , 67 , 87 , 122 , & 69 , 88 , 122 , 71 , 88 , 122 , 72 , 89 , 122 , 74 , 89 , 122 , & 76 , 90 , 122 , 77 , 90 , 123 , 79 , 91 , 123 , 80 , 91 , 122 , & 82 , 91 , 122 , 83 , 92 , 122 , 84 , 92 , 122 , 86 , 92 , 122 , & 87 , 92 , 122 , 88 , 93 , 122 , 90 , 93 , 122 , 91 , 93 , 121 , & 92 , 93 , 121 , 93 , 93 , 121 , 94 , 93 , 121 , 96 , 94 , 120 , & 97 , 94 , 120 , 98 , 94 , 120 , 99 , 94 , 120 , 100 , 94 , 119 , & 101 , 94 , 119 , 102 , 94 , 119 , 104 , 94 , 119 , 105 , 94 , 118 , & 106 , 94 , 118 , 107 , 95 , 118 , 108 , 95 , 117 , 109 , 95 , 117 , & 110 , 95 , 117 , 112 , 95 , 116 , 113 , 95 , 116 , 114 , 95 , 116 , & 115 , 95 , 116 , 116 , 95 , 115 , 118 , 95 , 115 , 119 , 95 , 115 , & 120 , 95 , 114 , 121 , 95 , 114 , 122 , 95 , 114 , 124 , 96 , 113 , & 125 , 96 , 113 , 126 , 96 , 113 , 128 , 96 , 112 , 129 , 96 , 112 , & 130 , 96 , 112 , 131 , 96 , 111 , 133 , 96 , 111 , 134 , 96 , 111 , & 135 , 96 , 110 , 137 , 96 , 110 , 138 , 96 , 110 , 140 , 96 , 109 , & 141 , 97 , 109 , 142 , 97 , 108 , 144 , 97 , 108 , 145 , 97 , 108 , & 147 , 97 , 107 , 148 , 97 , 107 , 150 , 97 , 107 , 151 , 97 , 106 , & 152 , 97 , 106 , 154 , 97 , 105 , 155 , 97 , 105 , 157 , 98 , 105 , & 159 , 98 , 104 , 160 , 98 , 104 , 162 , 98 , 103 , 163 , 98 , 103 , & 165 , 98 , 103 , 166 , 98 , 102 , 168 , 98 , 102 , 170 , 98 , 101 , & 171 , 99 , 101 , 173 , 99 , 101 , 174 , 99 , 100 , 176 , 99 , 100 , & 178 , 99 , 100 , 179 , 99 , 99 , 181 , 99 , 99 , 183 , 100 , 98 , & 184 , 100 , 98 , 186 , 100 , 98 , 188 , 100 , 97 , 190 , 101 , 97 , & 191 , 101 , 97 , 193 , 101 , 96 , 195 , 102 , 96 , 197 , 102 , 96 , & 198 , 102 , 95 , 200 , 103 , 95 , 202 , 103 , 95 , 203 , 104 , 95 , & 205 , 104 , 95 , 207 , 105 , 94 , 208 , 106 , 94 , 210 , 106 , 94 , & 212 , 107 , 94 , 213 , 108 , 94 , 215 , 109 , 94 , 216 , 110 , 94 , & 218 , 111 , 94 , 219 , 112 , 95 , 221 , 113 , 95 , 222 , 114 , 95 , & 223 , 115 , 95 , 224 , 116 , 96 , 225 , 118 , 96 , 226 , 119 , 96 , & 227 , 120 , 97 , 228 , 122 , 97 , 229 , 123 , 98 , 230 , 124 , 99 , & 231 , 126 , 99 , 231 , 127 , 100 , 232 , 129 , 101 , 232 , 130 , 101 , & 233 , 132 , 102 , 233 , 133 , 103 , 233 , 135 , 104 , 233 , 136 , 104 , & 234 , 138 , 105 , 234 , 139 , 106 , 234 , 141 , 107 , 234 , 142 , 108 , & 234 , 144 , 109 , 234 , 145 , 110 , 234 , 146 , 110 , 234 , 148 , 111 , & 233 , 149 , 112 , 233 , 151 , 113 , 233 , 152 , 114 , 233 , 153 , 115 , & 233 , 155 , 116 , 232 , 156 , 117 , 232 , 157 , 118 , 232 , 158 , 119 , & 232 , 160 , 119 , 231 , 161 , 120 , 231 , 162 , 121 , 231 , 163 , 122 , & 231 , 165 , 123 , 230 , 166 , 124 , 230 , 167 , 125 , 230 , 168 , 126 , & 230 , 170 , 127 , 230 , 171 , 128 , 230 , 172 , 129 , 229 , 173 , 130 , & 229 , 175 , 132 , 229 , 176 , 133 , 229 , 177 , 134 , 229 , 178 , 135 , & 229 , 180 , 136 , 229 , 181 , 138 , 229 , 182 , 139 , 229 , 184 , 140 , & 229 , 185 , 142 , 229 , 186 , 143 , 230 , 188 , 144 , 230 , 189 , 146 , & 230 , 190 , 147 , 230 , 192 , 149 , 231 , 193 , 151 , 231 , 195 , 152 , & 231 , 196 , 154 , 232 , 198 , 156 , 232 , 199 , 157 , 233 , 201 , 159 , & 233 , 202 , 161 , 234 , 204 , 163 , 234 , 205 , 165 , 235 , 207 , 167 , & 235 , 208 , 169 , 236 , 210 , 171 , 237 , 211 , 173 , 237 , 213 , 175 , & 238 , 214 , 177 , 239 , 216 , 179 , 239 , 218 , 181 , 240 , 219 , 183 , & 241 , 221 , 185 , 242 , 222 , 187 , 242 , 224 , 190 , 243 , 225 , 192 , & 244 , 227 , 194 , 245 , 229 , 196 , 246 , 230 , 198 , 246 , 232 , 201 , & 247 , 233 , 203 , 248 , 235 , 205 , 249 , 237 , 207 , 250 , 238 , 209 , & 251 , 240 , 212 , 251 , 241 , 214 , 252 , 243 , 216 , 253 , 245 , 218 & ], shape ( lipari ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lipari10 = reshape ( [ & 3 , 19 , 38 , 19 , 56 , 90 , 71 , 88 , 122 , 107 , 95 , 118 , & 142 , 97 , 108 , 188 , 100 , 97 , 229 , 123 , 98 , 231 , 162 , 121 , & 233 , 201 , 159 , 253 , 245 , 218 & ], shape ( lipari10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lipari100 = reshape ( [ & 3 , 19 , 38 , 4 , 23 , 43 , 5 , 25 , 47 , 6 , 29 , 53 , & 6 , 32 , 56 , 7 , 36 , 62 , 8 , 38 , 66 , 10 , 42 , 72 , & 12 , 46 , 77 , 13 , 49 , 81 , 16 , 53 , 87 , 19 , 56 , 90 , & 22 , 60 , 95 , 25 , 63 , 99 , 30 , 67 , 104 , 36 , 71 , 108 , & 39 , 73 , 111 , 45 , 77 , 114 , 49 , 79 , 116 , 56 , 82 , 119 , & 62 , 85 , 120 , 65 , 86 , 121 , 71 , 88 , 122 , 74 , 89 , 122 , & 79 , 91 , 123 , 82 , 91 , 122 , 86 , 92 , 122 , 90 , 93 , 122 , & 92 , 93 , 121 , 96 , 94 , 120 , 98 , 94 , 120 , 101 , 94 , 119 , & 104 , 94 , 119 , 107 , 95 , 118 , 110 , 95 , 117 , 113 , 95 , 116 , & 116 , 95 , 115 , 119 , 95 , 115 , 122 , 95 , 114 , 125 , 96 , 113 , & 129 , 96 , 112 , 133 , 96 , 111 , 135 , 96 , 110 , 140 , 96 , 109 , & 142 , 97 , 108 , 147 , 97 , 107 , 150 , 97 , 107 , 154 , 97 , 105 , & 159 , 98 , 104 , 162 , 98 , 103 , 166 , 98 , 102 , 170 , 98 , 101 , & 174 , 99 , 100 , 179 , 99 , 99 , 183 , 100 , 98 , 188 , 100 , 97 , & 191 , 101 , 97 , 197 , 102 , 96 , 200 , 103 , 95 , 205 , 104 , 95 , & 210 , 106 , 94 , 213 , 108 , 94 , 218 , 111 , 94 , 221 , 113 , 95 , & 224 , 116 , 96 , 226 , 119 , 96 , 229 , 123 , 98 , 231 , 127 , 100 , & 232 , 130 , 101 , 233 , 135 , 104 , 234 , 138 , 105 , 234 , 142 , 108 , & 234 , 145 , 110 , 233 , 149 , 112 , 233 , 153 , 115 , 232 , 156 , 117 , & 232 , 160 , 119 , 231 , 162 , 121 , 230 , 166 , 124 , 230 , 168 , 126 , & 230 , 172 , 129 , 229 , 176 , 133 , 229 , 178 , 135 , 229 , 182 , 139 , & 229 , 185 , 142 , 230 , 189 , 146 , 231 , 193 , 151 , 231 , 196 , 154 , & 233 , 201 , 159 , 234 , 204 , 163 , 235 , 208 , 169 , 237 , 211 , 173 , & 239 , 216 , 179 , 241 , 221 , 185 , 242 , 224 , 190 , 245 , 229 , 196 , & 246 , 232 , 201 , 249 , 237 , 207 , 251 , 240 , 212 , 253 , 245 , 218 & ], shape ( lipari100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lipari25 = reshape ( [ & 3 , 19 , 38 , 7 , 33 , 58 , 12 , 46 , 77 , 24 , 62 , 97 , & 43 , 76 , 113 , 63 , 86 , 121 , 82 , 91 , 122 , 94 , 93 , 121 , & 107 , 95 , 118 , 120 , 95 , 114 , 133 , 96 , 111 , 148 , 97 , 107 , & 165 , 98 , 103 , 181 , 99 , 99 , 200 , 103 , 95 , 216 , 110 , 94 , & 229 , 123 , 98 , 234 , 139 , 106 , 233 , 153 , 115 , 230 , 167 , 125 , & 229 , 181 , 138 , 231 , 195 , 152 , 237 , 211 , 173 , 244 , 227 , 194 , & 253 , 245 , 218 & ], shape ( lipari25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lipari50 = reshape ( [ & 3 , 19 , 38 , 5 , 25 , 47 , 6 , 32 , 56 , 9 , 40 , 68 , & 12 , 46 , 77 , 16 , 53 , 87 , 22 , 60 , 95 , 30 , 67 , 104 , & 41 , 75 , 112 , 52 , 80 , 117 , 62 , 85 , 120 , 71 , 88 , 122 , & 79 , 91 , 123 , 87 , 92 , 122 , 93 , 93 , 121 , 99 , 94 , 120 , & 105 , 94 , 118 , 110 , 95 , 117 , 118 , 95 , 115 , 124 , 96 , 113 , & 130 , 96 , 112 , 137 , 96 , 110 , 144 , 97 , 108 , 152 , 97 , 106 , & 160 , 98 , 104 , 168 , 98 , 102 , 176 , 99 , 100 , 186 , 100 , 98 , & 195 , 102 , 96 , 203 , 104 , 95 , 212 , 107 , 94 , 219 , 112 , 95 , & 226 , 119 , 96 , 231 , 126 , 99 , 233 , 133 , 103 , 234 , 141 , 107 , & 234 , 148 , 111 , 232 , 156 , 117 , 231 , 162 , 121 , 230 , 168 , 126 , & 229 , 175 , 132 , 229 , 181 , 138 , 230 , 189 , 146 , 231 , 196 , 154 , & 234 , 204 , 163 , 237 , 211 , 173 , 240 , 219 , 183 , 245 , 229 , 196 , & 249 , 237 , 207 , 253 , 245 , 218 & ], shape ( lipari50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lipariS = reshape ( [ & 3 , 19 , 38 , 253 , 245 , 218 , 163 , 98 , 103 , 233 , 153 , 115 , & 82 , 91 , 122 , 216 , 110 , 94 , 24 , 62 , 97 , 231 , 195 , 152 , & 119 , 95 , 115 , 240 , 219 , 183 , 232 , 130 , 101 , 190 , 101 , 97 , & 9 , 40 , 68 , 140 , 96 , 109 , 229 , 173 , 130 , 54 , 81 , 118 , & 101 , 94 , 119 , 176 , 99 , 100 , 37 , 72 , 109 , 231 , 163 , 122 , & 229 , 184 , 140 , 92 , 93 , 121 , 203 , 104 , 95 , 69 , 88 , 122 , & 14 , 51 , 83 , 235 , 207 , 167 , 6 , 29 , 53 , 129 , 96 , 112 , & 246 , 232 , 201 , 226 , 119 , 96 , 151 , 97 , 106 , 234 , 142 , 108 , & 110 , 95 , 117 , 45 , 77 , 114 , 230 , 124 , 99 , 62 , 85 , 120 , & 19 , 56 , 90 , 134 , 96 , 111 , 157 , 98 , 105 , 11 , 45 , 75 , & 232 , 158 , 119 , 210 , 106 , 94 , 250 , 238 , 209 , 87 , 92 , 122 , & 237 , 213 , 175 , 233 , 136 , 104 , 230 , 168 , 126 , 124 , 96 , 113 , & 170 , 98 , 101 , 7 , 34 , 60 , 233 , 201 , 159 , 145 , 97 , 108 , & 234 , 148 , 111 , 229 , 178 , 135 , 76 , 90 , 122 , 197 , 102 , 96 , & 97 , 94 , 120 , 230 , 189 , 146 , 5 , 24 , 45 , 243 , 225 , 192 , & 222 , 114 , 95 , 183 , 100 , 98 , 106 , 94 , 118 , 30 , 67 , 104 , & 114 , 95 , 116 , 13 , 48 , 79 , 251 , 241 , 214 , 230 , 192 , 149 , & 4 , 22 , 41 , 231 , 127 , 100 , 219 , 112 , 95 , 131 , 96 , 111 , & 154 , 97 , 105 , 121 , 95 , 114 , 148 , 97 , 107 , 6 , 32 , 56 , & 142 , 97 , 108 , 27 , 64 , 100 , 10 , 42 , 72 , 207 , 105 , 94 , & 228 , 122 , 97 , 231 , 161 , 120 , 84 , 92 , 122 , 232 , 156 , 117 , & 233 , 151 , 113 , 173 , 99 , 101 , 236 , 210 , 171 , 230 , 171 , 128 , & 160 , 98 , 104 , 230 , 166 , 124 , 224 , 116 , 96 , 248 , 235 , 205 , & 34 , 70 , 107 , 232 , 198 , 156 , 179 , 99 , 99 , 21 , 59 , 94 , & 245 , 229 , 196 , 229 , 181 , 138 , 8 , 37 , 64 , 90 , 93 , 122 & ], shape ( lipariS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lisbon = reshape ( [ & 230 , 229 , 255 , 227 , 227 , 253 , 224 , 226 , 252 , 221 , 224 , 250 , & 219 , 222 , 249 , 216 , 220 , 247 , 213 , 218 , 245 , 211 , 216 , 244 , & 208 , 214 , 242 , 205 , 212 , 241 , 203 , 210 , 239 , 200 , 208 , 237 , & 197 , 206 , 236 , 195 , 204 , 234 , 192 , 202 , 233 , 189 , 200 , 231 , & 187 , 198 , 229 , 184 , 196 , 228 , 181 , 194 , 226 , 179 , 192 , 225 , & 176 , 190 , 223 , 173 , 188 , 222 , 171 , 186 , 220 , 168 , 185 , 218 , & 165 , 183 , 217 , 163 , 181 , 215 , 160 , 179 , 214 , 158 , 177 , 212 , & 155 , 175 , 211 , 152 , 173 , 209 , 150 , 171 , 207 , 147 , 169 , 206 , & 144 , 167 , 204 , 142 , 165 , 203 , 139 , 163 , 201 , 137 , 162 , 200 , & 134 , 160 , 198 , 132 , 158 , 196 , 129 , 156 , 195 , 126 , 154 , 193 , & 124 , 152 , 192 , 121 , 150 , 190 , 119 , 148 , 189 , 116 , 146 , 187 , & 114 , 144 , 185 , 111 , 142 , 184 , 109 , 141 , 182 , 106 , 139 , 181 , & 104 , 137 , 179 , 101 , 135 , 177 , 98 , 133 , 176 , 96 , 131 , 174 , & 94 , 129 , 172 , 91 , 127 , 171 , 89 , 125 , 169 , 86 , 123 , 167 , & 84 , 121 , 166 , 81 , 119 , 164 , 79 , 117 , 162 , 76 , 115 , 160 , & 74 , 114 , 158 , 72 , 112 , 157 , 69 , 110 , 155 , 67 , 108 , 153 , & 65 , 106 , 151 , 63 , 104 , 149 , 61 , 102 , 147 , 58 , 100 , 145 , & 56 , 98 , 143 , 54 , 96 , 140 , 52 , 94 , 138 , 50 , 92 , 136 , & 48 , 90 , 134 , 47 , 89 , 132 , 45 , 87 , 130 , 43 , 85 , 127 , & 42 , 83 , 125 , 40 , 81 , 123 , 39 , 79 , 120 , 37 , 78 , 118 , & 36 , 76 , 116 , 34 , 74 , 113 , 33 , 72 , 111 , 32 , 71 , 109 , & 31 , 69 , 106 , 30 , 67 , 104 , 29 , 66 , 102 , 28 , 64 , 100 , & 27 , 63 , 97 , 26 , 61 , 95 , 25 , 60 , 93 , 25 , 58 , 90 , & 24 , 57 , 88 , 23 , 55 , 86 , 23 , 54 , 83 , 22 , 52 , 81 , & 22 , 51 , 79 , 21 , 49 , 77 , 21 , 48 , 75 , 20 , 46 , 72 , & 20 , 45 , 70 , 19 , 44 , 68 , 19 , 42 , 66 , 19 , 41 , 64 , & 18 , 40 , 62 , 18 , 39 , 60 , 18 , 37 , 58 , 18 , 36 , 55 , & 17 , 35 , 53 , 17 , 34 , 51 , 17 , 33 , 50 , 17 , 32 , 48 , & 17 , 31 , 46 , 17 , 30 , 44 , 17 , 29 , 42 , 17 , 28 , 40 , & 17 , 27 , 39 , 18 , 27 , 37 , 18 , 26 , 36 , 18 , 26 , 34 , & 18 , 25 , 33 , 19 , 25 , 32 , 19 , 25 , 30 , 20 , 24 , 29 , & 20 , 24 , 28 , 21 , 24 , 27 , 21 , 24 , 26 , 22 , 25 , 26 , & 23 , 25 , 25 , 24 , 25 , 25 , 24 , 26 , 24 , 25 , 26 , 24 , & 26 , 27 , 24 , 27 , 28 , 23 , 28 , 28 , 23 , 30 , 29 , 23 , & 31 , 30 , 24 , 32 , 31 , 24 , 33 , 32 , 24 , 35 , 33 , 24 , & 36 , 35 , 25 , 37 , 36 , 25 , 39 , 37 , 26 , 40 , 38 , 26 , & 42 , 40 , 27 , 43 , 41 , 28 , 45 , 43 , 28 , 47 , 44 , 29 , & 48 , 45 , 30 , 50 , 47 , 31 , 51 , 48 , 32 , 53 , 50 , 32 , & 55 , 52 , 33 , 56 , 53 , 34 , 58 , 55 , 35 , 60 , 56 , 36 , & 62 , 58 , 37 , 63 , 60 , 38 , 65 , 61 , 39 , 67 , 63 , 40 , & 69 , 64 , 41 , 70 , 66 , 42 , 72 , 68 , 43 , 74 , 69 , 44 , & 76 , 71 , 45 , 77 , 73 , 46 , 79 , 75 , 47 , 81 , 76 , 49 , & 83 , 78 , 50 , 85 , 80 , 51 , 87 , 81 , 52 , 88 , 83 , 53 , & 90 , 85 , 54 , 92 , 87 , 55 , 94 , 88 , 56 , 96 , 90 , 57 , & 98 , 92 , 58 , 100 , 94 , 60 , 102 , 96 , 61 , 104 , 97 , 62 , & 105 , 99 , 63 , 107 , 101 , 64 , 109 , 103 , 65 , 111 , 105 , 67 , & 113 , 107 , 68 , 115 , 108 , 69 , 117 , 110 , 70 , 119 , 112 , 71 , & 121 , 114 , 73 , 123 , 116 , 74 , 125 , 118 , 75 , 127 , 120 , 76 , & 129 , 122 , 78 , 131 , 123 , 79 , 133 , 125 , 80 , 135 , 127 , 82 , & 137 , 129 , 83 , 139 , 131 , 85 , 141 , 133 , 86 , 143 , 135 , 88 , & 145 , 137 , 89 , 148 , 139 , 91 , 150 , 141 , 92 , 152 , 143 , 94 , & 154 , 145 , 96 , 156 , 147 , 97 , 158 , 150 , 99 , 160 , 152 , 101 , & 162 , 154 , 103 , 164 , 156 , 105 , 166 , 158 , 106 , 168 , 160 , 108 , & 171 , 162 , 110 , 173 , 164 , 112 , 175 , 167 , 114 , 177 , 169 , 117 , & 179 , 171 , 119 , 181 , 173 , 121 , 183 , 175 , 123 , 185 , 177 , 125 , & 187 , 179 , 128 , 189 , 182 , 130 , 191 , 184 , 132 , 193 , 186 , 135 , & 195 , 188 , 137 , 197 , 190 , 139 , 199 , 192 , 142 , 201 , 195 , 144 , & 203 , 197 , 147 , 205 , 199 , 149 , 207 , 201 , 152 , 209 , 203 , 154 , & 211 , 205 , 157 , 213 , 207 , 159 , 215 , 210 , 162 , 217 , 212 , 164 , & 218 , 214 , 167 , 220 , 216 , 169 , 222 , 218 , 172 , 224 , 220 , 175 , & 226 , 222 , 177 , 228 , 225 , 180 , 230 , 227 , 182 , 232 , 229 , 185 , & 234 , 231 , 188 , 236 , 233 , 190 , 238 , 235 , 193 , 240 , 238 , 195 , & 241 , 240 , 198 , 243 , 242 , 201 , 245 , 244 , 203 , 247 , 246 , 206 , & 249 , 248 , 209 , 251 , 251 , 211 , 253 , 253 , 214 , 255 , 255 , 217 & ], shape ( lisbon ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lisbon10 = reshape ( [ & 230 , 229 , 255 , 155 , 175 , 211 , 81 , 119 , 164 , 30 , 67 , 104 , & 17 , 30 , 44 , 39 , 37 , 26 , 87 , 81 , 52 , 141 , 133 , 86 , & 201 , 195 , 144 , 255 , 255 , 217 & ], shape ( lisbon10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lisbon100 = reshape ( [ & 230 , 229 , 255 , 221 , 224 , 250 , 216 , 220 , 247 , 208 , 214 , 242 , & 203 , 210 , 239 , 195 , 204 , 234 , 189 , 200 , 231 , 181 , 194 , 226 , & 173 , 188 , 222 , 168 , 185 , 218 , 160 , 179 , 214 , 155 , 175 , 211 , & 147 , 169 , 206 , 142 , 165 , 203 , 134 , 160 , 198 , 126 , 154 , 193 , & 121 , 150 , 190 , 114 , 144 , 185 , 109 , 141 , 182 , 101 , 135 , 177 , & 94 , 129 , 172 , 89 , 125 , 169 , 81 , 119 , 164 , 76 , 115 , 160 , & 69 , 110 , 155 , 65 , 106 , 151 , 58 , 100 , 145 , 52 , 94 , 138 , & 48 , 90 , 134 , 43 , 85 , 127 , 40 , 81 , 123 , 36 , 76 , 116 , & 33 , 72 , 111 , 30 , 67 , 104 , 27 , 63 , 97 , 25 , 60 , 93 , & 23 , 55 , 86 , 22 , 52 , 81 , 21 , 48 , 75 , 20 , 45 , 70 , & 19 , 41 , 64 , 18 , 37 , 58 , 17 , 35 , 53 , 17 , 32 , 48 , & 17 , 30 , 44 , 17 , 27 , 39 , 18 , 26 , 36 , 19 , 25 , 32 , & 20 , 24 , 28 , 21 , 24 , 26 , 24 , 25 , 25 , 25 , 26 , 24 , & 28 , 28 , 23 , 32 , 31 , 24 , 35 , 33 , 24 , 39 , 37 , 26 , & 42 , 40 , 27 , 47 , 44 , 29 , 50 , 47 , 31 , 55 , 52 , 33 , & 60 , 56 , 36 , 63 , 60 , 38 , 69 , 64 , 41 , 72 , 68 , 43 , & 77 , 73 , 46 , 81 , 76 , 49 , 87 , 81 , 52 , 92 , 87 , 55 , & 96 , 90 , 57 , 102 , 96 , 61 , 105 , 99 , 63 , 111 , 105 , 67 , & 115 , 108 , 69 , 121 , 114 , 73 , 127 , 120 , 76 , 131 , 123 , 79 , & 137 , 129 , 83 , 141 , 133 , 86 , 148 , 139 , 91 , 152 , 143 , 94 , & 158 , 150 , 99 , 164 , 156 , 105 , 168 , 160 , 108 , 175 , 167 , 114 , & 179 , 171 , 119 , 185 , 177 , 125 , 191 , 184 , 132 , 195 , 188 , 137 , & 201 , 195 , 144 , 205 , 199 , 149 , 211 , 205 , 157 , 215 , 210 , 162 , & 220 , 216 , 169 , 226 , 222 , 177 , 230 , 227 , 182 , 236 , 233 , 190 , & 240 , 238 , 195 , 245 , 244 , 203 , 249 , 248 , 209 , 255 , 255 , 217 & ], shape ( lisbon100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lisbon25 = reshape ( [ & 230 , 229 , 255 , 200 , 208 , 237 , 173 , 188 , 222 , 144 , 167 , 204 , & 116 , 146 , 187 , 91 , 127 , 171 , 65 , 106 , 151 , 45 , 87 , 130 , & 30 , 67 , 104 , 22 , 51 , 79 , 18 , 37 , 58 , 18 , 27 , 37 , & 23 , 25 , 25 , 33 , 32 , 24 , 50 , 47 , 31 , 67 , 63 , 40 , & 87 , 81 , 52 , 107 , 101 , 64 , 127 , 120 , 76 , 150 , 141 , 92 , & 173 , 164 , 112 , 193 , 186 , 135 , 215 , 210 , 162 , 234 , 231 , 188 , & 255 , 255 , 217 & ], shape ( lisbon25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lisbon50 = reshape ( [ & 230 , 229 , 255 , 216 , 220 , 247 , 203 , 210 , 239 , 187 , 198 , 229 , & 173 , 188 , 222 , 160 , 179 , 214 , 147 , 169 , 206 , 134 , 160 , 198 , & 119 , 148 , 189 , 106 , 139 , 181 , 94 , 129 , 172 , 81 , 119 , 164 , & 69 , 110 , 155 , 56 , 98 , 143 , 47 , 89 , 132 , 39 , 79 , 120 , & 32 , 71 , 109 , 27 , 63 , 97 , 23 , 54 , 83 , 20 , 46 , 72 , & 18 , 40 , 62 , 17 , 34 , 51 , 17 , 29 , 42 , 18 , 25 , 33 , & 21 , 24 , 27 , 24 , 26 , 24 , 30 , 29 , 23 , 37 , 36 , 25 , & 45 , 43 , 28 , 53 , 50 , 32 , 62 , 58 , 37 , 70 , 66 , 42 , & 81 , 76 , 49 , 90 , 85 , 54 , 100 , 94 , 60 , 109 , 103 , 65 , & 119 , 112 , 71 , 131 , 123 , 79 , 141 , 133 , 86 , 152 , 143 , 94 , & 162 , 154 , 103 , 173 , 164 , 112 , 185 , 177 , 125 , 195 , 188 , 137 , & 205 , 199 , 149 , 215 , 210 , 162 , 224 , 220 , 175 , 236 , 233 , 190 , & 245 , 244 , 203 , 255 , 255 , 217 & ], shape ( lisbon50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: managua = reshape ( [ & 255 , 207 , 103 , 254 , 205 , 102 , 253 , 203 , 102 , 251 , 201 , 101 , & 250 , 199 , 100 , 249 , 197 , 100 , 248 , 195 , 99 , 246 , 193 , 98 , & 245 , 191 , 98 , 244 , 189 , 97 , 243 , 187 , 96 , 241 , 185 , 96 , & 240 , 183 , 95 , 239 , 181 , 94 , 238 , 179 , 94 , 236 , 177 , 93 , & 235 , 176 , 93 , 234 , 174 , 92 , 233 , 172 , 91 , 232 , 170 , 91 , & 230 , 168 , 90 , 229 , 166 , 89 , 228 , 164 , 89 , 227 , 163 , 88 , & 225 , 161 , 88 , 224 , 159 , 87 , 223 , 157 , 86 , 222 , 156 , 86 , & 221 , 154 , 85 , 219 , 152 , 85 , 218 , 150 , 84 , 217 , 149 , 84 , & 216 , 147 , 83 , 215 , 145 , 82 , 213 , 144 , 82 , 212 , 142 , 81 , & 211 , 140 , 81 , 210 , 139 , 80 , 209 , 137 , 80 , 207 , 135 , 79 , & 206 , 134 , 79 , 205 , 132 , 78 , 204 , 130 , 77 , 203 , 129 , 77 , & 201 , 127 , 76 , 200 , 126 , 76 , 199 , 124 , 75 , 198 , 123 , 75 , & 197 , 121 , 74 , 195 , 119 , 74 , 194 , 118 , 73 , 193 , 116 , 73 , & 192 , 115 , 72 , 190 , 113 , 72 , 189 , 112 , 71 , 188 , 111 , 71 , & 187 , 109 , 70 , 185 , 108 , 70 , 184 , 106 , 69 , 183 , 105 , 69 , & 182 , 103 , 69 , 180 , 102 , 68 , 179 , 100 , 68 , 178 , 99 , 67 , & 177 , 98 , 67 , 175 , 96 , 66 , 174 , 95 , 66 , 173 , 94 , 66 , & 171 , 92 , 65 , 170 , 91 , 65 , 168 , 89 , 64 , 167 , 88 , 64 , & 166 , 87 , 63 , 164 , 85 , 63 , 163 , 84 , 63 , 161 , 83 , 62 , & 160 , 81 , 62 , 158 , 80 , 62 , 157 , 79 , 61 , 156 , 77 , 61 , & 154 , 76 , 61 , 152 , 75 , 60 , 151 , 73 , 60 , 149 , 72 , 60 , & 148 , 71 , 59 , 146 , 70 , 59 , 145 , 68 , 59 , 143 , 67 , 59 , & 142 , 66 , 58 , 140 , 65 , 58 , 138 , 63 , 58 , 137 , 62 , 58 , & 135 , 61 , 57 , 134 , 60 , 57 , 132 , 59 , 57 , 130 , 58 , 57 , & 129 , 57 , 57 , 127 , 56 , 57 , 126 , 55 , 57 , 124 , 54 , 57 , & 122 , 53 , 57 , 121 , 52 , 57 , 119 , 51 , 57 , 118 , 50 , 57 , & 116 , 49 , 57 , 115 , 48 , 57 , 113 , 47 , 58 , 112 , 47 , 58 , & 110 , 46 , 58 , 109 , 45 , 58 , 107 , 45 , 59 , 106 , 44 , 59 , & 105 , 43 , 60 , 103 , 43 , 60 , 102 , 42 , 61 , 101 , 42 , 61 , & 99 , 42 , 62 , 98 , 41 , 63 , 97 , 41 , 63 , 96 , 41 , 64 , & 95 , 41 , 65 , 94 , 41 , 66 , 93 , 40 , 67 , 92 , 40 , 67 , & 91 , 40 , 68 , 90 , 40 , 70 , 89 , 41 , 71 , 88 , 41 , 72 , & 87 , 41 , 73 , 86 , 41 , 74 , 85 , 42 , 76 , 84 , 42 , 77 , & 84 , 42 , 78 , 83 , 43 , 80 , 82 , 43 , 81 , 82 , 44 , 83 , & 81 , 45 , 84 , 81 , 45 , 86 , 80 , 46 , 88 , 80 , 47 , 89 , & 79 , 48 , 91 , 79 , 49 , 93 , 78 , 49 , 94 , 78 , 50 , 96 , & 78 , 51 , 98 , 77 , 52 , 100 , 77 , 53 , 102 , 77 , 54 , 104 , & 77 , 55 , 106 , 76 , 57 , 107 , 76 , 58 , 109 , 76 , 59 , 111 , & 76 , 60 , 113 , 76 , 61 , 115 , 76 , 63 , 117 , 76 , 64 , 119 , & 76 , 65 , 121 , 76 , 67 , 123 , 76 , 68 , 125 , 76 , 69 , 127 , & 76 , 71 , 129 , 76 , 72 , 131 , 76 , 74 , 133 , 76 , 75 , 134 , & 77 , 76 , 136 , 77 , 78 , 138 , 77 , 79 , 140 , 77 , 81 , 142 , & 77 , 82 , 144 , 78 , 84 , 145 , 78 , 85 , 147 , 78 , 87 , 149 , & 79 , 88 , 151 , 79 , 90 , 152 , 79 , 91 , 154 , 80 , 93 , 156 , & 80 , 94 , 157 , 81 , 96 , 159 , 81 , 97 , 161 , 81 , 99 , 162 , & 82 , 100 , 164 , 82 , 102 , 165 , 83 , 103 , 167 , 83 , 105 , 168 , & 84 , 106 , 170 , 84 , 108 , 171 , 85 , 110 , 172 , 85 , 111 , 174 , & 86 , 113 , 175 , 86 , 114 , 177 , 87 , 116 , 178 , 87 , 117 , 179 , & 88 , 119 , 181 , 88 , 120 , 182 , 89 , 122 , 183 , 89 , 123 , 184 , & 90 , 125 , 186 , 91 , 126 , 187 , 91 , 128 , 188 , 92 , 129 , 189 , & 92 , 131 , 191 , 93 , 133 , 192 , 93 , 134 , 193 , 94 , 136 , 194 , & 95 , 137 , 195 , 95 , 139 , 197 , 96 , 141 , 198 , 96 , 142 , 199 , & 97 , 144 , 200 , 98 , 146 , 201 , 98 , 147 , 203 , 99 , 149 , 204 , & 100 , 151 , 205 , 100 , 152 , 206 , 101 , 154 , 207 , 102 , 156 , 208 , & 102 , 158 , 210 , 103 , 159 , 211 , 104 , 161 , 212 , 104 , 163 , 213 , & 105 , 165 , 214 , 105 , 166 , 215 , 106 , 168 , 217 , 107 , 170 , 218 , & 107 , 172 , 219 , 108 , 173 , 220 , 109 , 175 , 221 , 109 , 177 , 222 , & 110 , 179 , 223 , 111 , 181 , 225 , 111 , 182 , 226 , 112 , 184 , 227 , & 113 , 186 , 228 , 114 , 188 , 229 , 114 , 190 , 230 , 115 , 192 , 231 , & 116 , 194 , 233 , 116 , 196 , 234 , 117 , 197 , 235 , 118 , 199 , 236 , & 118 , 201 , 237 , 119 , 203 , 238 , 120 , 205 , 240 , 120 , 207 , 241 , & 121 , 209 , 242 , 122 , 211 , 243 , 122 , 213 , 244 , 123 , 215 , 245 , & 124 , 217 , 247 , 124 , 219 , 248 , 125 , 221 , 249 , 126 , 223 , 250 , & 126 , 225 , 251 , 127 , 227 , 253 , 128 , 229 , 254 , 129 , 231 , 255 & ], shape ( managua ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: managua10 = reshape ( [ & 255 , 207 , 103 , 221 , 154 , 85 , 185 , 108 , 70 , 146 , 70 , 59 , & 103 , 43 , 60 , 78 , 49 , 94 , 78 , 85 , 147 , 91 , 128 , 188 , & 109 , 177 , 222 , 129 , 231 , 255 & ], shape ( managua10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: managua100 = reshape ( [ & 255 , 207 , 103 , 251 , 201 , 101 , 249 , 197 , 100 , 245 , 191 , 98 , & 243 , 187 , 96 , 239 , 181 , 94 , 236 , 177 , 93 , 233 , 172 , 91 , & 229 , 166 , 89 , 227 , 163 , 88 , 223 , 157 , 86 , 221 , 154 , 85 , & 217 , 149 , 84 , 215 , 145 , 82 , 211 , 140 , 81 , 207 , 135 , 79 , & 205 , 132 , 78 , 201 , 127 , 76 , 199 , 124 , 75 , 195 , 119 , 74 , & 192 , 115 , 72 , 189 , 112 , 71 , 185 , 108 , 70 , 183 , 105 , 69 , & 179 , 100 , 68 , 177 , 98 , 67 , 173 , 94 , 66 , 168 , 89 , 64 , & 166 , 87 , 63 , 161 , 83 , 62 , 158 , 80 , 62 , 154 , 76 , 61 , & 151 , 73 , 60 , 146 , 70 , 59 , 142 , 66 , 58 , 138 , 63 , 58 , & 134 , 60 , 57 , 130 , 58 , 57 , 126 , 55 , 57 , 122 , 53 , 57 , & 118 , 50 , 57 , 113 , 47 , 58 , 110 , 46 , 58 , 106 , 44 , 59 , & 103 , 43 , 60 , 99 , 42 , 62 , 97 , 41 , 63 , 94 , 41 , 66 , & 91 , 40 , 68 , 89 , 41 , 71 , 86 , 41 , 74 , 84 , 42 , 77 , & 82 , 43 , 81 , 81 , 45 , 86 , 80 , 47 , 89 , 78 , 49 , 94 , & 78 , 51 , 98 , 77 , 54 , 104 , 76 , 57 , 107 , 76 , 60 , 113 , & 76 , 64 , 119 , 76 , 67 , 123 , 76 , 71 , 129 , 76 , 74 , 133 , & 77 , 78 , 138 , 77 , 81 , 142 , 78 , 85 , 147 , 79 , 90 , 152 , & 80 , 93 , 156 , 81 , 97 , 161 , 82 , 100 , 164 , 83 , 105 , 168 , & 84 , 108 , 171 , 86 , 113 , 175 , 87 , 117 , 179 , 88 , 120 , 182 , & 90 , 125 , 186 , 91 , 128 , 188 , 93 , 133 , 192 , 94 , 136 , 194 , & 96 , 141 , 198 , 98 , 146 , 201 , 99 , 149 , 204 , 101 , 154 , 207 , & 102 , 158 , 210 , 104 , 163 , 213 , 106 , 168 , 217 , 107 , 172 , 219 , & 109 , 177 , 222 , 111 , 181 , 225 , 113 , 186 , 228 , 114 , 190 , 230 , & 116 , 196 , 234 , 118 , 201 , 237 , 120 , 205 , 240 , 122 , 211 , 243 , & 123 , 215 , 245 , 125 , 221 , 249 , 126 , 225 , 251 , 129 , 231 , 255 & ], shape ( managua100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: managua25 = reshape ( [ & 255 , 207 , 103 , 241 , 185 , 96 , 229 , 166 , 89 , 216 , 147 , 83 , & 203 , 129 , 77 , 190 , 113 , 72 , 177 , 98 , 67 , 163 , 84 , 63 , & 146 , 70 , 59 , 129 , 57 , 57 , 113 , 47 , 58 , 98 , 41 , 63 , & 87 , 41 , 73 , 80 , 46 , 88 , 76 , 57 , 107 , 76 , 69 , 127 , & 78 , 85 , 147 , 82 , 102 , 165 , 87 , 117 , 179 , 93 , 134 , 193 , & 100 , 152 , 206 , 107 , 170 , 218 , 114 , 190 , 230 , 121 , 209 , 242 , & 129 , 231 , 255 & ], shape ( managua25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: managua50 = reshape ( [ & 255 , 207 , 103 , 249 , 197 , 100 , 243 , 187 , 96 , 235 , 176 , 93 , & 229 , 166 , 89 , 223 , 157 , 86 , 217 , 149 , 84 , 211 , 140 , 81 , & 204 , 130 , 77 , 198 , 123 , 75 , 192 , 115 , 72 , 185 , 108 , 70 , & 179 , 100 , 68 , 171 , 92 , 65 , 164 , 85 , 63 , 157 , 79 , 61 , & 149 , 72 , 60 , 142 , 66 , 58 , 132 , 59 , 57 , 124 , 54 , 57 , & 116 , 49 , 57 , 109 , 45 , 58 , 102 , 42 , 61 , 95 , 41 , 65 , & 90 , 40 , 70 , 85 , 42 , 76 , 82 , 44 , 83 , 79 , 49 , 93 , & 77 , 53 , 102 , 76 , 59 , 111 , 76 , 65 , 121 , 76 , 72 , 131 , & 77 , 81 , 142 , 79 , 88 , 151 , 81 , 96 , 159 , 83 , 103 , 167 , & 85 , 111 , 174 , 88 , 120 , 182 , 91 , 128 , 188 , 94 , 136 , 194 , & 97 , 144 , 200 , 100 , 152 , 206 , 104 , 163 , 213 , 107 , 172 , 219 , & 111 , 181 , 225 , 114 , 190 , 230 , 118 , 199 , 236 , 122 , 211 , 243 , & 125 , 221 , 249 , 129 , 231 , 255 & ], shape ( managua50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: navia = reshape ( [ & 3 , 19 , 39 , 4 , 21 , 41 , 4 , 22 , 43 , 4 , 23 , 44 , & 4 , 24 , 46 , 4 , 25 , 48 , 5 , 26 , 50 , 5 , 27 , 52 , & 5 , 28 , 54 , 5 , 29 , 56 , 5 , 30 , 58 , 5 , 32 , 60 , & 5 , 33 , 62 , 5 , 34 , 64 , 5 , 35 , 66 , 5 , 36 , 68 , & 5 , 37 , 70 , 5 , 38 , 72 , 6 , 40 , 74 , 6 , 41 , 76 , & 6 , 42 , 78 , 6 , 43 , 80 , 6 , 44 , 82 , 6 , 46 , 84 , & 6 , 47 , 86 , 6 , 48 , 88 , 6 , 49 , 90 , 7 , 50 , 92 , & 7 , 52 , 94 , 7 , 53 , 96 , 7 , 54 , 98 , 7 , 55 , 100 , & 7 , 57 , 102 , 8 , 58 , 104 , 8 , 59 , 106 , 8 , 60 , 107 , & 8 , 62 , 109 , 9 , 63 , 111 , 9 , 64 , 113 , 10 , 65 , 115 , & 10 , 67 , 116 , 11 , 68 , 118 , 11 , 69 , 120 , 11 , 70 , 121 , & 12 , 72 , 123 , 13 , 73 , 125 , 13 , 74 , 126 , 14 , 76 , 128 , & 14 , 77 , 129 , 15 , 78 , 130 , 16 , 79 , 132 , 16 , 81 , 133 , & 17 , 82 , 134 , 18 , 83 , 135 , 19 , 84 , 136 , 19 , 86 , 137 , & 20 , 87 , 138 , 21 , 88 , 139 , 22 , 89 , 140 , 23 , 90 , 141 , & 23 , 92 , 141 , 24 , 93 , 142 , 25 , 94 , 142 , 26 , 95 , 143 , & 27 , 96 , 143 , 27 , 97 , 144 , 28 , 98 , 144 , 29 , 99 , 144 , & 30 , 100 , 145 , 30 , 101 , 145 , 31 , 102 , 145 , 32 , 103 , 145 , & 32 , 104 , 145 , 33 , 105 , 145 , 34 , 106 , 145 , 34 , 107 , 145 , & 35 , 108 , 145 , 36 , 108 , 145 , 36 , 109 , 145 , 37 , 110 , 144 , & 38 , 111 , 144 , 38 , 111 , 144 , 39 , 112 , 144 , 39 , 113 , 143 , & 40 , 113 , 143 , 40 , 114 , 143 , 41 , 115 , 143 , 42 , 115 , 142 , & 42 , 116 , 142 , 43 , 117 , 142 , 43 , 117 , 141 , 44 , 118 , 141 , & 44 , 118 , 141 , 45 , 119 , 140 , 45 , 120 , 140 , 46 , 120 , 140 , & 47 , 121 , 139 , 47 , 121 , 139 , 48 , 122 , 139 , 48 , 122 , 138 , & 49 , 123 , 138 , 49 , 124 , 138 , 50 , 124 , 137 , 50 , 125 , 137 , & 51 , 125 , 137 , 52 , 126 , 136 , 52 , 126 , 136 , 53 , 127 , 136 , & 53 , 127 , 135 , 54 , 128 , 135 , 54 , 128 , 134 , 55 , 129 , 134 , & 55 , 129 , 134 , 56 , 130 , 133 , 57 , 131 , 133 , 57 , 131 , 133 , & 58 , 132 , 132 , 58 , 132 , 132 , 59 , 133 , 132 , 60 , 133 , 131 , & 60 , 134 , 131 , 61 , 134 , 130 , 61 , 135 , 130 , 62 , 136 , 130 , & 63 , 136 , 129 , 63 , 137 , 129 , 64 , 137 , 129 , 64 , 138 , 128 , & 65 , 138 , 128 , 66 , 139 , 127 , 66 , 140 , 127 , 67 , 140 , 127 , & 68 , 141 , 126 , 68 , 141 , 126 , 69 , 142 , 125 , 70 , 143 , 125 , & 71 , 143 , 125 , 71 , 144 , 124 , 72 , 145 , 124 , 73 , 145 , 123 , & 73 , 146 , 123 , 74 , 147 , 122 , 75 , 147 , 122 , 76 , 148 , 122 , & 76 , 149 , 121 , 77 , 149 , 121 , 78 , 150 , 120 , 79 , 151 , 120 , & 80 , 152 , 119 , 80 , 152 , 119 , 81 , 153 , 118 , 82 , 154 , 118 , & 83 , 155 , 117 , 84 , 155 , 117 , 85 , 156 , 116 , 86 , 157 , 116 , & 87 , 158 , 115 , 87 , 159 , 115 , 88 , 160 , 114 , 89 , 160 , 114 , & 90 , 161 , 113 , 91 , 162 , 113 , 92 , 163 , 112 , 93 , 164 , 112 , & 94 , 165 , 111 , 95 , 166 , 111 , 96 , 167 , 110 , 98 , 168 , 110 , & 99 , 169 , 109 , 100 , 170 , 109 , 101 , 171 , 108 , 102 , 172 , 108 , & 103 , 173 , 107 , 105 , 174 , 107 , 106 , 175 , 106 , 107 , 176 , 106 , & 109 , 177 , 105 , 110 , 178 , 105 , 112 , 179 , 105 , 113 , 180 , 105 , & 115 , 181 , 104 , 116 , 182 , 104 , 118 , 183 , 104 , 120 , 185 , 104 , & 121 , 186 , 104 , 123 , 187 , 104 , 125 , 188 , 104 , 127 , 189 , 104 , & 129 , 191 , 104 , 131 , 192 , 104 , 133 , 193 , 105 , 135 , 194 , 105 , & 137 , 195 , 106 , 140 , 197 , 106 , 142 , 198 , 107 , 144 , 199 , 108 , & 147 , 200 , 109 , 149 , 202 , 110 , 152 , 203 , 111 , 154 , 204 , 112 , & 156 , 205 , 114 , 159 , 206 , 115 , 162 , 207 , 116 , 164 , 209 , 118 , & 167 , 210 , 120 , 169 , 211 , 121 , 172 , 212 , 123 , 174 , 213 , 125 , & 177 , 214 , 127 , 179 , 215 , 129 , 181 , 216 , 131 , 184 , 217 , 133 , & 186 , 218 , 135 , 188 , 219 , 137 , 191 , 220 , 139 , 193 , 220 , 141 , & 195 , 221 , 144 , 197 , 222 , 146 , 199 , 223 , 148 , 201 , 224 , 150 , & 203 , 224 , 152 , 205 , 225 , 155 , 207 , 226 , 157 , 209 , 227 , 159 , & 211 , 227 , 161 , 213 , 228 , 163 , 215 , 229 , 165 , 216 , 229 , 168 , & 218 , 230 , 170 , 220 , 231 , 172 , 221 , 231 , 174 , 223 , 232 , 176 , & 224 , 232 , 178 , 226 , 233 , 180 , 227 , 234 , 182 , 229 , 234 , 184 , & 230 , 235 , 186 , 232 , 235 , 188 , 233 , 236 , 190 , 234 , 237 , 191 , & 235 , 237 , 193 , 237 , 238 , 195 , 238 , 238 , 197 , 239 , 239 , 198 , & 240 , 239 , 200 , 241 , 240 , 202 , 243 , 240 , 203 , 244 , 241 , 205 , & 245 , 241 , 207 , 246 , 242 , 208 , 247 , 242 , 210 , 248 , 243 , 211 , & 249 , 243 , 213 , 250 , 243 , 214 , 251 , 244 , 215 , 252 , 244 , 217 & ], shape ( navia ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: navia10 = reshape ( [ & 3 , 19 , 39 , 7 , 52 , 94 , 21 , 88 , 139 , 40 , 114 , 143 , & 56 , 130 , 133 , 75 , 147 , 122 , 101 , 171 , 108 , 152 , 203 , 111 , & 216 , 229 , 168 , 252 , 244 , 217 & ], shape ( navia10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: navia100 = reshape ( [ & 3 , 19 , 39 , 4 , 23 , 44 , 4 , 25 , 48 , 5 , 28 , 54 , & 5 , 30 , 58 , 5 , 34 , 64 , 5 , 36 , 68 , 6 , 40 , 74 , & 6 , 43 , 80 , 6 , 46 , 84 , 6 , 49 , 90 , 7 , 52 , 94 , & 7 , 55 , 100 , 8 , 58 , 104 , 8 , 62 , 109 , 10 , 65 , 115 , & 11 , 68 , 118 , 12 , 72 , 123 , 13 , 74 , 126 , 15 , 78 , 130 , & 17 , 82 , 134 , 19 , 84 , 136 , 21 , 88 , 139 , 23 , 90 , 141 , & 25 , 94 , 142 , 27 , 96 , 143 , 29 , 99 , 144 , 31 , 102 , 145 , & 32 , 104 , 145 , 34 , 107 , 145 , 36 , 108 , 145 , 38 , 111 , 144 , & 39 , 112 , 144 , 40 , 114 , 143 , 42 , 116 , 142 , 43 , 117 , 141 , & 45 , 119 , 140 , 46 , 120 , 140 , 48 , 122 , 139 , 49 , 123 , 138 , & 50 , 125 , 137 , 52 , 126 , 136 , 53 , 127 , 135 , 55 , 129 , 134 , & 56 , 130 , 133 , 58 , 132 , 132 , 59 , 133 , 132 , 61 , 134 , 130 , & 63 , 136 , 129 , 64 , 137 , 129 , 66 , 139 , 127 , 67 , 140 , 127 , & 69 , 142 , 125 , 71 , 144 , 124 , 73 , 145 , 123 , 75 , 147 , 122 , & 76 , 149 , 121 , 79 , 151 , 120 , 80 , 152 , 119 , 83 , 155 , 117 , & 86 , 157 , 116 , 87 , 159 , 115 , 90 , 161 , 113 , 92 , 163 , 112 , & 95 , 166 , 111 , 98 , 168 , 110 , 101 , 171 , 108 , 105 , 174 , 107 , & 107 , 176 , 106 , 112 , 179 , 105 , 115 , 181 , 104 , 120 , 185 , 104 , & 123 , 187 , 104 , 129 , 191 , 104 , 135 , 194 , 105 , 140 , 197 , 106 , & 147 , 200 , 109 , 152 , 203 , 111 , 159 , 206 , 115 , 164 , 209 , 118 , & 172 , 212 , 123 , 179 , 215 , 129 , 184 , 217 , 133 , 191 , 220 , 139 , & 195 , 221 , 144 , 201 , 224 , 150 , 207 , 226 , 157 , 211 , 227 , 161 , & 216 , 229 , 168 , 220 , 231 , 172 , 224 , 232 , 178 , 227 , 234 , 182 , & 232 , 235 , 188 , 235 , 237 , 193 , 238 , 238 , 197 , 241 , 240 , 202 , & 244 , 241 , 205 , 247 , 242 , 210 , 249 , 243 , 213 , 252 , 244 , 217 & ], shape ( navia100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: navia25 = reshape ( [ & 3 , 19 , 39 , 5 , 32 , 60 , 6 , 43 , 80 , 7 , 57 , 102 , & 11 , 70 , 121 , 18 , 83 , 135 , 27 , 96 , 143 , 34 , 106 , 145 , & 40 , 114 , 143 , 47 , 121 , 139 , 52 , 126 , 136 , 58 , 132 , 132 , & 65 , 138 , 128 , 72 , 145 , 124 , 80 , 152 , 119 , 89 , 160 , 114 , & 101 , 171 , 108 , 116 , 182 , 104 , 135 , 194 , 105 , 162 , 207 , 116 , & 188 , 219 , 137 , 209 , 227 , 159 , 227 , 234 , 182 , 240 , 239 , 200 , & 252 , 244 , 217 & ], shape ( navia25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: navia50 = reshape ( [ & 3 , 19 , 39 , 4 , 25 , 48 , 5 , 30 , 58 , 5 , 37 , 70 , & 6 , 43 , 80 , 6 , 49 , 90 , 7 , 55 , 100 , 8 , 62 , 109 , & 11 , 69 , 120 , 14 , 76 , 128 , 17 , 82 , 134 , 21 , 88 , 139 , & 25 , 94 , 142 , 30 , 100 , 145 , 33 , 105 , 145 , 36 , 109 , 145 , & 39 , 113 , 143 , 42 , 116 , 142 , 45 , 120 , 140 , 48 , 122 , 138 , & 51 , 125 , 137 , 54 , 128 , 135 , 57 , 131 , 133 , 60 , 134 , 131 , & 63 , 137 , 129 , 66 , 140 , 127 , 70 , 143 , 125 , 74 , 147 , 122 , & 78 , 150 , 120 , 82 , 154 , 118 , 87 , 158 , 115 , 91 , 162 , 113 , & 98 , 168 , 110 , 103 , 173 , 107 , 110 , 178 , 105 , 118 , 183 , 104 , & 127 , 189 , 104 , 140 , 197 , 106 , 152 , 203 , 111 , 164 , 209 , 118 , & 177 , 214 , 127 , 188 , 219 , 137 , 201 , 224 , 150 , 211 , 227 , 161 , & 220 , 231 , 172 , 227 , 234 , 182 , 234 , 237 , 191 , 241 , 240 , 202 , & 247 , 242 , 210 , 252 , 244 , 217 & ], shape ( navia50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: naviaS = reshape ( [ & 3 , 19 , 39 , 252 , 244 , 217 , 65 , 138 , 128 , 27 , 96 , 143 , & 135 , 194 , 105 , 7 , 57 , 102 , 209 , 227 , 159 , 47 , 121 , 139 , & 89 , 160 , 114 , 234 , 237 , 191 , 5 , 37 , 70 , 14 , 77 , 129 , & 38 , 111 , 144 , 174 , 213 , 125 , 107 , 176 , 106 , 55 , 129 , 134 , & 76 , 149 , 121 , 32 , 104 , 145 , 5 , 28 , 54 , 10 , 67 , 116 , & 6 , 47 , 86 , 51 , 125 , 137 , 193 , 220 , 141 , 244 , 241 , 205 , & 98 , 168 , 110 , 154 , 204 , 112 , 42 , 116 , 142 , 71 , 143 , 125 , & 60 , 134 , 131 , 223 , 232 , 176 , 120 , 185 , 104 , 20 , 87 , 138 , & 83 , 155 , 117 , 23 , 92 , 141 , 239 , 239 , 198 , 4 , 24 , 46 , & 73 , 146 , 123 , 216 , 229 , 168 , 12 , 72 , 123 , 53 , 127 , 135 , & 40 , 113 , 143 , 93 , 164 , 112 , 184 , 217 , 133 , 49 , 123 , 138 , & 102 , 172 , 108 , 248 , 243 , 211 , 144 , 199 , 108 , 127 , 189 , 104 , & 229 , 234 , 184 , 7 , 52 , 94 , 68 , 141 , 126 , 80 , 152 , 119 , & 113 , 180 , 105 , 58 , 132 , 132 , 17 , 82 , 134 , 5 , 33 , 62 , & 6 , 42 , 78 , 30 , 100 , 145 , 201 , 224 , 150 , 164 , 209 , 118 , & 35 , 108 , 145 , 8 , 62 , 109 , 63 , 136 , 129 , 44 , 118 , 141 , & 87 , 158 , 115 , 43 , 117 , 141 , 5 , 35 , 66 , 59 , 133 , 132 , & 57 , 131 , 133 , 39 , 112 , 144 , 232 , 235 , 188 , 69 , 142 , 125 , & 123 , 187 , 104 , 105 , 174 , 107 , 188 , 219 , 137 , 22 , 89 , 140 , & 159 , 206 , 115 , 48 , 122 , 139 , 5 , 30 , 58 , 213 , 228 , 163 , & 246 , 242 , 208 , 7 , 54 , 98 , 66 , 140 , 127 , 140 , 197 , 106 , & 6 , 49 , 90 , 5 , 26 , 50 , 54 , 128 , 134 , 11 , 69 , 120 , & 241 , 240 , 202 , 226 , 233 , 180 , 220 , 231 , 172 , 250 , 243 , 214 , & 91 , 162 , 113 , 95 , 166 , 111 , 36 , 109 , 145 , 6 , 44 , 82 , & 52 , 126 , 136 , 72 , 145 , 124 , 75 , 147 , 122 , 131 , 192 , 104 & ], shape ( naviaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: naviaW = reshape ( [ & 4 , 20 , 39 , 4 , 21 , 41 , 4 , 22 , 43 , 4 , 23 , 45 , & 5 , 25 , 47 , 5 , 26 , 49 , 5 , 27 , 51 , 5 , 28 , 53 , & 5 , 29 , 55 , 5 , 30 , 57 , 5 , 32 , 59 , 5 , 33 , 61 , & 6 , 34 , 63 , 6 , 35 , 65 , 6 , 36 , 67 , 6 , 38 , 69 , & 6 , 39 , 71 , 6 , 40 , 74 , 6 , 41 , 76 , 7 , 43 , 78 , & 7 , 44 , 80 , 7 , 45 , 82 , 7 , 47 , 84 , 7 , 48 , 86 , & 8 , 49 , 88 , 8 , 50 , 90 , 8 , 52 , 92 , 8 , 53 , 94 , & 9 , 54 , 96 , 9 , 56 , 98 , 9 , 57 , 100 , 10 , 58 , 102 , & 10 , 60 , 104 , 10 , 61 , 106 , 11 , 62 , 107 , 11 , 64 , 109 , & 12 , 65 , 111 , 12 , 66 , 113 , 13 , 68 , 114 , 14 , 69 , 116 , & 14 , 70 , 118 , 15 , 72 , 119 , 15 , 73 , 121 , 16 , 74 , 122 , & 17 , 76 , 124 , 17 , 77 , 125 , 18 , 78 , 127 , 19 , 80 , 128 , & 20 , 81 , 129 , 20 , 82 , 130 , 21 , 84 , 131 , 22 , 85 , 132 , & 23 , 86 , 134 , 24 , 88 , 134 , 24 , 89 , 135 , 25 , 90 , 136 , & 26 , 91 , 137 , 27 , 93 , 138 , 28 , 94 , 139 , 28 , 95 , 139 , & 29 , 96 , 140 , 30 , 97 , 140 , 31 , 98 , 141 , 32 , 100 , 141 , & 32 , 101 , 142 , 33 , 102 , 142 , 34 , 103 , 142 , 35 , 104 , 142 , & 35 , 105 , 143 , 36 , 106 , 143 , 37 , 107 , 143 , 38 , 108 , 143 , & 38 , 109 , 143 , 39 , 109 , 143 , 40 , 110 , 143 , 40 , 111 , 143 , & 41 , 112 , 143 , 42 , 113 , 143 , 42 , 114 , 143 , 43 , 114 , 143 , & 43 , 115 , 142 , 44 , 116 , 142 , 45 , 117 , 142 , 45 , 117 , 142 , & 46 , 118 , 142 , 46 , 119 , 141 , 47 , 119 , 141 , 48 , 120 , 141 , & 48 , 121 , 141 , 49 , 121 , 140 , 49 , 122 , 140 , 50 , 123 , 140 , & 51 , 123 , 140 , 51 , 124 , 139 , 52 , 125 , 139 , 52 , 125 , 139 , & 53 , 126 , 138 , 54 , 126 , 138 , 54 , 127 , 138 , 55 , 128 , 137 , & 55 , 128 , 137 , 56 , 129 , 137 , 56 , 129 , 136 , 57 , 130 , 136 , & 58 , 131 , 136 , 58 , 131 , 135 , 59 , 132 , 135 , 60 , 132 , 135 , & 60 , 133 , 134 , 61 , 134 , 134 , 61 , 134 , 134 , 62 , 135 , 133 , & 63 , 135 , 133 , 63 , 136 , 133 , 64 , 137 , 132 , 65 , 137 , 132 , & 65 , 138 , 131 , 66 , 138 , 131 , 67 , 139 , 131 , 67 , 140 , 130 , & 68 , 140 , 130 , 69 , 141 , 130 , 69 , 142 , 129 , 70 , 142 , 129 , & 71 , 143 , 128 , 72 , 144 , 128 , 72 , 144 , 128 , 73 , 145 , 127 , & 74 , 146 , 127 , 75 , 146 , 126 , 75 , 147 , 126 , 76 , 148 , 126 , & 77 , 149 , 125 , 78 , 149 , 125 , 79 , 150 , 124 , 80 , 151 , 124 , & 80 , 152 , 124 , 81 , 153 , 123 , 82 , 153 , 123 , 83 , 154 , 122 , & 84 , 155 , 122 , 85 , 156 , 121 , 86 , 157 , 121 , 87 , 157 , 120 , & 88 , 158 , 120 , 89 , 159 , 120 , 90 , 160 , 119 , 91 , 161 , 119 , & 92 , 162 , 118 , 93 , 163 , 118 , 94 , 164 , 117 , 95 , 165 , 117 , & 96 , 166 , 117 , 98 , 167 , 116 , 99 , 168 , 116 , 100 , 169 , 115 , & 101 , 170 , 115 , 103 , 171 , 115 , 104 , 172 , 114 , 105 , 173 , 114 , & 107 , 174 , 114 , 108 , 175 , 113 , 110 , 176 , 113 , 111 , 178 , 113 , & 113 , 179 , 113 , 114 , 180 , 113 , 116 , 181 , 113 , 118 , 182 , 113 , & 119 , 184 , 113 , 121 , 185 , 113 , 123 , 186 , 113 , 125 , 188 , 113 , & 127 , 189 , 113 , 129 , 190 , 114 , 131 , 192 , 114 , 133 , 193 , 114 , & 135 , 194 , 115 , 137 , 196 , 116 , 140 , 197 , 116 , 142 , 198 , 117 , & 144 , 200 , 118 , 147 , 201 , 119 , 149 , 203 , 120 , 152 , 204 , 121 , & 154 , 205 , 123 , 157 , 207 , 124 , 159 , 208 , 125 , 162 , 210 , 127 , & 164 , 211 , 129 , 167 , 212 , 130 , 169 , 214 , 132 , 172 , 215 , 134 , & 175 , 216 , 136 , 177 , 217 , 138 , 180 , 219 , 140 , 182 , 220 , 142 , & 185 , 221 , 144 , 187 , 222 , 147 , 190 , 223 , 149 , 192 , 225 , 151 , & 194 , 226 , 154 , 197 , 227 , 156 , 199 , 228 , 158 , 201 , 229 , 161 , & 203 , 230 , 163 , 205 , 231 , 166 , 207 , 232 , 168 , 209 , 232 , 171 , & 211 , 233 , 173 , 213 , 234 , 175 , 215 , 235 , 178 , 216 , 236 , 180 , & 218 , 236 , 182 , 219 , 237 , 185 , 221 , 238 , 187 , 222 , 238 , 189 , & 224 , 239 , 191 , 225 , 240 , 194 , 227 , 240 , 196 , 228 , 241 , 198 , & 229 , 241 , 200 , 230 , 242 , 202 , 231 , 243 , 204 , 232 , 243 , 206 , & 233 , 244 , 208 , 234 , 244 , 210 , 235 , 245 , 212 , 236 , 245 , 213 , & 237 , 245 , 215 , 238 , 246 , 217 , 239 , 246 , 219 , 240 , 247 , 220 , & 241 , 247 , 222 , 241 , 248 , 224 , 242 , 248 , 225 , 243 , 248 , 227 , & 243 , 249 , 228 , 244 , 249 , 230 , 245 , 249 , 231 , 246 , 250 , 233 , & 246 , 250 , 234 , 247 , 250 , 236 , 247 , 251 , 237 , 248 , 251 , 238 , & 249 , 251 , 240 , 249 , 252 , 241 , 250 , 252 , 242 , 250 , 252 , 243 , & 251 , 253 , 245 , 251 , 253 , 246 , 252 , 253 , 247 , 252 , 253 , 248 , & 253 , 254 , 249 , 253 , 254 , 251 , 254 , 254 , 252 , 254 , 254 , 253 & ], shape ( naviaW ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: naviaW10 = reshape ( [ & 4 , 20 , 39 , 9 , 54 , 96 , 27 , 93 , 138 , 46 , 119 , 141 , & 63 , 136 , 133 , 86 , 157 , 121 , 123 , 186 , 113 , 190 , 223 , 149 , & 236 , 245 , 213 , 254 , 254 , 253 & ], shape ( naviaW10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: naviaW100 = reshape ( [ & 4 , 20 , 39 , 4 , 23 , 45 , 5 , 26 , 49 , 5 , 29 , 55 , & 5 , 32 , 59 , 6 , 35 , 65 , 6 , 38 , 69 , 6 , 41 , 76 , & 7 , 45 , 82 , 7 , 48 , 86 , 8 , 52 , 92 , 9 , 54 , 96 , & 10 , 58 , 102 , 10 , 61 , 106 , 12 , 65 , 111 , 14 , 69 , 116 , & 15 , 72 , 119 , 17 , 76 , 124 , 18 , 78 , 127 , 20 , 82 , 130 , & 23 , 86 , 134 , 24 , 89 , 135 , 27 , 93 , 138 , 28 , 95 , 139 , & 31 , 98 , 141 , 32 , 101 , 142 , 35 , 104 , 142 , 37 , 107 , 143 , & 38 , 109 , 143 , 40 , 111 , 143 , 42 , 113 , 143 , 43 , 115 , 142 , & 45 , 117 , 142 , 46 , 119 , 141 , 48 , 121 , 141 , 49 , 122 , 140 , & 51 , 124 , 139 , 52 , 125 , 139 , 54 , 127 , 138 , 55 , 128 , 137 , & 57 , 130 , 136 , 59 , 132 , 135 , 60 , 133 , 134 , 62 , 135 , 133 , & 63 , 136 , 133 , 65 , 138 , 131 , 67 , 139 , 131 , 69 , 141 , 130 , & 71 , 143 , 128 , 72 , 144 , 128 , 75 , 146 , 126 , 76 , 148 , 126 , & 79 , 150 , 124 , 81 , 153 , 123 , 83 , 154 , 122 , 86 , 157 , 121 , & 88 , 158 , 120 , 91 , 161 , 119 , 93 , 163 , 118 , 96 , 166 , 117 , & 100 , 169 , 115 , 103 , 171 , 115 , 107 , 174 , 114 , 110 , 176 , 113 , & 114 , 180 , 113 , 118 , 182 , 113 , 123 , 186 , 113 , 129 , 190 , 114 , & 133 , 193 , 114 , 140 , 197 , 116 , 144 , 200 , 118 , 152 , 204 , 121 , & 157 , 207 , 124 , 164 , 211 , 129 , 172 , 215 , 134 , 177 , 217 , 138 , & 185 , 221 , 144 , 190 , 223 , 149 , 197 , 227 , 156 , 201 , 229 , 161 , & 207 , 232 , 168 , 213 , 234 , 175 , 216 , 236 , 180 , 221 , 238 , 187 , & 224 , 239 , 191 , 228 , 241 , 198 , 231 , 243 , 204 , 233 , 244 , 208 , & 236 , 245 , 213 , 238 , 246 , 217 , 241 , 247 , 222 , 242 , 248 , 225 , & 244 , 249 , 230 , 246 , 250 , 234 , 247 , 251 , 237 , 249 , 252 , 241 , & 250 , 252 , 243 , 252 , 253 , 247 , 253 , 254 , 249 , 254 , 254 , 253 & ], shape ( naviaW100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: naviaW25 = reshape ( [ & 4 , 20 , 39 , 5 , 33 , 61 , 7 , 45 , 82 , 10 , 60 , 104 , & 16 , 74 , 122 , 24 , 88 , 134 , 32 , 101 , 142 , 40 , 110 , 143 , & 46 , 119 , 141 , 53 , 126 , 138 , 59 , 132 , 135 , 66 , 138 , 131 , & 74 , 146 , 127 , 82 , 153 , 123 , 93 , 163 , 118 , 105 , 173 , 114 , & 123 , 186 , 113 , 147 , 201 , 119 , 172 , 215 , 134 , 199 , 228 , 158 , & 219 , 237 , 185 , 232 , 243 , 206 , 242 , 248 , 225 , 249 , 251 , 240 , & 254 , 254 , 253 & ], shape ( naviaW25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: naviaW50 = reshape ( [ & 4 , 20 , 39 , 5 , 26 , 49 , 5 , 32 , 59 , 6 , 39 , 71 , & 7 , 45 , 82 , 8 , 52 , 92 , 10 , 58 , 102 , 12 , 65 , 111 , & 15 , 73 , 121 , 19 , 80 , 128 , 23 , 86 , 134 , 27 , 93 , 138 , & 31 , 98 , 141 , 35 , 105 , 143 , 39 , 109 , 143 , 42 , 114 , 143 , & 45 , 117 , 142 , 48 , 121 , 141 , 52 , 125 , 139 , 55 , 128 , 137 , & 58 , 131 , 136 , 61 , 134 , 134 , 64 , 137 , 132 , 68 , 140 , 130 , & 72 , 144 , 128 , 75 , 147 , 126 , 80 , 151 , 124 , 85 , 156 , 121 , & 90 , 160 , 119 , 95 , 165 , 117 , 101 , 170 , 115 , 108 , 175 , 113 , & 118 , 182 , 113 , 127 , 189 , 113 , 137 , 196 , 116 , 149 , 203 , 120 , & 162 , 210 , 127 , 177 , 217 , 138 , 190 , 223 , 149 , 201 , 229 , 161 , & 211 , 233 , 173 , 219 , 237 , 185 , 228 , 241 , 198 , 233 , 244 , 208 , & 238 , 246 , 217 , 242 , 248 , 225 , 246 , 250 , 233 , 249 , 252 , 241 , & 252 , 253 , 247 , 254 , 254 , 253 & ], shape ( naviaW50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: naviaWS = reshape ( [ & 4 , 20 , 39 , 251 , 253 , 246 , 72 , 144 , 128 , 31 , 98 , 141 , & 162 , 210 , 127 , 227 , 240 , 196 , 10 , 58 , 102 , 52 , 125 , 139 , & 101 , 170 , 115 , 42 , 114 , 143 , 6 , 39 , 71 , 85 , 156 , 121 , & 19 , 80 , 128 , 242 , 248 , 225 , 61 , 134 , 134 , 201 , 229 , 161 , & 127 , 189 , 113 , 47 , 119 , 141 , 37 , 107 , 143 , 182 , 220 , 142 , & 66 , 138 , 131 , 235 , 245 , 212 , 5 , 29 , 55 , 14 , 69 , 116 , & 113 , 179 , 113 , 78 , 149 , 125 , 93 , 163 , 118 , 8 , 49 , 88 , & 247 , 250 , 236 , 142 , 198 , 117 , 56 , 129 , 137 , 215 , 235 , 178 , & 24 , 89 , 135 , 11 , 64 , 109 , 28 , 94 , 139 , 40 , 110 , 143 , & 69 , 141 , 130 , 6 , 34 , 63 , 239 , 246 , 219 , 231 , 243 , 204 , & 75 , 146 , 126 , 81 , 153 , 123 , 49 , 122 , 140 , 221 , 238 , 187 , & 58 , 131 , 135 , 7 , 44 , 80 , 172 , 215 , 134 , 63 , 136 , 133 , & 34 , 103 , 142 , 89 , 159 , 120 , 5 , 25 , 47 , 16 , 74 , 122 , & 249 , 252 , 241 , 192 , 225 , 151 , 119 , 184 , 113 , 45 , 117 , 142 , & 152 , 204 , 121 , 107 , 174 , 114 , 8 , 53 , 94 , 54 , 126 , 138 , & 207 , 232 , 168 , 135 , 194 , 115 , 98 , 167 , 116 , 22 , 85 , 132 , & 244 , 249 , 230 , 17 , 77 , 125 , 123 , 186 , 113 , 20 , 82 , 130 , & 51 , 123 , 140 , 104 , 172 , 114 , 187 , 222 , 147 , 6 , 41 , 76 , & 241 , 247 , 222 , 177 , 217 , 138 , 67 , 140 , 130 , 60 , 132 , 135 , & 62 , 135 , 133 , 38 , 109 , 143 , 76 , 148 , 126 , 73 , 145 , 127 , & 218 , 236 , 182 , 197 , 227 , 156 , 95 , 165 , 117 , 43 , 115 , 142 , & 211 , 233 , 173 , 70 , 142 , 129 , 35 , 105 , 143 , 246 , 250 , 233 , & 229 , 241 , 200 , 80 , 151 , 124 , 87 , 157 , 120 , 83 , 154 , 122 , & 10 , 61 , 106 , 26 , 91 , 137 , 55 , 128 , 137 , 12 , 66 , 113 , & 224 , 239 , 191 , 7 , 47 , 84 , 15 , 72 , 119 , 6 , 36 , 67 & ], shape ( naviaWS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: nuuk = reshape ( [ & 5 , 89 , 140 , 7 , 90 , 140 , 9 , 90 , 140 , 11 , 90 , 139 , & 13 , 91 , 139 , 14 , 91 , 139 , 16 , 91 , 138 , 17 , 91 , 138 , & 19 , 92 , 137 , 20 , 92 , 137 , 21 , 92 , 137 , 23 , 92 , 136 , & 24 , 93 , 136 , 25 , 93 , 136 , 26 , 93 , 135 , 27 , 94 , 135 , & 28 , 94 , 135 , 30 , 94 , 134 , 31 , 95 , 134 , 32 , 95 , 134 , & 33 , 95 , 134 , 34 , 96 , 133 , 35 , 96 , 133 , 36 , 96 , 133 , & 37 , 97 , 133 , 38 , 97 , 132 , 39 , 97 , 132 , 40 , 98 , 132 , & 41 , 98 , 132 , 42 , 99 , 131 , 43 , 99 , 131 , 44 , 99 , 131 , & 45 , 100 , 131 , 46 , 100 , 131 , 47 , 101 , 131 , 48 , 101 , 130 , & 50 , 102 , 130 , 51 , 102 , 130 , 52 , 103 , 130 , 53 , 103 , 130 , & 54 , 104 , 130 , 55 , 104 , 130 , 56 , 105 , 130 , 57 , 105 , 130 , & 59 , 106 , 130 , 60 , 106 , 130 , 61 , 107 , 130 , 62 , 108 , 130 , & 63 , 108 , 130 , 64 , 109 , 130 , 66 , 109 , 130 , 67 , 110 , 130 , & 68 , 111 , 130 , 69 , 111 , 130 , 70 , 112 , 131 , 72 , 113 , 131 , & 73 , 113 , 131 , 74 , 114 , 131 , 75 , 115 , 131 , 77 , 115 , 132 , & 78 , 116 , 132 , 79 , 117 , 132 , 81 , 117 , 132 , 82 , 118 , 133 , & 83 , 119 , 133 , 85 , 120 , 133 , 86 , 120 , 134 , 87 , 121 , 134 , & 88 , 122 , 134 , 90 , 122 , 135 , 91 , 123 , 135 , 92 , 124 , 135 , & 94 , 125 , 136 , 95 , 125 , 136 , 96 , 126 , 136 , 98 , 127 , 137 , & 99 , 128 , 137 , 100 , 129 , 138 , 102 , 129 , 138 , 103 , 130 , 138 , & 104 , 131 , 139 , 106 , 132 , 139 , 107 , 132 , 140 , 108 , 133 , 140 , & 110 , 134 , 140 , 111 , 135 , 141 , 112 , 135 , 141 , 114 , 136 , 142 , & 115 , 137 , 142 , 116 , 138 , 143 , 118 , 139 , 143 , 119 , 139 , 143 , & 120 , 140 , 144 , 121 , 141 , 144 , 123 , 142 , 145 , 124 , 142 , 145 , & 125 , 143 , 145 , 127 , 144 , 146 , 128 , 145 , 146 , 129 , 145 , 146 , & 130 , 146 , 147 , 132 , 147 , 147 , 133 , 148 , 147 , 134 , 148 , 148 , & 135 , 149 , 148 , 137 , 150 , 148 , 138 , 151 , 149 , 139 , 151 , 149 , & 140 , 152 , 149 , 141 , 153 , 150 , 142 , 154 , 150 , 144 , 154 , 150 , & 145 , 155 , 150 , 146 , 156 , 150 , 147 , 156 , 151 , 148 , 157 , 151 , & 149 , 158 , 151 , 150 , 158 , 151 , 151 , 159 , 151 , 152 , 160 , 151 , & 153 , 160 , 151 , 154 , 161 , 152 , 155 , 162 , 152 , 156 , 162 , 152 , & 157 , 163 , 152 , 158 , 164 , 152 , 159 , 164 , 152 , 160 , 165 , 152 , & 161 , 166 , 152 , 162 , 166 , 152 , 162 , 167 , 152 , 163 , 167 , 152 , & 164 , 168 , 151 , 165 , 168 , 151 , 166 , 169 , 151 , 166 , 170 , 151 , & 167 , 170 , 151 , 168 , 171 , 151 , 169 , 171 , 151 , 169 , 172 , 151 , & 170 , 172 , 150 , 171 , 173 , 150 , 171 , 173 , 150 , 172 , 174 , 150 , & 173 , 174 , 149 , 173 , 175 , 149 , 174 , 175 , 149 , 174 , 176 , 149 , & 175 , 176 , 148 , 176 , 177 , 148 , 176 , 177 , 148 , 177 , 177 , 148 , & 177 , 178 , 147 , 178 , 178 , 147 , 178 , 179 , 147 , 179 , 179 , 146 , & 179 , 180 , 146 , 180 , 180 , 146 , 180 , 181 , 145 , 181 , 181 , 145 , & 181 , 181 , 145 , 182 , 182 , 144 , 182 , 182 , 144 , 183 , 183 , 144 , & 183 , 183 , 143 , 183 , 183 , 143 , 184 , 184 , 142 , 184 , 184 , 142 , & 185 , 185 , 142 , 185 , 185 , 141 , 186 , 185 , 141 , 186 , 186 , 141 , & 186 , 186 , 140 , 187 , 187 , 140 , 187 , 187 , 139 , 188 , 187 , 139 , & 188 , 188 , 139 , 189 , 188 , 138 , 189 , 189 , 138 , 189 , 189 , 138 , & 190 , 189 , 137 , 190 , 190 , 137 , 191 , 190 , 136 , 191 , 191 , 136 , & 192 , 191 , 136 , 192 , 192 , 135 , 192 , 192 , 135 , 193 , 193 , 135 , & 193 , 193 , 134 , 194 , 193 , 134 , 194 , 194 , 134 , 195 , 194 , 133 , & 195 , 195 , 133 , 196 , 195 , 133 , 196 , 196 , 133 , 197 , 196 , 132 , & 197 , 197 , 132 , 198 , 198 , 132 , 199 , 198 , 132 , 199 , 199 , 132 , & 200 , 199 , 131 , 200 , 200 , 131 , 201 , 201 , 131 , 202 , 201 , 131 , & 202 , 202 , 131 , 203 , 203 , 131 , 204 , 203 , 131 , 205 , 204 , 131 , & 205 , 205 , 131 , 206 , 206 , 131 , 207 , 207 , 132 , 208 , 207 , 132 , & 209 , 208 , 132 , 210 , 209 , 132 , 210 , 210 , 133 , 211 , 211 , 133 , & 212 , 212 , 134 , 213 , 213 , 134 , 214 , 214 , 135 , 215 , 215 , 135 , & 216 , 216 , 136 , 217 , 217 , 136 , 219 , 218 , 137 , 220 , 219 , 138 , & 221 , 221 , 139 , 222 , 222 , 140 , 223 , 223 , 141 , 224 , 224 , 142 , & 225 , 225 , 143 , 227 , 226 , 144 , 228 , 227 , 145 , 229 , 229 , 146 , & 230 , 230 , 147 , 231 , 231 , 148 , 232 , 232 , 149 , 233 , 233 , 151 , & 235 , 234 , 152 , 236 , 235 , 153 , 237 , 237 , 154 , 238 , 238 , 156 , & 239 , 239 , 157 , 240 , 240 , 158 , 241 , 241 , 160 , 242 , 242 , 161 , & 243 , 243 , 163 , 244 , 244 , 164 , 245 , 245 , 165 , 246 , 246 , 167 , & 247 , 247 , 168 , 248 , 248 , 170 , 249 , 249 , 171 , 250 , 250 , 173 , & 251 , 251 , 174 , 252 , 252 , 175 , 253 , 253 , 177 , 254 , 254 , 178 & ], shape ( nuuk ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: nuuk10 = reshape ( [ & 5 , 89 , 140 , 41 , 98 , 132 , 74 , 114 , 131 , 111 , 135 , 141 , & 146 , 156 , 150 , 171 , 173 , 150 , 186 , 185 , 141 , 199 , 198 , 132 , & 224 , 224 , 142 , 254 , 254 , 178 & ], shape ( nuuk10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: nuuk100 = reshape ( [ & 5 , 89 , 140 , 11 , 90 , 139 , 14 , 91 , 139 , 19 , 92 , 137 , & 21 , 92 , 137 , 25 , 93 , 136 , 27 , 94 , 135 , 31 , 95 , 134 , & 34 , 96 , 133 , 36 , 96 , 133 , 39 , 97 , 132 , 41 , 98 , 132 , & 44 , 99 , 131 , 46 , 100 , 131 , 50 , 102 , 130 , 53 , 103 , 130 , & 55 , 104 , 130 , 59 , 106 , 130 , 61 , 107 , 130 , 64 , 109 , 130 , & 68 , 111 , 130 , 70 , 112 , 131 , 74 , 114 , 131 , 77 , 115 , 132 , & 81 , 117 , 132 , 83 , 119 , 133 , 87 , 121 , 134 , 91 , 123 , 135 , & 94 , 125 , 136 , 98 , 127 , 137 , 100 , 129 , 138 , 104 , 131 , 139 , & 107 , 132 , 140 , 111 , 135 , 141 , 115 , 137 , 142 , 118 , 139 , 143 , & 121 , 141 , 144 , 124 , 142 , 145 , 128 , 145 , 146 , 130 , 146 , 147 , & 134 , 148 , 148 , 138 , 151 , 149 , 140 , 152 , 149 , 144 , 154 , 150 , & 146 , 156 , 150 , 149 , 158 , 151 , 151 , 159 , 151 , 154 , 161 , 152 , & 157 , 163 , 152 , 159 , 164 , 152 , 162 , 166 , 152 , 163 , 167 , 152 , & 166 , 169 , 151 , 168 , 171 , 151 , 169 , 172 , 151 , 171 , 173 , 150 , & 173 , 174 , 149 , 174 , 176 , 149 , 176 , 177 , 148 , 177 , 178 , 147 , & 179 , 179 , 146 , 180 , 180 , 146 , 181 , 181 , 145 , 182 , 182 , 144 , & 183 , 183 , 143 , 184 , 184 , 142 , 186 , 185 , 141 , 187 , 187 , 140 , & 188 , 187 , 139 , 189 , 189 , 138 , 190 , 189 , 137 , 191 , 191 , 136 , & 192 , 192 , 135 , 193 , 193 , 134 , 195 , 194 , 133 , 196 , 195 , 133 , & 197 , 197 , 132 , 199 , 198 , 132 , 200 , 200 , 131 , 202 , 201 , 131 , & 204 , 203 , 131 , 206 , 206 , 131 , 208 , 207 , 132 , 210 , 210 , 133 , & 212 , 212 , 134 , 215 , 215 , 135 , 219 , 218 , 137 , 221 , 221 , 139 , & 224 , 224 , 142 , 227 , 226 , 144 , 230 , 230 , 147 , 232 , 232 , 149 , & 236 , 235 , 153 , 239 , 239 , 157 , 241 , 241 , 160 , 244 , 244 , 164 , & 246 , 246 , 167 , 249 , 249 , 171 , 251 , 251 , 174 , 254 , 254 , 178 & ], shape ( nuuk100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: nuuk25 = reshape ( [ & 5 , 89 , 140 , 23 , 92 , 136 , 34 , 96 , 133 , 45 , 100 , 131 , & 57 , 105 , 130 , 69 , 111 , 130 , 83 , 119 , 133 , 96 , 126 , 136 , & 111 , 135 , 141 , 125 , 143 , 145 , 138 , 151 , 149 , 150 , 158 , 151 , & 161 , 166 , 152 , 169 , 171 , 151 , 176 , 177 , 148 , 181 , 181 , 145 , & 186 , 185 , 141 , 190 , 190 , 137 , 195 , 194 , 133 , 201 , 201 , 131 , & 210 , 209 , 132 , 220 , 219 , 138 , 232 , 232 , 149 , 243 , 243 , 163 , & 254 , 254 , 178 & ], shape ( nuuk25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: nuuk50 = reshape ( [ & 5 , 89 , 140 , 14 , 91 , 139 , 21 , 92 , 137 , 28 , 94 , 135 , & 34 , 96 , 133 , 39 , 97 , 132 , 44 , 99 , 131 , 50 , 102 , 130 , & 56 , 105 , 130 , 62 , 108 , 130 , 68 , 111 , 130 , 74 , 114 , 131 , & 81 , 117 , 132 , 88 , 122 , 134 , 95 , 125 , 136 , 102 , 129 , 138 , & 108 , 133 , 140 , 115 , 137 , 142 , 123 , 142 , 145 , 129 , 145 , 146 , & 135 , 149 , 148 , 141 , 153 , 150 , 147 , 156 , 151 , 153 , 160 , 151 , & 158 , 164 , 152 , 162 , 167 , 152 , 166 , 170 , 151 , 171 , 173 , 150 , & 174 , 175 , 149 , 177 , 177 , 148 , 179 , 180 , 146 , 182 , 182 , 144 , & 184 , 184 , 142 , 186 , 186 , 140 , 189 , 188 , 138 , 191 , 190 , 136 , & 193 , 193 , 135 , 196 , 195 , 133 , 199 , 198 , 132 , 202 , 201 , 131 , & 205 , 205 , 131 , 210 , 209 , 132 , 215 , 215 , 135 , 221 , 221 , 139 , & 227 , 226 , 144 , 232 , 232 , 149 , 238 , 238 , 156 , 244 , 244 , 164 , & 249 , 249 , 171 , 254 , 254 , 178 & ], shape ( nuuk50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: nuukS = reshape ( [ & 5 , 89 , 140 , 254 , 254 , 178 , 161 , 166 , 152 , 83 , 119 , 133 , & 195 , 195 , 133 , 45 , 100 , 131 , 181 , 181 , 145 , 125 , 143 , 145 , & 221 , 221 , 139 , 188 , 188 , 139 , 173 , 174 , 149 , 145 , 155 , 150 , & 104 , 131 , 139 , 63 , 108 , 130 , 28 , 94 , 135 , 205 , 205 , 131 , & 238 , 238 , 156 , 135 , 149 , 148 , 177 , 178 , 147 , 94 , 125 , 136 , & 115 , 137 , 142 , 200 , 199 , 131 , 246 , 246 , 167 , 192 , 191 , 136 , & 153 , 160 , 151 , 212 , 212 , 134 , 73 , 113 , 131 , 167 , 170 , 151 , & 185 , 185 , 142 , 19 , 92 , 137 , 37 , 97 , 133 , 54 , 104 , 130 , & 230 , 230 , 147 , 99 , 128 , 137 , 170 , 172 , 150 , 175 , 176 , 148 , & 183 , 183 , 143 , 179 , 180 , 146 , 50 , 102 , 130 , 130 , 146 , 147 , & 110 , 134 , 140 , 24 , 93 , 136 , 78 , 116 , 132 , 250 , 250 , 173 , & 225 , 225 , 143 , 202 , 202 , 131 , 41 , 98 , 132 , 164 , 168 , 151 , & 13 , 91 , 139 , 193 , 193 , 134 , 209 , 208 , 132 , 216 , 216 , 136 , & 59 , 106 , 130 , 120 , 140 , 144 , 190 , 189 , 137 , 149 , 158 , 151 , & 157 , 163 , 152 , 242 , 242 , 161 , 197 , 197 , 132 , 33 , 95 , 134 , & 88 , 122 , 134 , 186 , 186 , 140 , 140 , 152 , 149 , 68 , 111 , 130 , & 235 , 234 , 152 , 147 , 156 , 151 , 192 , 192 , 135 , 171 , 173 , 150 , & 252 , 252 , 175 , 118 , 139 , 143 , 219 , 218 , 137 , 214 , 214 , 135 , & 112 , 135 , 141 , 189 , 189 , 138 , 228 , 227 , 145 , 210 , 210 , 133 , & 31 , 95 , 134 , 16 , 91 , 138 , 166 , 169 , 151 , 9 , 90 , 140 , & 66 , 109 , 130 , 21 , 92 , 137 , 196 , 196 , 133 , 70 , 112 , 131 , & 240 , 240 , 158 , 191 , 190 , 136 , 199 , 198 , 132 , 133 , 148 , 147 , & 96 , 126 , 136 , 180 , 181 , 145 , 204 , 203 , 131 , 207 , 207 , 132 , & 223 , 223 , 141 , 187 , 187 , 139 , 138 , 151 , 149 , 142 , 154 , 150 , & 39 , 97 , 132 , 128 , 145 , 146 , 162 , 167 , 152 , 47 , 101 , 131 & ], shape ( nuukS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: oleron = reshape ( [ & 26 , 38 , 89 , 27 , 40 , 91 , 29 , 41 , 92 , 30 , 43 , 94 , & 32 , 44 , 95 , 33 , 46 , 97 , 35 , 47 , 98 , 36 , 49 , 100 , & 38 , 50 , 101 , 40 , 52 , 103 , 41 , 53 , 104 , 43 , 55 , 106 , & 44 , 56 , 107 , 46 , 58 , 109 , 47 , 59 , 111 , 49 , 61 , 112 , & 50 , 63 , 114 , 52 , 64 , 115 , 53 , 66 , 117 , 55 , 67 , 118 , & 57 , 69 , 120 , 58 , 71 , 122 , 60 , 72 , 123 , 61 , 74 , 125 , & 63 , 75 , 126 , 65 , 77 , 128 , 66 , 79 , 130 , 68 , 80 , 131 , & 69 , 82 , 133 , 71 , 84 , 135 , 73 , 85 , 136 , 74 , 87 , 138 , & 76 , 89 , 140 , 78 , 90 , 141 , 79 , 92 , 143 , 81 , 94 , 145 , & 83 , 95 , 146 , 84 , 97 , 148 , 86 , 99 , 150 , 88 , 100 , 151 , & 89 , 102 , 153 , 91 , 104 , 155 , 93 , 105 , 156 , 94 , 107 , 158 , & 96 , 109 , 160 , 98 , 111 , 162 , 100 , 112 , 163 , 101 , 114 , 165 , & 103 , 116 , 167 , 105 , 117 , 169 , 107 , 119 , 170 , 108 , 121 , 172 , & 110 , 123 , 174 , 112 , 125 , 176 , 114 , 126 , 177 , 115 , 128 , 179 , & 117 , 130 , 181 , 119 , 132 , 183 , 121 , 133 , 184 , 122 , 135 , 186 , & 124 , 137 , 188 , 126 , 139 , 190 , 128 , 141 , 192 , 130 , 142 , 193 , & 131 , 144 , 195 , 133 , 146 , 197 , 135 , 148 , 199 , 137 , 150 , 201 , & 139 , 151 , 202 , 141 , 153 , 204 , 142 , 155 , 206 , 144 , 157 , 208 , & 146 , 159 , 210 , 148 , 161 , 211 , 150 , 162 , 213 , 152 , 164 , 215 , & 153 , 166 , 217 , 155 , 168 , 219 , 157 , 170 , 220 , 159 , 172 , 222 , & 161 , 173 , 224 , 163 , 175 , 225 , 164 , 177 , 227 , 166 , 179 , 229 , & 168 , 181 , 230 , 170 , 183 , 232 , 172 , 184 , 233 , 173 , 186 , 234 , & 175 , 188 , 236 , 177 , 189 , 237 , 178 , 191 , 238 , 180 , 193 , 239 , & 182 , 194 , 240 , 183 , 196 , 241 , 185 , 198 , 242 , 186 , 199 , 243 , & 188 , 201 , 243 , 189 , 202 , 244 , 191 , 203 , 244 , 192 , 205 , 245 , & 194 , 206 , 245 , 195 , 208 , 246 , 196 , 209 , 246 , 198 , 210 , 247 , & 199 , 212 , 247 , 200 , 213 , 248 , 202 , 214 , 248 , 203 , 216 , 248 , & 204 , 217 , 249 , 206 , 218 , 249 , 207 , 220 , 249 , 208 , 221 , 250 , & 210 , 222 , 250 , 211 , 224 , 250 , 212 , 225 , 251 , 214 , 226 , 251 , & 215 , 228 , 251 , 216 , 229 , 252 , 218 , 230 , 252 , 219 , 232 , 252 , & 220 , 233 , 253 , 222 , 234 , 253 , 223 , 236 , 253 , 224 , 237 , 254 , & 226 , 238 , 254 , 227 , 240 , 254 , 228 , 241 , 255 , 230 , 242 , 255 , & 26 , 76 , 0 , 29 , 77 , 0 , 31 , 78 , 0 , 34 , 79 , 0 , & 37 , 79 , 0 , 39 , 80 , 0 , 42 , 81 , 0 , 44 , 81 , 0 , & 47 , 82 , 0 , 49 , 83 , 0 , 51 , 84 , 0 , 53 , 84 , 0 , & 56 , 85 , 0 , 58 , 86 , 0 , 60 , 86 , 0 , 62 , 87 , 0 , & 64 , 87 , 0 , 66 , 88 , 0 , 68 , 89 , 0 , 70 , 89 , 0 , & 73 , 90 , 1 , 75 , 91 , 1 , 77 , 92 , 1 , 79 , 92 , 2 , & 81 , 93 , 2 , 83 , 94 , 2 , 85 , 95 , 3 , 87 , 96 , 4 , & 90 , 96 , 5 , 92 , 97 , 6 , 94 , 98 , 7 , 96 , 99 , 9 , & 99 , 100 , 10 , 101 , 102 , 12 , 103 , 103 , 14 , 106 , 104 , 16 , & 108 , 105 , 18 , 110 , 106 , 20 , 113 , 108 , 22 , 115 , 109 , 24 , & 117 , 110 , 26 , 120 , 112 , 29 , 122 , 113 , 31 , 124 , 114 , 33 , & 126 , 116 , 35 , 129 , 117 , 37 , 131 , 118 , 40 , 133 , 120 , 42 , & 135 , 121 , 44 , 138 , 123 , 46 , 140 , 124 , 49 , 142 , 125 , 51 , & 144 , 127 , 53 , 146 , 128 , 55 , 148 , 130 , 58 , 151 , 131 , 60 , & 153 , 132 , 62 , 155 , 134 , 64 , 157 , 135 , 67 , 159 , 137 , 69 , & 161 , 138 , 71 , 163 , 140 , 73 , 166 , 141 , 76 , 168 , 143 , 78 , & 170 , 144 , 80 , 172 , 146 , 83 , 174 , 147 , 85 , 177 , 149 , 87 , & 179 , 151 , 89 , 181 , 152 , 92 , 183 , 154 , 94 , 186 , 156 , 96 , & 188 , 157 , 99 , 190 , 159 , 101 , 193 , 161 , 103 , 195 , 163 , 106 , & 197 , 164 , 108 , 199 , 166 , 110 , 202 , 168 , 113 , 204 , 170 , 115 , & 206 , 172 , 117 , 209 , 173 , 120 , 211 , 175 , 122 , 213 , 177 , 124 , & 215 , 179 , 127 , 217 , 181 , 129 , 220 , 182 , 132 , 222 , 184 , 134 , & 224 , 186 , 137 , 226 , 188 , 139 , 228 , 190 , 142 , 229 , 192 , 144 , & 231 , 194 , 147 , 233 , 196 , 149 , 234 , 197 , 152 , 236 , 199 , 154 , & 237 , 201 , 157 , 238 , 203 , 159 , 240 , 205 , 162 , 241 , 206 , 164 , & 242 , 208 , 167 , 242 , 210 , 169 , 243 , 212 , 171 , 244 , 213 , 174 , & 245 , 215 , 176 , 245 , 217 , 178 , 246 , 218 , 181 , 246 , 220 , 183 , & 247 , 222 , 185 , 247 , 223 , 188 , 247 , 225 , 190 , 248 , 226 , 192 , & 248 , 228 , 195 , 248 , 230 , 197 , 249 , 231 , 199 , 249 , 233 , 201 , & 249 , 234 , 204 , 250 , 236 , 206 , 250 , 238 , 208 , 250 , 239 , 211 , & 251 , 241 , 213 , 251 , 243 , 215 , 251 , 244 , 218 , 251 , 246 , 220 , & 252 , 248 , 222 , 252 , 249 , 225 , 252 , 251 , 227 , 253 , 253 , 230 & ], shape ( oleron ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: oleron10 = reshape ( [ & 26 , 38 , 89 , 69 , 82 , 133 , 119 , 132 , 183 , 170 , 183 , 232 , & 211 , 224 , 250 , 60 , 86 , 0 , 122 , 113 , 31 , 183 , 154 , 94 , & 241 , 206 , 164 , 253 , 253 , 230 & ], shape ( oleron10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: oleron100 = reshape ( [ & 26 , 38 , 89 , 30 , 43 , 94 , 33 , 46 , 97 , 38 , 50 , 101 , & 41 , 53 , 104 , 46 , 58 , 109 , 49 , 61 , 112 , 53 , 66 , 117 , & 58 , 71 , 122 , 61 , 74 , 125 , 66 , 79 , 130 , 69 , 82 , 133 , & 74 , 87 , 138 , 78 , 90 , 141 , 83 , 95 , 146 , 88 , 100 , 151 , & 91 , 104 , 155 , 96 , 109 , 160 , 100 , 112 , 163 , 105 , 117 , 169 , & 110 , 123 , 174 , 114 , 126 , 177 , 119 , 132 , 183 , 122 , 135 , 186 , & 128 , 141 , 192 , 131 , 144 , 195 , 137 , 150 , 201 , 142 , 155 , 206 , & 146 , 159 , 210 , 152 , 164 , 215 , 155 , 168 , 219 , 161 , 173 , 224 , & 164 , 177 , 227 , 170 , 183 , 232 , 175 , 188 , 236 , 178 , 191 , 238 , & 183 , 196 , 241 , 186 , 199 , 243 , 191 , 203 , 244 , 194 , 206 , 245 , & 198 , 210 , 247 , 202 , 214 , 248 , 204 , 217 , 249 , 208 , 221 , 250 , & 211 , 224 , 250 , 215 , 228 , 251 , 218 , 230 , 252 , 222 , 234 , 253 , & 226 , 238 , 254 , 228 , 241 , 255 , 29 , 77 , 0 , 34 , 79 , 0 , & 42 , 81 , 0 , 49 , 83 , 0 , 53 , 84 , 0 , 60 , 86 , 0 , & 64 , 87 , 0 , 70 , 89 , 0 , 75 , 91 , 1 , 81 , 93 , 2 , & 87 , 96 , 4 , 92 , 97 , 6 , 99 , 100 , 10 , 103 , 103 , 14 , & 110 , 106 , 20 , 115 , 109 , 24 , 122 , 113 , 31 , 129 , 117 , 37 , & 133 , 120 , 42 , 140 , 124 , 49 , 144 , 127 , 53 , 151 , 131 , 60 , & 155 , 134 , 64 , 161 , 138 , 71 , 168 , 143 , 78 , 172 , 146 , 83 , & 179 , 151 , 89 , 183 , 154 , 94 , 190 , 159 , 101 , 195 , 163 , 106 , & 202 , 168 , 113 , 209 , 173 , 120 , 213 , 177 , 124 , 220 , 182 , 132 , & 224 , 186 , 137 , 229 , 192 , 144 , 234 , 197 , 152 , 237 , 201 , 157 , & 241 , 206 , 164 , 242 , 210 , 169 , 245 , 215 , 176 , 246 , 218 , 181 , & 247 , 223 , 188 , 248 , 228 , 195 , 249 , 231 , 199 , 250 , 236 , 206 , & 250 , 239 , 211 , 251 , 244 , 218 , 252 , 248 , 222 , 253 , 253 , 230 & ], shape ( oleron100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: oleron25 = reshape ( [ & 26 , 38 , 89 , 43 , 55 , 106 , 58 , 71 , 122 , 76 , 89 , 140 , & 94 , 107 , 158 , 112 , 125 , 176 , 131 , 144 , 195 , 150 , 162 , 213 , & 170 , 183 , 232 , 188 , 201 , 243 , 202 , 214 , 248 , 216 , 229 , 252 , & 26 , 76 , 0 , 51 , 84 , 0 , 75 , 91 , 1 , 96 , 99 , 9 , & 122 , 113 , 31 , 146 , 128 , 55 , 168 , 143 , 78 , 193 , 161 , 103 , & 217 , 181 , 129 , 236 , 199 , 154 , 246 , 218 , 181 , 249 , 234 , 204 , & 253 , 253 , 230 & ], shape ( oleron25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: oleron50 = reshape ( [ & 26 , 38 , 89 , 33 , 46 , 97 , 41 , 53 , 104 , 50 , 63 , 114 , & 58 , 71 , 122 , 66 , 79 , 130 , 74 , 87 , 138 , 83 , 95 , 146 , & 93 , 105 , 156 , 101 , 114 , 165 , 110 , 123 , 174 , 119 , 132 , 183 , & 128 , 141 , 192 , 139 , 151 , 202 , 148 , 161 , 211 , 157 , 170 , 220 , & 166 , 179 , 229 , 175 , 188 , 236 , 185 , 198 , 242 , 192 , 205 , 245 , & 199 , 212 , 247 , 206 , 218 , 249 , 212 , 225 , 251 , 220 , 233 , 253 , & 227 , 240 , 254 , 31 , 78 , 0 , 44 , 81 , 0 , 58 , 86 , 0 , & 68 , 89 , 0 , 79 , 92 , 2 , 90 , 96 , 5 , 101 , 102 , 12 , & 115 , 109 , 24 , 126 , 116 , 35 , 138 , 123 , 46 , 148 , 130 , 58 , & 159 , 137 , 69 , 172 , 146 , 83 , 183 , 154 , 94 , 195 , 163 , 106 , & 206 , 172 , 117 , 217 , 181 , 129 , 229 , 192 , 144 , 237 , 201 , 157 , & 242 , 210 , 169 , 246 , 218 , 181 , 248 , 226 , 192 , 250 , 236 , 206 , & 251 , 244 , 218 , 253 , 253 , 230 & ], shape ( oleron50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: oslo = reshape ( [ & 1 , 1 , 1 , 1 , 2 , 3 , 2 , 4 , 5 , 2 , 5 , 7 , & 3 , 6 , 9 , 4 , 7 , 11 , 4 , 8 , 13 , 5 , 9 , 15 , & 5 , 10 , 16 , 6 , 11 , 18 , 6 , 12 , 19 , 7 , 13 , 21 , & 8 , 14 , 22 , 8 , 15 , 23 , 9 , 16 , 24 , 9 , 17 , 25 , & 10 , 18 , 27 , 11 , 19 , 28 , 11 , 19 , 29 , 11 , 20 , 30 , & 12 , 21 , 31 , 12 , 22 , 32 , 13 , 22 , 34 , 13 , 23 , 35 , & 13 , 24 , 36 , 13 , 25 , 37 , 13 , 25 , 39 , 13 , 26 , 40 , & 13 , 27 , 41 , 14 , 27 , 42 , 14 , 28 , 44 , 14 , 29 , 45 , & 14 , 30 , 46 , 14 , 30 , 47 , 14 , 31 , 49 , 14 , 32 , 50 , & 15 , 33 , 51 , 15 , 33 , 53 , 15 , 34 , 54 , 15 , 35 , 55 , & 15 , 36 , 57 , 15 , 37 , 58 , 16 , 38 , 60 , 16 , 38 , 61 , & 16 , 39 , 62 , 16 , 40 , 64 , 16 , 41 , 65 , 17 , 42 , 67 , & 17 , 43 , 68 , 17 , 43 , 69 , 17 , 44 , 71 , 18 , 45 , 72 , & 18 , 46 , 74 , 18 , 47 , 75 , 18 , 48 , 76 , 19 , 49 , 78 , & 19 , 50 , 79 , 19 , 50 , 81 , 20 , 51 , 82 , 20 , 52 , 84 , & 20 , 53 , 85 , 20 , 54 , 87 , 21 , 55 , 88 , 21 , 56 , 90 , & 21 , 57 , 91 , 22 , 58 , 93 , 22 , 59 , 94 , 23 , 59 , 96 , & 23 , 60 , 97 , 23 , 61 , 99 , 24 , 62 , 100 , 24 , 63 , 102 , & 25 , 64 , 103 , 25 , 65 , 105 , 25 , 66 , 106 , 26 , 67 , 108 , & 26 , 68 , 109 , 27 , 69 , 111 , 27 , 70 , 112 , 28 , 71 , 114 , & 28 , 72 , 115 , 29 , 72 , 117 , 29 , 73 , 118 , 30 , 74 , 120 , & 30 , 75 , 122 , 31 , 76 , 123 , 32 , 77 , 125 , 32 , 78 , 126 , & 33 , 79 , 128 , 33 , 80 , 129 , 34 , 81 , 131 , 35 , 82 , 133 , & 35 , 83 , 134 , 36 , 84 , 136 , 37 , 85 , 137 , 38 , 86 , 139 , & 38 , 87 , 140 , 39 , 88 , 142 , 40 , 89 , 144 , 41 , 90 , 145 , & 42 , 91 , 147 , 43 , 92 , 148 , 44 , 93 , 150 , 45 , 94 , 152 , & 46 , 95 , 153 , 47 , 96 , 155 , 48 , 97 , 156 , 49 , 98 , 158 , & 50 , 99 , 160 , 51 , 100 , 161 , 52 , 101 , 163 , 54 , 102 , 164 , & 55 , 103 , 166 , 56 , 105 , 168 , 58 , 106 , 169 , 59 , 107 , 171 , & 61 , 108 , 172 , 62 , 109 , 174 , 64 , 110 , 175 , 65 , 112 , 177 , & 67 , 113 , 178 , 68 , 114 , 179 , 70 , 115 , 181 , 71 , 117 , 182 , & 73 , 118 , 184 , 75 , 119 , 185 , 76 , 120 , 186 , 78 , 122 , 187 , & 80 , 123 , 188 , 81 , 124 , 189 , 83 , 125 , 190 , 84 , 126 , 191 , & 86 , 127 , 192 , 88 , 129 , 193 , 89 , 130 , 194 , 91 , 131 , 195 , & 92 , 132 , 195 , 94 , 133 , 196 , 96 , 134 , 197 , 97 , 135 , 197 , & 99 , 136 , 198 , 100 , 137 , 198 , 101 , 138 , 199 , 103 , 139 , 199 , & 104 , 140 , 199 , 106 , 141 , 200 , 107 , 142 , 200 , 108 , 143 , 200 , & 110 , 144 , 200 , 111 , 144 , 201 , 112 , 145 , 201 , 114 , 146 , 201 , & 115 , 147 , 201 , 116 , 148 , 201 , 117 , 148 , 201 , 119 , 149 , 201 , & 120 , 150 , 201 , 121 , 151 , 202 , 122 , 152 , 202 , 123 , 152 , 202 , & 125 , 153 , 202 , 126 , 154 , 202 , 127 , 155 , 202 , 128 , 155 , 202 , & 129 , 156 , 202 , 131 , 157 , 202 , 132 , 158 , 202 , 133 , 158 , 202 , & 134 , 159 , 202 , 135 , 160 , 202 , 137 , 160 , 202 , 138 , 161 , 202 , & 139 , 162 , 201 , 140 , 163 , 201 , 141 , 163 , 201 , 142 , 164 , 201 , & 144 , 165 , 201 , 145 , 166 , 201 , 146 , 166 , 201 , 147 , 167 , 201 , & 148 , 168 , 201 , 150 , 169 , 201 , 151 , 169 , 201 , 152 , 170 , 201 , & 153 , 171 , 201 , 154 , 172 , 201 , 156 , 172 , 201 , 157 , 173 , 201 , & 158 , 174 , 201 , 159 , 175 , 201 , 160 , 175 , 201 , 162 , 176 , 202 , & 163 , 177 , 202 , 164 , 178 , 202 , 165 , 179 , 202 , 167 , 180 , 202 , & 168 , 180 , 202 , 169 , 181 , 202 , 170 , 182 , 202 , 172 , 183 , 202 , & 173 , 184 , 203 , 174 , 185 , 203 , 176 , 186 , 203 , 177 , 187 , 203 , & 178 , 188 , 204 , 180 , 189 , 204 , 181 , 189 , 204 , 182 , 190 , 205 , & 184 , 191 , 205 , 185 , 193 , 205 , 186 , 194 , 206 , 188 , 195 , 206 , & 189 , 196 , 207 , 191 , 197 , 207 , 192 , 198 , 208 , 194 , 199 , 209 , & 195 , 200 , 209 , 197 , 201 , 210 , 198 , 203 , 211 , 199 , 204 , 211 , & 201 , 205 , 212 , 202 , 206 , 213 , 204 , 208 , 214 , 206 , 209 , 215 , & 207 , 210 , 216 , 209 , 211 , 217 , 210 , 213 , 218 , 212 , 214 , 219 , & 213 , 216 , 220 , 215 , 217 , 221 , 216 , 218 , 222 , 218 , 220 , 223 , & 219 , 221 , 224 , 221 , 222 , 225 , 222 , 224 , 226 , 224 , 225 , 228 , & 226 , 227 , 229 , 227 , 228 , 230 , 229 , 230 , 231 , 230 , 231 , 233 , & 232 , 233 , 234 , 233 , 234 , 235 , 235 , 236 , 237 , 236 , 237 , 238 , & 238 , 238 , 239 , 239 , 240 , 241 , 241 , 241 , 242 , 243 , 243 , 244 , & 244 , 244 , 245 , 246 , 246 , 246 , 247 , 247 , 248 , 249 , 249 , 249 , & 250 , 250 , 251 , 252 , 252 , 252 , 253 , 253 , 254 , 255 , 255 , 255 & ], shape ( oslo ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: oslo10 = reshape ( [ & 1 , 1 , 1 , 13 , 27 , 41 , 19 , 50 , 81 , 31 , 76 , 123 , & 56 , 105 , 168 , 101 , 138 , 199 , 137 , 160 , 202 , 170 , 182 , 202 , & 212 , 214 , 219 , 255 , 255 , 255 & ], shape ( oslo10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: oslo100 = reshape ( [ & 1 , 1 , 1 , 2 , 5 , 7 , 4 , 7 , 11 , 5 , 10 , 16 , & 6 , 12 , 19 , 8 , 15 , 23 , 9 , 17 , 25 , 11 , 19 , 29 , & 12 , 22 , 32 , 13 , 23 , 35 , 13 , 25 , 39 , 13 , 27 , 41 , & 14 , 29 , 45 , 14 , 30 , 47 , 15 , 33 , 51 , 15 , 35 , 55 , & 15 , 37 , 58 , 16 , 39 , 62 , 16 , 41 , 65 , 17 , 43 , 69 , & 18 , 46 , 74 , 18 , 48 , 76 , 19 , 50 , 81 , 20 , 52 , 84 , & 21 , 55 , 88 , 21 , 57 , 91 , 23 , 59 , 96 , 24 , 62 , 100 , & 25 , 64 , 103 , 26 , 67 , 108 , 27 , 69 , 111 , 28 , 72 , 115 , & 29 , 73 , 118 , 31 , 76 , 123 , 33 , 79 , 128 , 34 , 81 , 131 , & 36 , 84 , 136 , 38 , 86 , 139 , 40 , 89 , 144 , 42 , 91 , 147 , & 45 , 94 , 152 , 48 , 97 , 156 , 50 , 99 , 160 , 54 , 102 , 164 , & 56 , 105 , 168 , 61 , 108 , 172 , 64 , 110 , 175 , 68 , 114 , 179 , & 73 , 118 , 184 , 76 , 120 , 186 , 81 , 124 , 189 , 84 , 126 , 191 , & 89 , 130 , 194 , 94 , 133 , 196 , 97 , 135 , 197 , 101 , 138 , 199 , & 104 , 140 , 199 , 108 , 143 , 200 , 111 , 144 , 201 , 115 , 147 , 201 , & 119 , 149 , 201 , 121 , 151 , 202 , 125 , 153 , 202 , 127 , 155 , 202 , & 131 , 157 , 202 , 133 , 158 , 202 , 137 , 160 , 202 , 140 , 163 , 201 , & 142 , 164 , 201 , 146 , 166 , 201 , 148 , 168 , 201 , 152 , 170 , 201 , & 154 , 172 , 201 , 158 , 174 , 201 , 162 , 176 , 202 , 164 , 178 , 202 , & 168 , 180 , 202 , 170 , 182 , 202 , 174 , 185 , 203 , 177 , 187 , 203 , & 181 , 189 , 204 , 185 , 193 , 205 , 188 , 195 , 206 , 192 , 198 , 208 , & 195 , 200 , 209 , 199 , 204 , 211 , 204 , 208 , 214 , 207 , 210 , 216 , & 212 , 214 , 219 , 215 , 217 , 221 , 219 , 221 , 224 , 222 , 224 , 226 , & 227 , 228 , 230 , 232 , 233 , 234 , 235 , 236 , 237 , 239 , 240 , 241 , & 243 , 243 , 244 , 247 , 247 , 248 , 250 , 250 , 251 , 255 , 255 , 255 & ], shape ( oslo100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: oslo25 = reshape ( [ & 1 , 1 , 1 , 7 , 13 , 21 , 12 , 22 , 32 , 14 , 30 , 46 , & 16 , 38 , 61 , 18 , 47 , 75 , 21 , 57 , 91 , 25 , 66 , 106 , & 31 , 76 , 123 , 38 , 87 , 140 , 48 , 97 , 156 , 62 , 109 , 174 , & 80 , 123 , 188 , 96 , 134 , 197 , 111 , 144 , 201 , 123 , 152 , 202 , & 137 , 160 , 202 , 150 , 169 , 201 , 162 , 176 , 202 , 176 , 186 , 203 , & 191 , 197 , 207 , 206 , 209 , 215 , 222 , 224 , 226 , 238 , 238 , 239 , & 255 , 255 , 255 & ], shape ( oslo25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: oslo50 = reshape ( [ & 1 , 1 , 1 , 4 , 7 , 11 , 6 , 12 , 19 , 10 , 18 , 27 , & 12 , 22 , 32 , 13 , 25 , 39 , 14 , 29 , 45 , 15 , 33 , 51 , & 16 , 38 , 60 , 17 , 42 , 67 , 18 , 46 , 74 , 19 , 50 , 81 , & 21 , 55 , 88 , 23 , 60 , 97 , 25 , 65 , 105 , 27 , 70 , 112 , & 30 , 74 , 120 , 33 , 79 , 128 , 37 , 85 , 137 , 41 , 90 , 145 , & 46 , 95 , 153 , 51 , 100 , 161 , 58 , 106 , 169 , 67 , 113 , 178 , & 75 , 119 , 185 , 83 , 125 , 190 , 91 , 131 , 195 , 100 , 137 , 198 , & 107 , 142 , 200 , 114 , 146 , 201 , 120 , 150 , 201 , 126 , 154 , 202 , & 133 , 158 , 202 , 139 , 162 , 201 , 145 , 166 , 201 , 151 , 169 , 201 , & 157 , 173 , 201 , 164 , 178 , 202 , 170 , 182 , 202 , 177 , 187 , 203 , & 184 , 191 , 205 , 191 , 197 , 207 , 199 , 204 , 211 , 207 , 210 , 216 , & 215 , 217 , 221 , 222 , 224 , 226 , 230 , 231 , 233 , 239 , 240 , 241 , & 247 , 247 , 248 , 255 , 255 , 255 & ], shape ( oslo50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: osloS = reshape ( [ & 3 , 6 , 9 , 249 , 249 , 249 , 80 , 123 , 188 , 22 , 59 , 94 , & 160 , 175 , 201 , 14 , 32 , 50 , 123 , 152 , 202 , 39 , 88 , 142 , & 202 , 206 , 213 , 11 , 20 , 30 , 18 , 45 , 72 , 55 , 103 , 166 , & 181 , 189 , 204 , 103 , 139 , 199 , 29 , 73 , 118 , 141 , 163 , 201 , & 226 , 227 , 229 , 25 , 66 , 106 , 16 , 38 , 61 , 114 , 146 , 201 , & 151 , 169 , 201 , 67 , 113 , 178 , 13 , 26 , 40 , 170 , 182 , 202 , & 47 , 96 , 155 , 215 , 217 , 221 , 34 , 81 , 131 , 191 , 197 , 207 , & 20 , 52 , 84 , 238 , 238 , 239 , 132 , 158 , 202 , 8 , 14 , 22 , & 91 , 131 , 195 , 32 , 77 , 125 , 13 , 23 , 35 , 73 , 118 , 184 , & 137 , 160 , 202 , 24 , 62 , 100 , 61 , 108 , 172 , 14 , 29 , 45 , & 108 , 143 , 200 , 27 , 70 , 112 , 5 , 10 , 16 , 209 , 211 , 217 , & 19 , 49 , 78 , 165 , 179 , 202 , 17 , 42 , 67 , 232 , 233 , 234 , & 146 , 166 , 201 , 197 , 201 , 210 , 156 , 172 , 201 , 97 , 135 , 197 , & 119 , 149 , 201 , 43 , 92 , 148 , 15 , 35 , 55 , 176 , 186 , 203 , & 50 , 99 , 160 , 243 , 243 , 244 , 10 , 18 , 27 , 36 , 84 , 136 , & 86 , 127 , 192 , 127 , 155 , 202 , 219 , 221 , 224 , 186 , 194 , 206 , & 21 , 55 , 88 , 17 , 43 , 69 , 6 , 12 , 19 , 70 , 115 , 181 , & 23 , 60 , 97 , 212 , 214 , 219 , 148 , 168 , 201 , 76 , 120 , 186 , & 13 , 25 , 37 , 100 , 137 , 198 , 139 , 162 , 201 , 121 , 151 , 202 , & 45 , 94 , 152 , 14 , 30 , 47 , 184 , 191 , 205 , 25 , 64 , 103 , & 94 , 133 , 196 , 178 , 188 , 204 , 83 , 125 , 190 , 28 , 72 , 115 , & 206 , 209 , 215 , 12 , 22 , 32 , 158 , 174 , 201 , 222 , 224 , 226 , & 52 , 101 , 163 , 58 , 106 , 169 , 15 , 37 , 58 , 235 , 236 , 237 , & 194 , 199 , 209 , 64 , 110 , 175 , 33 , 79 , 128 , 15 , 33 , 53 , & 229 , 230 , 231 , 4 , 8 , 13 , 19 , 50 , 81 , 30 , 75 , 122 & ], shape ( osloS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: roma = reshape ( [ & 126 , 23 , 0 , 127 , 26 , 1 , 128 , 29 , 2 , 129 , 32 , 3 , & 130 , 34 , 4 , 131 , 37 , 4 , 132 , 39 , 5 , 133 , 42 , 6 , & 134 , 44 , 6 , 135 , 46 , 7 , 136 , 48 , 8 , 138 , 50 , 8 , & 139 , 52 , 9 , 140 , 54 , 10 , 141 , 56 , 11 , 142 , 58 , 11 , & 143 , 60 , 12 , 144 , 62 , 13 , 144 , 64 , 14 , 145 , 66 , 15 , & 146 , 68 , 15 , 147 , 70 , 16 , 148 , 71 , 17 , 149 , 73 , 18 , & 150 , 75 , 18 , 151 , 77 , 19 , 152 , 78 , 20 , 153 , 80 , 20 , & 153 , 82 , 21 , 154 , 83 , 22 , 155 , 85 , 23 , 156 , 87 , 23 , & 157 , 88 , 24 , 158 , 90 , 25 , 158 , 92 , 25 , 159 , 93 , 26 , & 160 , 95 , 27 , 161 , 97 , 28 , 162 , 98 , 28 , 162 , 100 , 29 , & 163 , 101 , 30 , 164 , 103 , 30 , 165 , 104 , 31 , 166 , 106 , 32 , & 166 , 108 , 32 , 167 , 109 , 33 , 168 , 111 , 34 , 169 , 112 , 35 , & 169 , 114 , 35 , 170 , 115 , 36 , 171 , 117 , 37 , 172 , 119 , 38 , & 173 , 120 , 38 , 173 , 122 , 39 , 174 , 124 , 40 , 175 , 125 , 41 , & 176 , 127 , 42 , 176 , 128 , 43 , 177 , 130 , 44 , 178 , 132 , 45 , & 179 , 134 , 46 , 180 , 135 , 47 , 181 , 137 , 48 , 181 , 139 , 49 , & 182 , 140 , 50 , 183 , 142 , 51 , 184 , 144 , 52 , 185 , 146 , 53 , & 186 , 148 , 55 , 186 , 149 , 56 , 187 , 151 , 57 , 188 , 153 , 59 , & 189 , 155 , 60 , 190 , 157 , 62 , 191 , 159 , 64 , 192 , 161 , 65 , & 193 , 163 , 67 , 193 , 165 , 69 , 194 , 166 , 71 , 195 , 168 , 72 , & 196 , 170 , 74 , 197 , 172 , 76 , 198 , 174 , 79 , 199 , 176 , 81 , & 199 , 178 , 83 , 200 , 180 , 85 , 201 , 182 , 88 , 202 , 184 , 90 , & 203 , 186 , 93 , 203 , 188 , 95 , 204 , 190 , 98 , 205 , 192 , 100 , & 206 , 194 , 103 , 206 , 196 , 106 , 207 , 198 , 109 , 207 , 200 , 111 , & 208 , 202 , 114 , 208 , 204 , 117 , 209 , 205 , 120 , 209 , 207 , 123 , & 210 , 209 , 126 , 210 , 211 , 129 , 210 , 212 , 132 , 210 , 214 , 135 , & 210 , 215 , 138 , 210 , 217 , 141 , 210 , 218 , 144 , 210 , 220 , 147 , & 210 , 221 , 150 , 210 , 222 , 152 , 209 , 223 , 155 , 209 , 225 , 158 , & 209 , 226 , 161 , 208 , 227 , 163 , 208 , 228 , 166 , 207 , 229 , 168 , & 206 , 229 , 171 , 205 , 230 , 173 , 204 , 231 , 176 , 204 , 231 , 178 , & 203 , 232 , 180 , 201 , 233 , 182 , 200 , 233 , 184 , 199 , 233 , 186 , & 198 , 234 , 188 , 196 , 234 , 190 , 195 , 234 , 192 , 193 , 234 , 194 , & 192 , 234 , 195 , 190 , 234 , 197 , 189 , 234 , 198 , 187 , 234 , 200 , & 185 , 234 , 201 , 183 , 234 , 202 , 181 , 234 , 204 , 179 , 233 , 205 , & 177 , 233 , 206 , 175 , 232 , 207 , 173 , 232 , 208 , 171 , 231 , 209 , & 169 , 231 , 210 , 166 , 230 , 210 , 164 , 229 , 211 , 162 , 229 , 212 , & 159 , 228 , 212 , 157 , 227 , 213 , 155 , 226 , 213 , 152 , 225 , 214 , & 149 , 224 , 214 , 147 , 223 , 214 , 144 , 222 , 215 , 142 , 221 , 215 , & 139 , 220 , 215 , 137 , 218 , 215 , 134 , 217 , 215 , 131 , 216 , 215 , & 129 , 215 , 215 , 126 , 213 , 215 , 123 , 212 , 215 , 121 , 210 , 215 , & 118 , 209 , 215 , 116 , 207 , 214 , 113 , 206 , 214 , 110 , 204 , 214 , & 108 , 203 , 214 , 105 , 201 , 213 , 103 , 199 , 213 , 100 , 198 , 213 , & 98 , 196 , 212 , 96 , 195 , 212 , 93 , 193 , 211 , 91 , 191 , 211 , & 89 , 189 , 210 , 87 , 188 , 210 , 85 , 186 , 209 , 83 , 184 , 209 , & 81 , 183 , 208 , 79 , 181 , 208 , 77 , 179 , 207 , 75 , 178 , 206 , & 73 , 176 , 206 , 71 , 174 , 205 , 70 , 172 , 204 , 68 , 171 , 204 , & 67 , 169 , 203 , 65 , 167 , 203 , 64 , 166 , 202 , 62 , 164 , 201 , & 61 , 162 , 201 , 60 , 161 , 200 , 58 , 159 , 199 , 57 , 157 , 199 , & 56 , 156 , 198 , 55 , 154 , 197 , 54 , 152 , 197 , 53 , 151 , 196 , & 52 , 149 , 195 , 51 , 148 , 195 , 50 , 146 , 194 , 49 , 144 , 193 , & 48 , 143 , 193 , 48 , 141 , 192 , 47 , 140 , 191 , 46 , 138 , 191 , & 45 , 136 , 190 , 45 , 135 , 189 , 44 , 133 , 189 , 43 , 132 , 188 , & 43 , 130 , 187 , 42 , 129 , 187 , 41 , 127 , 186 , 41 , 126 , 185 , & 40 , 124 , 185 , 40 , 122 , 184 , 39 , 121 , 183 , 38 , 119 , 183 , & 38 , 118 , 182 , 37 , 116 , 181 , 37 , 115 , 181 , 36 , 113 , 180 , & 36 , 111 , 179 , 35 , 110 , 179 , 35 , 108 , 178 , 34 , 106 , 177 , & 34 , 105 , 176 , 33 , 103 , 176 , 33 , 102 , 175 , 32 , 100 , 174 , & 32 , 98 , 174 , 31 , 96 , 173 , 30 , 95 , 172 , 30 , 93 , 171 , & 29 , 91 , 171 , 29 , 90 , 170 , 28 , 88 , 169 , 27 , 86 , 168 , & 27 , 84 , 168 , 26 , 83 , 167 , 25 , 81 , 166 , 25 , 79 , 165 , & 24 , 77 , 164 , 23 , 76 , 164 , 22 , 74 , 163 , 21 , 72 , 162 , & 20 , 70 , 161 , 19 , 68 , 160 , 18 , 66 , 160 , 17 , 64 , 159 , & 15 , 63 , 158 , 14 , 61 , 157 , 12 , 59 , 156 , 11 , 57 , 156 , & 9 , 55 , 155 , 7 , 53 , 154 , 5 , 51 , 153 , 3 , 49 , 152 & ], shape ( roma ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: roma10 = reshape ( [ & 126 , 23 , 0 , 153 , 82 , 21 , 176 , 128 , 43 , 200 , 180 , 85 , & 208 , 227 , 163 , 164 , 229 , 211 , 93 , 193 , 211 , 50 , 146 , 194 , & 32 , 100 , 174 , 3 , 49 , 152 & ], shape ( roma10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: roma100 = reshape ( [ & 126 , 23 , 0 , 129 , 32 , 3 , 131 , 37 , 4 , 134 , 44 , 6 , & 136 , 48 , 8 , 140 , 54 , 10 , 142 , 58 , 11 , 144 , 64 , 14 , & 147 , 70 , 16 , 149 , 73 , 18 , 152 , 78 , 20 , 153 , 82 , 21 , & 156 , 87 , 23 , 158 , 90 , 25 , 160 , 95 , 27 , 162 , 100 , 29 , & 164 , 103 , 30 , 166 , 108 , 32 , 168 , 111 , 34 , 170 , 115 , 36 , & 173 , 120 , 38 , 174 , 124 , 40 , 176 , 128 , 43 , 178 , 132 , 45 , & 181 , 137 , 48 , 182 , 140 , 50 , 185 , 146 , 53 , 187 , 151 , 57 , & 189 , 155 , 60 , 192 , 161 , 65 , 193 , 165 , 69 , 196 , 170 , 74 , & 198 , 174 , 79 , 200 , 180 , 85 , 203 , 186 , 93 , 204 , 190 , 98 , & 206 , 196 , 106 , 207 , 200 , 111 , 209 , 205 , 120 , 210 , 209 , 126 , & 210 , 214 , 135 , 210 , 218 , 144 , 210 , 221 , 150 , 209 , 225 , 158 , & 208 , 227 , 163 , 206 , 229 , 171 , 204 , 231 , 176 , 201 , 233 , 182 , & 198 , 234 , 188 , 195 , 234 , 192 , 190 , 234 , 197 , 187 , 234 , 200 , & 181 , 234 , 204 , 175 , 232 , 207 , 171 , 231 , 209 , 164 , 229 , 211 , & 159 , 228 , 212 , 152 , 225 , 214 , 147 , 223 , 214 , 139 , 220 , 215 , & 131 , 216 , 215 , 126 , 213 , 215 , 118 , 209 , 215 , 113 , 206 , 214 , & 105 , 201 , 213 , 100 , 198 , 213 , 93 , 193 , 211 , 87 , 188 , 210 , & 83 , 184 , 209 , 77 , 179 , 207 , 73 , 176 , 206 , 68 , 171 , 204 , & 65 , 167 , 203 , 61 , 162 , 201 , 57 , 157 , 199 , 55 , 154 , 197 , & 52 , 149 , 195 , 50 , 146 , 194 , 48 , 141 , 192 , 46 , 138 , 191 , & 44 , 133 , 189 , 42 , 129 , 187 , 41 , 126 , 185 , 39 , 121 , 183 , & 38 , 118 , 182 , 36 , 113 , 180 , 35 , 108 , 178 , 34 , 105 , 176 , & 32 , 100 , 174 , 31 , 96 , 173 , 29 , 91 , 171 , 28 , 88 , 169 , & 26 , 83 , 167 , 24 , 77 , 164 , 22 , 74 , 163 , 19 , 68 , 160 , & 17 , 64 , 159 , 12 , 59 , 156 , 9 , 55 , 155 , 3 , 49 , 152 & ], shape ( roma100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: roma25 = reshape ( [ & 126 , 23 , 0 , 138 , 50 , 8 , 147 , 70 , 16 , 157 , 88 , 24 , & 166 , 106 , 32 , 173 , 122 , 39 , 182 , 140 , 50 , 191 , 159 , 64 , & 200 , 180 , 85 , 208 , 202 , 114 , 210 , 218 , 144 , 205 , 230 , 173 , & 192 , 234 , 195 , 173 , 232 , 208 , 147 , 223 , 214 , 121 , 210 , 215 , & 93 , 193 , 211 , 71 , 174 , 205 , 57 , 157 , 199 , 47 , 140 , 191 , & 40 , 122 , 184 , 34 , 106 , 177 , 28 , 88 , 169 , 20 , 70 , 161 , & 3 , 49 , 152 & ], shape ( roma25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: roma50 = reshape ( [ & 126 , 23 , 0 , 131 , 37 , 4 , 136 , 48 , 8 , 143 , 60 , 12 , & 147 , 70 , 16 , 152 , 78 , 20 , 156 , 87 , 23 , 160 , 95 , 27 , & 165 , 104 , 31 , 169 , 112 , 35 , 173 , 120 , 38 , 176 , 128 , 43 , & 181 , 137 , 48 , 186 , 148 , 55 , 190 , 157 , 62 , 194 , 166 , 71 , & 199 , 176 , 81 , 203 , 186 , 93 , 207 , 198 , 109 , 209 , 207 , 123 , & 210 , 215 , 138 , 210 , 222 , 152 , 208 , 228 , 166 , 203 , 232 , 180 , & 196 , 234 , 190 , 189 , 234 , 198 , 179 , 233 , 205 , 166 , 230 , 210 , & 155 , 226 , 213 , 142 , 221 , 215 , 129 , 215 , 215 , 116 , 207 , 214 , & 100 , 198 , 213 , 89 , 189 , 210 , 79 , 181 , 208 , 70 , 172 , 204 , & 62 , 164 , 201 , 55 , 154 , 197 , 50 , 146 , 194 , 46 , 138 , 191 , & 43 , 130 , 187 , 40 , 122 , 184 , 36 , 113 , 180 , 34 , 105 , 176 , & 31 , 96 , 173 , 28 , 88 , 169 , 25 , 79 , 165 , 19 , 68 , 160 , & 12 , 59 , 156 , 3 , 49 , 152 & ], shape ( roma50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: romaO = reshape ( [ & 115 , 57 , 87 , 116 , 57 , 86 , 117 , 57 , 84 , 117 , 56 , 83 , & 118 , 56 , 81 , 119 , 56 , 80 , 119 , 56 , 79 , 120 , 56 , 77 , & 121 , 56 , 76 , 121 , 56 , 75 , 122 , 56 , 73 , 123 , 56 , 72 , & 124 , 56 , 71 , 124 , 57 , 70 , 125 , 57 , 69 , 126 , 57 , 67 , & 126 , 57 , 66 , 127 , 58 , 65 , 128 , 58 , 64 , 129 , 59 , 63 , & 129 , 59 , 62 , 130 , 60 , 61 , 131 , 60 , 60 , 132 , 61 , 59 , & 132 , 61 , 58 , 133 , 62 , 57 , 134 , 63 , 56 , 135 , 64 , 55 , & 135 , 64 , 55 , 136 , 65 , 54 , 137 , 66 , 53 , 138 , 67 , 52 , & 139 , 68 , 51 , 140 , 69 , 51 , 140 , 70 , 50 , 141 , 71 , 49 , & 142 , 72 , 49 , 143 , 73 , 48 , 144 , 74 , 48 , 145 , 76 , 47 , & 146 , 77 , 47 , 147 , 78 , 46 , 148 , 80 , 46 , 148 , 81 , 45 , & 149 , 82 , 45 , 150 , 84 , 45 , 151 , 85 , 44 , 152 , 87 , 44 , & 153 , 88 , 44 , 154 , 90 , 44 , 155 , 91 , 44 , 156 , 93 , 43 , & 157 , 95 , 43 , 158 , 96 , 43 , 159 , 98 , 43 , 160 , 100 , 44 , & 162 , 102 , 44 , 163 , 103 , 44 , 164 , 105 , 44 , 165 , 107 , 45 , & 166 , 109 , 45 , 167 , 111 , 45 , 168 , 113 , 46 , 169 , 115 , 46 , & 170 , 117 , 47 , 171 , 119 , 48 , 173 , 121 , 48 , 174 , 123 , 49 , & 175 , 125 , 50 , 176 , 127 , 51 , 177 , 129 , 52 , 178 , 131 , 53 , & 180 , 134 , 54 , 181 , 136 , 55 , 182 , 138 , 57 , 183 , 140 , 58 , & 184 , 142 , 59 , 185 , 145 , 61 , 187 , 147 , 63 , 188 , 149 , 64 , & 189 , 152 , 66 , 190 , 154 , 68 , 191 , 156 , 70 , 193 , 159 , 71 , & 194 , 161 , 73 , 195 , 163 , 75 , 196 , 165 , 78 , 197 , 168 , 80 , & 198 , 170 , 82 , 200 , 172 , 84 , 201 , 175 , 87 , 202 , 177 , 89 , & 203 , 179 , 92 , 204 , 181 , 94 , 205 , 183 , 97 , 206 , 186 , 99 , & 207 , 188 , 102 , 207 , 190 , 104 , 208 , 192 , 107 , 209 , 194 , 110 , & 210 , 196 , 112 , 210 , 198 , 115 , 211 , 200 , 118 , 212 , 201 , 120 , & 212 , 203 , 123 , 212 , 205 , 126 , 213 , 206 , 129 , 213 , 208 , 131 , & 213 , 209 , 134 , 214 , 211 , 136 , 214 , 212 , 139 , 214 , 213 , 142 , & 214 , 215 , 144 , 214 , 216 , 147 , 213 , 217 , 149 , 213 , 218 , 152 , & 213 , 219 , 154 , 212 , 220 , 156 , 212 , 221 , 159 , 211 , 221 , 161 , & 211 , 222 , 163 , 210 , 223 , 165 , 209 , 223 , 167 , 208 , 224 , 169 , & 207 , 224 , 171 , 206 , 224 , 173 , 205 , 225 , 175 , 204 , 225 , 177 , & 203 , 225 , 179 , 202 , 225 , 181 , 200 , 225 , 182 , 199 , 225 , 184 , & 197 , 225 , 185 , 196 , 225 , 187 , 194 , 225 , 188 , 193 , 225 , 190 , & 191 , 225 , 191 , 189 , 224 , 192 , 187 , 224 , 194 , 185 , 223 , 195 , & 184 , 223 , 196 , 182 , 222 , 197 , 180 , 222 , 198 , 177 , 221 , 199 , & 175 , 220 , 200 , 173 , 220 , 200 , 171 , 219 , 201 , 169 , 218 , 202 , & 167 , 217 , 203 , 164 , 216 , 203 , 162 , 215 , 204 , 160 , 214 , 204 , & 157 , 213 , 205 , 155 , 212 , 205 , 153 , 211 , 206 , 150 , 209 , 206 , & 148 , 208 , 206 , 146 , 207 , 206 , 143 , 206 , 207 , 141 , 204 , 207 , & 139 , 203 , 207 , 136 , 201 , 207 , 134 , 200 , 207 , 132 , 198 , 207 , & 129 , 197 , 207 , 127 , 195 , 207 , 125 , 194 , 206 , 123 , 192 , 206 , & 120 , 190 , 206 , 118 , 189 , 206 , 116 , 187 , 205 , 114 , 185 , 205 , & 112 , 184 , 205 , 110 , 182 , 204 , 108 , 180 , 204 , 106 , 178 , 203 , & 104 , 177 , 203 , 103 , 175 , 202 , 101 , 173 , 202 , 99 , 171 , 201 , & 98 , 169 , 201 , 96 , 168 , 200 , 95 , 166 , 199 , 93 , 164 , 199 , & 92 , 162 , 198 , 90 , 160 , 197 , 89 , 158 , 196 , 88 , 156 , 196 , & 87 , 155 , 195 , 86 , 153 , 194 , 85 , 151 , 193 , 84 , 149 , 192 , & 83 , 147 , 191 , 82 , 145 , 190 , 82 , 143 , 189 , 81 , 141 , 188 , & 80 , 139 , 187 , 80 , 138 , 186 , 79 , 136 , 185 , 79 , 134 , 184 , & 79 , 132 , 183 , 79 , 130 , 182 , 78 , 128 , 180 , 78 , 126 , 179 , & 78 , 124 , 178 , 78 , 122 , 176 , 79 , 120 , 175 , 79 , 118 , 174 , & 79 , 117 , 172 , 79 , 115 , 171 , 80 , 113 , 169 , 80 , 111 , 168 , & 81 , 109 , 166 , 81 , 107 , 164 , 82 , 105 , 163 , 82 , 103 , 161 , & 83 , 102 , 159 , 84 , 100 , 158 , 84 , 98 , 156 , 85 , 96 , 154 , & 86 , 95 , 152 , 87 , 93 , 150 , 87 , 91 , 148 , 88 , 89 , 147 , & 89 , 88 , 145 , 90 , 86 , 143 , 91 , 85 , 141 , 92 , 83 , 139 , & 92 , 82 , 137 , 93 , 80 , 135 , 94 , 79 , 133 , 95 , 77 , 131 , & 96 , 76 , 129 , 97 , 75 , 127 , 98 , 73 , 125 , 99 , 72 , 123 , & 99 , 71 , 121 , 100 , 70 , 119 , 101 , 69 , 118 , 102 , 68 , 116 , & 103 , 67 , 114 , 104 , 66 , 112 , 104 , 65 , 110 , 105 , 64 , 108 , & 106 , 63 , 107 , 107 , 63 , 105 , 108 , 62 , 103 , 108 , 61 , 101 , & 109 , 61 , 100 , 110 , 60 , 98 , 111 , 59 , 96 , 111 , 59 , 95 , & 112 , 58 , 93 , 113 , 58 , 92 , 114 , 58 , 90 , 114 , 57 , 89 & ], shape ( romaO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: romaO10 = reshape ( [ & 115 , 57 , 87 , 135 , 64 , 55 , 163 , 103 , 44 , 195 , 163 , 75 , & 214 , 216 , 147 , 180 , 222 , 198 , 116 , 187 , 205 , 79 , 136 , 185 , & 92 , 83 , 139 , 114 , 57 , 89 & ], shape ( romaO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: romaO100 = reshape ( [ & 115 , 57 , 87 , 117 , 56 , 83 , 119 , 56 , 80 , 121 , 56 , 76 , & 122 , 56 , 73 , 124 , 57 , 70 , 126 , 57 , 67 , 128 , 58 , 64 , & 130 , 60 , 61 , 132 , 61 , 59 , 134 , 63 , 56 , 135 , 64 , 55 , & 138 , 67 , 52 , 140 , 69 , 51 , 142 , 72 , 49 , 145 , 76 , 47 , & 147 , 78 , 46 , 149 , 82 , 45 , 151 , 85 , 44 , 154 , 90 , 44 , & 157 , 95 , 43 , 159 , 98 , 43 , 163 , 103 , 44 , 165 , 107 , 45 , & 168 , 113 , 46 , 170 , 117 , 47 , 174 , 123 , 49 , 177 , 129 , 52 , & 180 , 134 , 54 , 183 , 140 , 58 , 185 , 145 , 61 , 189 , 152 , 66 , & 191 , 156 , 70 , 195 , 163 , 75 , 198 , 170 , 82 , 201 , 175 , 87 , & 204 , 181 , 94 , 206 , 186 , 99 , 208 , 192 , 107 , 210 , 196 , 112 , & 212 , 201 , 120 , 213 , 206 , 129 , 213 , 209 , 134 , 214 , 213 , 142 , & 214 , 216 , 147 , 213 , 219 , 154 , 212 , 221 , 159 , 210 , 223 , 165 , & 207 , 224 , 171 , 205 , 225 , 175 , 202 , 225 , 181 , 199 , 225 , 184 , & 194 , 225 , 188 , 189 , 224 , 192 , 185 , 223 , 195 , 180 , 222 , 198 , & 175 , 220 , 200 , 169 , 218 , 202 , 164 , 216 , 203 , 157 , 213 , 205 , & 150 , 209 , 206 , 146 , 207 , 206 , 139 , 203 , 207 , 134 , 200 , 207 , & 127 , 195 , 207 , 123 , 192 , 206 , 116 , 187 , 205 , 110 , 182 , 204 , & 106 , 178 , 203 , 101 , 173 , 202 , 98 , 169 , 201 , 93 , 164 , 199 , & 90 , 160 , 197 , 87 , 155 , 195 , 84 , 149 , 192 , 82 , 145 , 190 , & 80 , 139 , 187 , 79 , 136 , 185 , 79 , 130 , 182 , 78 , 126 , 179 , & 79 , 120 , 175 , 79 , 115 , 171 , 80 , 111 , 168 , 82 , 105 , 163 , & 83 , 102 , 159 , 85 , 96 , 154 , 87 , 91 , 148 , 89 , 88 , 145 , & 92 , 83 , 139 , 93 , 80 , 135 , 96 , 76 , 129 , 98 , 73 , 125 , & 100 , 70 , 119 , 103 , 67 , 114 , 104 , 65 , 110 , 107 , 63 , 105 , & 108 , 61 , 101 , 111 , 59 , 96 , 112 , 58 , 93 , 114 , 57 , 89 & ], shape ( romaO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: romaO25 = reshape ( [ & 115 , 57 , 87 , 123 , 56 , 72 , 130 , 60 , 61 , 139 , 68 , 51 , & 148 , 81 , 45 , 158 , 96 , 43 , 170 , 117 , 47 , 182 , 138 , 57 , & 195 , 163 , 75 , 207 , 188 , 102 , 213 , 206 , 129 , 212 , 220 , 156 , & 203 , 225 , 179 , 187 , 224 , 194 , 164 , 216 , 203 , 141 , 204 , 207 , & 116 , 187 , 205 , 96 , 168 , 200 , 84 , 149 , 192 , 78 , 128 , 180 , & 81 , 107 , 164 , 88 , 89 , 147 , 98 , 73 , 125 , 106 , 63 , 107 , & 114 , 57 , 89 & ], shape ( romaO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: romaO50 = reshape ( [ & 115 , 57 , 87 , 119 , 56 , 80 , 122 , 56 , 73 , 126 , 57 , 66 , & 130 , 60 , 61 , 134 , 63 , 56 , 138 , 67 , 52 , 142 , 72 , 49 , & 148 , 80 , 46 , 152 , 87 , 44 , 157 , 95 , 43 , 163 , 103 , 44 , & 168 , 113 , 46 , 175 , 125 , 50 , 181 , 136 , 55 , 187 , 147 , 63 , & 193 , 159 , 71 , 198 , 170 , 82 , 205 , 183 , 97 , 209 , 194 , 110 , & 212 , 203 , 123 , 214 , 211 , 136 , 213 , 217 , 149 , 211 , 222 , 163 , & 206 , 224 , 173 , 200 , 225 , 182 , 193 , 225 , 190 , 182 , 222 , 197 , & 171 , 219 , 201 , 160 , 214 , 204 , 148 , 208 , 206 , 136 , 201 , 207 , & 123 , 192 , 206 , 112 , 184 , 205 , 103 , 175 , 202 , 95 , 166 , 199 , & 88 , 156 , 196 , 82 , 145 , 190 , 79 , 136 , 185 , 78 , 126 , 179 , & 79 , 117 , 172 , 81 , 107 , 164 , 85 , 96 , 154 , 89 , 88 , 145 , & 93 , 80 , 135 , 98 , 73 , 125 , 102 , 68 , 116 , 107 , 63 , 105 , & 111 , 59 , 96 , 114 , 57 , 89 & ], shape ( romaO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: tofino = reshape ( [ & 222 , 217 , 255 , 219 , 215 , 254 , 217 , 213 , 253 , 214 , 211 , 251 , & 211 , 209 , 250 , 208 , 207 , 249 , 206 , 205 , 248 , 203 , 203 , 247 , & 200 , 202 , 246 , 198 , 200 , 244 , 195 , 198 , 243 , 192 , 196 , 242 , & 190 , 194 , 241 , 187 , 192 , 240 , 184 , 190 , 239 , 182 , 188 , 237 , & 179 , 187 , 236 , 176 , 185 , 235 , 174 , 183 , 234 , 171 , 181 , 233 , & 168 , 179 , 232 , 166 , 177 , 230 , 163 , 175 , 229 , 160 , 173 , 228 , & 158 , 172 , 227 , 155 , 170 , 226 , 152 , 168 , 225 , 150 , 166 , 223 , & 147 , 164 , 222 , 144 , 162 , 221 , 142 , 160 , 220 , 139 , 159 , 219 , & 136 , 157 , 217 , 134 , 155 , 216 , 131 , 153 , 215 , 128 , 151 , 213 , & 126 , 149 , 212 , 123 , 147 , 211 , 121 , 145 , 209 , 118 , 143 , 208 , & 115 , 141 , 206 , 113 , 139 , 205 , 110 , 137 , 203 , 107 , 135 , 202 , & 105 , 133 , 200 , 102 , 131 , 198 , 100 , 129 , 197 , 97 , 127 , 195 , & 95 , 125 , 193 , 92 , 123 , 191 , 90 , 121 , 189 , 87 , 119 , 186 , & 85 , 117 , 184 , 83 , 115 , 182 , 81 , 113 , 180 , 79 , 111 , 177 , & 76 , 109 , 175 , 74 , 107 , 172 , 73 , 105 , 170 , 71 , 103 , 167 , & 69 , 101 , 165 , 67 , 99 , 162 , 66 , 98 , 160 , 64 , 96 , 157 , & 62 , 94 , 154 , 61 , 92 , 152 , 60 , 90 , 149 , 58 , 89 , 147 , & 57 , 87 , 144 , 56 , 85 , 141 , 55 , 84 , 139 , 53 , 82 , 136 , & 52 , 80 , 134 , 51 , 79 , 131 , 50 , 77 , 128 , 49 , 76 , 126 , & 48 , 74 , 123 , 47 , 73 , 121 , 46 , 71 , 118 , 45 , 69 , 116 , & 44 , 68 , 113 , 43 , 66 , 111 , 42 , 65 , 108 , 41 , 63 , 106 , & 40 , 62 , 103 , 39 , 60 , 101 , 38 , 59 , 98 , 37 , 58 , 96 , & 36 , 56 , 93 , 35 , 55 , 91 , 34 , 53 , 89 , 34 , 52 , 86 , & 33 , 50 , 84 , 32 , 49 , 81 , 31 , 48 , 79 , 30 , 46 , 77 , & 29 , 45 , 74 , 28 , 43 , 72 , 28 , 42 , 70 , 27 , 41 , 67 , & 26 , 40 , 65 , 25 , 38 , 63 , 25 , 37 , 61 , 24 , 36 , 59 , & 23 , 35 , 56 , 22 , 33 , 54 , 22 , 32 , 52 , 21 , 31 , 50 , & 21 , 30 , 48 , 20 , 29 , 46 , 19 , 28 , 44 , 19 , 27 , 42 , & 18 , 26 , 40 , 18 , 25 , 38 , 17 , 24 , 36 , 17 , 24 , 35 , & 17 , 23 , 33 , 16 , 22 , 32 , 16 , 22 , 30 , 15 , 21 , 29 , & 15 , 21 , 27 , 14 , 21 , 26 , 14 , 21 , 25 , 13 , 21 , 24 , & 13 , 21 , 23 , 13 , 21 , 22 , 13 , 21 , 21 , 13 , 21 , 20 , & 13 , 22 , 19 , 13 , 22 , 19 , 13 , 23 , 18 , 13 , 23 , 18 , & 13 , 24 , 18 , 14 , 25 , 18 , 14 , 26 , 17 , 15 , 27 , 18 , & 15 , 28 , 18 , 16 , 28 , 18 , 16 , 30 , 18 , 17 , 31 , 18 , & 17 , 32 , 19 , 17 , 33 , 19 , 18 , 34 , 20 , 18 , 35 , 20 , & 19 , 37 , 21 , 19 , 38 , 21 , 20 , 39 , 22 , 20 , 41 , 22 , & 21 , 42 , 23 , 21 , 44 , 24 , 22 , 45 , 24 , 22 , 47 , 25 , & 23 , 48 , 26 , 24 , 50 , 26 , 24 , 51 , 27 , 25 , 53 , 28 , & 26 , 54 , 28 , 26 , 56 , 29 , 27 , 57 , 30 , 28 , 59 , 31 , & 29 , 61 , 32 , 29 , 62 , 32 , 30 , 64 , 33 , 31 , 66 , 34 , & 32 , 67 , 35 , 32 , 69 , 36 , 33 , 71 , 37 , 34 , 72 , 37 , & 35 , 74 , 38 , 35 , 76 , 39 , 36 , 77 , 40 , 37 , 79 , 41 , & 38 , 81 , 42 , 39 , 83 , 43 , 39 , 84 , 44 , 40 , 86 , 44 , & 41 , 88 , 45 , 42 , 90 , 46 , 43 , 91 , 47 , 44 , 93 , 48 , & 44 , 95 , 49 , 45 , 97 , 50 , 46 , 98 , 51 , 47 , 100 , 52 , & 48 , 102 , 53 , 49 , 104 , 54 , 50 , 106 , 55 , 51 , 108 , 56 , & 52 , 109 , 57 , 53 , 111 , 58 , 54 , 113 , 59 , 55 , 115 , 60 , & 56 , 117 , 61 , 57 , 119 , 62 , 58 , 121 , 63 , 59 , 123 , 64 , & 61 , 125 , 65 , 62 , 127 , 66 , 63 , 129 , 68 , 65 , 131 , 69 , & 66 , 133 , 70 , 68 , 135 , 71 , 70 , 137 , 73 , 72 , 139 , 74 , & 74 , 141 , 75 , 76 , 143 , 77 , 78 , 145 , 78 , 80 , 147 , 80 , & 82 , 149 , 81 , 85 , 151 , 83 , 87 , 154 , 84 , 90 , 156 , 86 , & 92 , 158 , 87 , 95 , 160 , 89 , 98 , 162 , 90 , 100 , 164 , 92 , & 103 , 166 , 94 , 106 , 168 , 95 , 109 , 169 , 97 , 112 , 171 , 99 , & 115 , 173 , 100 , 118 , 175 , 102 , 121 , 177 , 103 , 124 , 179 , 105 , & 127 , 180 , 107 , 130 , 182 , 108 , 133 , 184 , 110 , 136 , 185 , 112 , & 139 , 187 , 113 , 142 , 189 , 115 , 145 , 190 , 116 , 148 , 192 , 118 , & 151 , 194 , 120 , 154 , 195 , 121 , 157 , 197 , 123 , 160 , 198 , 124 , & 163 , 200 , 126 , 166 , 202 , 127 , 169 , 203 , 129 , 172 , 205 , 131 , & 175 , 206 , 132 , 178 , 208 , 134 , 181 , 209 , 135 , 183 , 211 , 137 , & 186 , 212 , 138 , 189 , 214 , 140 , 192 , 216 , 141 , 195 , 217 , 143 , & 198 , 219 , 145 , 201 , 220 , 146 , 204 , 222 , 148 , 207 , 223 , 149 , & 210 , 225 , 151 , 213 , 226 , 152 , 216 , 228 , 154 , 219 , 230 , 155 & ], shape ( tofino ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: tofino10 = reshape ( [ & 222 , 217 , 255 , 147 , 164 , 222 , 74 , 107 , 172 , 39 , 60 , 101 , & 18 , 25 , 38 , 18 , 34 , 20 , 36 , 77 , 40 , 63 , 129 , 68 , & 136 , 185 , 112 , 219 , 230 , 155 & ], shape ( tofino10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: tofino100 = reshape ( [ & 222 , 217 , 255 , 214 , 211 , 251 , 208 , 207 , 249 , 200 , 202 , 246 , & 195 , 198 , 243 , 187 , 192 , 240 , 182 , 188 , 237 , 174 , 183 , 234 , & 166 , 177 , 230 , 160 , 173 , 228 , 152 , 168 , 225 , 147 , 164 , 222 , & 139 , 159 , 219 , 134 , 155 , 216 , 126 , 149 , 212 , 118 , 143 , 208 , & 113 , 139 , 205 , 105 , 133 , 200 , 100 , 129 , 197 , 92 , 123 , 191 , & 85 , 117 , 184 , 81 , 113 , 180 , 74 , 107 , 172 , 71 , 103 , 167 , & 66 , 98 , 160 , 62 , 94 , 154 , 58 , 89 , 147 , 55 , 84 , 139 , & 52 , 80 , 134 , 49 , 76 , 126 , 47 , 73 , 121 , 44 , 68 , 113 , & 42 , 65 , 108 , 39 , 60 , 101 , 36 , 56 , 93 , 34 , 53 , 89 , & 32 , 49 , 81 , 30 , 46 , 77 , 28 , 42 , 70 , 26 , 40 , 65 , & 24 , 36 , 59 , 22 , 32 , 52 , 21 , 30 , 48 , 19 , 27 , 42 , & 18 , 25 , 38 , 17 , 23 , 33 , 16 , 22 , 30 , 14 , 21 , 26 , & 13 , 21 , 23 , 13 , 21 , 21 , 13 , 22 , 19 , 13 , 23 , 18 , & 14 , 26 , 17 , 16 , 28 , 18 , 17 , 31 , 18 , 18 , 34 , 20 , & 19 , 37 , 21 , 20 , 41 , 22 , 21 , 44 , 24 , 23 , 48 , 26 , & 25 , 53 , 28 , 26 , 56 , 29 , 29 , 61 , 32 , 30 , 64 , 33 , & 32 , 69 , 36 , 34 , 72 , 37 , 36 , 77 , 40 , 39 , 83 , 43 , & 40 , 86 , 44 , 43 , 91 , 47 , 44 , 95 , 49 , 47 , 100 , 52 , & 49 , 104 , 54 , 52 , 109 , 57 , 55 , 115 , 60 , 57 , 119 , 62 , & 61 , 125 , 65 , 63 , 129 , 68 , 68 , 135 , 71 , 72 , 139 , 74 , & 78 , 145 , 78 , 85 , 151 , 83 , 90 , 156 , 86 , 98 , 162 , 90 , & 103 , 166 , 94 , 112 , 171 , 99 , 121 , 177 , 103 , 127 , 180 , 107 , & 136 , 185 , 112 , 142 , 189 , 115 , 151 , 194 , 120 , 157 , 197 , 123 , & 166 , 202 , 127 , 175 , 206 , 132 , 181 , 209 , 135 , 189 , 214 , 140 , & 195 , 217 , 143 , 204 , 222 , 148 , 210 , 225 , 151 , 219 , 230 , 155 & ], shape ( tofino100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: tofino25 = reshape ( [ & 222 , 217 , 255 , 192 , 196 , 242 , 166 , 177 , 230 , 136 , 157 , 217 , & 107 , 135 , 202 , 83 , 115 , 182 , 62 , 94 , 154 , 50 , 77 , 128 , & 39 , 60 , 101 , 29 , 45 , 74 , 22 , 32 , 52 , 16 , 22 , 32 , & 13 , 22 , 19 , 16 , 30 , 18 , 21 , 44 , 24 , 28 , 59 , 31 , & 36 , 77 , 40 , 45 , 97 , 50 , 55 , 115 , 60 , 70 , 137 , 73 , & 95 , 160 , 89 , 124 , 179 , 105 , 157 , 197 , 123 , 186 , 212 , 138 , & 219 , 230 , 155 & ], shape ( tofino25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: tofino50 = reshape ( [ & 222 , 217 , 255 , 208 , 207 , 249 , 195 , 198 , 243 , 179 , 187 , 236 , & 166 , 177 , 230 , 152 , 168 , 225 , 139 , 159 , 219 , 126 , 149 , 212 , & 110 , 137 , 203 , 97 , 127 , 195 , 85 , 117 , 184 , 74 , 107 , 172 , & 66 , 98 , 160 , 57 , 87 , 144 , 51 , 79 , 131 , 46 , 71 , 118 , & 41 , 63 , 106 , 36 , 56 , 93 , 31 , 48 , 79 , 27 , 41 , 67 , & 23 , 35 , 56 , 20 , 29 , 46 , 17 , 24 , 36 , 15 , 21 , 27 , & 13 , 21 , 22 , 13 , 23 , 18 , 15 , 27 , 18 , 17 , 33 , 19 , & 20 , 39 , 22 , 22 , 47 , 25 , 26 , 54 , 28 , 29 , 62 , 32 , & 34 , 72 , 37 , 38 , 81 , 42 , 42 , 90 , 46 , 46 , 98 , 51 , & 51 , 108 , 56 , 57 , 119 , 62 , 63 , 129 , 68 , 72 , 139 , 74 , & 82 , 149 , 81 , 95 , 160 , 89 , 112 , 171 , 99 , 127 , 180 , 107 , & 142 , 189 , 115 , 157 , 197 , 123 , 172 , 205 , 131 , 189 , 214 , 140 , & 204 , 222 , 148 , 219 , 230 , 155 & ], shape ( tofino50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: tokyo = reshape ( [ & 28 , 14 , 52 , 29 , 15 , 52 , 31 , 15 , 53 , 33 , 16 , 53 , & 35 , 16 , 54 , 36 , 16 , 54 , 38 , 17 , 55 , 40 , 17 , 56 , & 41 , 18 , 56 , 43 , 18 , 57 , 45 , 19 , 57 , 47 , 19 , 58 , & 48 , 20 , 58 , 50 , 21 , 59 , 52 , 21 , 60 , 53 , 22 , 60 , & 55 , 22 , 61 , 57 , 23 , 61 , 58 , 24 , 62 , 60 , 25 , 62 , & 62 , 25 , 63 , 63 , 26 , 64 , 65 , 27 , 64 , 67 , 28 , 65 , & 68 , 29 , 65 , 70 , 30 , 66 , 72 , 30 , 67 , 73 , 31 , 67 , & 75 , 32 , 68 , 76 , 33 , 68 , 78 , 34 , 69 , 79 , 35 , 69 , & 81 , 36 , 70 , 82 , 38 , 70 , 83 , 39 , 71 , 85 , 40 , 71 , & 86 , 41 , 72 , 87 , 42 , 72 , 89 , 43 , 73 , 90 , 44 , 73 , & 91 , 45 , 73 , 92 , 47 , 74 , 93 , 48 , 74 , 94 , 49 , 75 , & 95 , 50 , 75 , 96 , 51 , 75 , 97 , 52 , 76 , 98 , 53 , 76 , & 99 , 55 , 76 , 100 , 56 , 77 , 100 , 57 , 77 , 101 , 58 , 77 , & 102 , 59 , 77 , 102 , 60 , 78 , 103 , 61 , 78 , 104 , 62 , 78 , & 104 , 63 , 78 , 105 , 64 , 78 , 105 , 65 , 79 , 106 , 66 , 79 , & 106 , 67 , 79 , 106 , 68 , 79 , 107 , 69 , 79 , 107 , 70 , 79 , & 108 , 71 , 80 , 108 , 72 , 80 , 108 , 73 , 80 , 108 , 74 , 80 , & 109 , 75 , 80 , 109 , 75 , 80 , 109 , 76 , 80 , 109 , 77 , 80 , & 110 , 78 , 80 , 110 , 79 , 80 , 110 , 79 , 81 , 110 , 80 , 81 , & 110 , 81 , 81 , 111 , 82 , 81 , 111 , 82 , 81 , 111 , 83 , 81 , & 111 , 84 , 81 , 111 , 84 , 81 , 111 , 85 , 81 , 111 , 86 , 81 , & 112 , 86 , 81 , 112 , 87 , 81 , 112 , 88 , 81 , 112 , 88 , 81 , & 112 , 89 , 81 , 112 , 89 , 81 , 112 , 90 , 82 , 112 , 91 , 82 , & 112 , 91 , 82 , 112 , 92 , 82 , 113 , 92 , 82 , 113 , 93 , 82 , & 113 , 93 , 82 , 113 , 94 , 82 , 113 , 94 , 82 , 113 , 95 , 82 , & 113 , 95 , 82 , 113 , 96 , 82 , 113 , 97 , 82 , 113 , 97 , 82 , & 113 , 98 , 82 , 113 , 98 , 82 , 114 , 99 , 82 , 114 , 99 , 82 , & 114 , 100 , 82 , 114 , 100 , 82 , 114 , 101 , 82 , 114 , 101 , 82 , & 114 , 102 , 83 , 114 , 103 , 83 , 114 , 103 , 83 , 114 , 104 , 83 , & 114 , 104 , 83 , 115 , 105 , 83 , 115 , 105 , 83 , 115 , 106 , 83 , & 115 , 107 , 83 , 115 , 107 , 83 , 115 , 108 , 83 , 115 , 109 , 83 , & 115 , 109 , 83 , 115 , 110 , 83 , 116 , 110 , 83 , 116 , 111 , 83 , & 116 , 112 , 83 , 116 , 113 , 83 , 116 , 113 , 83 , 116 , 114 , 84 , & 116 , 115 , 84 , 116 , 115 , 84 , 116 , 116 , 84 , 117 , 117 , 84 , & 117 , 118 , 84 , 117 , 119 , 84 , 117 , 119 , 84 , 117 , 120 , 84 , & 117 , 121 , 84 , 117 , 122 , 84 , 118 , 123 , 84 , 118 , 124 , 84 , & 118 , 124 , 84 , 118 , 125 , 85 , 118 , 126 , 85 , 118 , 127 , 85 , & 119 , 128 , 85 , 119 , 129 , 85 , 119 , 130 , 85 , 119 , 131 , 85 , & 119 , 132 , 85 , 120 , 133 , 85 , 120 , 134 , 86 , 120 , 135 , 86 , & 120 , 136 , 86 , 120 , 137 , 86 , 121 , 138 , 86 , 121 , 139 , 86 , & 121 , 141 , 87 , 121 , 142 , 87 , 121 , 143 , 87 , 122 , 144 , 87 , & 122 , 145 , 87 , 122 , 146 , 88 , 123 , 148 , 88 , 123 , 149 , 88 , & 123 , 150 , 88 , 123 , 151 , 89 , 124 , 152 , 89 , 124 , 154 , 89 , & 124 , 155 , 90 , 125 , 156 , 90 , 125 , 158 , 90 , 125 , 159 , 91 , & 126 , 160 , 91 , 126 , 162 , 92 , 127 , 163 , 92 , 127 , 164 , 93 , & 128 , 166 , 93 , 128 , 167 , 94 , 129 , 169 , 94 , 129 , 170 , 95 , & 130 , 172 , 96 , 130 , 173 , 96 , 131 , 175 , 97 , 132 , 176 , 98 , & 132 , 178 , 99 , 133 , 179 , 100 , 134 , 181 , 101 , 135 , 182 , 102 , & 135 , 184 , 103 , 136 , 185 , 104 , 137 , 187 , 105 , 138 , 189 , 106 , & 139 , 190 , 107 , 140 , 192 , 109 , 141 , 193 , 110 , 142 , 195 , 112 , & 143 , 197 , 113 , 145 , 198 , 115 , 146 , 200 , 116 , 147 , 202 , 118 , & 149 , 203 , 120 , 150 , 205 , 121 , 152 , 207 , 123 , 153 , 208 , 125 , & 155 , 210 , 127 , 156 , 212 , 129 , 158 , 213 , 131 , 160 , 215 , 133 , & 162 , 216 , 135 , 164 , 218 , 138 , 165 , 220 , 140 , 167 , 221 , 142 , & 169 , 223 , 144 , 171 , 224 , 147 , 173 , 226 , 149 , 175 , 227 , 152 , & 178 , 228 , 154 , 180 , 230 , 156 , 182 , 231 , 159 , 184 , 232 , 161 , & 186 , 234 , 164 , 188 , 235 , 166 , 190 , 236 , 169 , 193 , 237 , 171 , & 195 , 238 , 173 , 197 , 239 , 176 , 199 , 240 , 178 , 201 , 241 , 180 , & 203 , 242 , 183 , 205 , 243 , 185 , 207 , 244 , 187 , 209 , 244 , 189 , & 211 , 245 , 191 , 213 , 246 , 193 , 214 , 246 , 195 , 216 , 247 , 197 , & 218 , 247 , 199 , 220 , 248 , 201 , 221 , 248 , 202 , 223 , 249 , 204 , & 224 , 249 , 206 , 226 , 249 , 207 , 227 , 250 , 209 , 229 , 250 , 210 , & 230 , 250 , 212 , 232 , 251 , 213 , 233 , 251 , 215 , 234 , 251 , 216 , & 235 , 251 , 217 , 237 , 252 , 218 , 238 , 252 , 220 , 239 , 252 , 221 & ], shape ( tokyo ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: tokyo10 = reshape ( [ & 28 , 14 , 52 , 75 , 32 , 68 , 105 , 64 , 78 , 112 , 87 , 81 , & 114 , 103 , 83 , 118 , 123 , 84 , 124 , 152 , 89 , 141 , 193 , 110 , & 193 , 237 , 171 , 239 , 252 , 221 & ], shape ( tokyo10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: tokyo100 = reshape ( [ & 28 , 14 , 52 , 33 , 16 , 53 , 36 , 16 , 54 , 41 , 18 , 56 , & 45 , 19 , 57 , 50 , 21 , 59 , 53 , 22 , 60 , 58 , 24 , 62 , & 63 , 26 , 64 , 67 , 28 , 65 , 72 , 30 , 67 , 75 , 32 , 68 , & 79 , 35 , 69 , 82 , 38 , 70 , 86 , 41 , 72 , 90 , 44 , 73 , & 92 , 47 , 74 , 95 , 50 , 75 , 97 , 52 , 76 , 100 , 56 , 77 , & 102 , 59 , 77 , 103 , 61 , 78 , 105 , 64 , 78 , 106 , 66 , 79 , & 107 , 69 , 79 , 108 , 71 , 80 , 108 , 74 , 80 , 109 , 76 , 80 , & 110 , 78 , 80 , 110 , 80 , 81 , 111 , 82 , 81 , 111 , 84 , 81 , & 111 , 85 , 81 , 112 , 87 , 81 , 112 , 89 , 81 , 112 , 90 , 82 , & 112 , 92 , 82 , 113 , 93 , 82 , 113 , 94 , 82 , 113 , 95 , 82 , & 113 , 97 , 82 , 114 , 99 , 82 , 114 , 100 , 82 , 114 , 101 , 82 , & 114 , 103 , 83 , 114 , 104 , 83 , 115 , 105 , 83 , 115 , 107 , 83 , & 115 , 109 , 83 , 116 , 110 , 83 , 116 , 113 , 83 , 116 , 114 , 84 , & 116 , 116 , 84 , 117 , 119 , 84 , 117 , 120 , 84 , 118 , 123 , 84 , & 118 , 124 , 84 , 118 , 127 , 85 , 119 , 129 , 85 , 119 , 132 , 85 , & 120 , 135 , 86 , 120 , 137 , 86 , 121 , 141 , 87 , 121 , 143 , 87 , & 122 , 146 , 88 , 123 , 149 , 88 , 124 , 152 , 89 , 125 , 156 , 90 , & 125 , 159 , 91 , 127 , 163 , 92 , 128 , 166 , 93 , 129 , 170 , 95 , & 130 , 173 , 96 , 132 , 178 , 99 , 135 , 182 , 102 , 136 , 185 , 104 , & 139 , 190 , 107 , 141 , 193 , 110 , 145 , 198 , 115 , 147 , 202 , 118 , & 152 , 207 , 123 , 156 , 212 , 129 , 160 , 215 , 133 , 165 , 220 , 140 , & 169 , 223 , 144 , 175 , 227 , 152 , 182 , 231 , 159 , 186 , 234 , 164 , & 193 , 237 , 171 , 197 , 239 , 176 , 203 , 242 , 183 , 207 , 244 , 187 , & 213 , 246 , 193 , 218 , 247 , 199 , 221 , 248 , 202 , 226 , 249 , 207 , & 229 , 250 , 210 , 233 , 251 , 215 , 235 , 251 , 217 , 239 , 252 , 221 & ], shape ( tokyo100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: tokyo25 = reshape ( [ & 28 , 14 , 52 , 47 , 19 , 58 , 63 , 26 , 64 , 81 , 36 , 70 , & 94 , 49 , 75 , 102 , 60 , 78 , 108 , 71 , 80 , 110 , 79 , 81 , & 112 , 87 , 81 , 113 , 93 , 82 , 114 , 99 , 82 , 115 , 105 , 83 , & 116 , 112 , 83 , 117 , 119 , 84 , 119 , 129 , 85 , 121 , 139 , 86 , & 124 , 152 , 89 , 128 , 167 , 94 , 135 , 182 , 102 , 146 , 200 , 116 , & 164 , 218 , 138 , 184 , 232 , 161 , 207 , 244 , 187 , 224 , 249 , 206 , & 239 , 252 , 221 & ], shape ( tokyo25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: tokyo50 = reshape ( [ & 28 , 14 , 52 , 36 , 16 , 54 , 45 , 19 , 57 , 55 , 22 , 61 , & 63 , 26 , 64 , 72 , 30 , 67 , 79 , 35 , 69 , 86 , 41 , 72 , & 93 , 48 , 74 , 98 , 53 , 76 , 102 , 59 , 77 , 105 , 64 , 78 , & 107 , 69 , 79 , 109 , 75 , 80 , 110 , 79 , 80 , 111 , 82 , 81 , & 111 , 86 , 81 , 112 , 89 , 81 , 113 , 92 , 82 , 113 , 95 , 82 , & 113 , 98 , 82 , 114 , 100 , 82 , 114 , 103 , 83 , 115 , 107 , 83 , & 115 , 110 , 83 , 116 , 113 , 83 , 117 , 117 , 84 , 117 , 122 , 84 , & 118 , 126 , 85 , 119 , 131 , 85 , 120 , 136 , 86 , 121 , 142 , 87 , & 123 , 149 , 88 , 124 , 155 , 90 , 126 , 162 , 92 , 129 , 169 , 94 , & 132 , 176 , 98 , 136 , 185 , 104 , 141 , 193 , 110 , 147 , 202 , 118 , & 155 , 210 , 127 , 164 , 218 , 138 , 175 , 227 , 152 , 186 , 234 , 164 , & 197 , 239 , 176 , 207 , 244 , 187 , 216 , 247 , 197 , 226 , 249 , 207 , & 233 , 251 , 215 , 239 , 252 , 221 & ], shape ( tokyo50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: tokyoS = reshape ( [ & 28 , 14 , 52 , 239 , 252 , 221 , 116 , 111 , 83 , 135 , 182 , 102 , & 107 , 70 , 79 , 121 , 139 , 86 , 113 , 93 , 82 , 184 , 232 , 161 , & 81 , 36 , 70 , 55 , 22 , 61 , 153 , 208 , 125 , 216 , 247 , 197 , & 114 , 101 , 82 , 111 , 83 , 81 , 125 , 159 , 91 , 118 , 124 , 84 , & 99 , 55 , 76 , 129 , 170 , 95 , 68 , 29 , 65 , 167 , 221 , 142 , & 91 , 45 , 73 , 119 , 131 , 85 , 117 , 117 , 84 , 41 , 18 , 56 , & 229 , 250 , 210 , 123 , 149 , 88 , 142 , 195 , 112 , 113 , 97 , 82 , & 115 , 106 , 83 , 112 , 88 , 81 , 109 , 77 , 80 , 201 , 241 , 180 , & 104 , 63 , 78 , 111 , 86 , 81 , 114 , 99 , 82 , 193 , 237 , 171 , & 117 , 120 , 84 , 35 , 16 , 54 , 108 , 74 , 80 , 138 , 189 , 106 , & 115 , 109 , 83 , 110 , 80 , 81 , 95 , 50 , 75 , 102 , 59 , 77 , & 120 , 135 , 86 , 48 , 20 , 58 , 116 , 114 , 84 , 118 , 127 , 85 , & 113 , 95 , 82 , 112 , 91 , 82 , 175 , 227 , 152 , 75 , 32 , 68 , & 209 , 244 , 189 , 122 , 144 , 87 , 124 , 154 , 89 , 147 , 202 , 118 , & 62 , 25 , 63 , 223 , 249 , 204 , 160 , 215 , 133 , 234 , 251 , 216 , & 86 , 41 , 72 , 132 , 176 , 98 , 127 , 164 , 93 , 114 , 104 , 83 , & 106 , 66 , 79 , 125 , 156 , 90 , 188 , 235 , 166 , 112 , 87 , 81 , & 116 , 115 , 84 , 114 , 103 , 83 , 93 , 48 , 74 , 171 , 224 , 147 , & 45 , 19 , 57 , 117 , 119 , 84 , 106 , 68 , 79 , 205 , 243 , 185 , & 118 , 125 , 85 , 72 , 30 , 67 , 164 , 218 , 138 , 52 , 21 , 60 , & 89 , 43 , 73 , 109 , 75 , 80 , 140 , 192 , 109 , 113 , 96 , 82 , & 38 , 17 , 55 , 156 , 212 , 129 , 113 , 98 , 82 , 145 , 198 , 115 , & 213 , 246 , 193 , 123 , 151 , 89 , 117 , 122 , 84 , 220 , 248 , 201 , & 78 , 34 , 69 , 83 , 39 , 71 , 58 , 24 , 62 , 112 , 92 , 82 , & 108 , 72 , 80 , 237 , 252 , 218 , 115 , 107 , 83 , 130 , 173 , 96 & ], shape ( tokyoS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: turku = reshape ( [ & 0 , 0 , 0 , 2 , 2 , 2 , 4 , 4 , 3 , 6 , 6 , 5 , & 7 , 7 , 7 , 9 , 9 , 8 , 11 , 11 , 10 , 13 , 13 , 12 , & 14 , 14 , 13 , 16 , 16 , 14 , 17 , 17 , 16 , 18 , 18 , 17 , & 20 , 19 , 18 , 21 , 21 , 19 , 22 , 22 , 20 , 23 , 23 , 21 , & 24 , 24 , 22 , 25 , 25 , 23 , 26 , 26 , 24 , 27 , 27 , 25 , & 28 , 28 , 25 , 29 , 29 , 26 , 30 , 30 , 27 , 31 , 31 , 28 , & 32 , 32 , 29 , 33 , 33 , 30 , 34 , 34 , 31 , 35 , 35 , 31 , & 36 , 36 , 32 , 37 , 37 , 33 , 38 , 38 , 34 , 39 , 39 , 35 , & 40 , 40 , 35 , 41 , 41 , 36 , 42 , 42 , 37 , 43 , 43 , 38 , & 44 , 44 , 39 , 45 , 45 , 39 , 46 , 46 , 40 , 47 , 47 , 41 , & 48 , 48 , 42 , 50 , 49 , 42 , 51 , 50 , 43 , 52 , 51 , 44 , & 53 , 52 , 45 , 54 , 54 , 45 , 55 , 55 , 46 , 56 , 56 , 47 , & 57 , 57 , 48 , 58 , 58 , 48 , 59 , 59 , 49 , 60 , 60 , 50 , & 61 , 61 , 50 , 62 , 62 , 51 , 63 , 63 , 52 , 64 , 64 , 52 , & 65 , 65 , 53 , 66 , 66 , 53 , 67 , 67 , 54 , 68 , 68 , 55 , & 69 , 69 , 55 , 70 , 70 , 56 , 71 , 71 , 56 , 72 , 72 , 57 , & 73 , 73 , 58 , 75 , 74 , 58 , 76 , 75 , 59 , 77 , 76 , 59 , & 78 , 77 , 60 , 79 , 78 , 60 , 80 , 79 , 61 , 81 , 80 , 61 , & 82 , 81 , 62 , 83 , 82 , 62 , 84 , 83 , 63 , 85 , 84 , 63 , & 86 , 86 , 64 , 87 , 87 , 64 , 88 , 88 , 65 , 89 , 89 , 65 , & 90 , 90 , 66 , 91 , 91 , 66 , 92 , 92 , 67 , 93 , 93 , 67 , & 94 , 94 , 68 , 95 , 95 , 68 , 96 , 96 , 69 , 97 , 97 , 69 , & 98 , 98 , 70 , 99 , 99 , 70 , 100 , 100 , 71 , 101 , 101 , 71 , & 102 , 102 , 71 , 103 , 103 , 72 , 104 , 104 , 72 , 106 , 105 , 73 , & 107 , 106 , 73 , 108 , 107 , 74 , 109 , 108 , 74 , 110 , 109 , 75 , & 111 , 110 , 75 , 112 , 111 , 76 , 113 , 112 , 76 , 114 , 113 , 77 , & 115 , 114 , 77 , 117 , 115 , 78 , 118 , 116 , 78 , 119 , 117 , 79 , & 120 , 118 , 79 , 121 , 119 , 80 , 123 , 121 , 80 , 124 , 122 , 81 , & 125 , 123 , 81 , 126 , 124 , 82 , 127 , 125 , 82 , 129 , 126 , 83 , & 130 , 127 , 83 , 131 , 128 , 84 , 133 , 129 , 84 , 134 , 130 , 85 , & 135 , 131 , 86 , 137 , 132 , 86 , 138 , 133 , 87 , 139 , 134 , 88 , & 141 , 135 , 88 , 142 , 136 , 89 , 144 , 138 , 89 , 145 , 139 , 90 , & 147 , 140 , 91 , 148 , 141 , 91 , 150 , 142 , 92 , 151 , 143 , 93 , & 153 , 144 , 94 , 154 , 145 , 94 , 156 , 146 , 95 , 157 , 147 , 96 , & 159 , 148 , 97 , 161 , 148 , 97 , 162 , 149 , 98 , 164 , 150 , 99 , & 165 , 151 , 100 , 167 , 152 , 100 , 169 , 153 , 101 , 170 , 154 , 102 , & 172 , 154 , 103 , 173 , 155 , 104 , 175 , 156 , 104 , 176 , 157 , 105 , & 178 , 157 , 106 , 179 , 158 , 107 , 181 , 159 , 108 , 182 , 159 , 108 , & 184 , 160 , 109 , 185 , 160 , 110 , 187 , 161 , 111 , 188 , 161 , 112 , & 190 , 162 , 112 , 191 , 162 , 113 , 192 , 162 , 114 , 194 , 163 , 115 , & 195 , 163 , 116 , 196 , 164 , 116 , 198 , 164 , 117 , 199 , 164 , 118 , & 200 , 164 , 119 , 201 , 165 , 120 , 203 , 165 , 120 , 204 , 165 , 121 , & 205 , 165 , 122 , 206 , 166 , 123 , 207 , 166 , 124 , 208 , 166 , 124 , & 209 , 166 , 125 , 210 , 166 , 126 , 211 , 166 , 127 , 212 , 167 , 128 , & 214 , 167 , 128 , 215 , 167 , 129 , 216 , 167 , 130 , 217 , 167 , 131 , & 218 , 167 , 132 , 219 , 168 , 133 , 219 , 168 , 134 , 220 , 168 , 135 , & 221 , 168 , 136 , 222 , 168 , 137 , 223 , 169 , 138 , 224 , 169 , 139 , & 225 , 169 , 140 , 226 , 169 , 141 , 227 , 170 , 142 , 228 , 170 , 143 , & 229 , 170 , 144 , 230 , 171 , 146 , 231 , 171 , 147 , 232 , 172 , 148 , & 233 , 172 , 149 , 233 , 173 , 151 , 234 , 173 , 152 , 235 , 174 , 153 , & 236 , 174 , 155 , 237 , 175 , 156 , 238 , 176 , 158 , 239 , 176 , 159 , & 239 , 177 , 161 , 240 , 178 , 162 , 241 , 179 , 163 , 242 , 179 , 165 , & 242 , 180 , 167 , 243 , 181 , 168 , 244 , 182 , 170 , 244 , 183 , 171 , & 245 , 184 , 173 , 246 , 185 , 174 , 246 , 186 , 176 , 247 , 187 , 177 , & 247 , 188 , 179 , 248 , 189 , 180 , 248 , 190 , 182 , 249 , 191 , 183 , & 249 , 192 , 185 , 250 , 193 , 186 , 250 , 194 , 188 , 251 , 195 , 189 , & 251 , 196 , 191 , 251 , 197 , 192 , 252 , 198 , 193 , 252 , 199 , 195 , & 252 , 200 , 196 , 253 , 201 , 198 , 253 , 203 , 199 , 253 , 204 , 200 , & 253 , 205 , 202 , 253 , 206 , 203 , 254 , 207 , 204 , 254 , 208 , 206 , & 254 , 209 , 207 , 254 , 210 , 208 , 254 , 211 , 209 , 254 , 212 , 211 , & 254 , 214 , 212 , 254 , 215 , 213 , 255 , 216 , 214 , 255 , 217 , 215 , & 255 , 218 , 217 , 255 , 219 , 218 , 255 , 220 , 219 , 255 , 221 , 220 , & 255 , 222 , 221 , 255 , 223 , 223 , 255 , 224 , 224 , 255 , 226 , 225 , & 255 , 227 , 226 , 255 , 228 , 227 , 255 , 229 , 229 , 255 , 230 , 230 & ], shape ( turku ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: turku10 = reshape ( [ & 0 , 0 , 0 , 36 , 36 , 32 , 66 , 66 , 53 , 95 , 95 , 68 , & 126 , 124 , 82 , 169 , 153 , 101 , 207 , 166 , 124 , 234 , 173 , 152 , & 252 , 199 , 195 , 255 , 230 , 230 & ], shape ( turku10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: turku100 = reshape ( [ & 0 , 0 , 0 , 6 , 6 , 5 , 9 , 9 , 8 , 14 , 14 , 13 , & 17 , 17 , 16 , 21 , 21 , 19 , 23 , 23 , 21 , 26 , 26 , 24 , & 29 , 29 , 26 , 31 , 31 , 28 , 34 , 34 , 31 , 36 , 36 , 32 , & 39 , 39 , 35 , 41 , 41 , 36 , 44 , 44 , 39 , 47 , 47 , 41 , & 50 , 49 , 42 , 53 , 52 , 45 , 55 , 55 , 46 , 58 , 58 , 48 , & 61 , 61 , 50 , 63 , 63 , 52 , 66 , 66 , 53 , 68 , 68 , 55 , & 71 , 71 , 56 , 73 , 73 , 58 , 77 , 76 , 59 , 80 , 79 , 61 , & 82 , 81 , 62 , 85 , 84 , 63 , 87 , 87 , 64 , 90 , 90 , 66 , & 92 , 92 , 67 , 95 , 95 , 68 , 98 , 98 , 70 , 100 , 100 , 71 , & 103 , 103 , 72 , 106 , 105 , 73 , 109 , 108 , 74 , 111 , 110 , 75 , & 114 , 113 , 77 , 118 , 116 , 78 , 120 , 118 , 79 , 124 , 122 , 81 , & 126 , 124 , 82 , 130 , 127 , 83 , 133 , 129 , 84 , 137 , 132 , 86 , & 141 , 135 , 88 , 144 , 138 , 89 , 148 , 141 , 91 , 151 , 143 , 93 , & 156 , 146 , 95 , 161 , 148 , 97 , 164 , 150 , 99 , 169 , 153 , 101 , & 172 , 154 , 103 , 176 , 157 , 105 , 179 , 158 , 107 , 184 , 160 , 109 , & 188 , 161 , 112 , 191 , 162 , 113 , 195 , 163 , 116 , 198 , 164 , 117 , & 201 , 165 , 120 , 204 , 165 , 121 , 207 , 166 , 124 , 210 , 166 , 126 , & 212 , 167 , 128 , 216 , 167 , 130 , 218 , 167 , 132 , 220 , 168 , 135 , & 222 , 168 , 137 , 225 , 169 , 140 , 228 , 170 , 143 , 230 , 171 , 146 , & 233 , 172 , 149 , 234 , 173 , 152 , 237 , 175 , 156 , 239 , 176 , 159 , & 241 , 179 , 163 , 243 , 181 , 168 , 244 , 183 , 171 , 246 , 186 , 176 , & 247 , 188 , 179 , 249 , 191 , 183 , 250 , 194 , 188 , 251 , 196 , 191 , & 252 , 199 , 195 , 253 , 201 , 198 , 253 , 205 , 202 , 254 , 207 , 204 , & 254 , 210 , 208 , 254 , 214 , 212 , 255 , 216 , 214 , 255 , 219 , 218 , & 255 , 221 , 220 , 255 , 224 , 224 , 255 , 227 , 226 , 255 , 230 , 230 & ], shape ( turku100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: turku25 = reshape ( [ & 0 , 0 , 0 , 18 , 18 , 17 , 29 , 29 , 26 , 40 , 40 , 35 , & 52 , 51 , 44 , 62 , 62 , 51 , 73 , 73 , 58 , 84 , 83 , 63 , & 95 , 95 , 68 , 107 , 106 , 73 , 118 , 116 , 78 , 131 , 128 , 84 , & 147 , 140 , 91 , 162 , 149 , 98 , 179 , 158 , 107 , 194 , 163 , 115 , & 207 , 166 , 124 , 219 , 168 , 133 , 228 , 170 , 143 , 238 , 176 , 158 , & 246 , 185 , 174 , 251 , 195 , 189 , 254 , 207 , 204 , 255 , 218 , 217 , & 255 , 230 , 230 & ], shape ( turku25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: turku50 = reshape ( [ & 0 , 0 , 0 , 9 , 9 , 8 , 17 , 17 , 16 , 24 , 24 , 22 , & 29 , 29 , 26 , 34 , 34 , 31 , 39 , 39 , 35 , 44 , 44 , 39 , & 51 , 50 , 43 , 56 , 56 , 47 , 61 , 61 , 50 , 66 , 66 , 53 , & 71 , 71 , 56 , 78 , 77 , 60 , 83 , 82 , 62 , 88 , 88 , 65 , & 93 , 93 , 67 , 98 , 98 , 70 , 104 , 104 , 72 , 110 , 109 , 75 , & 115 , 114 , 77 , 121 , 119 , 80 , 127 , 125 , 82 , 135 , 131 , 86 , & 142 , 136 , 89 , 150 , 142 , 92 , 157 , 147 , 96 , 167 , 152 , 100 , & 175 , 156 , 104 , 182 , 159 , 108 , 190 , 162 , 112 , 196 , 164 , 116 , & 204 , 165 , 121 , 209 , 166 , 125 , 215 , 167 , 129 , 219 , 168 , 134 , & 224 , 169 , 139 , 230 , 171 , 146 , 234 , 173 , 152 , 239 , 176 , 159 , & 242 , 180 , 167 , 246 , 185 , 174 , 249 , 191 , 183 , 251 , 196 , 191 , & 253 , 201 , 198 , 254 , 207 , 204 , 254 , 212 , 211 , 255 , 219 , 218 , & 255 , 224 , 224 , 255 , 230 , 230 & ], shape ( turku50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: turkuS = reshape ( [ & 7 , 7 , 7 , 255 , 230 , 230 , 150 , 142 , 92 , 77 , 76 , 59 , & 229 , 170 , 144 , 44 , 44 , 39 , 109 , 108 , 74 , 196 , 164 , 116 , & 251 , 195 , 189 , 28 , 28 , 25 , 254 , 212 , 211 , 127 , 125 , 82 , & 92 , 92 , 67 , 214 , 167 , 128 , 242 , 179 , 165 , 175 , 156 , 104 , & 60 , 60 , 50 , 253 , 204 , 200 , 20 , 19 , 18 , 118 , 116 , 78 , & 100 , 100 , 71 , 162 , 149 , 98 , 68 , 68 , 55 , 255 , 221 , 220 , & 36 , 36 , 32 , 247 , 187 , 177 , 138 , 133 , 87 , 221 , 168 , 136 , & 205 , 165 , 122 , 187 , 161 , 111 , 235 , 174 , 153 , 85 , 84 , 63 , & 52 , 51 , 44 , 225 , 169 , 140 , 244 , 183 , 171 , 156 , 146 , 95 , & 14 , 14 , 13 , 24 , 24 , 22 , 255 , 226 , 225 , 72 , 72 , 57 , & 249 , 191 , 183 , 104 , 104 , 72 , 133 , 129 , 84 , 40 , 40 , 35 , & 239 , 176 , 159 , 123 , 121 , 80 , 96 , 96 , 69 , 113 , 112 , 76 , & 169 , 153 , 101 , 144 , 138 , 89 , 218 , 167 , 132 , 252 , 199 , 195 , & 32 , 32 , 29 , 56 , 56 , 47 , 181 , 159 , 108 , 254 , 208 , 206 , & 255 , 217 , 215 , 81 , 80 , 61 , 64 , 64 , 52 , 209 , 166 , 125 , & 201 , 165 , 120 , 232 , 172 , 148 , 192 , 162 , 114 , 89 , 89 , 65 , & 48 , 48 , 42 , 255 , 223 , 223 , 153 , 144 , 94 , 248 , 189 , 180 , & 253 , 201 , 198 , 254 , 210 , 208 , 120 , 118 , 79 , 223 , 169 , 138 , & 253 , 206 , 203 , 233 , 173 , 151 , 251 , 197 , 192 , 107 , 106 , 73 , & 237 , 175 , 156 , 255 , 228 , 227 , 87 , 87 , 64 , 42 , 42 , 37 , & 219 , 168 , 134 , 147 , 140 , 91 , 254 , 215 , 213 , 115 , 114 , 77 , & 62 , 62 , 51 , 178 , 157 , 106 , 243 , 181 , 168 , 141 , 135 , 88 , & 70 , 70 , 56 , 111 , 110 , 75 , 83 , 82 , 62 , 22 , 22 , 20 , & 159 , 148 , 97 , 240 , 178 , 162 , 130 , 127 , 83 , 58 , 58 , 48 , & 246 , 185 , 174 , 207 , 166 , 124 , 199 , 164 , 118 , 125 , 123 , 81 & ], shape ( turkuS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: vanimo = reshape ( [ & 255 , 205 , 253 , 253 , 202 , 251 , 252 , 199 , 249 , 250 , 196 , 247 , & 249 , 193 , 244 , 247 , 190 , 242 , 246 , 187 , 240 , 244 , 185 , 238 , & 243 , 182 , 236 , 241 , 179 , 234 , 240 , 176 , 232 , 238 , 173 , 230 , & 236 , 171 , 228 , 235 , 168 , 226 , 233 , 165 , 224 , 232 , 162 , 222 , & 230 , 160 , 220 , 229 , 157 , 218 , 227 , 154 , 216 , 226 , 152 , 214 , & 224 , 149 , 212 , 222 , 147 , 210 , 221 , 144 , 208 , 219 , 142 , 206 , & 218 , 139 , 204 , 216 , 137 , 202 , 215 , 134 , 200 , 213 , 132 , 198 , & 211 , 129 , 196 , 210 , 127 , 194 , 208 , 125 , 192 , 207 , 122 , 191 , & 205 , 120 , 189 , 203 , 118 , 187 , 202 , 115 , 185 , 200 , 113 , 183 , & 199 , 111 , 181 , 197 , 109 , 179 , 195 , 107 , 178 , 194 , 105 , 176 , & 192 , 103 , 174 , 190 , 101 , 172 , 189 , 99 , 170 , 187 , 97 , 168 , & 185 , 95 , 167 , 184 , 93 , 165 , 182 , 91 , 163 , 180 , 90 , 161 , & 178 , 88 , 159 , 177 , 86 , 158 , 175 , 85 , 156 , 173 , 83 , 154 , & 171 , 81 , 152 , 169 , 80 , 150 , 167 , 78 , 148 , 165 , 76 , 146 , & 163 , 75 , 144 , 161 , 73 , 142 , 159 , 72 , 140 , 157 , 70 , 138 , & 155 , 68 , 136 , 153 , 67 , 134 , 150 , 65 , 132 , 148 , 64 , 130 , & 146 , 62 , 128 , 144 , 61 , 126 , 141 , 60 , 123 , 139 , 58 , 121 , & 136 , 57 , 119 , 134 , 55 , 117 , 131 , 54 , 114 , 129 , 53 , 112 , & 126 , 51 , 110 , 124 , 50 , 107 , 121 , 49 , 105 , 118 , 48 , 103 , & 116 , 46 , 100 , 113 , 45 , 98 , 110 , 44 , 96 , 108 , 43 , 93 , & 105 , 42 , 91 , 102 , 41 , 89 , 100 , 39 , 86 , 97 , 38 , 84 , & 94 , 37 , 81 , 92 , 36 , 79 , 89 , 35 , 77 , 86 , 34 , 74 , & 84 , 33 , 72 , 81 , 33 , 70 , 79 , 32 , 68 , 76 , 31 , 65 , & 73 , 30 , 63 , 71 , 29 , 61 , 69 , 28 , 59 , 66 , 28 , 57 , & 64 , 27 , 55 , 62 , 26 , 53 , 59 , 26 , 51 , 57 , 25 , 49 , & 55 , 25 , 47 , 53 , 24 , 45 , 51 , 23 , 44 , 49 , 23 , 42 , & 47 , 23 , 40 , 46 , 22 , 39 , 44 , 22 , 37 , 42 , 21 , 36 , & 41 , 21 , 35 , 40 , 21 , 33 , 38 , 21 , 32 , 37 , 20 , 31 , & 36 , 20 , 30 , 35 , 20 , 29 , 34 , 20 , 28 , 33 , 20 , 27 , & 32 , 20 , 26 , 31 , 20 , 25 , 30 , 20 , 24 , 29 , 20 , 24 , & 29 , 20 , 23 , 28 , 20 , 22 , 28 , 20 , 22 , 27 , 20 , 21 , & 27 , 20 , 21 , 26 , 20 , 20 , 26 , 21 , 20 , 26 , 21 , 19 , & 26 , 21 , 19 , 25 , 22 , 19 , 25 , 22 , 18 , 25 , 22 , 18 , & 25 , 23 , 18 , 25 , 23 , 18 , 25 , 24 , 17 , 25 , 24 , 17 , & 26 , 25 , 17 , 26 , 26 , 17 , 26 , 26 , 17 , 26 , 27 , 17 , & 27 , 28 , 17 , 27 , 29 , 17 , 27 , 30 , 17 , 28 , 31 , 17 , & 28 , 32 , 17 , 29 , 33 , 18 , 29 , 34 , 18 , 30 , 36 , 18 , & 31 , 37 , 18 , 31 , 38 , 18 , 32 , 39 , 19 , 33 , 41 , 19 , & 34 , 42 , 19 , 35 , 44 , 20 , 35 , 45 , 20 , 36 , 47 , 20 , & 37 , 48 , 20 , 38 , 50 , 21 , 39 , 52 , 21 , 41 , 53 , 22 , & 42 , 55 , 22 , 43 , 57 , 22 , 44 , 59 , 23 , 45 , 60 , 23 , & 46 , 62 , 24 , 47 , 64 , 24 , 49 , 66 , 24 , 50 , 68 , 25 , & 51 , 70 , 25 , 52 , 71 , 26 , 54 , 73 , 26 , 55 , 75 , 27 , & 56 , 77 , 27 , 58 , 79 , 28 , 59 , 81 , 28 , 60 , 83 , 29 , & 61 , 85 , 29 , 63 , 86 , 30 , 64 , 88 , 31 , 65 , 90 , 31 , & 67 , 92 , 32 , 68 , 94 , 32 , 69 , 96 , 33 , 71 , 98 , 33 , & 72 , 99 , 34 , 73 , 101 , 35 , 75 , 103 , 35 , 76 , 105 , 36 , & 77 , 107 , 36 , 78 , 108 , 37 , 80 , 110 , 37 , 81 , 112 , 38 , & 82 , 114 , 39 , 84 , 116 , 39 , 85 , 117 , 40 , 86 , 119 , 41 , & 87 , 121 , 41 , 89 , 123 , 42 , 90 , 124 , 42 , 91 , 126 , 43 , & 92 , 128 , 44 , 94 , 129 , 45 , 95 , 131 , 45 , 96 , 133 , 46 , & 98 , 135 , 47 , 99 , 136 , 47 , 100 , 138 , 48 , 101 , 140 , 49 , & 103 , 142 , 50 , 104 , 144 , 51 , 106 , 146 , 52 , 107 , 147 , 53 , & 108 , 149 , 54 , 110 , 151 , 55 , 111 , 153 , 56 , 113 , 155 , 57 , & 114 , 157 , 59 , 116 , 159 , 60 , 117 , 161 , 61 , 119 , 163 , 63 , & 121 , 166 , 64 , 122 , 168 , 66 , 124 , 170 , 67 , 126 , 172 , 69 , & 127 , 174 , 71 , 129 , 176 , 73 , 131 , 179 , 75 , 133 , 181 , 77 , & 135 , 183 , 79 , 136 , 186 , 81 , 138 , 188 , 83 , 140 , 190 , 85 , & 142 , 193 , 88 , 144 , 195 , 90 , 146 , 198 , 93 , 148 , 200 , 96 , & 150 , 203 , 98 , 152 , 205 , 101 , 154 , 208 , 104 , 156 , 210 , 107 , & 158 , 213 , 110 , 160 , 215 , 114 , 162 , 218 , 117 , 164 , 221 , 120 , & 166 , 223 , 124 , 169 , 226 , 127 , 171 , 228 , 131 , 173 , 231 , 134 , & 175 , 234 , 138 , 177 , 236 , 142 , 179 , 239 , 146 , 181 , 242 , 149 , & 183 , 245 , 153 , 186 , 247 , 157 , 188 , 250 , 161 , 190 , 253 , 165 & ], shape ( vanimo ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: vanimo10 = reshape ( [ & 255 , 205 , 253 , 211 , 129 , 196 , 161 , 73 , 142 , 92 , 36 , 79 , & 35 , 20 , 29 , 27 , 30 , 17 , 54 , 73 , 26 , 90 , 124 , 42 , & 133 , 181 , 77 , 190 , 253 , 165 & ], shape ( vanimo10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: vanimo100 = reshape ( [ & 255 , 205 , 253 , 250 , 196 , 247 , 247 , 190 , 242 , 243 , 182 , 236 , & 240 , 176 , 232 , 235 , 168 , 226 , 232 , 162 , 222 , 227 , 154 , 216 , & 222 , 147 , 210 , 219 , 142 , 206 , 215 , 134 , 200 , 211 , 129 , 196 , & 207 , 122 , 191 , 203 , 118 , 187 , 199 , 111 , 181 , 194 , 105 , 176 , & 190 , 101 , 172 , 185 , 95 , 167 , 182 , 91 , 163 , 177 , 86 , 158 , & 171 , 81 , 152 , 167 , 78 , 148 , 161 , 73 , 142 , 157 , 70 , 138 , & 150 , 65 , 132 , 146 , 62 , 128 , 139 , 58 , 121 , 131 , 54 , 114 , & 126 , 51 , 110 , 118 , 48 , 103 , 113 , 45 , 98 , 105 , 42 , 91 , & 100 , 39 , 86 , 92 , 36 , 79 , 84 , 33 , 72 , 79 , 32 , 68 , & 71 , 29 , 61 , 66 , 28 , 57 , 59 , 26 , 51 , 55 , 25 , 47 , & 49 , 23 , 42 , 44 , 22 , 37 , 41 , 21 , 35 , 37 , 20 , 31 , & 35 , 20 , 29 , 32 , 20 , 26 , 30 , 20 , 24 , 28 , 20 , 22 , & 27 , 20 , 21 , 26 , 21 , 20 , 25 , 22 , 19 , 25 , 22 , 18 , & 25 , 24 , 17 , 26 , 26 , 17 , 26 , 27 , 17 , 27 , 30 , 17 , & 28 , 32 , 17 , 30 , 36 , 18 , 31 , 38 , 18 , 34 , 42 , 19 , & 36 , 47 , 20 , 38 , 50 , 21 , 42 , 55 , 22 , 44 , 59 , 23 , & 47 , 64 , 24 , 50 , 68 , 25 , 54 , 73 , 26 , 58 , 79 , 28 , & 60 , 83 , 29 , 64 , 88 , 31 , 67 , 92 , 32 , 71 , 98 , 33 , & 73 , 101 , 35 , 77 , 107 , 36 , 81 , 112 , 38 , 84 , 116 , 39 , & 87 , 121 , 41 , 90 , 124 , 42 , 94 , 129 , 45 , 96 , 133 , 46 , & 100 , 138 , 48 , 104 , 144 , 51 , 107 , 147 , 53 , 111 , 153 , 56 , & 114 , 157 , 59 , 119 , 163 , 63 , 124 , 170 , 67 , 127 , 174 , 71 , & 133 , 181 , 77 , 136 , 186 , 81 , 142 , 193 , 88 , 146 , 198 , 93 , & 152 , 205 , 101 , 158 , 213 , 110 , 162 , 218 , 117 , 169 , 226 , 127 , & 173 , 231 , 134 , 179 , 239 , 146 , 183 , 245 , 153 , 190 , 253 , 165 & ], shape ( vanimo100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: vanimo25 = reshape ( [ & 255 , 205 , 253 , 238 , 173 , 230 , 222 , 147 , 210 , 205 , 120 , 189 , & 187 , 97 , 168 , 169 , 80 , 150 , 146 , 62 , 128 , 121 , 49 , 105 , & 92 , 36 , 79 , 64 , 27 , 55 , 44 , 22 , 37 , 31 , 20 , 25 , & 26 , 21 , 19 , 26 , 26 , 17 , 31 , 38 , 18 , 41 , 53 , 22 , & 54 , 73 , 26 , 68 , 94 , 32 , 81 , 112 , 38 , 95 , 131 , 45 , & 110 , 151 , 55 , 126 , 172 , 69 , 146 , 198 , 93 , 166 , 223 , 124 , & 190 , 253 , 165 & ], shape ( vanimo25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: vanimo50 = reshape ( [ & 255 , 205 , 253 , 247 , 190 , 242 , 240 , 176 , 232 , 230 , 160 , 220 , & 222 , 147 , 210 , 215 , 134 , 200 , 207 , 122 , 191 , 199 , 111 , 181 , & 189 , 99 , 170 , 180 , 90 , 161 , 171 , 81 , 152 , 161 , 73 , 142 , & 150 , 65 , 132 , 136 , 57 , 119 , 124 , 50 , 107 , 110 , 44 , 96 , & 97 , 38 , 84 , 84 , 33 , 72 , 69 , 28 , 59 , 57 , 25 , 49 , & 47 , 23 , 40 , 40 , 21 , 33 , 34 , 20 , 28 , 29 , 20 , 23 , & 26 , 20 , 20 , 25 , 22 , 18 , 25 , 24 , 17 , 27 , 29 , 17 , & 29 , 34 , 18 , 33 , 41 , 19 , 37 , 48 , 20 , 43 , 57 , 22 , & 50 , 68 , 25 , 56 , 77 , 27 , 63 , 86 , 30 , 69 , 96 , 33 , & 76 , 105 , 36 , 84 , 116 , 39 , 90 , 124 , 42 , 96 , 133 , 46 , & 103 , 142 , 50 , 110 , 151 , 55 , 119 , 163 , 63 , 127 , 174 , 71 , & 136 , 186 , 81 , 146 , 198 , 93 , 156 , 210 , 107 , 169 , 226 , 127 , & 179 , 239 , 146 , 190 , 253 , 165 & ], shape ( vanimo50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: vik = reshape ( [ & 0 , 18 , 97 , 1 , 20 , 98 , 1 , 21 , 99 , 1 , 23 , 100 , & 1 , 24 , 101 , 1 , 26 , 102 , 2 , 28 , 103 , 2 , 29 , 104 , & 2 , 31 , 105 , 2 , 32 , 106 , 2 , 34 , 107 , 2 , 35 , 108 , & 2 , 37 , 109 , 2 , 39 , 110 , 2 , 40 , 111 , 2 , 42 , 112 , & 2 , 43 , 113 , 2 , 45 , 114 , 2 , 46 , 115 , 2 , 48 , 116 , & 2 , 49 , 117 , 2 , 51 , 118 , 2 , 52 , 119 , 2 , 54 , 120 , & 2 , 55 , 121 , 2 , 57 , 122 , 2 , 58 , 123 , 3 , 60 , 124 , & 3 , 62 , 125 , 3 , 63 , 126 , 3 , 65 , 127 , 3 , 66 , 128 , & 3 , 68 , 129 , 3 , 69 , 130 , 3 , 71 , 131 , 3 , 73 , 132 , & 3 , 74 , 133 , 4 , 76 , 134 , 4 , 77 , 135 , 4 , 79 , 136 , & 5 , 81 , 137 , 5 , 82 , 138 , 6 , 84 , 139 , 6 , 86 , 140 , & 7 , 87 , 141 , 8 , 89 , 143 , 9 , 91 , 144 , 11 , 93 , 145 , & 12 , 94 , 146 , 14 , 96 , 147 , 16 , 98 , 148 , 17 , 100 , 150 , & 19 , 102 , 151 , 21 , 103 , 152 , 23 , 105 , 153 , 25 , 107 , 154 , & 28 , 109 , 156 , 30 , 111 , 157 , 32 , 113 , 158 , 35 , 115 , 160 , & 37 , 117 , 161 , 40 , 119 , 162 , 43 , 121 , 164 , 45 , 123 , 165 , & 48 , 125 , 166 , 51 , 127 , 168 , 54 , 129 , 169 , 57 , 131 , 171 , & 60 , 133 , 172 , 63 , 135 , 173 , 66 , 137 , 175 , 69 , 139 , 176 , & 72 , 141 , 178 , 75 , 144 , 179 , 78 , 146 , 180 , 81 , 148 , 182 , & 84 , 150 , 183 , 87 , 152 , 185 , 90 , 154 , 186 , 93 , 156 , 187 , & 97 , 158 , 189 , 100 , 160 , 190 , 103 , 162 , 192 , 106 , 164 , 193 , & 109 , 166 , 194 , 113 , 168 , 196 , 116 , 170 , 197 , 119 , 172 , 198 , & 122 , 174 , 200 , 125 , 176 , 201 , 128 , 178 , 202 , 132 , 180 , 204 , & 135 , 182 , 205 , 138 , 184 , 206 , 141 , 186 , 208 , 144 , 188 , 209 , & 148 , 190 , 210 , 151 , 192 , 212 , 154 , 194 , 213 , 157 , 196 , 214 , & 160 , 197 , 216 , 163 , 199 , 217 , 167 , 201 , 218 , 170 , 203 , 220 , & 173 , 205 , 221 , 176 , 207 , 222 , 179 , 209 , 223 , 182 , 211 , 225 , & 186 , 213 , 226 , 189 , 214 , 227 , 192 , 216 , 228 , 195 , 218 , 229 , & 198 , 219 , 230 , 201 , 221 , 231 , 204 , 223 , 232 , 207 , 224 , 232 , & 210 , 225 , 233 , 213 , 227 , 233 , 216 , 228 , 233 , 219 , 229 , 233 , & 222 , 230 , 233 , 224 , 230 , 233 , 226 , 231 , 232 , 229 , 231 , 232 , & 231 , 231 , 231 , 232 , 231 , 229 , 234 , 230 , 228 , 235 , 230 , 226 , & 236 , 229 , 224 , 237 , 228 , 222 , 238 , 227 , 220 , 238 , 225 , 218 , & 238 , 224 , 216 , 238 , 222 , 213 , 238 , 221 , 211 , 238 , 219 , 208 , & 238 , 217 , 205 , 237 , 215 , 203 , 237 , 213 , 200 , 236 , 211 , 197 , & 236 , 209 , 195 , 235 , 208 , 192 , 234 , 206 , 189 , 233 , 204 , 186 , & 233 , 202 , 184 , 232 , 200 , 181 , 231 , 198 , 178 , 230 , 196 , 176 , & 229 , 193 , 173 , 228 , 191 , 170 , 228 , 190 , 168 , 227 , 188 , 165 , & 226 , 186 , 162 , 225 , 184 , 160 , 224 , 182 , 157 , 223 , 180 , 154 , & 223 , 178 , 152 , 222 , 176 , 149 , 221 , 174 , 147 , 220 , 172 , 144 , & 219 , 170 , 141 , 219 , 168 , 139 , 218 , 166 , 136 , 217 , 164 , 134 , & 216 , 162 , 131 , 215 , 160 , 129 , 214 , 159 , 126 , 214 , 157 , 124 , & 213 , 155 , 121 , 212 , 153 , 119 , 211 , 151 , 116 , 211 , 149 , 114 , & 210 , 148 , 112 , 209 , 146 , 109 , 208 , 144 , 107 , 207 , 142 , 104 , & 207 , 140 , 102 , 206 , 139 , 100 , 205 , 137 , 97 , 204 , 135 , 95 , & 204 , 133 , 93 , 203 , 131 , 90 , 202 , 130 , 88 , 201 , 128 , 86 , & 201 , 126 , 83 , 200 , 124 , 81 , 199 , 123 , 79 , 198 , 121 , 76 , & 198 , 119 , 74 , 197 , 117 , 72 , 196 , 116 , 69 , 195 , 114 , 67 , & 194 , 112 , 65 , 194 , 110 , 63 , 193 , 109 , 60 , 192 , 107 , 58 , & 191 , 105 , 56 , 190 , 103 , 54 , 190 , 101 , 51 , 189 , 100 , 49 , & 188 , 98 , 47 , 187 , 96 , 45 , 186 , 94 , 42 , 184 , 92 , 40 , & 183 , 90 , 38 , 182 , 88 , 36 , 181 , 85 , 33 , 179 , 83 , 31 , & 178 , 81 , 29 , 176 , 79 , 27 , 175 , 76 , 24 , 173 , 74 , 22 , & 171 , 72 , 20 , 169 , 69 , 18 , 167 , 67 , 16 , 165 , 64 , 15 , & 163 , 62 , 13 , 161 , 60 , 11 , 159 , 57 , 10 , 156 , 55 , 9 , & 154 , 53 , 8 , 152 , 51 , 7 , 150 , 49 , 7 , 148 , 47 , 6 , & 145 , 45 , 6 , 143 , 43 , 6 , 141 , 41 , 6 , 139 , 39 , 6 , & 137 , 38 , 6 , 135 , 36 , 6 , 133 , 34 , 6 , 131 , 33 , 6 , & 129 , 31 , 6 , 127 , 30 , 6 , 126 , 29 , 6 , 124 , 27 , 6 , & 122 , 26 , 6 , 120 , 24 , 6 , 118 , 23 , 6 , 116 , 21 , 6 , & 115 , 20 , 6 , 113 , 19 , 7 , 111 , 17 , 7 , 109 , 16 , 7 , & 108 , 14 , 7 , 106 , 13 , 7 , 104 , 12 , 7 , 103 , 10 , 7 , & 101 , 9 , 7 , 99 , 7 , 7 , 98 , 6 , 7 , 96 , 4 , 8 , & 94 , 3 , 8 , 93 , 2 , 8 , 91 , 1 , 8 , 89 , 0 , 8 & ], shape ( vik ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: vik10 = reshape ( [ & 0 , 18 , 97 , 3 , 62 , 125 , 30 , 111 , 157 , 113 , 168 , 196 , & 201 , 221 , 231 , 234 , 206 , 189 , 211 , 151 , 116 , 190 , 101 , 51 , & 139 , 39 , 6 , 89 , 0 , 8 & ], shape ( vik10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: vik100 = reshape ( [ & 0 , 18 , 97 , 1 , 23 , 100 , 1 , 26 , 102 , 2 , 31 , 105 , & 2 , 34 , 107 , 2 , 39 , 110 , 2 , 42 , 112 , 2 , 46 , 115 , & 2 , 51 , 118 , 2 , 54 , 120 , 2 , 58 , 123 , 3 , 62 , 125 , & 3 , 66 , 128 , 3 , 69 , 130 , 3 , 74 , 133 , 4 , 79 , 136 , & 5 , 82 , 138 , 7 , 87 , 141 , 9 , 91 , 144 , 14 , 96 , 147 , & 19 , 102 , 151 , 23 , 105 , 153 , 30 , 111 , 157 , 35 , 115 , 160 , & 43 , 121 , 164 , 48 , 125 , 166 , 57 , 131 , 171 , 66 , 137 , 175 , & 72 , 141 , 178 , 81 , 148 , 182 , 87 , 152 , 185 , 97 , 158 , 189 , & 103 , 162 , 192 , 113 , 168 , 196 , 122 , 174 , 200 , 128 , 178 , 202 , & 138 , 184 , 206 , 144 , 188 , 209 , 154 , 194 , 213 , 160 , 197 , 216 , & 170 , 203 , 220 , 179 , 209 , 223 , 186 , 213 , 226 , 195 , 218 , 229 , & 201 , 221 , 231 , 210 , 225 , 233 , 216 , 228 , 233 , 224 , 230 , 233 , & 231 , 231 , 231 , 234 , 230 , 228 , 237 , 228 , 222 , 238 , 225 , 218 , & 238 , 221 , 211 , 237 , 215 , 203 , 236 , 211 , 197 , 234 , 206 , 189 , & 233 , 202 , 184 , 230 , 196 , 176 , 228 , 191 , 170 , 226 , 186 , 162 , & 223 , 180 , 154 , 222 , 176 , 149 , 219 , 170 , 141 , 218 , 166 , 136 , & 215 , 160 , 129 , 214 , 157 , 124 , 211 , 151 , 116 , 209 , 146 , 109 , & 207 , 142 , 104 , 205 , 137 , 97 , 204 , 133 , 93 , 201 , 128 , 86 , & 200 , 124 , 81 , 198 , 119 , 74 , 195 , 114 , 67 , 194 , 110 , 63 , & 191 , 105 , 56 , 190 , 101 , 51 , 187 , 96 , 45 , 184 , 92 , 40 , & 181 , 85 , 33 , 176 , 79 , 27 , 173 , 74 , 22 , 167 , 67 , 16 , & 163 , 62 , 13 , 156 , 55 , 9 , 150 , 49 , 7 , 145 , 45 , 6 , & 139 , 39 , 6 , 135 , 36 , 6 , 129 , 31 , 6 , 126 , 29 , 6 , & 120 , 24 , 6 , 115 , 20 , 6 , 111 , 17 , 7 , 106 , 13 , 7 , & 103 , 10 , 7 , 98 , 6 , 7 , 94 , 3 , 8 , 89 , 0 , 8 & ], shape ( vik100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: vik25 = reshape ( [ & 0 , 18 , 97 , 2 , 35 , 108 , 2 , 51 , 118 , 3 , 68 , 129 , & 6 , 86 , 140 , 21 , 103 , 152 , 48 , 125 , 166 , 78 , 146 , 180 , & 113 , 168 , 196 , 148 , 190 , 210 , 179 , 209 , 223 , 213 , 227 , 233 , & 236 , 229 , 224 , 237 , 213 , 200 , 228 , 191 , 170 , 220 , 172 , 144 , & 211 , 151 , 116 , 203 , 131 , 90 , 195 , 114 , 67 , 186 , 94 , 42 , & 169 , 69 , 18 , 148 , 47 , 6 , 126 , 29 , 6 , 108 , 14 , 7 , & 89 , 0 , 8 & ], shape ( vik25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: vik50 = reshape ( [ & 0 , 18 , 97 , 1 , 26 , 102 , 2 , 34 , 107 , 2 , 43 , 113 , & 2 , 51 , 118 , 2 , 58 , 123 , 3 , 66 , 128 , 3 , 74 , 133 , & 6 , 84 , 139 , 11 , 93 , 145 , 19 , 102 , 151 , 30 , 111 , 157 , & 43 , 121 , 164 , 60 , 133 , 172 , 75 , 144 , 179 , 90 , 154 , 186 , & 106 , 164 , 193 , 122 , 174 , 200 , 141 , 186 , 208 , 157 , 196 , 214 , & 173 , 205 , 221 , 189 , 214 , 227 , 204 , 223 , 232 , 222 , 230 , 233 , & 232 , 231 , 229 , 238 , 227 , 220 , 238 , 219 , 208 , 235 , 208 , 192 , & 231 , 198 , 178 , 227 , 188 , 165 , 223 , 178 , 152 , 219 , 168 , 139 , & 214 , 157 , 124 , 210 , 148 , 112 , 206 , 139 , 100 , 202 , 130 , 88 , & 198 , 121 , 76 , 194 , 110 , 63 , 190 , 101 , 51 , 184 , 92 , 40 , & 178 , 81 , 29 , 169 , 69 , 18 , 156 , 55 , 9 , 145 , 45 , 6 , & 135 , 36 , 6 , 126 , 29 , 6 , 116 , 21 , 6 , 106 , 13 , 7 , & 98 , 6 , 7 , 89 , 0 , 8 & ], shape ( vik50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: vikO = reshape ( [ & 79 , 26 , 61 , 78 , 26 , 62 , 78 , 27 , 63 , 77 , 27 , 65 , & 76 , 28 , 66 , 75 , 29 , 67 , 75 , 29 , 68 , 74 , 30 , 70 , & 73 , 31 , 71 , 72 , 32 , 73 , 72 , 33 , 74 , 71 , 33 , 75 , & 70 , 34 , 77 , 69 , 35 , 78 , 69 , 36 , 80 , 68 , 37 , 81 , & 67 , 38 , 83 , 67 , 39 , 84 , 66 , 40 , 86 , 65 , 41 , 88 , & 64 , 42 , 89 , 63 , 44 , 91 , 63 , 45 , 93 , 62 , 46 , 94 , & 61 , 47 , 96 , 61 , 49 , 98 , 60 , 50 , 99 , 59 , 51 , 101 , & 58 , 53 , 103 , 58 , 54 , 104 , 57 , 56 , 106 , 56 , 57 , 108 , & 56 , 59 , 110 , 55 , 60 , 111 , 54 , 62 , 113 , 54 , 63 , 115 , & 53 , 65 , 116 , 53 , 67 , 118 , 52 , 68 , 120 , 52 , 70 , 122 , & 52 , 72 , 123 , 52 , 73 , 125 , 51 , 75 , 127 , 51 , 77 , 128 , & 51 , 79 , 130 , 51 , 81 , 132 , 51 , 82 , 133 , 52 , 84 , 135 , & 52 , 86 , 137 , 52 , 88 , 138 , 53 , 90 , 140 , 53 , 92 , 141 , & 54 , 94 , 143 , 55 , 95 , 144 , 56 , 97 , 146 , 57 , 99 , 148 , & 58 , 101 , 149 , 59 , 103 , 151 , 60 , 105 , 152 , 61 , 107 , 154 , & 63 , 109 , 155 , 64 , 111 , 156 , 66 , 113 , 158 , 67 , 115 , 159 , & 69 , 117 , 161 , 71 , 119 , 162 , 73 , 121 , 164 , 75 , 123 , 165 , & 77 , 125 , 166 , 79 , 127 , 168 , 81 , 129 , 169 , 83 , 131 , 171 , & 85 , 133 , 172 , 87 , 135 , 173 , 90 , 137 , 175 , 92 , 139 , 176 , & 94 , 141 , 177 , 97 , 143 , 178 , 99 , 145 , 180 , 102 , 147 , 181 , & 104 , 149 , 182 , 107 , 151 , 183 , 109 , 152 , 184 , 112 , 154 , 186 , & 114 , 156 , 187 , 117 , 158 , 188 , 120 , 160 , 189 , 122 , 162 , 190 , & 125 , 164 , 191 , 128 , 165 , 192 , 131 , 167 , 193 , 133 , 169 , 194 , & 136 , 170 , 194 , 139 , 172 , 195 , 142 , 174 , 196 , 144 , 175 , 197 , & 147 , 177 , 197 , 150 , 178 , 198 , 153 , 180 , 198 , 155 , 181 , 199 , & 158 , 182 , 199 , 161 , 184 , 200 , 164 , 185 , 200 , 166 , 186 , 200 , & 169 , 187 , 200 , 171 , 188 , 200 , 174 , 189 , 200 , 176 , 190 , 200 , & 179 , 191 , 200 , 181 , 192 , 200 , 184 , 192 , 199 , 186 , 193 , 199 , & 188 , 193 , 198 , 190 , 194 , 198 , 192 , 194 , 197 , 194 , 194 , 196 , & 196 , 194 , 195 , 198 , 195 , 194 , 200 , 195 , 193 , 201 , 194 , 192 , & 203 , 194 , 191 , 205 , 194 , 190 , 206 , 194 , 188 , 207 , 193 , 187 , & 209 , 193 , 185 , 210 , 192 , 184 , 211 , 192 , 182 , 212 , 191 , 181 , & 213 , 190 , 179 , 213 , 189 , 177 , 214 , 189 , 175 , 215 , 188 , 173 , & 215 , 187 , 172 , 216 , 186 , 170 , 216 , 184 , 168 , 217 , 183 , 166 , & 217 , 182 , 164 , 217 , 181 , 161 , 217 , 180 , 159 , 217 , 178 , 157 , & 217 , 177 , 155 , 217 , 175 , 153 , 217 , 174 , 151 , 217 , 172 , 148 , & 217 , 171 , 146 , 217 , 169 , 144 , 216 , 168 , 141 , 216 , 166 , 139 , & 216 , 165 , 137 , 215 , 163 , 135 , 215 , 161 , 132 , 214 , 160 , 130 , & 213 , 158 , 128 , 213 , 156 , 125 , 212 , 154 , 123 , 212 , 152 , 121 , & 211 , 151 , 118 , 210 , 149 , 116 , 209 , 147 , 114 , 208 , 145 , 111 , & 208 , 143 , 109 , 207 , 141 , 107 , 206 , 139 , 104 , 205 , 138 , 102 , & 204 , 136 , 100 , 203 , 134 , 97 , 202 , 132 , 95 , 200 , 130 , 93 , & 199 , 128 , 91 , 198 , 126 , 88 , 197 , 124 , 86 , 196 , 121 , 84 , & 194 , 119 , 82 , 193 , 117 , 79 , 192 , 115 , 77 , 190 , 113 , 75 , & 189 , 111 , 73 , 187 , 109 , 71 , 186 , 106 , 69 , 184 , 104 , 67 , & 183 , 102 , 65 , 181 , 100 , 63 , 179 , 98 , 61 , 178 , 95 , 59 , & 176 , 93 , 57 , 174 , 91 , 55 , 172 , 89 , 53 , 170 , 86 , 51 , & 169 , 84 , 50 , 167 , 82 , 48 , 165 , 80 , 47 , 163 , 77 , 45 , & 161 , 75 , 44 , 159 , 73 , 42 , 157 , 71 , 41 , 155 , 69 , 40 , & 153 , 67 , 39 , 151 , 65 , 38 , 149 , 62 , 37 , 147 , 60 , 36 , & 145 , 59 , 35 , 143 , 57 , 34 , 141 , 55 , 33 , 140 , 53 , 33 , & 138 , 51 , 32 , 136 , 49 , 32 , 134 , 48 , 31 , 132 , 46 , 31 , & 130 , 44 , 31 , 129 , 43 , 30 , 127 , 41 , 30 , 125 , 40 , 30 , & 124 , 39 , 30 , 122 , 37 , 30 , 121 , 36 , 30 , 119 , 35 , 30 , & 118 , 34 , 31 , 116 , 33 , 31 , 115 , 32 , 31 , 114 , 31 , 31 , & 112 , 30 , 32 , 111 , 29 , 32 , 110 , 28 , 32 , 108 , 27 , 33 , & 107 , 26 , 33 , 106 , 26 , 34 , 105 , 25 , 34 , 104 , 25 , 35 , & 103 , 24 , 35 , 102 , 24 , 36 , 101 , 23 , 37 , 100 , 23 , 37 , & 99 , 22 , 38 , 98 , 22 , 39 , 97 , 22 , 39 , 96 , 22 , 40 , & 95 , 22 , 41 , 94 , 21 , 42 , 93 , 21 , 43 , 92 , 21 , 43 , & 91 , 21 , 44 , 90 , 21 , 45 , 90 , 21 , 46 , 89 , 21 , 47 , & 88 , 22 , 48 , 87 , 22 , 49 , 86 , 22 , 50 , 86 , 22 , 51 , & 85 , 22 , 52 , 84 , 23 , 53 , 83 , 23 , 54 , 83 , 23 , 55 , & 82 , 24 , 56 , 81 , 24 , 57 , 80 , 25 , 58 , 80 , 25 , 60 & ], shape ( vikO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: vikO10 = reshape ( [ & 79 , 26 , 61 , 58 , 53 , 103 , 59 , 103 , 151 , 117 , 158 , 188 , & 190 , 194 , 198 , 217 , 174 , 151 , 197 , 124 , 86 , 149 , 62 , 37 , & 104 , 25 , 35 , 80 , 25 , 60 & ], shape ( vikO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: vikO100 = reshape ( [ & 79 , 26 , 61 , 77 , 27 , 65 , 75 , 29 , 67 , 73 , 31 , 71 , & 72 , 33 , 74 , 69 , 35 , 78 , 68 , 37 , 81 , 66 , 40 , 86 , & 63 , 44 , 91 , 62 , 46 , 94 , 60 , 50 , 99 , 58 , 53 , 103 , & 56 , 57 , 108 , 55 , 60 , 111 , 53 , 65 , 116 , 52 , 70 , 122 , & 52 , 73 , 125 , 51 , 79 , 130 , 51 , 82 , 133 , 52 , 88 , 138 , & 54 , 94 , 143 , 56 , 97 , 146 , 59 , 103 , 151 , 61 , 107 , 154 , & 66 , 113 , 158 , 69 , 117 , 161 , 75 , 123 , 165 , 81 , 129 , 169 , & 85 , 133 , 172 , 92 , 139 , 176 , 97 , 143 , 178 , 104 , 149 , 182 , & 109 , 152 , 184 , 117 , 158 , 188 , 125 , 164 , 191 , 131 , 167 , 193 , & 139 , 172 , 195 , 144 , 175 , 197 , 153 , 180 , 198 , 158 , 182 , 199 , & 166 , 186 , 200 , 174 , 189 , 200 , 179 , 191 , 200 , 186 , 193 , 199 , & 190 , 194 , 198 , 196 , 194 , 195 , 200 , 195 , 193 , 205 , 194 , 190 , & 209 , 193 , 185 , 211 , 192 , 182 , 213 , 189 , 177 , 215 , 188 , 173 , & 216 , 184 , 168 , 217 , 181 , 161 , 217 , 178 , 157 , 217 , 174 , 151 , & 217 , 171 , 146 , 216 , 166 , 139 , 215 , 163 , 135 , 213 , 158 , 128 , & 212 , 152 , 121 , 210 , 149 , 116 , 208 , 143 , 109 , 206 , 139 , 104 , & 203 , 134 , 97 , 200 , 130 , 93 , 197 , 124 , 86 , 193 , 117 , 79 , & 190 , 113 , 75 , 186 , 106 , 69 , 183 , 102 , 65 , 178 , 95 , 59 , & 174 , 91 , 55 , 169 , 84 , 50 , 163 , 77 , 45 , 159 , 73 , 42 , & 153 , 67 , 39 , 149 , 62 , 37 , 143 , 57 , 34 , 140 , 53 , 33 , & 134 , 48 , 31 , 129 , 43 , 30 , 125 , 40 , 30 , 121 , 36 , 30 , & 118 , 34 , 31 , 114 , 31 , 31 , 110 , 28 , 32 , 107 , 26 , 33 , & 104 , 25 , 35 , 102 , 24 , 36 , 99 , 22 , 38 , 97 , 22 , 39 , & 94 , 21 , 42 , 91 , 21 , 44 , 90 , 21 , 46 , 87 , 22 , 49 , & 86 , 22 , 51 , 83 , 23 , 54 , 82 , 24 , 56 , 80 , 25 , 60 & ], shape ( vikO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: vikO25 = reshape ( [ & 79 , 26 , 61 , 71 , 33 , 75 , 63 , 44 , 91 , 56 , 59 , 110 , & 51 , 77 , 128 , 55 , 95 , 144 , 69 , 117 , 161 , 90 , 137 , 175 , & 117 , 158 , 188 , 147 , 177 , 197 , 174 , 189 , 200 , 198 , 195 , 194 , & 213 , 190 , 179 , 217 , 180 , 159 , 215 , 163 , 135 , 208 , 145 , 111 , & 197 , 124 , 86 , 181 , 100 , 63 , 163 , 77 , 45 , 141 , 55 , 33 , & 122 , 37 , 30 , 108 , 27 , 33 , 97 , 22 , 39 , 88 , 22 , 48 , & 80 , 25 , 60 & ], shape ( vikO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: vikO50 = reshape ( [ & 79 , 26 , 61 , 75 , 29 , 67 , 72 , 33 , 74 , 67 , 38 , 83 , & 63 , 44 , 91 , 60 , 50 , 99 , 56 , 57 , 108 , 53 , 65 , 116 , & 51 , 75 , 127 , 52 , 84 , 135 , 54 , 94 , 143 , 59 , 103 , 151 , & 66 , 113 , 158 , 77 , 125 , 166 , 87 , 135 , 173 , 99 , 145 , 180 , & 112 , 154 , 186 , 125 , 164 , 191 , 142 , 174 , 196 , 155 , 181 , 199 , & 169 , 187 , 200 , 181 , 192 , 200 , 192 , 194 , 197 , 203 , 194 , 191 , & 210 , 192 , 184 , 214 , 189 , 175 , 217 , 183 , 166 , 217 , 175 , 153 , & 216 , 168 , 141 , 214 , 160 , 130 , 211 , 151 , 118 , 207 , 141 , 107 , & 200 , 130 , 93 , 194 , 119 , 82 , 187 , 109 , 71 , 179 , 98 , 61 , & 170 , 86 , 51 , 159 , 73 , 42 , 149 , 62 , 37 , 140 , 53 , 33 , & 130 , 44 , 31 , 122 , 37 , 30 , 114 , 31 , 31 , 107 , 26 , 33 , & 102 , 24 , 36 , 97 , 22 , 39 , 92 , 21 , 43 , 87 , 22 , 49 , & 83 , 23 , 54 , 80 , 25 , 60 & ], shape ( vikO50 ), order = [ 2 , 1 ] ) end module scientific_colour_maps","tags":"","loc":"sourcefile/scientific_colour_maps.f90.html"},{"title":"example1.f90 – ForColormap","text":"This file depends on sourcefile~~example1.f90~~EfferentGraph sourcefile~example1.f90 example1.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 AliG (gha3mi) ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-10-26 ! Last modification: gha3mi 2024-01-06, vmagnin 2024-02-21 !------------------------------------------------------------------------------- !> This example demonstrates how ForImage can be used to import/export PPM files. program example1 use forcolormap use forcolormap_utils , only : test_colormap use forimage implicit none type ( Colormap ) :: custom_cmap type ( format_pnm ) :: ex1_colormap , ex1_colorbar ! Create ppm files call custom_cmap % load ( 'test_map_to_load.txt' , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colormap_ascii_test' , encoding = 'ascii' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_ascii_colorbar' , encoding = 'ascii' ) call custom_cmap % print () ! Import ascii ppm files call ex1_colormap % import_pnm ( 'a_loaded_colormap_ascii_test' , 'ppm' , 'ascii' ) call ex1_colorbar % import_pnm ( 'a_loaded_colormap_ascii_colorbar' , 'ppm' , 'ascii' ) ! Change colormap and colorbar colors ex1_colormap % pixels = ex1_colormap % pixels * ( 1.6 ) ex1_colorbar % pixels = ex1_colorbar % pixels * ( 1.6 ) ! Export binary ppm files call ex1_colormap % export_pnm ( 'a_loaded_colormap_binary_test_m' , 'binary' ) call ex1_colorbar % export_pnm ( 'a_loaded_colormap_binary_colorbar_m' , 'binary' ) ! Deallocate call ex1_colormap % finalize () call ex1_colorbar % finalize () end program example1","tags":"","loc":"sourcefile/example1.f90.html"},{"title":"matplotlib_colormaps.f90 – ForColormap","text":"This file depends on sourcefile~~matplotlib_colormaps.f90~~EfferentGraph sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~matplotlib_colormaps.f90~~AfferentGraph sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023, AliG (gha3mi) for the Fortran translation ! ! New matplotlib colormaps by Nathaniel J. Smith, Stefan van der Walt, ! and (in the case of viridis) Eric Firing, released under ! the CC0 license / public domain dedication. ! See http://creativecommons.org/publicdomain/zero/1.0/ ! and https://github.com/BIDS/colormap/blob/master/colormaps.py ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-10-30 ! Last modification: gha3mi 2023-10-30 !------------------------------------------------------------------------------- module matplotlib_colormaps use colormap_parameters , only : colormap_name_length implicit none private character ( * ), dimension ( * ), parameter , public :: matplotlib_colormaps_list = & [ character ( colormap_name_length ) :: & \"magma\" , \"inferno\" , \"plasma\" , \"viridis\" ] integer , dimension ( 0 : 255 , 1 : 3 ), public :: magma = reshape ( [ & 0 , 0 , 4 ,& 1 , 0 , 5 ,& 1 , 1 , 6 ,& 1 , 1 , 8 ,& 2 , 1 , 9 ,& 2 , 2 , 11 ,& 2 , 2 , 13 ,& 3 , 3 , 15 ,& 3 , 3 , 18 ,& 4 , 4 , 20 ,& 5 , 4 , 22 ,& 6 , 5 , 24 ,& 6 , 5 , 26 ,& 7 , 6 , 28 ,& 8 , 7 , 30 ,& 9 , 7 , 32 ,& 10 , 8 , 34 ,& 11 , 9 , 36 ,& 12 , 9 , 38 ,& 13 , 10 , 41 ,& 14 , 11 , 43 ,& 16 , 11 , 45 ,& 17 , 12 , 47 ,& 18 , 13 , 49 ,& 19 , 13 , 52 ,& 20 , 14 , 54 ,& 21 , 14 , 56 ,& 22 , 15 , 59 ,& 24 , 15 , 61 ,& 25 , 16 , 63 ,& 26 , 16 , 66 ,& 28 , 16 , 68 ,& 29 , 17 , 71 ,& 30 , 17 , 73 ,& 32 , 17 , 75 ,& 33 , 17 , 78 ,& 34 , 17 , 80 ,& 36 , 18 , 83 ,& 37 , 18 , 85 ,& 39 , 18 , 88 ,& 41 , 17 , 90 ,& 42 , 17 , 92 ,& 44 , 17 , 95 ,& 45 , 17 , 97 ,& 47 , 17 , 99 ,& 49 , 17 , 101 ,& 51 , 16 , 103 ,& 52 , 16 , 105 ,& 54 , 16 , 107 ,& 56 , 16 , 108 ,& 57 , 15 , 110 ,& 59 , 15 , 112 ,& 61 , 15 , 113 ,& 63 , 15 , 114 ,& 64 , 15 , 116 ,& 66 , 15 , 117 ,& 68 , 15 , 118 ,& 69 , 16 , 119 ,& 71 , 16 , 120 ,& 73 , 16 , 120 ,& 74 , 16 , 121 ,& 76 , 17 , 122 ,& 78 , 17 , 123 ,& 79 , 18 , 123 ,& 81 , 18 , 124 ,& 82 , 19 , 124 ,& 84 , 19 , 125 ,& 86 , 20 , 125 ,& 87 , 21 , 126 ,& 89 , 21 , 126 ,& 90 , 22 , 126 ,& 92 , 22 , 127 ,& 93 , 23 , 127 ,& 95 , 24 , 127 ,& 96 , 24 , 128 ,& 98 , 25 , 128 ,& 100 , 26 , 128 ,& 101 , 26 , 128 ,& 103 , 27 , 128 ,& 104 , 28 , 129 ,& 106 , 28 , 129 ,& 107 , 29 , 129 ,& 109 , 29 , 129 ,& 110 , 30 , 129 ,& 112 , 31 , 129 ,& 114 , 31 , 129 ,& 115 , 32 , 129 ,& 117 , 33 , 129 ,& 118 , 33 , 129 ,& 120 , 34 , 129 ,& 121 , 34 , 130 ,& 123 , 35 , 130 ,& 124 , 35 , 130 ,& 126 , 36 , 130 ,& 128 , 37 , 130 ,& 129 , 37 , 129 ,& 131 , 38 , 129 ,& 132 , 38 , 129 ,& 134 , 39 , 129 ,& 136 , 39 , 129 ,& 137 , 40 , 129 ,& 139 , 41 , 129 ,& 140 , 41 , 129 ,& 142 , 42 , 129 ,& 144 , 42 , 129 ,& 145 , 43 , 129 ,& 147 , 43 , 128 ,& 148 , 44 , 128 ,& 150 , 44 , 128 ,& 152 , 45 , 128 ,& 153 , 45 , 128 ,& 155 , 46 , 127 ,& 156 , 46 , 127 ,& 158 , 47 , 127 ,& 160 , 47 , 127 ,& 161 , 48 , 126 ,& 163 , 48 , 126 ,& 165 , 49 , 126 ,& 166 , 49 , 125 ,& 168 , 50 , 125 ,& 170 , 51 , 125 ,& 171 , 51 , 124 ,& 173 , 52 , 124 ,& 174 , 52 , 123 ,& 176 , 53 , 123 ,& 178 , 53 , 123 ,& 179 , 54 , 122 ,& 181 , 54 , 122 ,& 183 , 55 , 121 ,& 184 , 55 , 121 ,& 186 , 56 , 120 ,& 188 , 57 , 120 ,& 189 , 57 , 119 ,& 191 , 58 , 119 ,& 192 , 58 , 118 ,& 194 , 59 , 117 ,& 196 , 60 , 117 ,& 197 , 60 , 116 ,& 199 , 61 , 115 ,& 200 , 62 , 115 ,& 202 , 62 , 114 ,& 204 , 63 , 113 ,& 205 , 64 , 113 ,& 207 , 64 , 112 ,& 208 , 65 , 111 ,& 210 , 66 , 111 ,& 211 , 67 , 110 ,& 213 , 68 , 109 ,& 214 , 69 , 108 ,& 216 , 69 , 108 ,& 217 , 70 , 107 ,& 219 , 71 , 106 ,& 220 , 72 , 105 ,& 222 , 73 , 104 ,& 223 , 74 , 104 ,& 224 , 76 , 103 ,& 226 , 77 , 102 ,& 227 , 78 , 101 ,& 228 , 79 , 100 ,& 229 , 80 , 100 ,& 231 , 82 , 99 ,& 232 , 83 , 98 ,& 233 , 84 , 98 ,& 234 , 86 , 97 ,& 235 , 87 , 96 ,& 236 , 88 , 96 ,& 237 , 90 , 95 ,& 238 , 91 , 94 ,& 239 , 93 , 94 ,& 240 , 95 , 94 ,& 241 , 96 , 93 ,& 242 , 98 , 93 ,& 242 , 100 , 92 ,& 243 , 101 , 92 ,& 244 , 103 , 92 ,& 244 , 105 , 92 ,& 245 , 107 , 92 ,& 246 , 108 , 92 ,& 246 , 110 , 92 ,& 247 , 112 , 92 ,& 247 , 114 , 92 ,& 248 , 116 , 92 ,& 248 , 118 , 92 ,& 249 , 120 , 93 ,& 249 , 121 , 93 ,& 249 , 123 , 93 ,& 250 , 125 , 94 ,& 250 , 127 , 94 ,& 250 , 129 , 95 ,& 251 , 131 , 95 ,& 251 , 133 , 96 ,& 251 , 135 , 97 ,& 252 , 137 , 97 ,& 252 , 138 , 98 ,& 252 , 140 , 99 ,& 252 , 142 , 100 ,& 252 , 144 , 101 ,& 253 , 146 , 102 ,& 253 , 148 , 103 ,& 253 , 150 , 104 ,& 253 , 152 , 105 ,& 253 , 154 , 106 ,& 253 , 155 , 107 ,& 254 , 157 , 108 ,& 254 , 159 , 109 ,& 254 , 161 , 110 ,& 254 , 163 , 111 ,& 254 , 165 , 113 ,& 254 , 167 , 114 ,& 254 , 169 , 115 ,& 254 , 170 , 116 ,& 254 , 172 , 118 ,& 254 , 174 , 119 ,& 254 , 176 , 120 ,& 254 , 178 , 122 ,& 254 , 180 , 123 ,& 254 , 182 , 124 ,& 254 , 183 , 126 ,& 254 , 185 , 127 ,& 254 , 187 , 129 ,& 254 , 189 , 130 ,& 254 , 191 , 132 ,& 254 , 193 , 133 ,& 254 , 194 , 135 ,& 254 , 196 , 136 ,& 254 , 198 , 138 ,& 254 , 200 , 140 ,& 254 , 202 , 141 ,& 254 , 204 , 143 ,& 254 , 205 , 144 ,& 254 , 207 , 146 ,& 254 , 209 , 148 ,& 254 , 211 , 149 ,& 254 , 213 , 151 ,& 254 , 215 , 153 ,& 254 , 216 , 154 ,& 253 , 218 , 156 ,& 253 , 220 , 158 ,& 253 , 222 , 160 ,& 253 , 224 , 161 ,& 253 , 226 , 163 ,& 253 , 227 , 165 ,& 253 , 229 , 167 ,& 253 , 231 , 169 ,& 253 , 233 , 170 ,& 253 , 235 , 172 ,& 252 , 236 , 174 ,& 252 , 238 , 176 ,& 252 , 240 , 178 ,& 252 , 242 , 180 ,& 252 , 244 , 182 ,& 252 , 246 , 184 ,& 252 , 247 , 185 ,& 252 , 249 , 187 ,& 252 , 251 , 189 ,& 252 , 253 , 191 & ], shape ( magma ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: inferno = reshape ( [ & 0 , 0 , 4 ,& 1 , 0 , 5 ,& 1 , 1 , 6 ,& 1 , 1 , 8 ,& 2 , 1 , 10 ,& 2 , 2 , 12 ,& 2 , 2 , 14 ,& 3 , 2 , 16 ,& 4 , 3 , 18 ,& 4 , 3 , 20 ,& 5 , 4 , 23 ,& 6 , 4 , 25 ,& 7 , 5 , 27 ,& 8 , 5 , 29 ,& 9 , 6 , 31 ,& 10 , 7 , 34 ,& 11 , 7 , 36 ,& 12 , 8 , 38 ,& 13 , 8 , 41 ,& 14 , 9 , 43 ,& 16 , 9 , 45 ,& 17 , 10 , 48 ,& 18 , 10 , 50 ,& 20 , 11 , 52 ,& 21 , 11 , 55 ,& 22 , 11 , 57 ,& 24 , 12 , 60 ,& 25 , 12 , 62 ,& 27 , 12 , 65 ,& 28 , 12 , 67 ,& 30 , 12 , 69 ,& 31 , 12 , 72 ,& 33 , 12 , 74 ,& 35 , 12 , 76 ,& 36 , 12 , 79 ,& 38 , 12 , 81 ,& 40 , 11 , 83 ,& 41 , 11 , 85 ,& 43 , 11 , 87 ,& 45 , 11 , 89 ,& 47 , 10 , 91 ,& 49 , 10 , 92 ,& 50 , 10 , 94 ,& 52 , 10 , 95 ,& 54 , 9 , 97 ,& 56 , 9 , 98 ,& 57 , 9 , 99 ,& 59 , 9 , 100 ,& 61 , 9 , 101 ,& 62 , 9 , 102 ,& 64 , 10 , 103 ,& 66 , 10 , 104 ,& 68 , 10 , 104 ,& 69 , 10 , 105 ,& 71 , 11 , 106 ,& 73 , 11 , 106 ,& 74 , 12 , 107 ,& 76 , 12 , 107 ,& 77 , 13 , 108 ,& 79 , 13 , 108 ,& 81 , 14 , 108 ,& 82 , 14 , 109 ,& 84 , 15 , 109 ,& 85 , 15 , 109 ,& 87 , 16 , 110 ,& 89 , 16 , 110 ,& 90 , 17 , 110 ,& 92 , 18 , 110 ,& 93 , 18 , 110 ,& 95 , 19 , 110 ,& 97 , 19 , 110 ,& 98 , 20 , 110 ,& 100 , 21 , 110 ,& 101 , 21 , 110 ,& 103 , 22 , 110 ,& 105 , 22 , 110 ,& 106 , 23 , 110 ,& 108 , 24 , 110 ,& 109 , 24 , 110 ,& 111 , 25 , 110 ,& 113 , 25 , 110 ,& 114 , 26 , 110 ,& 116 , 26 , 110 ,& 117 , 27 , 110 ,& 119 , 28 , 109 ,& 120 , 28 , 109 ,& 122 , 29 , 109 ,& 124 , 29 , 109 ,& 125 , 30 , 109 ,& 127 , 30 , 108 ,& 128 , 31 , 108 ,& 130 , 32 , 108 ,& 132 , 32 , 107 ,& 133 , 33 , 107 ,& 135 , 33 , 107 ,& 136 , 34 , 106 ,& 138 , 34 , 106 ,& 140 , 35 , 105 ,& 141 , 35 , 105 ,& 143 , 36 , 105 ,& 144 , 37 , 104 ,& 146 , 37 , 104 ,& 147 , 38 , 103 ,& 149 , 38 , 103 ,& 151 , 39 , 102 ,& 152 , 39 , 102 ,& 154 , 40 , 101 ,& 155 , 41 , 100 ,& 157 , 41 , 100 ,& 159 , 42 , 99 ,& 160 , 42 , 99 ,& 162 , 43 , 98 ,& 163 , 44 , 97 ,& 165 , 44 , 96 ,& 166 , 45 , 96 ,& 168 , 46 , 95 ,& 169 , 46 , 94 ,& 171 , 47 , 94 ,& 173 , 48 , 93 ,& 174 , 48 , 92 ,& 176 , 49 , 91 ,& 177 , 50 , 90 ,& 179 , 50 , 90 ,& 180 , 51 , 89 ,& 182 , 52 , 88 ,& 183 , 53 , 87 ,& 185 , 53 , 86 ,& 186 , 54 , 85 ,& 188 , 55 , 84 ,& 189 , 56 , 83 ,& 191 , 57 , 82 ,& 192 , 58 , 81 ,& 193 , 58 , 80 ,& 195 , 59 , 79 ,& 196 , 60 , 78 ,& 198 , 61 , 77 ,& 199 , 62 , 76 ,& 200 , 63 , 75 ,& 202 , 64 , 74 ,& 203 , 65 , 73 ,& 204 , 66 , 72 ,& 206 , 67 , 71 ,& 207 , 68 , 70 ,& 208 , 69 , 69 ,& 210 , 70 , 68 ,& 211 , 71 , 67 ,& 212 , 72 , 66 ,& 213 , 74 , 65 ,& 215 , 75 , 63 ,& 216 , 76 , 62 ,& 217 , 77 , 61 ,& 218 , 78 , 60 ,& 219 , 80 , 59 ,& 221 , 81 , 58 ,& 222 , 82 , 56 ,& 223 , 83 , 55 ,& 224 , 85 , 54 ,& 225 , 86 , 53 ,& 226 , 87 , 52 ,& 227 , 89 , 51 ,& 228 , 90 , 49 ,& 229 , 92 , 48 ,& 230 , 93 , 47 ,& 231 , 94 , 46 ,& 232 , 96 , 45 ,& 233 , 97 , 43 ,& 234 , 99 , 42 ,& 235 , 100 , 41 ,& 235 , 102 , 40 ,& 236 , 103 , 38 ,& 237 , 105 , 37 ,& 238 , 106 , 36 ,& 239 , 108 , 35 ,& 239 , 110 , 33 ,& 240 , 111 , 32 ,& 241 , 113 , 31 ,& 241 , 115 , 29 ,& 242 , 116 , 28 ,& 243 , 118 , 27 ,& 243 , 120 , 25 ,& 244 , 121 , 24 ,& 245 , 123 , 23 ,& 245 , 125 , 21 ,& 246 , 126 , 20 ,& 246 , 128 , 19 ,& 247 , 130 , 18 ,& 247 , 132 , 16 ,& 248 , 133 , 15 ,& 248 , 135 , 14 ,& 248 , 137 , 12 ,& 249 , 139 , 11 ,& 249 , 140 , 10 ,& 249 , 142 , 9 ,& 250 , 144 , 8 ,& 250 , 146 , 7 ,& 250 , 148 , 7 ,& 251 , 150 , 6 ,& 251 , 151 , 6 ,& 251 , 153 , 6 ,& 251 , 155 , 6 ,& 251 , 157 , 7 ,& 252 , 159 , 7 ,& 252 , 161 , 8 ,& 252 , 163 , 9 ,& 252 , 165 , 10 ,& 252 , 166 , 12 ,& 252 , 168 , 13 ,& 252 , 170 , 15 ,& 252 , 172 , 17 ,& 252 , 174 , 18 ,& 252 , 176 , 20 ,& 252 , 178 , 22 ,& 252 , 180 , 24 ,& 251 , 182 , 26 ,& 251 , 184 , 29 ,& 251 , 186 , 31 ,& 251 , 188 , 33 ,& 251 , 190 , 35 ,& 250 , 192 , 38 ,& 250 , 194 , 40 ,& 250 , 196 , 42 ,& 250 , 198 , 45 ,& 249 , 199 , 47 ,& 249 , 201 , 50 ,& 249 , 203 , 53 ,& 248 , 205 , 55 ,& 248 , 207 , 58 ,& 247 , 209 , 61 ,& 247 , 211 , 64 ,& 246 , 213 , 67 ,& 246 , 215 , 70 ,& 245 , 217 , 73 ,& 245 , 219 , 76 ,& 244 , 221 , 79 ,& 244 , 223 , 83 ,& 244 , 225 , 86 ,& 243 , 227 , 90 ,& 243 , 229 , 93 ,& 242 , 230 , 97 ,& 242 , 232 , 101 ,& 242 , 234 , 105 ,& 241 , 236 , 109 ,& 241 , 237 , 113 ,& 241 , 239 , 117 ,& 241 , 241 , 121 ,& 242 , 242 , 125 ,& 242 , 244 , 130 ,& 243 , 245 , 134 ,& 243 , 246 , 138 ,& 244 , 248 , 142 ,& 245 , 249 , 146 ,& 246 , 250 , 150 ,& 248 , 251 , 154 ,& 249 , 252 , 157 ,& 250 , 253 , 161 ,& 252 , 255 , 164 & ], shape ( inferno ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: plasma = reshape ( [ & 13 , 8 , 135 ,& 16 , 7 , 136 ,& 19 , 7 , 137 ,& 22 , 7 , 138 ,& 25 , 6 , 140 ,& 27 , 6 , 141 ,& 29 , 6 , 142 ,& 32 , 6 , 143 ,& 34 , 6 , 144 ,& 36 , 6 , 145 ,& 38 , 5 , 145 ,& 40 , 5 , 146 ,& 42 , 5 , 147 ,& 44 , 5 , 148 ,& 46 , 5 , 149 ,& 47 , 5 , 150 ,& 49 , 5 , 151 ,& 51 , 5 , 151 ,& 53 , 4 , 152 ,& 55 , 4 , 153 ,& 56 , 4 , 154 ,& 58 , 4 , 154 ,& 60 , 4 , 155 ,& 62 , 4 , 156 ,& 63 , 4 , 156 ,& 65 , 4 , 157 ,& 67 , 3 , 158 ,& 68 , 3 , 158 ,& 70 , 3 , 159 ,& 72 , 3 , 159 ,& 73 , 3 , 160 ,& 75 , 3 , 161 ,& 76 , 2 , 161 ,& 78 , 2 , 162 ,& 80 , 2 , 162 ,& 81 , 2 , 163 ,& 83 , 2 , 163 ,& 85 , 2 , 164 ,& 86 , 1 , 164 ,& 88 , 1 , 164 ,& 89 , 1 , 165 ,& 91 , 1 , 165 ,& 92 , 1 , 166 ,& 94 , 1 , 166 ,& 96 , 1 , 166 ,& 97 , 0 , 167 ,& 99 , 0 , 167 ,& 100 , 0 , 167 ,& 102 , 0 , 167 ,& 103 , 0 , 168 ,& 105 , 0 , 168 ,& 106 , 0 , 168 ,& 108 , 0 , 168 ,& 110 , 0 , 168 ,& 111 , 0 , 168 ,& 113 , 0 , 168 ,& 114 , 1 , 168 ,& 116 , 1 , 168 ,& 117 , 1 , 168 ,& 119 , 1 , 168 ,& 120 , 1 , 168 ,& 122 , 2 , 168 ,& 123 , 2 , 168 ,& 125 , 3 , 168 ,& 126 , 3 , 168 ,& 128 , 4 , 168 ,& 129 , 4 , 167 ,& 131 , 5 , 167 ,& 132 , 5 , 167 ,& 134 , 6 , 166 ,& 135 , 7 , 166 ,& 136 , 8 , 166 ,& 138 , 9 , 165 ,& 139 , 10 , 165 ,& 141 , 11 , 165 ,& 142 , 12 , 164 ,& 143 , 13 , 164 ,& 145 , 14 , 163 ,& 146 , 15 , 163 ,& 148 , 16 , 162 ,& 149 , 17 , 161 ,& 150 , 19 , 161 ,& 152 , 20 , 160 ,& 153 , 21 , 159 ,& 154 , 22 , 159 ,& 156 , 23 , 158 ,& 157 , 24 , 157 ,& 158 , 25 , 157 ,& 160 , 26 , 156 ,& 161 , 27 , 155 ,& 162 , 29 , 154 ,& 163 , 30 , 154 ,& 165 , 31 , 153 ,& 166 , 32 , 152 ,& 167 , 33 , 151 ,& 168 , 34 , 150 ,& 170 , 35 , 149 ,& 171 , 36 , 148 ,& 172 , 38 , 148 ,& 173 , 39 , 147 ,& 174 , 40 , 146 ,& 176 , 41 , 145 ,& 177 , 42 , 144 ,& 178 , 43 , 143 ,& 179 , 44 , 142 ,& 180 , 46 , 141 ,& 181 , 47 , 140 ,& 182 , 48 , 139 ,& 183 , 49 , 138 ,& 184 , 50 , 137 ,& 186 , 51 , 136 ,& 187 , 52 , 136 ,& 188 , 53 , 135 ,& 189 , 55 , 134 ,& 190 , 56 , 133 ,& 191 , 57 , 132 ,& 192 , 58 , 131 ,& 193 , 59 , 130 ,& 194 , 60 , 129 ,& 195 , 61 , 128 ,& 196 , 62 , 127 ,& 197 , 64 , 126 ,& 198 , 65 , 125 ,& 199 , 66 , 124 ,& 200 , 67 , 123 ,& 201 , 68 , 122 ,& 202 , 69 , 122 ,& 203 , 70 , 121 ,& 204 , 71 , 120 ,& 204 , 73 , 119 ,& 205 , 74 , 118 ,& 206 , 75 , 117 ,& 207 , 76 , 116 ,& 208 , 77 , 115 ,& 209 , 78 , 114 ,& 210 , 79 , 113 ,& 211 , 81 , 113 ,& 212 , 82 , 112 ,& 213 , 83 , 111 ,& 213 , 84 , 110 ,& 214 , 85 , 109 ,& 215 , 86 , 108 ,& 216 , 87 , 107 ,& 217 , 88 , 106 ,& 218 , 90 , 106 ,& 218 , 91 , 105 ,& 219 , 92 , 104 ,& 220 , 93 , 103 ,& 221 , 94 , 102 ,& 222 , 95 , 101 ,& 222 , 97 , 100 ,& 223 , 98 , 99 ,& 224 , 99 , 99 ,& 225 , 100 , 98 ,& 226 , 101 , 97 ,& 226 , 102 , 96 ,& 227 , 104 , 95 ,& 228 , 105 , 94 ,& 229 , 106 , 93 ,& 229 , 107 , 93 ,& 230 , 108 , 92 ,& 231 , 110 , 91 ,& 231 , 111 , 90 ,& 232 , 112 , 89 ,& 233 , 113 , 88 ,& 233 , 114 , 87 ,& 234 , 116 , 87 ,& 235 , 117 , 86 ,& 235 , 118 , 85 ,& 236 , 119 , 84 ,& 237 , 121 , 83 ,& 237 , 122 , 82 ,& 238 , 123 , 81 ,& 239 , 124 , 81 ,& 239 , 126 , 80 ,& 240 , 127 , 79 ,& 240 , 128 , 78 ,& 241 , 129 , 77 ,& 241 , 131 , 76 ,& 242 , 132 , 75 ,& 243 , 133 , 75 ,& 243 , 135 , 74 ,& 244 , 136 , 73 ,& 244 , 137 , 72 ,& 245 , 139 , 71 ,& 245 , 140 , 70 ,& 246 , 141 , 69 ,& 246 , 143 , 68 ,& 247 , 144 , 68 ,& 247 , 145 , 67 ,& 247 , 147 , 66 ,& 248 , 148 , 65 ,& 248 , 149 , 64 ,& 249 , 151 , 63 ,& 249 , 152 , 62 ,& 249 , 154 , 62 ,& 250 , 155 , 61 ,& 250 , 156 , 60 ,& 250 , 158 , 59 ,& 251 , 159 , 58 ,& 251 , 161 , 57 ,& 251 , 162 , 56 ,& 252 , 163 , 56 ,& 252 , 165 , 55 ,& 252 , 166 , 54 ,& 252 , 168 , 53 ,& 252 , 169 , 52 ,& 253 , 171 , 51 ,& 253 , 172 , 51 ,& 253 , 174 , 50 ,& 253 , 175 , 49 ,& 253 , 177 , 48 ,& 253 , 178 , 47 ,& 253 , 180 , 47 ,& 253 , 181 , 46 ,& 254 , 183 , 45 ,& 254 , 184 , 44 ,& 254 , 186 , 44 ,& 254 , 187 , 43 ,& 254 , 189 , 42 ,& 254 , 190 , 42 ,& 254 , 192 , 41 ,& 253 , 194 , 41 ,& 253 , 195 , 40 ,& 253 , 197 , 39 ,& 253 , 198 , 39 ,& 253 , 200 , 39 ,& 253 , 202 , 38 ,& 253 , 203 , 38 ,& 252 , 205 , 37 ,& 252 , 206 , 37 ,& 252 , 208 , 37 ,& 252 , 210 , 37 ,& 251 , 211 , 36 ,& 251 , 213 , 36 ,& 251 , 215 , 36 ,& 250 , 216 , 36 ,& 250 , 218 , 36 ,& 249 , 220 , 36 ,& 249 , 221 , 37 ,& 248 , 223 , 37 ,& 248 , 225 , 37 ,& 247 , 226 , 37 ,& 247 , 228 , 37 ,& 246 , 230 , 38 ,& 246 , 232 , 38 ,& 245 , 233 , 38 ,& 245 , 235 , 39 ,& 244 , 237 , 39 ,& 243 , 238 , 39 ,& 243 , 240 , 39 ,& 242 , 242 , 39 ,& 241 , 244 , 38 ,& 241 , 245 , 37 ,& 240 , 247 , 36 ,& 240 , 249 , 33 & ], shape ( plasma ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: viridis = reshape ( [ & 68 , 1 , 84 ,& 68 , 2 , 86 ,& 69 , 4 , 87 ,& 69 , 5 , 89 ,& 70 , 7 , 90 ,& 70 , 8 , 92 ,& 70 , 10 , 93 ,& 70 , 11 , 94 ,& 71 , 13 , 96 ,& 71 , 14 , 97 ,& 71 , 16 , 99 ,& 71 , 17 , 100 ,& 71 , 19 , 101 ,& 72 , 20 , 103 ,& 72 , 22 , 104 ,& 72 , 23 , 105 ,& 72 , 24 , 106 ,& 72 , 26 , 108 ,& 72 , 27 , 109 ,& 72 , 28 , 110 ,& 72 , 29 , 111 ,& 72 , 31 , 112 ,& 72 , 32 , 113 ,& 72 , 33 , 115 ,& 72 , 35 , 116 ,& 72 , 36 , 117 ,& 72 , 37 , 118 ,& 72 , 38 , 119 ,& 72 , 40 , 120 ,& 72 , 41 , 121 ,& 71 , 42 , 122 ,& 71 , 44 , 122 ,& 71 , 45 , 123 ,& 71 , 46 , 124 ,& 71 , 47 , 125 ,& 70 , 48 , 126 ,& 70 , 50 , 126 ,& 70 , 51 , 127 ,& 70 , 52 , 128 ,& 69 , 53 , 129 ,& 69 , 55 , 129 ,& 69 , 56 , 130 ,& 68 , 57 , 131 ,& 68 , 58 , 131 ,& 68 , 59 , 132 ,& 67 , 61 , 132 ,& 67 , 62 , 133 ,& 66 , 63 , 133 ,& 66 , 64 , 134 ,& 66 , 65 , 134 ,& 65 , 66 , 135 ,& 65 , 68 , 135 ,& 64 , 69 , 136 ,& 64 , 70 , 136 ,& 63 , 71 , 136 ,& 63 , 72 , 137 ,& 62 , 73 , 137 ,& 62 , 74 , 137 ,& 62 , 76 , 138 ,& 61 , 77 , 138 ,& 61 , 78 , 138 ,& 60 , 79 , 138 ,& 60 , 80 , 139 ,& 59 , 81 , 139 ,& 59 , 82 , 139 ,& 58 , 83 , 139 ,& 58 , 84 , 140 ,& 57 , 85 , 140 ,& 57 , 86 , 140 ,& 56 , 88 , 140 ,& 56 , 89 , 140 ,& 55 , 90 , 140 ,& 55 , 91 , 141 ,& 54 , 92 , 141 ,& 54 , 93 , 141 ,& 53 , 94 , 141 ,& 53 , 95 , 141 ,& 52 , 96 , 141 ,& 52 , 97 , 141 ,& 51 , 98 , 141 ,& 51 , 99 , 141 ,& 50 , 100 , 142 ,& 50 , 101 , 142 ,& 49 , 102 , 142 ,& 49 , 103 , 142 ,& 49 , 104 , 142 ,& 48 , 105 , 142 ,& 48 , 106 , 142 ,& 47 , 107 , 142 ,& 47 , 108 , 142 ,& 46 , 109 , 142 ,& 46 , 110 , 142 ,& 46 , 111 , 142 ,& 45 , 112 , 142 ,& 45 , 113 , 142 ,& 44 , 113 , 142 ,& 44 , 114 , 142 ,& 44 , 115 , 142 ,& 43 , 116 , 142 ,& 43 , 117 , 142 ,& 42 , 118 , 142 ,& 42 , 119 , 142 ,& 42 , 120 , 142 ,& 41 , 121 , 142 ,& 41 , 122 , 142 ,& 41 , 123 , 142 ,& 40 , 124 , 142 ,& 40 , 125 , 142 ,& 39 , 126 , 142 ,& 39 , 127 , 142 ,& 39 , 128 , 142 ,& 38 , 129 , 142 ,& 38 , 130 , 142 ,& 38 , 130 , 142 ,& 37 , 131 , 142 ,& 37 , 132 , 142 ,& 37 , 133 , 142 ,& 36 , 134 , 142 ,& 36 , 135 , 142 ,& 35 , 136 , 142 ,& 35 , 137 , 142 ,& 35 , 138 , 141 ,& 34 , 139 , 141 ,& 34 , 140 , 141 ,& 34 , 141 , 141 ,& 33 , 142 , 141 ,& 33 , 143 , 141 ,& 33 , 144 , 141 ,& 33 , 145 , 140 ,& 32 , 146 , 140 ,& 32 , 146 , 140 ,& 32 , 147 , 140 ,& 31 , 148 , 140 ,& 31 , 149 , 139 ,& 31 , 150 , 139 ,& 31 , 151 , 139 ,& 31 , 152 , 139 ,& 31 , 153 , 138 ,& 31 , 154 , 138 ,& 30 , 155 , 138 ,& 30 , 156 , 137 ,& 30 , 157 , 137 ,& 31 , 158 , 137 ,& 31 , 159 , 136 ,& 31 , 160 , 136 ,& 31 , 161 , 136 ,& 31 , 161 , 135 ,& 31 , 162 , 135 ,& 32 , 163 , 134 ,& 32 , 164 , 134 ,& 33 , 165 , 133 ,& 33 , 166 , 133 ,& 34 , 167 , 133 ,& 34 , 168 , 132 ,& 35 , 169 , 131 ,& 36 , 170 , 131 ,& 37 , 171 , 130 ,& 37 , 172 , 130 ,& 38 , 173 , 129 ,& 39 , 173 , 129 ,& 40 , 174 , 128 ,& 41 , 175 , 127 ,& 42 , 176 , 127 ,& 44 , 177 , 126 ,& 45 , 178 , 125 ,& 46 , 179 , 124 ,& 47 , 180 , 124 ,& 49 , 181 , 123 ,& 50 , 182 , 122 ,& 52 , 182 , 121 ,& 53 , 183 , 121 ,& 55 , 184 , 120 ,& 56 , 185 , 119 ,& 58 , 186 , 118 ,& 59 , 187 , 117 ,& 61 , 188 , 116 ,& 63 , 188 , 115 ,& 64 , 189 , 114 ,& 66 , 190 , 113 ,& 68 , 191 , 112 ,& 70 , 192 , 111 ,& 72 , 193 , 110 ,& 74 , 193 , 109 ,& 76 , 194 , 108 ,& 78 , 195 , 107 ,& 80 , 196 , 106 ,& 82 , 197 , 105 ,& 84 , 197 , 104 ,& 86 , 198 , 103 ,& 88 , 199 , 101 ,& 90 , 200 , 100 ,& 92 , 200 , 99 ,& 94 , 201 , 98 ,& 96 , 202 , 96 ,& 99 , 203 , 95 ,& 101 , 203 , 94 ,& 103 , 204 , 92 ,& 105 , 205 , 91 ,& 108 , 205 , 90 ,& 110 , 206 , 88 ,& 112 , 207 , 87 ,& 115 , 208 , 86 ,& 117 , 208 , 84 ,& 119 , 209 , 83 ,& 122 , 209 , 81 ,& 124 , 210 , 80 ,& 127 , 211 , 78 ,& 129 , 211 , 77 ,& 132 , 212 , 75 ,& 134 , 213 , 73 ,& 137 , 213 , 72 ,& 139 , 214 , 70 ,& 142 , 214 , 69 ,& 144 , 215 , 67 ,& 147 , 215 , 65 ,& 149 , 216 , 64 ,& 152 , 216 , 62 ,& 155 , 217 , 60 ,& 157 , 217 , 59 ,& 160 , 218 , 57 ,& 162 , 218 , 55 ,& 165 , 219 , 54 ,& 168 , 219 , 52 ,& 170 , 220 , 50 ,& 173 , 220 , 48 ,& 176 , 221 , 47 ,& 178 , 221 , 45 ,& 181 , 222 , 43 ,& 184 , 222 , 41 ,& 186 , 222 , 40 ,& 189 , 223 , 38 ,& 192 , 223 , 37 ,& 194 , 223 , 35 ,& 197 , 224 , 33 ,& 200 , 224 , 32 ,& 202 , 225 , 31 ,& 205 , 225 , 29 ,& 208 , 225 , 28 ,& 210 , 226 , 27 ,& 213 , 226 , 26 ,& 216 , 226 , 25 ,& 218 , 227 , 25 ,& 221 , 227 , 24 ,& 223 , 227 , 24 ,& 226 , 228 , 24 ,& 229 , 228 , 25 ,& 231 , 228 , 25 ,& 234 , 229 , 26 ,& 236 , 229 , 27 ,& 239 , 229 , 28 ,& 241 , 229 , 29 ,& 244 , 230 , 30 ,& 246 , 230 , 32 ,& 248 , 230 , 33 ,& 251 , 231 , 35 ,& 253 , 231 , 37 & ], shape ( viridis ), order = [ 2 , 1 ] ) end module matplotlib_colormaps","tags":"","loc":"sourcefile/matplotlib_colormaps.f90.html"},{"title":"demo.f90 – ForColormap","text":"This file depends on sourcefile~~demo.f90~~EfferentGraph sourcefile~demo.f90 demo.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023-2024 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modification: gha3mi 2024-01-28, vmagnin 2024-02-22 !------------------------------------------------------------------------------- program demo use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap integer , allocatable :: colors (:,:) ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp ) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ]) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap ) call custom_cmap % colorbar ( 'discrete_colorbar' ) call test_colormap ( custom_cmap , 'discrete_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_test' ) call custom_cmap % print () end program demo","tags":"","loc":"sourcefile/demo.f90.html"},{"title":"demo_reverse.f90 – ForColormap","text":"This file depends on sourcefile~~demo_reverse.f90~~EfferentGraph sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023-2024 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modification: gha3mi 2023-11-01, vmagnin 2024-02-22 !------------------------------------------------------------------------------- program demo_reverse use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp , reverse = . true .) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_reverse_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_reverse_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ], reverse = . true .) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_reverse_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_reverse_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap , reverse = . true .) call custom_cmap % colorbar ( 'discrete_reverse_colorbar' ) call test_colormap ( custom_cmap , 'discrete_reverse_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp , reverse = . true .) call custom_cmap % colorbar ( 'a_loaded_reverse_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_reverse_colormap_test' ) call custom_cmap % print () end program demo_reverse","tags":"","loc":"sourcefile/demo_reverse.f90.html"},{"title":"colormaps_info.f90 – ForColormap","text":"This file depends on sourcefile~~colormaps_info.f90~~EfferentGraph sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~colormaps_info.f90~~AfferentGraph sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~colormaps_list.f90 colormaps_list.f90 sourcefile~colormaps_list.f90->sourcefile~colormaps_info.f90 sourcefile~info.f90 info.f90 sourcefile~info.f90->sourcefile~colormaps_info.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-05 ! Last modification: gha3mi 2024-02-16, vmagnin 2024-02-16 !------------------------------------------------------------------------------- module forcolormap_info use colormap_parameters , only : colormap_name_length implicit none private public :: Colormaps_info ! Define a derived type named 'table' to store information about a colormap type :: table character ( len = :), allocatable , private :: name ! Name of the colormap character ( len = :), allocatable , private :: family ! Family or category of the colormap character ( len = :), allocatable , private :: gradient ! Type of gradient used in the colormap character ( len = :), allocatable , private :: palette ! Palette used in the colormap character ( len = :), allocatable , private :: colorbar ! Colorbar style associated with the colormap character ( len = :), allocatable , private :: package ! Package or library associated with the colormap character ( len = :), allocatable , private :: author ! Author of the colormap character ( len = :), allocatable , private :: license ! License information for the colormap character ( len = :), allocatable , private :: url ! URL or web link to the colormap information integer , private :: levels ! Number of discrete levels in the colormap contains procedure :: set_info ! Procedure to set information for the colormap procedure :: write_info ! Procedure to print information about the colormap procedure :: finalize => deallocate_table ! Procedure to finalize the derived type end type table ! Define a derived type named 'Colormaps_info' to store an array of 'table' type type :: Colormaps_info type ( table ), private :: colormaps ( 232 ) ! Array of 'table' type to store multiple colormaps contains procedure :: set_all ! Procedure to set information for all colormaps in the array procedure :: write ! Procedure to filter and write information about the colormaps procedure :: finalize => deallocate_Colormaps_info ! Procedure to finalize the derived type procedure :: get_ncolormaps ! Procedure to get the number of colormaps procedure :: get_name ! Procedure to get the name of a colormap procedure :: get_levels ! Procedure to get the number of levels in a colormap end type Colormaps_info contains pure elemental function get_ncolormaps ( this ) result ( ncolormaps ) class ( Colormaps_info ), intent ( in ) :: this integer :: ncolormaps ncolormaps = size ( this % colormaps ) end function get_ncolormaps pure elemental function get_name ( this , index ) result ( name ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index character ( colormap_name_length ) :: name name = trim ( this % colormaps ( index )% name ) end function get_name pure function get_levels ( this , index ) result ( levels ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index integer :: levels levels = this % colormaps ( index )% levels end function get_levels ! set information about the colormap pure elemental subroutine set_info ( this , package , family , name , gradient , palette , author , license , url , colorbar , levels ) class ( table ), intent ( inout ) :: this character ( * ), intent ( in ) :: package , family , name , gradient , palette , author , license , url , colorbar integer , intent ( in ) :: levels allocate ( this % package , source = trim ( package )) allocate ( this % family , source = trim ( family )) allocate ( this % name , source = trim ( name )) allocate ( this % gradient , source = trim ( gradient )) allocate ( this % palette , source = trim ( palette )) allocate ( this % author , source = trim ( author )) allocate ( this % license , source = trim ( license )) allocate ( this % url , source = trim ( url )) allocate ( this % colorbar , source = trim ( colorbar )) this % levels = levels end subroutine set_info ! print information about the colormap impure subroutine write_info ( this , verbose , file_name ) class ( table ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: file_name integer :: verbose_ , nunit character ( len = 256 ) :: format_table if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if select case ( verbose_ ) case ( 1 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a,' , 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar ,& '|' , this % package ,& '|' , this % author ,& '|' , this % license ,& '|' , this % url , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar ,& this % package ,& this % author ,& this % license ,& this % url end if case ( 2 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a,a)' ) 'Name : ' , this % name write ( nunit , '(a,a)' ) 'Family : ' , this % family write ( nunit , '(a,a)' ) 'Gradient: ' , this % gradient write ( nunit , '(a,a)' ) 'Palette : ' , this % palette write ( nunit , '(a,I4)' ) 'Levels : ' , this % levels write ( nunit , '(a,a)' ) 'Colorbar: ' , this % colorbar write ( nunit , '(a,a)' ) 'Package : ' , this % package write ( nunit , '(a,a)' ) 'Author : ' , this % author write ( nunit , '(a,a)' ) 'Licence : ' , this % license write ( nunit , '(a,a)' ) 'URL : ' , this % url write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a)' ) '' close ( nunit ) else print '(a)' , '' print '(a)' , '**********************************************' print '(a,a)' , 'Name : ' , this % name print '(a,a)' , 'Family : ' , this % family print '(a,a)' , 'Gradient: ' , this % gradient print '(a,a)' , 'Palette : ' , this % palette print '(a,I4)' , 'Levels : ' , this % levels print '(a,a)' , 'Colorbar: ' , this % colorbar print '(a,a)' , 'Package : ' , this % package print '(a,a)' , 'Author : ' , this % author print '(a,a)' , 'Licence : ' , this % license print '(a,a)' , 'URL : ' , this % url print '(a)' , '**********************************************' print '(a)' , '' end if case ( 3 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) this % name close ( nunit ) else print '(a)' , this % name end if case ( 4 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar end if end select end subroutine write_info ! filter the array of colormaps based on the given criteria and write information about the filtered colormaps impure subroutine write ( this , verbose , name , family , gradient , palette , author , license , levels , file_name ) class ( Colormaps_info ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: name , family , gradient , palette , author , license integer , intent ( in ), optional :: levels character ( * ), intent ( in ), optional :: file_name integer :: i , k , verbose_ , nunit integer :: ind ( this % get_ncolormaps (), 8 ) ! 1: index, 2: name, 3: family, 4: gradient, 5: palette, 6: author, 7: license, 8: levels integer , allocatable :: inter_ind (:) ! Set default values if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if ! Print header for verbose = 1 if ( verbose_ == 1 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar' , '|Package' , '|Author' , '|Licence' , '|URL|' write ( nunit , '(a)' ) '|---|---|---|---|---|---|---|---|---|---|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' , 'Package' , 'Author' , 'Licence' , 'URL' print '(a)' , '*****************************************************************************************& &*****************************************************************************************************& &**********************' end if end if ! Print header for verbose = 4 if ( verbose_ == 4 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,8x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar |' write ( nunit , '(a)' ) '|------------|------------|--------------------|--------------|-------|-------------------------|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' print '(a)' , '**************************************************************************************************' end if end if if ( present ( name ) . or .& present ( family ) . or .& present ( gradient ) . or .& present ( palette ) . or .& present ( author ) . or .& present ( license ) . or .& present ( levels )) then ind = 0 do i = 1 , this % get_ncolormaps () ind ( i , 1 ) = i end do if ( present ( name )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% name == name ) then ind ( k , 2 ) = i k = k + 1 end if end do end if if ( present ( family )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% family == family ) then ind ( k , 3 ) = i k = k + 1 end if end do end if if ( present ( gradient )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% gradient == gradient ) then ind ( k , 4 ) = i k = k + 1 end if end do end if if ( present ( palette )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% palette == palette ) then ind ( k , 5 ) = i k = k + 1 end if end do end if if ( present ( author )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% author == author ) then ind ( k , 6 ) = i k = k + 1 end if end do end if if ( present ( license )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% license == license ) then ind ( k , 7 ) = i k = k + 1 end if end do end if if ( present ( levels )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% levels == levels ) then ind ( k , 8 ) = i k = k + 1 end if end do end if inter_ind = findColumnIntersections ( ind (:,:)) do i = 1 , this % get_ncolormaps () do k = 1 , size ( inter_ind ) if ( inter_ind ( k ) == i ) then call this % colormaps ( i )% write_info ( verbose , file_name ) end if end do end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if else do i = 1 , this % get_ncolormaps () call this % colormaps ( i )% write_info ( verbose , file_name ) end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if end if end subroutine write ! set information for all colormaps pure elemental subroutine set_all ( this ) class ( Colormaps_info ), intent ( inout ) :: this integer :: i i = 1 call this % colormaps ( i )% set_info (& name = \"acton\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"acton_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton10\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"acton10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton25\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"acton25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton50\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"acton50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton100\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"acton100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"actonS\" ,& family = \"acton\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"actonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bam_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam10\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bam10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam100\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bam100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam25\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bam25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam50\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bam50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamako_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako10\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamako10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako100\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamako100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako25\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamako25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako50\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamako50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamakoS\" ,& family = \"bamako\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bamakoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO10\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO100\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO25\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO50\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowK_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowK10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowK100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowK25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowK50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowKS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowKS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowWS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"berlin_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin10\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"berlin10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin100\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"berlin100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin25\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"berlin25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin50\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"berlin50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bilbao_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao10\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bilbao10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao100\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bilbao100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao25\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bilbao25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao50\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bilbao50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbaoS\" ,& family = \"bilbao\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bilbaoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"broc_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"broc10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"broc100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"broc25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"broc50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO\" ,& family = \"broc\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"brocO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"brocO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"brocO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"brocO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"brocO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"buda_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda10\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"buda10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda100\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"buda100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda25\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"buda25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda50\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"buda50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"budaS\" ,& family = \"buda\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"budaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bukavu_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu10\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bukavu10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu100\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bukavu100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu25\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bukavu25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu50\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bukavu50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"cork_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"cork10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"cork100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"cork25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"cork50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO\" ,& family = \"cork\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"corkO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"corkO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"corkO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"corkO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"corkO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"davos_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos10\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"davos10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos100\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"davos100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos25\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"davos25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos50\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"davos50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davosS\" ,& family = \"davos\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"davosS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"devon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon10\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"devon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon100\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"devon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon25\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"devon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon50\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"devon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devonS\" ,& family = \"devon\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"devonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"fes_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes10\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"fes10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes100\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"fes100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes25\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"fes25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes50\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"fes50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"glasgow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow10\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"glasgow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow100\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"glasgow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow25\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"glasgow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow50\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"glasgow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgowS\" ,& family = \"glasgow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"glasgowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"grayC_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC10\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"grayC10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC100\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"grayC100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC25\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"grayC25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC50\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"grayC50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayCS\" ,& family = \"grayC\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"grayCS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"hawaii_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii10\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"hawaii10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii100\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"hawaii100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii25\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"hawaii25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii50\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"hawaii50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaiiS\" ,& family = \"hawaii\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"hawaiiS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"imola_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola10\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"imola10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola100\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"imola100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola25\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"imola25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola50\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"imola50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imolaS\" ,& family = \"imola\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"imolaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lajolla_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla10\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lajolla10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla100\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lajolla100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla25\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lajolla25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla50\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lajolla50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajollaS\" ,& family = \"lajolla\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lajollaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lapaz_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz10\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lapaz10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz100\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lapaz100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz25\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lapaz25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz50\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lapaz50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapazS\" ,& family = \"lapaz\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lapazS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipariS\" ,& family = \"lipari\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lipariS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lipari_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari10\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lipari10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari100\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lipari100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari25\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lipari25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari50\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lipari50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lisbon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon10\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lisbon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon100\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lisbon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon25\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lisbon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon50\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lisbon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"managua_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua10\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"managua10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua100\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"managua100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua25\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"managua25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua50\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"managua50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"navia_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"navia10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"navia100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"navia25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"navia50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"naviaW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaWS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"naviaW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"naviaW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"naviaW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"naviaW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"nuuk_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk10\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"nuuk10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk100\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"nuuk100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk25\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"nuuk25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk50\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"nuuk50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuukS\" ,& family = \"nuuk\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"nuukS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oleron_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron10\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oleron10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron100\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oleron100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron25\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oleron25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron50\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oleron50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oslo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo10\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oslo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo100\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oslo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo25\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oslo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo50\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oslo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"osloS\" ,& family = \"oslo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"osloS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"roma_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"roma10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"roma100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"roma25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"roma50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO\" ,& family = \"roma\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"romaO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"romaO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"romaO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"romaO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"romaO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tofino_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino10\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tofino10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino100\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tofino100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino25\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tofino25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino50\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tofino50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tokyo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo10\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tokyo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo100\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tokyo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo25\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tokyo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo50\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tokyo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyoS\" ,& family = \"tokyo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"tokyoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"turku_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku10\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"turku10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku100\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"turku100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku25\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"turku25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku50\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"turku50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turkuS\" ,& family = \"turku\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"turkuS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vanimo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo10\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vanimo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo100\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vanimo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo25\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vanimo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo50\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vanimo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vik_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vik10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vik100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vik25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vik50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO\" ,& family = \"vik\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vikO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vikO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vikO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vikO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vikO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) ! Miscellaneous colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"black_body\" ,& family = \"black_body\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 1024 , & colorbar = \"black_body_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Kenneth Moreland\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://www.kennethmoreland.com\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"cubehelix\" ,& family = \"cubehelix\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"cubehelix_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Dave Green\" ,& license = \"Public Domain (Unlicense license)\" ,& url = \"https://people.phy.cam.ac.uk/dag9/CUBEHELIX\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"fire\" ,& family = \"fire\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"fire_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inv_rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inv_rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"zebra\" ,& family = \"zebra\" ,& gradient = \"Categorical\" ,& palette = \"Discrete\" ,& levels = 256 , & colorbar = \"zebra_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) ! Matplotlib colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"magma\" ,& family = \"magma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"magma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inferno\" ,& family = \"inferno\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inferno_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"plasma\" ,& family = \"plasma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"plasma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"viridis\" ,& family = \"viridis\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"viridis_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) end subroutine set_all pure elemental subroutine deallocate_table ( this ) class ( table ), intent ( inout ) :: this if ( allocated ( this % name )) deallocate ( this % name ) if ( allocated ( this % family )) deallocate ( this % family ) if ( allocated ( this % gradient )) deallocate ( this % gradient ) if ( allocated ( this % palette )) deallocate ( this % palette ) if ( allocated ( this % colorbar )) deallocate ( this % colorbar ) if ( allocated ( this % package )) deallocate ( this % package ) if ( allocated ( this % author )) deallocate ( this % author ) if ( allocated ( this % license )) deallocate ( this % license ) if ( allocated ( this % url )) deallocate ( this % url ) end subroutine deallocate_table pure elemental subroutine deallocate_Colormaps_info ( this ) class ( Colormaps_info ), intent ( inout ) :: this ! integer :: i ! do i = 1, this%get_ncolormaps() ! call this%colormaps(i)%deallocate_table() ! end do call this % colormaps (:)% finalize () end subroutine deallocate_Colormaps_info ! Finds intersections between elements of the first column and other columns in the input array. pure function findColumnIntersections ( array ) result ( intersections ) integer , intent ( in ) :: array (:,:) integer , allocatable :: intersections (:) logical :: found ( size ( array , 1 )) integer :: i , j do i = 1 , size ( array , 1 ) found ( i ) = . true . do j = 2 , size ( array , 2 ) ! Check if all elements in the current column are non-zero if ( . not . all ( array (:, j ) == 0 )) then ! Check if the current element in the first column exists in the current column found ( i ) = found ( i ) . and . any ( array ( i , 1 ) == array (:, j )) end if end do end do ! Allocate and populate the intersections array allocate ( intersections ( size ( pack ( array (:, 1 ), mask = found )))) intersections = pack ( array (:, 1 ), mask = found ) end function findColumnIntersections end module forcolormap_info","tags":"","loc":"sourcefile/colormaps_info.f90.html"},{"title":"extract.f90 – ForColormap","text":"This file depends on sourcefile~~extract.f90~~EfferentGraph sourcefile~extract.f90 extract.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 AliG (gha3mi) ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-07 ! Last modification: gha3mi 2023-11-07, vmagnin 2024-02-15 !------------------------------------------------------------------------------- ! This example demonstrates the process of extracting a specified number of colors. ! The variable 'extractedLevels' represents the number of colors to be extracted from the colormap. program extract use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap ! Initialize the colormap call cmap % set ( 'fes' , 0.0_wp , 2.0_wp ) ! Extract 10 colors from the colormap (extractedLevels=10) ! Optional arguments: 'name', 'zmin', 'zmax', and 'reverse' can be provided ! The extracted colormap will overwrite the existing colormap type (cmap) call cmap % extract ( 10 ) ! Generate a color bar for the extracted colormap call cmap % colorbar ( 'fes10_ex_colorbar' ) end program extract","tags":"","loc":"sourcefile/extract.f90.html"},{"title":"colormaps_list.f90 – ForColormap","text":"This file depends on sourcefile~~colormaps_list.f90~~EfferentGraph sourcefile~colormaps_list.f90 colormaps_list.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormaps_list.f90->sourcefile~colormaps_info.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-05 ! Last modification: gha3mi 2023-11-05 !------------------------------------------------------------------------------- program colormaps_list use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_SEQ.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_MSQ.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'colormaps_list/COLORMAPS_LIST_DIV.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'colormaps_list/COLORMAPS_LIST_CAT.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'colormaps_list/COLORMAPS_LIST_CYC.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program colormaps_list","tags":"","loc":"sourcefile/colormaps_list.f90.html"},{"title":"miscellaneous_colormaps.f90 – ForColormap","text":"This file depends on sourcefile~~miscellaneous_colormaps.f90~~EfferentGraph sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~miscellaneous_colormaps.f90~~AfferentGraph sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 Vincent Magnin, gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modifications: gha3mi 2024-01-06, vmagnin 2024-02-16 !------------------------------------------------------------------------------- module miscellaneous_colormaps use colormap_parameters , only : colormap_name_length , wp , pi implicit none private public :: fire_colormap , rainbow_colormap , & inv_rainbow_colormap , zebra_colormap , cubehelix_colormap character ( * ), dimension ( * ), parameter , public :: miscellaneous_colormaps_list = & [ character ( colormap_name_length ) :: & \"fire\" , \"rainbow\" , \"inv_rainbow\" , \"zebra\" , \"cubehelix\" , & \"black_body\" ] integer , dimension ( 0 : 1023 , 1 : 3 ), public :: black_body = reshape ( [ & 0 , 0 , 0 , 1 , 0 , 0 , 2 , 0 , 0 , 2 , 1 , 0 , & 3 , 1 , 1 , 4 , 1 , 1 , 5 , 1 , 1 , 6 , 2 , 1 , & 7 , 2 , 1 , 7 , 2 , 1 , 8 , 2 , 1 , 9 , 3 , 1 , & 10 , 3 , 2 , 11 , 3 , 2 , 12 , 3 , 2 , 12 , 4 , 2 , & 13 , 4 , 2 , 14 , 4 , 2 , 14 , 4 , 2 , 15 , 5 , 3 , & 16 , 5 , 3 , 16 , 5 , 3 , 17 , 5 , 3 , 17 , 5 , 3 , & 18 , 6 , 3 , 19 , 6 , 3 , 19 , 6 , 3 , 20 , 6 , 4 , & 20 , 7 , 4 , 21 , 7 , 4 , 21 , 7 , 4 , 22 , 7 , 4 , & 22 , 8 , 4 , 23 , 8 , 4 , 23 , 8 , 5 , 23 , 8 , 5 , & 24 , 9 , 5 , 24 , 9 , 5 , 25 , 9 , 5 , 25 , 9 , 5 , & 26 , 10 , 5 , 26 , 10 , 5 , 26 , 10 , 6 , 27 , 10 , 6 , & 27 , 10 , 6 , 28 , 11 , 6 , 28 , 11 , 6 , 28 , 11 , 6 , & 29 , 11 , 6 , 29 , 12 , 7 , 29 , 12 , 7 , 30 , 12 , 7 , & 30 , 12 , 7 , 30 , 12 , 7 , 31 , 13 , 7 , 31 , 13 , 7 , & 32 , 13 , 7 , 32 , 13 , 8 , 32 , 13 , 8 , 33 , 14 , 8 , & 33 , 14 , 8 , 33 , 14 , 8 , 33 , 14 , 8 , 34 , 14 , 8 , & 34 , 15 , 9 , 34 , 15 , 9 , 35 , 15 , 9 , 35 , 15 , 9 , & 35 , 15 , 9 , 36 , 15 , 9 , 36 , 16 , 9 , 37 , 16 , 10 , & 37 , 16 , 10 , 37 , 16 , 10 , 38 , 16 , 10 , 38 , 16 , 10 , & 38 , 16 , 10 , 39 , 17 , 10 , 39 , 17 , 10 , 39 , 17 , 11 , & 40 , 17 , 11 , 40 , 17 , 11 , 40 , 17 , 11 , 41 , 17 , 11 , & 41 , 17 , 11 , 42 , 17 , 11 , 42 , 17 , 12 , 42 , 18 , 12 , & 43 , 18 , 12 , 43 , 18 , 12 , 43 , 18 , 12 , 44 , 18 , 12 , & 44 , 18 , 12 , 45 , 18 , 12 , 45 , 18 , 12 , 45 , 18 , 13 , & 46 , 18 , 13 , 46 , 18 , 13 , 47 , 19 , 13 , 47 , 19 , 13 , & 47 , 19 , 13 , 48 , 19 , 13 , 48 , 19 , 13 , 48 , 19 , 14 , & 49 , 19 , 14 , 49 , 19 , 14 , 50 , 19 , 14 , 50 , 19 , 14 , & 50 , 19 , 14 , 51 , 20 , 14 , 51 , 20 , 14 , 52 , 20 , 14 , & 52 , 20 , 14 , 52 , 20 , 15 , 53 , 20 , 15 , 53 , 20 , 15 , & 53 , 20 , 15 , 54 , 20 , 15 , 54 , 20 , 15 , 55 , 20 , 15 , & 55 , 20 , 15 , 55 , 21 , 15 , 56 , 21 , 15 , 56 , 21 , 16 , & 57 , 21 , 16 , 57 , 21 , 16 , 57 , 21 , 16 , 58 , 21 , 16 , & 58 , 21 , 16 , 59 , 21 , 16 , 59 , 21 , 16 , 59 , 21 , 16 , & 60 , 21 , 16 , 60 , 22 , 16 , 61 , 22 , 17 , 61 , 22 , 17 , & 61 , 22 , 17 , 62 , 22 , 17 , 62 , 22 , 17 , 63 , 22 , 17 , & 63 , 22 , 17 , 63 , 22 , 17 , 64 , 22 , 17 , 64 , 22 , 17 , & 65 , 22 , 17 , 65 , 23 , 18 , 65 , 23 , 18 , 66 , 23 , 18 , & 66 , 23 , 18 , 67 , 23 , 18 , 67 , 23 , 18 , 67 , 23 , 18 , & 68 , 23 , 18 , 68 , 23 , 18 , 69 , 23 , 18 , 69 , 23 , 18 , & 69 , 23 , 18 , 70 , 23 , 18 , 70 , 24 , 19 , 71 , 24 , 19 , & 71 , 24 , 19 , 72 , 24 , 19 , 72 , 24 , 19 , 72 , 24 , 19 , & 73 , 24 , 19 , 73 , 24 , 19 , 74 , 24 , 19 , 74 , 24 , 19 , & 74 , 24 , 19 , 75 , 24 , 19 , 75 , 24 , 19 , 76 , 24 , 19 , & 76 , 25 , 20 , 76 , 25 , 20 , 77 , 25 , 20 , 77 , 25 , 20 , & 78 , 25 , 20 , 78 , 25 , 20 , 79 , 25 , 20 , 79 , 25 , 20 , & 79 , 25 , 20 , 80 , 25 , 20 , 80 , 25 , 20 , 81 , 25 , 20 , & 81 , 25 , 20 , 81 , 25 , 20 , 82 , 26 , 20 , 82 , 26 , 21 , & 83 , 26 , 21 , 83 , 26 , 21 , 84 , 26 , 21 , 84 , 26 , 21 , & 84 , 26 , 21 , 85 , 26 , 21 , 85 , 26 , 21 , 86 , 26 , 21 , & 86 , 26 , 21 , 87 , 26 , 21 , 87 , 26 , 21 , 87 , 26 , 21 , & 88 , 26 , 21 , 88 , 26 , 21 , 89 , 27 , 21 , 89 , 27 , 22 , & 89 , 27 , 22 , 90 , 27 , 22 , 90 , 27 , 22 , 91 , 27 , 22 , & 91 , 27 , 22 , 92 , 27 , 22 , 92 , 27 , 22 , 92 , 27 , 22 , & 93 , 27 , 22 , 93 , 27 , 22 , 94 , 27 , 22 , 94 , 27 , 22 , & 95 , 27 , 22 , 95 , 27 , 22 , 95 , 28 , 22 , 96 , 28 , 23 , & 96 , 28 , 23 , 97 , 28 , 23 , 97 , 28 , 23 , 98 , 28 , 23 , & 98 , 28 , 23 , 98 , 28 , 23 , 99 , 28 , 23 , 99 , 28 , 23 , & 100 , 28 , 23 , 100 , 28 , 23 , 101 , 28 , 23 , 101 , 28 , 23 , & 101 , 28 , 23 , 102 , 28 , 23 , 102 , 28 , 23 , 103 , 29 , 24 , & 103 , 29 , 24 , 104 , 29 , 24 , 104 , 29 , 24 , 105 , 29 , 24 , & 105 , 29 , 24 , 105 , 29 , 24 , 106 , 29 , 24 , 106 , 29 , 24 , & 107 , 29 , 24 , 107 , 29 , 24 , 108 , 29 , 24 , 108 , 29 , 24 , & 108 , 29 , 24 , 109 , 29 , 24 , 109 , 29 , 24 , 110 , 29 , 25 , & 110 , 29 , 25 , 111 , 29 , 25 , 111 , 30 , 25 , 112 , 30 , 25 , & 112 , 30 , 25 , 112 , 30 , 25 , 113 , 30 , 25 , 113 , 30 , 25 , & 114 , 30 , 25 , 114 , 30 , 25 , 115 , 30 , 25 , 115 , 30 , 25 , & 115 , 30 , 25 , 116 , 30 , 25 , 116 , 30 , 26 , 117 , 30 , 26 , & 117 , 30 , 26 , 118 , 30 , 26 , 118 , 30 , 26 , 119 , 30 , 26 , & 119 , 30 , 26 , 119 , 30 , 26 , 120 , 31 , 26 , 120 , 31 , 26 , & 121 , 31 , 26 , 121 , 31 , 26 , 122 , 31 , 26 , 122 , 31 , 26 , & 123 , 31 , 26 , 123 , 31 , 26 , 123 , 31 , 27 , 124 , 31 , 27 , & 124 , 31 , 27 , 125 , 31 , 27 , 125 , 31 , 27 , 126 , 31 , 27 , & 126 , 31 , 27 , 127 , 31 , 27 , 127 , 31 , 27 , 128 , 31 , 27 , & 128 , 31 , 27 , 128 , 31 , 27 , 129 , 31 , 27 , 129 , 31 , 27 , & 130 , 31 , 27 , 130 , 31 , 27 , 131 , 32 , 28 , 131 , 32 , 28 , & 132 , 32 , 28 , 132 , 32 , 28 , 132 , 32 , 28 , 133 , 32 , 28 , & 133 , 32 , 28 , 134 , 32 , 28 , 134 , 32 , 28 , 135 , 32 , 28 , & 135 , 32 , 28 , 136 , 32 , 28 , 136 , 32 , 28 , 137 , 32 , 28 , & 137 , 32 , 28 , 137 , 32 , 28 , 138 , 32 , 29 , 138 , 32 , 29 , & 139 , 32 , 29 , 139 , 32 , 29 , 140 , 32 , 29 , 140 , 32 , 29 , & 141 , 32 , 29 , 141 , 32 , 29 , 142 , 32 , 29 , 142 , 32 , 29 , & 142 , 32 , 29 , 143 , 32 , 29 , 143 , 33 , 29 , 144 , 33 , 29 , & 144 , 33 , 29 , 145 , 33 , 29 , 145 , 33 , 30 , 146 , 33 , 30 , & 146 , 33 , 30 , 147 , 33 , 30 , 147 , 33 , 30 , 148 , 33 , 30 , & 148 , 33 , 30 , 148 , 33 , 30 , 149 , 33 , 30 , 149 , 33 , 30 , & 150 , 33 , 30 , 150 , 33 , 30 , 151 , 33 , 30 , 151 , 33 , 30 , & 152 , 33 , 30 , 152 , 33 , 31 , 153 , 33 , 31 , 153 , 33 , 31 , & 154 , 33 , 31 , 154 , 33 , 31 , 154 , 33 , 31 , 155 , 33 , 31 , & 155 , 33 , 31 , 156 , 33 , 31 , 156 , 33 , 31 , 157 , 33 , 31 , & 157 , 33 , 31 , 158 , 33 , 31 , 158 , 33 , 31 , 159 , 33 , 31 , & 159 , 33 , 31 , 160 , 33 , 32 , 160 , 33 , 32 , 160 , 33 , 32 , & 161 , 33 , 32 , 161 , 34 , 32 , 162 , 34 , 32 , 162 , 34 , 32 , & 163 , 34 , 32 , 163 , 34 , 32 , 164 , 34 , 32 , 164 , 34 , 32 , & 165 , 34 , 32 , 165 , 34 , 32 , 166 , 34 , 32 , 166 , 34 , 32 , & 167 , 34 , 32 , 167 , 34 , 33 , 168 , 34 , 33 , 168 , 34 , 33 , & 168 , 34 , 33 , 169 , 34 , 33 , 169 , 34 , 33 , 170 , 34 , 33 , & 170 , 34 , 33 , 171 , 34 , 33 , 171 , 34 , 33 , 172 , 34 , 33 , & 172 , 34 , 33 , 173 , 34 , 33 , 173 , 34 , 33 , 174 , 34 , 33 , & 174 , 34 , 33 , 175 , 34 , 34 , 175 , 34 , 34 , 176 , 34 , 34 , & 176 , 34 , 34 , 176 , 34 , 34 , 177 , 34 , 34 , 177 , 34 , 34 , & 178 , 34 , 34 , 178 , 34 , 34 , 178 , 35 , 34 , 179 , 35 , 34 , & 179 , 36 , 34 , 179 , 36 , 34 , 179 , 37 , 34 , 180 , 37 , 34 , & 180 , 38 , 34 , 180 , 38 , 34 , 180 , 39 , 33 , 181 , 39 , 33 , & 181 , 40 , 33 , 181 , 40 , 33 , 181 , 40 , 33 , 182 , 41 , 33 , & 182 , 41 , 33 , 182 , 42 , 33 , 182 , 42 , 33 , 183 , 43 , 33 , & 183 , 43 , 33 , 183 , 43 , 33 , 183 , 44 , 33 , 184 , 44 , 33 , & 184 , 45 , 33 , 184 , 45 , 33 , 184 , 46 , 33 , 185 , 46 , 32 , & 185 , 46 , 32 , 185 , 47 , 32 , 185 , 47 , 32 , 186 , 48 , 32 , & 186 , 48 , 32 , 186 , 48 , 32 , 186 , 49 , 32 , 187 , 49 , 32 , & 187 , 50 , 32 , 187 , 50 , 32 , 187 , 50 , 32 , 188 , 51 , 32 , & 188 , 51 , 32 , 188 , 52 , 32 , 188 , 52 , 31 , 189 , 52 , 31 , & 189 , 53 , 31 , 189 , 53 , 31 , 189 , 53 , 31 , 190 , 54 , 31 , & 190 , 54 , 31 , 190 , 55 , 31 , 190 , 55 , 31 , 191 , 55 , 31 , & 191 , 56 , 31 , 191 , 56 , 31 , 191 , 57 , 31 , 192 , 57 , 30 , & 192 , 57 , 30 , 192 , 58 , 30 , 192 , 58 , 30 , 193 , 58 , 30 , & 193 , 59 , 30 , 193 , 59 , 30 , 193 , 59 , 30 , 194 , 60 , 30 , & 194 , 60 , 30 , 194 , 61 , 30 , 194 , 61 , 30 , 195 , 61 , 29 , & 195 , 62 , 29 , 195 , 62 , 29 , 195 , 62 , 29 , 196 , 63 , 29 , & 196 , 63 , 29 , 196 , 63 , 29 , 196 , 64 , 29 , 197 , 64 , 29 , & 197 , 65 , 29 , 197 , 65 , 29 , 197 , 65 , 28 , 198 , 66 , 28 , & 198 , 66 , 28 , 198 , 66 , 28 , 198 , 67 , 28 , 199 , 67 , 28 , & 199 , 67 , 28 , 199 , 68 , 28 , 199 , 68 , 28 , 200 , 68 , 28 , & 200 , 69 , 27 , 200 , 69 , 27 , 200 , 69 , 27 , 201 , 70 , 27 , & 201 , 70 , 27 , 201 , 70 , 27 , 201 , 71 , 27 , 202 , 71 , 27 , & 202 , 72 , 27 , 202 , 72 , 26 , 202 , 72 , 26 , 203 , 73 , 26 , & 203 , 73 , 26 , 203 , 73 , 26 , 203 , 74 , 26 , 204 , 74 , 26 , & 204 , 74 , 26 , 204 , 75 , 25 , 204 , 75 , 25 , 204 , 75 , 25 , & 205 , 76 , 25 , 205 , 76 , 25 , 205 , 76 , 25 , 205 , 77 , 25 , & 206 , 77 , 25 , 206 , 77 , 24 , 206 , 78 , 24 , 206 , 78 , 24 , & 207 , 78 , 24 , 207 , 79 , 24 , 207 , 79 , 24 , 207 , 79 , 24 , & 208 , 80 , 24 , 208 , 80 , 23 , 208 , 80 , 23 , 208 , 81 , 23 , & 209 , 81 , 23 , 209 , 81 , 23 , 209 , 82 , 23 , 209 , 82 , 23 , & 210 , 82 , 22 , 210 , 83 , 22 , 210 , 83 , 22 , 210 , 83 , 22 , & 211 , 84 , 22 , 211 , 84 , 22 , 211 , 84 , 21 , 211 , 85 , 21 , & 212 , 85 , 21 , 212 , 85 , 21 , 212 , 86 , 21 , 212 , 86 , 21 , & 213 , 86 , 20 , 213 , 87 , 20 , 213 , 87 , 20 , 213 , 87 , 20 , & 214 , 88 , 20 , 214 , 88 , 20 , 214 , 88 , 19 , 214 , 89 , 19 , & 215 , 89 , 19 , 215 , 89 , 19 , 215 , 90 , 19 , 215 , 90 , 18 , & 216 , 90 , 18 , 216 , 91 , 18 , 216 , 91 , 18 , 216 , 91 , 18 , & 217 , 92 , 17 , 217 , 92 , 17 , 217 , 92 , 17 , 217 , 92 , 17 , & 218 , 93 , 16 , 218 , 93 , 16 , 218 , 93 , 16 , 218 , 94 , 16 , & 219 , 94 , 16 , 219 , 94 , 15 , 219 , 95 , 15 , 219 , 95 , 15 , & 220 , 95 , 15 , 220 , 96 , 14 , 220 , 96 , 14 , 220 , 96 , 14 , & 221 , 97 , 14 , 221 , 97 , 13 , 221 , 97 , 13 , 221 , 98 , 13 , & 222 , 98 , 12 , 222 , 98 , 12 , 222 , 99 , 12 , 222 , 99 , 12 , & 223 , 99 , 11 , 223 , 100 , 11 , 223 , 100 , 11 , 223 , 100 , 10 , & 224 , 101 , 10 , 224 , 101 , 10 , 224 , 101 , 9 , 224 , 101 , 9 , & 225 , 102 , 9 , 225 , 102 , 8 , 225 , 102 , 8 , 225 , 103 , 8 , & 226 , 103 , 7 , 226 , 103 , 7 , 226 , 104 , 6 , 226 , 104 , 6 , & 226 , 104 , 6 , 227 , 105 , 5 , 227 , 105 , 5 , 227 , 105 , 5 , & 227 , 106 , 5 , 227 , 106 , 5 , 227 , 107 , 6 , 227 , 107 , 6 , & 227 , 108 , 6 , 227 , 108 , 6 , 227 , 109 , 6 , 228 , 109 , 6 , & 228 , 110 , 6 , 228 , 110 , 6 , 228 , 110 , 7 , 228 , 111 , 7 , & 228 , 111 , 7 , 228 , 112 , 7 , 228 , 112 , 7 , 228 , 113 , 7 , & 228 , 113 , 7 , 228 , 114 , 8 , 228 , 114 , 8 , 228 , 114 , 8 , & 228 , 115 , 8 , 228 , 115 , 8 , 228 , 116 , 8 , 228 , 116 , 9 , & 228 , 117 , 9 , 229 , 117 , 9 , 229 , 118 , 9 , 229 , 118 , 9 , & 229 , 118 , 9 , 229 , 119 , 9 , 229 , 119 , 10 , 229 , 120 , 10 , & 229 , 120 , 10 , 229 , 121 , 10 , 229 , 121 , 10 , 229 , 122 , 10 , & 229 , 122 , 11 , 229 , 122 , 11 , 229 , 123 , 11 , 229 , 123 , 11 , & 229 , 124 , 11 , 229 , 124 , 11 , 229 , 125 , 12 , 229 , 125 , 12 , & 229 , 125 , 12 , 230 , 126 , 12 , 230 , 126 , 12 , 230 , 127 , 12 , & 230 , 127 , 13 , 230 , 128 , 13 , 230 , 128 , 13 , 230 , 128 , 13 , & 230 , 129 , 13 , 230 , 129 , 13 , 230 , 130 , 14 , 230 , 130 , 14 , & 230 , 130 , 14 , 230 , 131 , 14 , 230 , 131 , 14 , 230 , 132 , 14 , & 230 , 132 , 15 , 230 , 133 , 15 , 230 , 133 , 15 , 230 , 133 , 15 , & 230 , 134 , 15 , 230 , 134 , 15 , 230 , 135 , 16 , 230 , 135 , 16 , & 231 , 136 , 16 , 231 , 136 , 16 , 231 , 136 , 16 , 231 , 137 , 16 , & 231 , 137 , 16 , 231 , 138 , 17 , 231 , 138 , 17 , 231 , 138 , 17 , & 231 , 139 , 17 , 231 , 139 , 17 , 231 , 140 , 17 , 231 , 140 , 18 , & 231 , 141 , 18 , 231 , 141 , 18 , 231 , 141 , 18 , 231 , 142 , 18 , & 231 , 142 , 18 , 231 , 143 , 19 , 231 , 143 , 19 , 231 , 143 , 19 , & 231 , 144 , 19 , 231 , 144 , 19 , 231 , 145 , 19 , 231 , 145 , 19 , & 231 , 145 , 20 , 231 , 146 , 20 , 231 , 146 , 20 , 231 , 147 , 20 , & 231 , 147 , 20 , 232 , 147 , 20 , 232 , 148 , 21 , 232 , 148 , 21 , & 232 , 149 , 21 , 232 , 149 , 21 , 232 , 150 , 21 , 232 , 150 , 21 , & 232 , 150 , 21 , 232 , 151 , 22 , 232 , 151 , 22 , 232 , 152 , 22 , & 232 , 152 , 22 , 232 , 152 , 22 , 232 , 153 , 22 , 232 , 153 , 23 , & 232 , 154 , 23 , 232 , 154 , 23 , 232 , 154 , 23 , 232 , 155 , 23 , & 232 , 155 , 23 , 232 , 156 , 24 , 232 , 156 , 24 , 232 , 156 , 24 , & 232 , 157 , 24 , 232 , 157 , 24 , 232 , 158 , 24 , 232 , 158 , 24 , & 232 , 158 , 25 , 232 , 159 , 25 , 232 , 159 , 25 , 232 , 160 , 25 , & 232 , 160 , 25 , 232 , 160 , 25 , 232 , 161 , 26 , 232 , 161 , 26 , & 232 , 162 , 26 , 232 , 162 , 26 , 232 , 162 , 26 , 232 , 163 , 26 , & 232 , 163 , 26 , 232 , 164 , 27 , 232 , 164 , 27 , 233 , 164 , 27 , & 233 , 165 , 27 , 233 , 165 , 27 , 233 , 166 , 27 , 233 , 166 , 28 , & 233 , 166 , 28 , 233 , 167 , 28 , 233 , 167 , 28 , 233 , 168 , 28 , & 233 , 168 , 28 , 233 , 168 , 28 , 233 , 169 , 29 , 233 , 169 , 29 , & 233 , 170 , 29 , 233 , 170 , 29 , 233 , 170 , 29 , 233 , 171 , 29 , & 233 , 171 , 30 , 233 , 172 , 30 , 233 , 172 , 30 , 233 , 172 , 30 , & 233 , 173 , 30 , 233 , 173 , 30 , 233 , 173 , 30 , 233 , 174 , 31 , & 233 , 174 , 31 , 233 , 175 , 31 , 233 , 175 , 31 , 233 , 175 , 31 , & 233 , 176 , 31 , 233 , 176 , 32 , 233 , 177 , 32 , 233 , 177 , 32 , & 233 , 177 , 32 , 233 , 178 , 32 , 233 , 178 , 32 , 233 , 179 , 32 , & 233 , 179 , 33 , 233 , 179 , 33 , 233 , 180 , 33 , 233 , 180 , 33 , & 233 , 181 , 33 , 233 , 181 , 33 , 233 , 181 , 34 , 233 , 182 , 34 , & 233 , 182 , 34 , 233 , 183 , 34 , 233 , 183 , 34 , 233 , 183 , 34 , & 233 , 184 , 34 , 233 , 184 , 35 , 233 , 184 , 35 , 233 , 185 , 35 , & 233 , 185 , 35 , 233 , 186 , 35 , 233 , 186 , 35 , 233 , 186 , 36 , & 233 , 187 , 36 , 233 , 187 , 36 , 233 , 188 , 36 , 233 , 188 , 36 , & 233 , 188 , 36 , 233 , 189 , 36 , 233 , 189 , 37 , 233 , 190 , 37 , & 233 , 190 , 37 , 233 , 190 , 37 , 233 , 191 , 37 , 233 , 191 , 37 , & 233 , 191 , 38 , 233 , 192 , 38 , 233 , 192 , 38 , 233 , 193 , 38 , & 233 , 193 , 38 , 233 , 193 , 38 , 233 , 194 , 38 , 233 , 194 , 39 , & 233 , 195 , 39 , 233 , 195 , 39 , 233 , 195 , 39 , 233 , 196 , 39 , & 233 , 196 , 39 , 233 , 197 , 40 , 233 , 197 , 40 , 233 , 197 , 40 , & 233 , 198 , 40 , 233 , 198 , 40 , 233 , 198 , 40 , 233 , 199 , 40 , & 233 , 199 , 41 , 233 , 200 , 41 , 233 , 200 , 41 , 233 , 200 , 41 , & 233 , 201 , 41 , 233 , 201 , 41 , 232 , 202 , 42 , 232 , 202 , 42 , & 232 , 202 , 42 , 232 , 203 , 42 , 232 , 203 , 42 , 232 , 203 , 42 , & 232 , 204 , 42 , 232 , 204 , 43 , 232 , 205 , 43 , 232 , 205 , 43 , & 232 , 205 , 43 , 232 , 206 , 43 , 232 , 206 , 43 , 232 , 207 , 44 , & 232 , 207 , 44 , 232 , 207 , 44 , 232 , 208 , 44 , 232 , 208 , 44 , & 232 , 208 , 44 , 232 , 209 , 44 , 232 , 209 , 45 , 232 , 210 , 45 , & 232 , 210 , 45 , 232 , 210 , 45 , 232 , 211 , 45 , 232 , 211 , 45 , & 232 , 212 , 46 , 232 , 212 , 46 , 232 , 212 , 46 , 232 , 213 , 46 , & 232 , 213 , 46 , 232 , 213 , 46 , 232 , 214 , 46 , 232 , 214 , 47 , & 232 , 215 , 47 , 232 , 215 , 47 , 232 , 215 , 47 , 232 , 216 , 47 , & 232 , 216 , 47 , 231 , 217 , 48 , 231 , 217 , 48 , 231 , 217 , 48 , & 231 , 218 , 48 , 231 , 218 , 48 , 231 , 218 , 48 , 231 , 219 , 48 , & 231 , 219 , 49 , 231 , 220 , 49 , 231 , 220 , 49 , 231 , 220 , 49 , & 231 , 221 , 49 , 231 , 221 , 49 , 231 , 222 , 50 , 231 , 222 , 50 , & 231 , 222 , 50 , 231 , 223 , 50 , 231 , 223 , 50 , 231 , 223 , 50 , & 231 , 224 , 50 , 231 , 224 , 51 , 231 , 225 , 51 , 231 , 225 , 51 , & 231 , 225 , 51 , 231 , 226 , 51 , 230 , 226 , 51 , 230 , 227 , 52 , & 230 , 227 , 52 , 230 , 227 , 52 , 230 , 228 , 52 , 230 , 228 , 52 , & 230 , 228 , 52 , 230 , 229 , 53 , 230 , 229 , 53 , 230 , 230 , 53 , & 230 , 230 , 53 , 230 , 230 , 55 , 231 , 230 , 58 , 231 , 231 , 61 , & 232 , 231 , 63 , 232 , 231 , 66 , 232 , 231 , 68 , 233 , 231 , 70 , & 233 , 232 , 72 , 233 , 232 , 75 , 234 , 232 , 77 , 234 , 232 , 79 , & 235 , 232 , 81 , 235 , 233 , 83 , 235 , 233 , 85 , 236 , 233 , 87 , & 236 , 233 , 89 , 236 , 233 , 91 , 237 , 234 , 93 , 237 , 234 , 95 , & 237 , 234 , 97 , 238 , 234 , 99 , 238 , 235 , 101 , 238 , 235 , 103 , & 239 , 235 , 104 , 239 , 235 , 106 , 239 , 235 , 108 , 240 , 236 , 110 , & 240 , 236 , 112 , 240 , 236 , 114 , 241 , 236 , 115 , 241 , 236 , 117 , & 241 , 237 , 119 , 242 , 237 , 121 , 242 , 237 , 122 , 242 , 237 , 124 , & 243 , 237 , 126 , 243 , 238 , 128 , 243 , 238 , 129 , 243 , 238 , 131 , & 244 , 238 , 133 , 244 , 239 , 134 , 244 , 239 , 136 , 245 , 239 , 138 , & 245 , 239 , 139 , 245 , 239 , 141 , 245 , 240 , 143 , 246 , 240 , 145 , & 246 , 240 , 146 , 246 , 240 , 148 , 246 , 240 , 150 , 247 , 241 , 151 , & 247 , 241 , 153 , 247 , 241 , 155 , 247 , 241 , 156 , 248 , 242 , 158 , & 248 , 242 , 159 , 248 , 242 , 161 , 248 , 242 , 163 , 249 , 242 , 164 , & 249 , 243 , 166 , 249 , 243 , 168 , 249 , 243 , 169 , 249 , 243 , 171 , & 250 , 243 , 173 , 250 , 244 , 174 , 250 , 244 , 176 , 250 , 244 , 177 , & 250 , 244 , 179 , 251 , 245 , 181 , 251 , 245 , 182 , 251 , 245 , 184 , & 251 , 245 , 186 , 251 , 245 , 187 , 251 , 246 , 189 , 252 , 246 , 190 , & 252 , 246 , 192 , 252 , 246 , 194 , 252 , 247 , 195 , 252 , 247 , 197 , & 252 , 247 , 199 , 253 , 247 , 200 , 253 , 247 , 202 , 253 , 248 , 203 , & 253 , 248 , 205 , 253 , 248 , 207 , 253 , 248 , 208 , 253 , 249 , 210 , & 253 , 249 , 211 , 254 , 249 , 213 , 254 , 249 , 215 , 254 , 249 , 216 , & 254 , 250 , 218 , 254 , 250 , 219 , 254 , 250 , 221 , 254 , 250 , 223 , & 254 , 251 , 224 , 254 , 251 , 226 , 254 , 251 , 228 , 254 , 251 , 229 , & 255 , 252 , 231 , 255 , 252 , 232 , 255 , 252 , 234 , 255 , 252 , 236 , & 255 , 252 , 237 , 255 , 253 , 239 , 255 , 253 , 240 , 255 , 253 , 242 , & 255 , 253 , 244 , 255 , 254 , 245 , 255 , 254 , 247 , 255 , 254 , 249 , & 255 , 254 , 250 , 255 , 255 , 252 , 255 , 255 , 253 , 255 , 255 , 255 & ], shape ( black_body ), order = [ 2 , 1 ] ) contains pure subroutine fire_colormap ( levels , map ) integer , intent ( in ) :: levels integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: last , i ! Best with 256 levels but you can try other numbers: last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( last - i ) / 20 0.0_wp ) ** 7.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( last - i ) / 12 0.0_wp ) ** 1.8_wp )) map ( i , 3 ) = nint ( last * exp ( - (( last - i ) / 4 0.0_wp ) ** 0.7_wp )) end do end subroutine fire_colormap pure subroutine rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine rainbow_colormap pure subroutine inv_rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine inv_rainbow_colormap pure subroutine zebra_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! Black and white zebras: do i = 0 , 224 , 32 map ( i : i + 15 , :) = 0 map ( i + 16 : i + 31 , :) = 255 end do end subroutine zebra_colormap !--------------------------------------------------------------------- ! This subroutine is based on the public domain FORTRAN 77 subroutine ! published by D.A. Green: ! Green, D. A., 2011, Bulletin of the Astronomical Society of India, ! Vol.39, p.289 ! For more information on the parameters of cubehelix, see his page: ! https://www.mrao.cam.ac.uk/~dag/CUBEHELIX/ !--------------------------------------------------------------------- pure subroutine cubehelix_colormap ( map , nlev , varargs ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer , intent ( in ) :: nlev real ( wp ), dimension (:), intent ( in ), optional :: varargs integer :: i real ( wp ) :: start , rots , hue , gamma real ( wp ) :: fract , angle , amp if ( present ( varargs )) then if ( size ( varargs ) /= 4 ) error stop \"ERROR: cubehelix varargs(:) must have 4 values\" start = varargs ( 1 ) rots = varargs ( 2 ) hue = varargs ( 3 ) gamma = varargs ( 4 ) else ! Default values: start = 0.5_wp rots = - 1.5_wp hue = 1.0_wp gamma = 1.0_wp end if allocate ( map ( 0 : nlev - 1 , 1 : 3 )) do concurrent ( i = 0 : nlev - 1 ) fract = real ( i , kind = wp ) / ( nlev - 1 ) angle = 2 * pi * ( start / 3 + 1 + rots * fract ) fract = fract ** gamma amp = hue * fract * ( 1 - fract ) / 2 map ( i , 1 ) = nint ( 255 * ( fract + amp * ( - 0.14861_wp * cos ( angle ) + 1.78277_wp * sin ( angle )))) map ( i , 2 ) = nint ( 255 * ( fract + amp * ( - 0.29227_wp * cos ( angle ) - 0.90649_wp * sin ( angle )))) map ( i , 3 ) = nint ( 255 * ( fract + amp * ( + 1.97294_wp * cos ( angle )))) end do end subroutine cubehelix_colormap end module miscellaneous_colormaps","tags":"","loc":"sourcefile/miscellaneous_colormaps.f90.html"},{"title":"colormap_parameters.f90 – ForColormap","text":"Files dependent on this one sourcefile~~colormap_parameters.f90~~AfferentGraph sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_list.f90 colormaps_list.f90 sourcefile~colormaps_list.f90->sourcefile~colormaps_info.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~info.f90 info.f90 sourcefile~info.f90->sourcefile~colormaps_info.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code module colormap_parameters use iso_fortran_env , only : wp => real64 implicit none private public :: wp , pi , colormap_name_length integer , parameter :: colormap_name_length = 30 real ( wp ), parameter :: pi = 4 * atan ( 1.0_wp ) end module colormap_parameters","tags":"","loc":"sourcefile/colormap_parameters.f90.html"},{"title":"modify.f90 – ForColormap","text":"This file depends on sourcefile~~modify.f90~~EfferentGraph sourcefile~modify.f90 modify.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2024 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2024-02-14 ! Last modification: vmagnin 2024-02-15 !------------------------------------------------------------------------------- !> This example shows how you can modify a colormap with methods like shift(), !> in concrete cases. program modify use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap !> In the Scientific colour maps collection, all cyclic colormaps have their !> bright part in the middle. But we can shift the dark part towards the !> center. call cmap % set ( \"bamO\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bamO\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bamO_shifted\" ) print * , \"See the bamO.ppm and bamO_shifted.ppm colorbars\" !> In the Scientific colour maps collection, all categorical colormaps !> begin with a dark colour, but a shift can be applied to begin with a !> brighter colour. call cmap % set ( \"actonS\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"actonS\" ) call cmap % shift ( + 2 ) !! Two levels towards left call cmap % colorbar ( \"actonS_shifted\" ) print * , \"See the actonS.ppm and actonS_shifted.ppm colorbars\" !> Starting from a diverging colormap, we can obtain what could be called !> a diverging multi-sequential colormap. call cmap % set ( \"bam\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bam\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bam_shifted\" ) print * , \"See the bam.ppm and bam_shifted.ppm colorbars\" end program modify","tags":"","loc":"sourcefile/modify.f90.html"}]} \ No newline at end of file +var tipuesearch = {"pages":[{"title":" ForColormap ","text":"ForColormap ForColormap This Fortran library is independent of any graphical toolkit: its main functionality is to convert a real value to RGB values that you can use with any drawing toolkit. It offers various methods and options to manage colormaps. It includes: the 222 colormaps of the Scientific colour maps collection v8.0.1 by Fabio Crameri. See Fabio Crameri's poster \"Scientific Colour Maps\" for more information and my No Bijection! text about the mysteries and wonders of colors, the \"magma\", \"inferno\",\"plasma\", \"viridis\" matplotlib colormaps , the Dave Green's cubehelix colormap, a few basic colormaps: \"black_body\", \"fire\", \"rainbow\", \"inv_rainbow\", \"zebra\". Basic usage Assuming your graphical library has a setpixelgb() -like function and you know your z values will be for example in the [0, 2] range, you can write something like: use forcolormap , only : Colormap , wp ... type ( Colormap ) :: cmap integer :: red , green , blue real ( wp ) :: z , x , y ... ! Let's use the glasgow colormap: call cmap % set ( \"glasgow\" , 0.0_wp , 2.0_wp ) ... z = f ( x , y ) call cmap % compute_RGB ( z , red , green , blue ) call setpixelrgb ( x , y , red , green , blue ) The library is using the precision wp=>real64 defined in the module iso_fortran_env . And depending on the integers expected by your graphical library, you may need to convert the kinds of red, green, blue variables by writing for example int(red, kind=int16) if you need 16 bit integers. This guideline can help you choose the right kind of colormap. And you can visually choose the available colormaps in the colormaps_list/ForColormap.pdf manual or on this page (under development): https://github.com/gha3mi/forcolormap/tree/dev Installation Requirements You need, whatever your operating system: a modern Fortran compiler, for example GFortran or the Intel ifort/ifx compilers. See the Fortran-lang.org compilers page for other compilers. The Fortran Package Manager fpm or CMake (>=3.24) & pkg-config for building the project. For writing PPM files, the library ForImage is used as a fpm or CMake dependency (automatically downloaded). Testing the project with fpm If you have a GitHub account, just clone the repository. Then launch the demo example, which is creating PPM files with colormaps and colorbars for all the available colormaps: $ git clone git@github.com:vmagnin/forcolormap.git\n$ cd forcolormap\n$ fpm run --example demo Using ForColormap as a fpm dependency To use ForColormap within your own fpm project, add the following lines to your fpm.toml manifest file: [dependencies] forcolormap = { git = \"https://github.com/vmagnin/forcolormap.git\" } Using CMake You can also build the project with CMake: $ git clone git@github.com:vmagnin/forcolormap.git\n$ cd forcolormap\n$ mkdir build && cd build\n$ cmake ..\n$ make\n$ sudo make install Static linking By default, ForColormap is built as a static library by CMake. You can compile your program with the -static option: $ gfortran -static my_program.f90 $( pkg-config --cflags --libs forcolormap forimage ) Note that ForColormap is depending on ForImage, and for linking you must respect that order. Dynamic linking There is a CMake option to obtain a shared library: $ cmake -D BUILD_SHARED_LIBS = true .. You can compile your program like this: $ gfortran my_program.f90 $( pkg-config --cflags --libs forcolormap ) If you encounter linking problems, you should verify the content of your PKG_CONFIG_PATH and LD_LIBRARY_PATH environment variables. For example, in Ubuntu the .pc files will be installed in /usr/local/lib/pkgconfig/ and the libraries in /usr/local/lib/ . Building examples and tests You can build the examples with: $ cmake -D BUILD_FORCOLORMAP_EXAMPLES = true ..\n$ make\n$ cd example The automatic tests can be run with: $ cmake -D BUILD_TESTING = true ..\n$ make\n$ ctest Uninstalling ForColormap From the build directory: $ sudo make uninstall_forcolormap Note that its dependency ForImage will also be uninstalled! You will have to reinstall it if needed. You can also choose and remove files listed in build/install_manifest.txt one by one. See CMake basics for more information. Learning In the example directory, you will find these commented demos: demo.f90 creates demo PPM files for each built-in colormap, plus a PPM file with the corresponding colorbars. It also demonstrates how to create your own colormap defined in an array and how to download a colormap from a .txt file. demo_reverse.f90 demonstrates the usage of the reverse=.true. option to reverse the direction of a colormap. colormaps_list.f90 generates the colormaps_list/COLORMAPS_LIST_*.md files. example1.f90 demonstrates how ForImage can be used to import/export PPM files. create.f90 demonstrates creating a custom colormap using methods like create_lagrange() and create_bezier() . extract.f90 demonstrates how to create a specific colormap by extracting a specified number of colors of a colormap. info.f90 demonstrates how to obtain information about a colormap using the Colormaps_info class. modify.f90 demonstrates how you can modify a colormap with methods like shift() , in concrete cases. They can be launched with the command fpm run --example name_of_the_example (without the .f90 extension). Licenses This project is under MIT license. The logo files are under license CC BY-SA 4.0 . Citing colormaps As any work, a colormap should be cited: For Scientific colour maps, please cite these two items: Crameri, F. (2018a), Scientific colour maps. Zenodo. http://doi.org/10.5281/zenodo.1243862 Crameri, Fabio, Grace E. Shephard, and Philip J. Heron. “The Misuse of Colour in Science Communication.” Nature Communications 11, no. 1 (October 28, 2020): 5444. https://doi.org/10.1038/s41467-020-19160-7. For the matplotlib colormaps, you can cite this webpage https://bids.github.io/colormap/ For the cubehelix colormap, please cite: Green, D. A. “A Colour Scheme for the Display of Astronomical Intensity Images.” arXiv, August 30, 2011. http://arxiv.org/abs/1108.5083. References Articles and books Nuñez, Jamie R., Christopher R. Anderton, and Ryan S. Renslow. “Optimizing Colormaps with Consideration for Color Vision Deficiency to Enable Accurate Interpretation of Scientific Data.” Edited by Jesús Malo. PLOS ONE 13, no. 7, August 1, 2018, e0199239. https://doi.org/10.1371/journal.pone.0199239. Rogowitz, Bernice E, and Lloyd A Treinish. “Why Should Engineers and Scientists Be Worried About Color?” Thyng, Kristen, Chad Greene, Robert Hetland, Heather Zimmerle, and Steven DiMarco. “True Colors of Oceanography: Guidelines for Effective and Accurate Colormap Selection.” Oceanography 29, no. 3, September 1, 2016, pp. 9–13. https://doi.org/10.5670/oceanog.2016.66. Valeur, Bernard. La couleur dans tous ses éclats. Bibliothèque scientifique. Paris: Belin-\"Pour la science\", 2011, ISBN 9782701158761. Valeur, Bernard. Lumière et luminescence - Ces phénomènes lumineux qui nous entourent. Bibliothèque scientifique. Paris: Belin-\"Pour la science\", 2005, ISBN 9782701136035. Web pages About colormaps https://en.wikipedia.org/wiki/Color_gradient https://en.wikipedia.org/wiki/Heat_map Ken Hughes, \"Default colormaps: Are Parula and Viridis really an improvement over Jet?\" , posted on October 1, 2019. \"In Search of a Perfect Colormap\", http://inversed.ru/Blog_2.htm Specific colormaps Cubehelix (Dave Green, public domain): https://people.phy.cam.ac.uk/dag9/CUBEHELIX/ Scientific colour maps (Fabio Crameri, MIT license): https://www.fabiocrameri.ch/colourmaps/ https://s-ink.org/colour-map-guideline https://s-ink.org/scientific-colour-maps Seminar talk by Fabio Crameri about the scientific use of colour in science communication for the University of Oslo GeoHyd seminar: https://www.youtube.com/watch?v=iDPzWARbFrs Matplotlib colormaps (CC0 license / public domain): Stéfan van der Walt and Nathaniel Smith: https://bids.github.io/colormap/ Python version: https://github.com/BIDS/colormap/blob/master/colormaps.py Nathaniel Smith and Stéfan van der Walt, A Better Default Colormap for Matplotlib, SciPy 2015: https://www.youtube.com/watch?v=xAoljeRJ3lU Black Body colormap (CC0 license / public domain) by Kenneth Moreland: \"Color Map Advice for Scientific Visualization\" . Colors for data scientists. Generate and refine palettes of optimally distinct colors. Developer Info Vincent Magnin,\nSeyed Ali Ghasemi","tags":"home","loc":"index.html"},{"title":"Colormaps_info – ForColormap ","text":"type, public :: Colormaps_info Inherits type~~colormaps_info~~InheritsGraph type~colormaps_info Colormaps_info type~table table type~colormaps_info->type~table colormaps Help Graph Key Nodes of different colours represent the following: Graph Key Type Type This Page's Entity This Page's Entity Solid arrows point from a derived type to the parent type which it\nextends. Dashed arrows point from a derived type to the other\ntypes it contains as a components, with a label listing the name(s) of\nsaid component(s). Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Components Type Visibility Attributes Name Initial type( table ), private :: colormaps (232) Type-Bound Procedures procedure, public :: finalize => deallocate_Colormaps_info private pure elemental subroutine deallocate_Colormaps_info (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this procedure, public :: get_levels private pure function get_levels (this, index) result(levels) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value integer procedure, public :: get_name private pure elemental function get_name (this, index) result(name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value character(len=colormap_name_length) procedure, public :: get_ncolormaps private pure elemental function get_ncolormaps (this) result(ncolormaps) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this Return Value integer procedure, public :: set_all private pure elemental subroutine set_all (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this procedure, public :: write private impure subroutine write (this, verbose, name, family, gradient, palette, author, license, levels, file_name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: name character(len=*), intent(in), optional :: family character(len=*), intent(in), optional :: gradient character(len=*), intent(in), optional :: palette character(len=*), intent(in), optional :: author character(len=*), intent(in), optional :: license integer, intent(in), optional :: levels character(len=*), intent(in), optional :: file_name Source Code type :: Colormaps_info type ( table ), private :: colormaps ( 232 ) ! Array of 'table' type to store multiple colormaps contains procedure :: set_all ! Procedure to set information for all colormaps in the array procedure :: write ! Procedure to filter and write information about the colormaps procedure :: finalize => deallocate_Colormaps_info ! Procedure to finalize the derived type procedure :: get_ncolormaps ! Procedure to get the number of colormaps procedure :: get_name ! Procedure to get the name of a colormap procedure :: get_levels ! Procedure to get the number of levels in a colormap end type Colormaps_info","tags":"","loc":"type/colormaps_info.html"},{"title":"table – ForColormap ","text":"type, private :: table Inherited by type~~table~~InheritedByGraph type~table table type~colormaps_info Colormaps_info type~colormaps_info->type~table colormaps Help Graph Key Nodes of different colours represent the following: Graph Key Type Type This Page's Entity This Page's Entity Solid arrows point from a derived type to the parent type which it\nextends. Dashed arrows point from a derived type to the other\ntypes it contains as a components, with a label listing the name(s) of\nsaid component(s). Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Components Type Visibility Attributes Name Initial character(len=:), private, allocatable :: author character(len=:), private, allocatable :: colorbar character(len=:), private, allocatable :: family character(len=:), private, allocatable :: gradient integer, private :: levels character(len=:), private, allocatable :: license character(len=:), private, allocatable :: name character(len=:), private, allocatable :: package character(len=:), private, allocatable :: palette character(len=:), private, allocatable :: url Type-Bound Procedures procedure, public :: finalize => deallocate_table private pure elemental subroutine deallocate_table (this) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this procedure, public :: set_info private pure elemental subroutine set_info (this, package, family, name, gradient, palette, author, license, url, colorbar, levels) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this character(len=*), intent(in) :: package character(len=*), intent(in) :: family character(len=*), intent(in) :: name character(len=*), intent(in) :: gradient character(len=*), intent(in) :: palette character(len=*), intent(in) :: author character(len=*), intent(in) :: license character(len=*), intent(in) :: url character(len=*), intent(in) :: colorbar integer, intent(in) :: levels procedure, public :: write_info private impure subroutine write_info (this, verbose, file_name) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: file_name Source Code type :: table character ( len = :), allocatable , private :: name ! Name of the colormap character ( len = :), allocatable , private :: family ! Family or category of the colormap character ( len = :), allocatable , private :: gradient ! Type of gradient used in the colormap character ( len = :), allocatable , private :: palette ! Palette used in the colormap character ( len = :), allocatable , private :: colorbar ! Colorbar style associated with the colormap character ( len = :), allocatable , private :: package ! Package or library associated with the colormap character ( len = :), allocatable , private :: author ! Author of the colormap character ( len = :), allocatable , private :: license ! License information for the colormap character ( len = :), allocatable , private :: url ! URL or web link to the colormap information integer , private :: levels ! Number of discrete levels in the colormap contains procedure :: set_info ! Procedure to set information for the colormap procedure :: write_info ! Procedure to print information about the colormap procedure :: finalize => deallocate_table ! Procedure to finalize the derived type end type table","tags":"","loc":"type/table.html"},{"title":"Colormap – ForColormap ","text":"type, public :: Colormap Components Type Visibility Attributes Name Initial integer, private :: levels integer, private, dimension(:, :), allocatable :: map character(len=colormap_name_length), private :: name real(kind=wp), private :: zmax real(kind=wp), private :: zmin Type-Bound Procedures procedure, public :: colorbar => write_ppm_colorbar private impure subroutine write_ppm_colorbar (self, filename, width, height, encoding) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename integer, intent(in), optional :: width integer, intent(in), optional :: height character(len=*), intent(in), optional :: encoding procedure, public :: compute_RGB private pure subroutine compute_RGB (self, z, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self real(kind=wp), intent(in) :: z integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue procedure, public :: create private pure subroutine create (self, name, zmin, zmax, map, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: map logical, intent(in), optional :: reverse procedure, public :: create_bezier private pure subroutine create_bezier (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse procedure, public :: create_lagrange private pure subroutine create_lagrange (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse procedure, public :: extract private pure subroutine extract (self, extractedLevels, name, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: extractedLevels character(len=*), intent(in), optional :: name real(kind=wp), intent(in), optional :: zmin real(kind=wp), intent(in), optional :: zmax logical, intent(in), optional :: reverse procedure, public :: get_RGB private pure subroutine get_RGB (self, level, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: level integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue procedure, public :: get_levels private pure function get_levels (self) result(levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value integer procedure, public :: get_name private pure function get_name (self) result(name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value character(len=colormap_name_length) procedure, public :: get_zmax private pure function get_zmax (self) result(zmax) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) procedure, public :: get_zmin private pure function get_zmin (self) result(zmin) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) procedure, public :: load private impure subroutine load (self, filename, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax logical, intent(in), optional :: reverse procedure, public :: print private impure subroutine print (self) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self procedure, public :: reverse private pure subroutine reverse (self, name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in), optional :: name procedure, public :: set private pure subroutine set (self, name, zmin, zmax, levels, varargs, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), optional :: levels real(kind=wp), intent(in), optional, dimension(:) :: varargs logical, intent(in), optional :: reverse procedure, public :: shift private pure subroutine shift (self, sh) Apply a circular shift to the colormap (left is +, right is -) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: sh The shift procedure, private :: check private pure subroutine check (self, check_name, check_zmin, check_zmax, check_levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self logical, intent(in), optional :: check_name logical, intent(in), optional :: check_zmin logical, intent(in), optional :: check_zmax logical, intent(in), optional :: check_levels Source Code type , public :: Colormap character ( colormap_name_length ), private :: name integer , private :: levels ! Number of levels real ( wp ), private :: zmin , zmax ! z range ! An array containing for each level the associated RGB values: integer , dimension (:, :), allocatable , private :: map contains procedure :: set procedure :: create procedure :: create_lagrange procedure :: create_bezier procedure :: load procedure :: get_RGB procedure :: compute_RGB procedure :: get_name procedure :: get_levels procedure :: get_zmin procedure :: get_zmax procedure :: print procedure :: colorbar => write_ppm_colorbar procedure :: reverse procedure :: shift procedure :: extract procedure , private :: check end type Colormap","tags":"","loc":"type/colormap.html"},{"title":"error – ForColormap","text":"impure subroutine error(status, input_name, input_zmin, input_zmax, input_levels) Uses colormap_parameters proc~~error~~UsesGraph proc~error colormap_class.f90::error module~colormap_parameters colormap_parameters proc~error->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Arguments Type Intent Optional Attributes Name logical, intent(in), dimension(:) :: status character(len=*), intent(in) :: input_name real(kind=wp), intent(in) :: input_zmin real(kind=wp), intent(in) :: input_zmax integer, intent(in) :: input_levels Source Code pure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) import wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels end subroutine error","tags":"","loc":"proc/error.html"},{"title":"cubehelix_colormap – ForColormap","text":"public pure subroutine cubehelix_colormap(map, nlev, varargs) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map integer, intent(in) :: nlev real(kind=wp), intent(in), optional, dimension(:) :: varargs Called by proc~~cubehelix_colormap~~CalledByGraph proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set forcolormap::Colormap%set proc~set->proc~cubehelix_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine cubehelix_colormap ( map , nlev , varargs ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer , intent ( in ) :: nlev real ( wp ), dimension (:), intent ( in ), optional :: varargs integer :: i real ( wp ) :: start , rots , hue , gamma real ( wp ) :: fract , angle , amp if ( present ( varargs )) then if ( size ( varargs ) /= 4 ) error stop \"ERROR: cubehelix varargs(:) must have 4 values\" start = varargs ( 1 ) rots = varargs ( 2 ) hue = varargs ( 3 ) gamma = varargs ( 4 ) else ! Default values: start = 0.5_wp rots = - 1.5_wp hue = 1.0_wp gamma = 1.0_wp end if allocate ( map ( 0 : nlev - 1 , 1 : 3 )) do concurrent ( i = 0 : nlev - 1 ) fract = real ( i , kind = wp ) / ( nlev - 1 ) angle = 2 * pi * ( start / 3 + 1 + rots * fract ) fract = fract ** gamma amp = hue * fract * ( 1 - fract ) / 2 map ( i , 1 ) = nint ( 255 * ( fract + amp * ( - 0.14861_wp * cos ( angle ) + 1.78277_wp * sin ( angle )))) map ( i , 2 ) = nint ( 255 * ( fract + amp * ( - 0.29227_wp * cos ( angle ) - 0.90649_wp * sin ( angle )))) map ( i , 3 ) = nint ( 255 * ( fract + amp * ( + 1.97294_wp * cos ( angle )))) end do end subroutine cubehelix_colormap","tags":"","loc":"proc/cubehelix_colormap.html"},{"title":"fire_colormap – ForColormap","text":"public pure subroutine fire_colormap(levels, map) Arguments Type Intent Optional Attributes Name integer, intent(in) :: levels integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~fire_colormap~~CalledByGraph proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set forcolormap::Colormap%set proc~set->proc~fire_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine fire_colormap ( levels , map ) integer , intent ( in ) :: levels integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: last , i ! Best with 256 levels but you can try other numbers: last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( last - i ) / 20 0.0_wp ) ** 7.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( last - i ) / 12 0.0_wp ) ** 1.8_wp )) map ( i , 3 ) = nint ( last * exp ( - (( last - i ) / 4 0.0_wp ) ** 0.7_wp )) end do end subroutine fire_colormap","tags":"","loc":"proc/fire_colormap.html"},{"title":"inv_rainbow_colormap – ForColormap","text":"public pure subroutine inv_rainbow_colormap(map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~inv_rainbow_colormap~~CalledByGraph proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set forcolormap::Colormap%set proc~set->proc~inv_rainbow_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine inv_rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine inv_rainbow_colormap","tags":"","loc":"proc/inv_rainbow_colormap.html"},{"title":"rainbow_colormap – ForColormap","text":"public pure subroutine rainbow_colormap(map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~rainbow_colormap~~CalledByGraph proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set forcolormap::Colormap%set proc~set->proc~rainbow_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine rainbow_colormap","tags":"","loc":"proc/rainbow_colormap.html"},{"title":"zebra_colormap – ForColormap","text":"public pure subroutine zebra_colormap(map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map Called by proc~~zebra_colormap~~CalledByGraph proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set forcolormap::Colormap%set proc~set->proc~zebra_colormap program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine zebra_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! Black and white zebras: do i = 0 , 224 , 32 map ( i : i + 15 , :) = 0 map ( i + 16 : i + 31 , :) = 255 end do end subroutine zebra_colormap","tags":"","loc":"proc/zebra_colormap.html"},{"title":"findColumnIntersections – ForColormap","text":"private pure function findColumnIntersections(array) result(intersections) Arguments Type Intent Optional Attributes Name integer, intent(in) :: array (:,:) Return Value integer, allocatable, (:) Called by proc~~findcolumnintersections~~CalledByGraph proc~findcolumnintersections forcolormap_info::findColumnIntersections proc~write forcolormap_info::Colormaps_info%write proc~write->proc~findcolumnintersections Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function findColumnIntersections ( array ) result ( intersections ) integer , intent ( in ) :: array (:,:) integer , allocatable :: intersections (:) logical :: found ( size ( array , 1 )) integer :: i , j do i = 1 , size ( array , 1 ) found ( i ) = . true . do j = 2 , size ( array , 2 ) ! Check if all elements in the current column are non-zero if ( . not . all ( array (:, j ) == 0 )) then ! Check if the current element in the first column exists in the current column found ( i ) = found ( i ) . and . any ( array ( i , 1 ) == array (:, j )) end if end do end do ! Allocate and populate the intersections array allocate ( intersections ( size ( pack ( array (:, 1 ), mask = found )))) intersections = pack ( array (:, 1 ), mask = found ) end function findColumnIntersections","tags":"","loc":"proc/findcolumnintersections.html"},{"title":"get_levels – ForColormap","text":"private pure function get_levels(this, index) result(levels) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value integer Called by proc~~get_levels~~CalledByGraph proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check forcolormap::Colormap%check proc~check->proc~get_levels proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function get_levels ( this , index ) result ( levels ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index integer :: levels levels = this % colormaps ( index )% levels end function get_levels","tags":"","loc":"proc/get_levels.html"},{"title":"get_name – ForColormap","text":"private pure elemental function get_name(this, index) result(name) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value character(len=colormap_name_length) Called by proc~~get_name~~CalledByGraph proc~get_name forcolormap_info::Colormaps_info%get_name proc~check forcolormap::Colormap%check proc~check->proc~get_name proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental function get_name ( this , index ) result ( name ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index character ( colormap_name_length ) :: name name = trim ( this % colormaps ( index )% name ) end function get_name","tags":"","loc":"proc/get_name.html"},{"title":"get_ncolormaps – ForColormap","text":"private pure elemental function get_ncolormaps(this) result(ncolormaps) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this Return Value integer Called by proc~~get_ncolormaps~~CalledByGraph proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check forcolormap::Colormap%check proc~check->proc~get_ncolormaps proc~write forcolormap_info::Colormaps_info%write proc~write->proc~get_ncolormaps proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental function get_ncolormaps ( this ) result ( ncolormaps ) class ( Colormaps_info ), intent ( in ) :: this integer :: ncolormaps ncolormaps = size ( this % colormaps ) end function get_ncolormaps","tags":"","loc":"proc/get_ncolormaps.html"},{"title":"deallocate_Colormaps_info – ForColormap","text":"private pure elemental subroutine deallocate_Colormaps_info(this) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this Calls proc~~deallocate_colormaps_info~~CallsGraph proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info->proc~deallocate_table Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~deallocate_colormaps_info~~CalledByGraph proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info program~colormaps_list colormaps_list program~colormaps_list->proc~deallocate_colormaps_info program~write_info write_info program~write_info->proc~deallocate_colormaps_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine deallocate_Colormaps_info ( this ) class ( Colormaps_info ), intent ( inout ) :: this ! integer :: i ! do i = 1, this%get_ncolormaps() ! call this%colormaps(i)%deallocate_table() ! end do call this % colormaps (:)% finalize () end subroutine deallocate_Colormaps_info","tags":"","loc":"proc/deallocate_colormaps_info.html"},{"title":"deallocate_table – ForColormap","text":"private pure elemental subroutine deallocate_table(this) Type Bound table Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this Called by proc~~deallocate_table~~CalledByGraph proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info proc~deallocate_colormaps_info->proc~deallocate_table program~colormaps_list colormaps_list program~colormaps_list->proc~deallocate_colormaps_info program~write_info write_info program~write_info->proc~deallocate_colormaps_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine deallocate_table ( this ) class ( table ), intent ( inout ) :: this if ( allocated ( this % name )) deallocate ( this % name ) if ( allocated ( this % family )) deallocate ( this % family ) if ( allocated ( this % gradient )) deallocate ( this % gradient ) if ( allocated ( this % palette )) deallocate ( this % palette ) if ( allocated ( this % colorbar )) deallocate ( this % colorbar ) if ( allocated ( this % package )) deallocate ( this % package ) if ( allocated ( this % author )) deallocate ( this % author ) if ( allocated ( this % license )) deallocate ( this % license ) if ( allocated ( this % url )) deallocate ( this % url ) end subroutine deallocate_table","tags":"","loc":"proc/deallocate_table.html"},{"title":"set_all – ForColormap","text":"private pure elemental subroutine set_all(this) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this Calls proc~~set_all~~CallsGraph proc~set_all forcolormap_info::Colormaps_info%set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~set_all~~CalledByGraph proc~set_all forcolormap_info::Colormaps_info%set_all proc~check forcolormap::Colormap%check proc~check->proc~set_all program~colormaps_list colormaps_list program~colormaps_list->proc~set_all program~write_info write_info program~write_info->proc~set_all proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine set_all ( this ) class ( Colormaps_info ), intent ( inout ) :: this integer :: i i = 1 call this % colormaps ( i )% set_info (& name = \"acton\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"acton_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton10\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"acton10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton25\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"acton25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton50\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"acton50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton100\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"acton100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"actonS\" ,& family = \"acton\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"actonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bam_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam10\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bam10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam100\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bam100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam25\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bam25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam50\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bam50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamako_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako10\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamako10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako100\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamako100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako25\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamako25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako50\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamako50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamakoS\" ,& family = \"bamako\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bamakoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO10\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO100\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO25\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO50\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowK_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowK10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowK100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowK25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowK50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowKS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowKS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowWS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"berlin_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin10\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"berlin10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin100\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"berlin100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin25\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"berlin25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin50\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"berlin50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bilbao_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao10\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bilbao10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao100\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bilbao100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao25\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bilbao25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao50\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bilbao50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbaoS\" ,& family = \"bilbao\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bilbaoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"broc_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"broc10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"broc100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"broc25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"broc50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO\" ,& family = \"broc\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"brocO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"brocO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"brocO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"brocO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"brocO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"buda_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda10\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"buda10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda100\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"buda100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda25\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"buda25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda50\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"buda50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"budaS\" ,& family = \"buda\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"budaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bukavu_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu10\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bukavu10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu100\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bukavu100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu25\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bukavu25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu50\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bukavu50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"cork_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"cork10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"cork100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"cork25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"cork50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO\" ,& family = \"cork\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"corkO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"corkO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"corkO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"corkO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"corkO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"davos_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos10\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"davos10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos100\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"davos100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos25\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"davos25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos50\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"davos50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davosS\" ,& family = \"davos\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"davosS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"devon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon10\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"devon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon100\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"devon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon25\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"devon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon50\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"devon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devonS\" ,& family = \"devon\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"devonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"fes_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes10\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"fes10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes100\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"fes100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes25\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"fes25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes50\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"fes50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"glasgow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow10\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"glasgow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow100\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"glasgow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow25\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"glasgow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow50\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"glasgow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgowS\" ,& family = \"glasgow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"glasgowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"grayC_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC10\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"grayC10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC100\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"grayC100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC25\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"grayC25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC50\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"grayC50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayCS\" ,& family = \"grayC\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"grayCS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"hawaii_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii10\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"hawaii10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii100\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"hawaii100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii25\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"hawaii25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii50\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"hawaii50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaiiS\" ,& family = \"hawaii\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"hawaiiS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"imola_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola10\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"imola10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola100\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"imola100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola25\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"imola25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola50\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"imola50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imolaS\" ,& family = \"imola\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"imolaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lajolla_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla10\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lajolla10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla100\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lajolla100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla25\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lajolla25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla50\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lajolla50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajollaS\" ,& family = \"lajolla\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lajollaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lapaz_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz10\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lapaz10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz100\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lapaz100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz25\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lapaz25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz50\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lapaz50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapazS\" ,& family = \"lapaz\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lapazS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipariS\" ,& family = \"lipari\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lipariS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lipari_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari10\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lipari10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari100\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lipari100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari25\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lipari25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari50\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lipari50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lisbon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon10\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lisbon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon100\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lisbon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon25\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lisbon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon50\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lisbon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"managua_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua10\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"managua10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua100\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"managua100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua25\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"managua25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua50\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"managua50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"navia_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"navia10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"navia100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"navia25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"navia50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"naviaW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaWS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"naviaW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"naviaW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"naviaW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"naviaW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"nuuk_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk10\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"nuuk10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk100\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"nuuk100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk25\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"nuuk25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk50\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"nuuk50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuukS\" ,& family = \"nuuk\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"nuukS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oleron_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron10\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oleron10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron100\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oleron100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron25\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oleron25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron50\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oleron50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oslo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo10\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oslo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo100\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oslo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo25\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oslo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo50\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oslo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"osloS\" ,& family = \"oslo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"osloS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"roma_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"roma10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"roma100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"roma25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"roma50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO\" ,& family = \"roma\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"romaO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"romaO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"romaO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"romaO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"romaO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tofino_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino10\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tofino10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino100\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tofino100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino25\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tofino25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino50\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tofino50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tokyo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo10\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tokyo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo100\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tokyo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo25\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tokyo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo50\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tokyo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyoS\" ,& family = \"tokyo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"tokyoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"turku_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku10\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"turku10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku100\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"turku100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku25\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"turku25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku50\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"turku50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turkuS\" ,& family = \"turku\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"turkuS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vanimo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo10\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vanimo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo100\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vanimo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo25\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vanimo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo50\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vanimo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vik_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vik10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vik100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vik25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vik50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO\" ,& family = \"vik\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vikO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vikO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vikO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vikO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vikO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) ! Miscellaneous colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"black_body\" ,& family = \"black_body\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 1024 , & colorbar = \"black_body_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Kenneth Moreland\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://www.kennethmoreland.com\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"cubehelix\" ,& family = \"cubehelix\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"cubehelix_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Dave Green\" ,& license = \"Public Domain (Unlicense license)\" ,& url = \"https://people.phy.cam.ac.uk/dag9/CUBEHELIX\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"fire\" ,& family = \"fire\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"fire_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inv_rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inv_rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"zebra\" ,& family = \"zebra\" ,& gradient = \"Categorical\" ,& palette = \"Discrete\" ,& levels = 256 , & colorbar = \"zebra_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) ! Matplotlib colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"magma\" ,& family = \"magma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"magma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inferno\" ,& family = \"inferno\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inferno_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"plasma\" ,& family = \"plasma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"plasma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"viridis\" ,& family = \"viridis\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"viridis_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) end subroutine set_all","tags":"","loc":"proc/set_all.html"},{"title":"set_info – ForColormap","text":"private pure elemental subroutine set_info(this, package, family, name, gradient, palette, author, license, url, colorbar, levels) Type Bound table Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this character(len=*), intent(in) :: package character(len=*), intent(in) :: family character(len=*), intent(in) :: name character(len=*), intent(in) :: gradient character(len=*), intent(in) :: palette character(len=*), intent(in) :: author character(len=*), intent(in) :: license character(len=*), intent(in) :: url character(len=*), intent(in) :: colorbar integer, intent(in) :: levels Called by proc~~set_info~~CalledByGraph proc~set_info forcolormap_info::table%set_info proc~set_all forcolormap_info::Colormaps_info%set_all proc~set_all->proc~set_info proc~check forcolormap::Colormap%check proc~check->proc~set_all program~colormaps_list colormaps_list program~colormaps_list->proc~set_all program~write_info write_info program~write_info->proc~set_all proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure elemental subroutine set_info ( this , package , family , name , gradient , palette , author , license , url , colorbar , levels ) class ( table ), intent ( inout ) :: this character ( * ), intent ( in ) :: package , family , name , gradient , palette , author , license , url , colorbar integer , intent ( in ) :: levels allocate ( this % package , source = trim ( package )) allocate ( this % family , source = trim ( family )) allocate ( this % name , source = trim ( name )) allocate ( this % gradient , source = trim ( gradient )) allocate ( this % palette , source = trim ( palette )) allocate ( this % author , source = trim ( author )) allocate ( this % license , source = trim ( license )) allocate ( this % url , source = trim ( url )) allocate ( this % colorbar , source = trim ( colorbar )) this % levels = levels end subroutine set_info","tags":"","loc":"proc/set_info.html"},{"title":"write – ForColormap","text":"private impure subroutine write(this, verbose, name, family, gradient, palette, author, license, levels, file_name) Type Bound Colormaps_info Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: name character(len=*), intent(in), optional :: family character(len=*), intent(in), optional :: gradient character(len=*), intent(in), optional :: palette character(len=*), intent(in), optional :: author character(len=*), intent(in), optional :: license integer, intent(in), optional :: levels character(len=*), intent(in), optional :: file_name Calls proc~~write~~CallsGraph proc~write forcolormap_info::Colormaps_info%write proc~findcolumnintersections forcolormap_info::findColumnIntersections proc~write->proc~findcolumnintersections proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~write->proc~get_ncolormaps proc~write_info forcolormap_info::table%write_info proc~write->proc~write_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine write ( this , verbose , name , family , gradient , palette , author , license , levels , file_name ) class ( Colormaps_info ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: name , family , gradient , palette , author , license integer , intent ( in ), optional :: levels character ( * ), intent ( in ), optional :: file_name integer :: i , k , verbose_ , nunit integer :: ind ( this % get_ncolormaps (), 8 ) ! 1: index, 2: name, 3: family, 4: gradient, 5: palette, 6: author, 7: license, 8: levels integer , allocatable :: inter_ind (:) ! Set default values if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if ! Print header for verbose = 1 if ( verbose_ == 1 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar' , '|Package' , '|Author' , '|Licence' , '|URL|' write ( nunit , '(a)' ) '|---|---|---|---|---|---|---|---|---|---|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' , 'Package' , 'Author' , 'Licence' , 'URL' print '(a)' , '*****************************************************************************************& &*****************************************************************************************************& &**********************' end if end if ! Print header for verbose = 4 if ( verbose_ == 4 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,8x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar |' write ( nunit , '(a)' ) '|------------|------------|--------------------|--------------|-------|-------------------------|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' print '(a)' , '**************************************************************************************************' end if end if if ( present ( name ) . or .& present ( family ) . or .& present ( gradient ) . or .& present ( palette ) . or .& present ( author ) . or .& present ( license ) . or .& present ( levels )) then ind = 0 do i = 1 , this % get_ncolormaps () ind ( i , 1 ) = i end do if ( present ( name )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% name == name ) then ind ( k , 2 ) = i k = k + 1 end if end do end if if ( present ( family )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% family == family ) then ind ( k , 3 ) = i k = k + 1 end if end do end if if ( present ( gradient )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% gradient == gradient ) then ind ( k , 4 ) = i k = k + 1 end if end do end if if ( present ( palette )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% palette == palette ) then ind ( k , 5 ) = i k = k + 1 end if end do end if if ( present ( author )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% author == author ) then ind ( k , 6 ) = i k = k + 1 end if end do end if if ( present ( license )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% license == license ) then ind ( k , 7 ) = i k = k + 1 end if end do end if if ( present ( levels )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% levels == levels ) then ind ( k , 8 ) = i k = k + 1 end if end do end if inter_ind = findColumnIntersections ( ind (:,:)) do i = 1 , this % get_ncolormaps () do k = 1 , size ( inter_ind ) if ( inter_ind ( k ) == i ) then call this % colormaps ( i )% write_info ( verbose , file_name ) end if end do end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if else do i = 1 , this % get_ncolormaps () call this % colormaps ( i )% write_info ( verbose , file_name ) end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if end if end subroutine write","tags":"","loc":"proc/write.html"},{"title":"write_info – ForColormap","text":"private impure subroutine write_info(this, verbose, file_name) Type Bound table Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: file_name Called by proc~~write_info~~CalledByGraph proc~write_info forcolormap_info::table%write_info proc~write forcolormap_info::Colormaps_info%write proc~write->proc~write_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine write_info ( this , verbose , file_name ) class ( table ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: file_name integer :: verbose_ , nunit character ( len = 256 ) :: format_table if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if select case ( verbose_ ) case ( 1 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a,' , 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar ,& '|' , this % package ,& '|' , this % author ,& '|' , this % license ,& '|' , this % url , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar ,& this % package ,& this % author ,& this % license ,& this % url end if case ( 2 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a,a)' ) 'Name : ' , this % name write ( nunit , '(a,a)' ) 'Family : ' , this % family write ( nunit , '(a,a)' ) 'Gradient: ' , this % gradient write ( nunit , '(a,a)' ) 'Palette : ' , this % palette write ( nunit , '(a,I4)' ) 'Levels : ' , this % levels write ( nunit , '(a,a)' ) 'Colorbar: ' , this % colorbar write ( nunit , '(a,a)' ) 'Package : ' , this % package write ( nunit , '(a,a)' ) 'Author : ' , this % author write ( nunit , '(a,a)' ) 'Licence : ' , this % license write ( nunit , '(a,a)' ) 'URL : ' , this % url write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a)' ) '' close ( nunit ) else print '(a)' , '' print '(a)' , '**********************************************' print '(a,a)' , 'Name : ' , this % name print '(a,a)' , 'Family : ' , this % family print '(a,a)' , 'Gradient: ' , this % gradient print '(a,a)' , 'Palette : ' , this % palette print '(a,I4)' , 'Levels : ' , this % levels print '(a,a)' , 'Colorbar: ' , this % colorbar print '(a,a)' , 'Package : ' , this % package print '(a,a)' , 'Author : ' , this % author print '(a,a)' , 'Licence : ' , this % license print '(a,a)' , 'URL : ' , this % url print '(a)' , '**********************************************' print '(a)' , '' end if case ( 3 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) this % name close ( nunit ) else print '(a)' , this % name end if case ( 4 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar end if end select end subroutine write_info","tags":"","loc":"proc/write_info.html"},{"title":"bezier – ForColormap","text":"private pure function bezier(colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable Calls proc~~bezier~~CallsGraph proc~bezier forcolormap::bezier proc~factorial forcolormap::factorial proc~bezier->proc~factorial Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~bezier~~CalledByGraph proc~bezier forcolormap::bezier proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~bezier program~create create program~create->proc~create_bezier Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function bezier ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Bezier curve order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Bezier interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i ,:) = map_r ( i ,:) + real ( colors ( j + 1 ,:), wp ) * & real ( factorial ( order ), wp ) / ( real ( factorial ( j ), wp ) * real ( factorial ( order - j ), wp )) * t ** j * ( 1.0_wp - t ) ** ( order - j ) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function bezier","tags":"","loc":"proc/bezier.html"},{"title":"factorial – ForColormap","text":"private pure function factorial(n) result(result) Arguments Type Intent Optional Attributes Name integer, intent(in) :: n Return Value integer Called by proc~~factorial~~CalledByGraph proc~factorial forcolormap::factorial proc~bezier forcolormap::bezier proc~bezier->proc~factorial proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~bezier program~create create program~create->proc~create_bezier Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function factorial ( n ) result ( result ) integer , intent ( in ) :: n integer :: result , i result = 1 do concurrent ( i = 2 : n ) result = result * i end do end function factorial","tags":"","loc":"proc/factorial.html"},{"title":"get_levels – ForColormap","text":"private pure function get_levels(self) result(levels) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value integer Called by proc~~get_levels~2~~CalledByGraph proc~get_levels~2 forcolormap::Colormap%get_levels program~demo demo program~demo->proc~get_levels~2 program~demo_reverse demo_reverse program~demo_reverse->proc~get_levels~2 program~modify modify program~modify->proc~get_levels~2 Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_levels~2.html"},{"title":"get_name – ForColormap","text":"private pure function get_name(self) result(name) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value character(len=colormap_name_length) Called by proc~~get_name~2~~CalledByGraph proc~get_name~2 forcolormap::Colormap%get_name program~demo demo program~demo->proc~get_name~2 program~demo_reverse demo_reverse program~demo_reverse->proc~get_name~2 Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_name~2.html"},{"title":"get_zmax – ForColormap","text":"private pure function get_zmax(self) result(zmax) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) Called by proc~~get_zmax~~CalledByGraph proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~get_zmax program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_zmax.html"},{"title":"get_zmin – ForColormap","text":"private pure function get_zmin(self) result(zmin) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) Called by proc~~get_zmin~~CalledByGraph proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~get_zmin program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_zmin.html"},{"title":"lagrange – ForColormap","text":"private pure function lagrange(colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable Calls proc~~lagrange~~CallsGraph proc~lagrange forcolormap::lagrange proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange->proc~lagrange_poly Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~lagrange~~CalledByGraph proc~lagrange forcolormap::lagrange proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~lagrange program~create create program~create->proc~create_lagrange Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function lagrange ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Lagrange interpolation. order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Lagrange interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i , 1 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 1 ), wp )) map_r ( i , 2 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 2 ), wp )) map_r ( i , 3 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 3 ), wp )) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function lagrange","tags":"","loc":"proc/lagrange.html"},{"title":"lagrange_poly – ForColormap","text":"private pure function lagrange_poly(t, n) result(B) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in) :: t integer, intent(in) :: n order + 1 Return Value real(kind=wp), allocatable, (:) Called by proc~~lagrange_poly~~CalledByGraph proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange forcolormap::lagrange proc~lagrange->proc~lagrange_poly proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~lagrange program~create create program~create->proc~create_lagrange Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function lagrange_poly ( t , n ) result ( B ) real ( wp ), intent ( in ) :: t integer , intent ( in ) :: n !! order + 1 real ( wp ), allocatable :: B (:) integer :: i , l real ( wp ), dimension (:), allocatable :: Xth ! Create an array of n equidistant points between 0 and 1 allocate ( Xth ( n ), source = 0.0_wp ) do i = 1 , n - 1 Xth ( i ) = 0.0_wp + real ( i - 1 , wp ) * ( 1.0_wp - ( 0.0_wp )) / real ( n - 1 , wp ) end do Xth ( n ) = 1.0_wp allocate ( B ( n ), source = 1.0_wp ) l = 0 i = 0 do i = 1 , n do l = 1 , n if ( l /= i ) then if ( abs ( Xth ( i ) - Xth ( l )) >= tiny ( 0.0_wp )) then B ( i ) = B ( i ) * ( t - Xth ( l )) / ( Xth ( i ) - Xth ( l )) end if end if end do end do end function lagrange_poly","tags":"","loc":"proc/lagrange_poly.html"},{"title":"scale_real_int – ForColormap","text":"private pure function scale_real_int(real_array, a, b) result(int_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array integer, intent(in) :: a integer, intent(in) :: b Return Value integer, dimension(size(real_array)) Calls proc~~scale_real_int~~CallsGraph proc~scale_real_int forcolormap::scale_real_int proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int->proc~scale_real_real Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~scale_real_int~~CalledByGraph proc~scale_real_int forcolormap::scale_real_int proc~extract forcolormap::Colormap%extract proc~extract->proc~scale_real_int program~extract extract program~extract->proc~extract Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function scale_real_int ( real_array , a , b ) result ( int_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array integer , intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: normalizedArray integer , dimension ( size ( real_array )) :: int_scaled_array ! Normalize the real array elements to the range [0, 1] normalizedArray = scale_real_real ( real_array , 0.0_wp , 1.0_wp ) ! Scale the real array elements between a and b int_scaled_array = a + nint (( b - a ) * normalizedArray ) end function scale_real_int","tags":"","loc":"proc/scale_real_int.html"},{"title":"scale_real_real – ForColormap","text":"private pure function scale_real_real(real_array, a, b) result(real_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array real(kind=wp), intent(in) :: a real(kind=wp), intent(in) :: b Return Value real(kind=wp), dimension(size(real_array)) Called by proc~~scale_real_real~~CalledByGraph proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int forcolormap::scale_real_int proc~scale_real_int->proc~scale_real_real proc~extract forcolormap::Colormap%extract proc~extract->proc~scale_real_int program~extract extract program~extract->proc~extract Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure function scale_real_real ( real_array , a , b ) result ( real_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array real ( wp ), intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: real_scaled_array real ( wp ) :: minValue , maxValue real ( wp ), parameter :: tolerance = 1.0e-12_wp ! Find minimum and maximum values in the input real array minValue = minval ( real_array ) maxValue = maxval ( real_array ) if ( abs ( maxValue - minValue ) < tolerance ) then real_scaled_array = b else real_scaled_array = a + ( b - a ) * ( real_array - minValue ) / ( maxValue - minValue ) end if end function scale_real_real","tags":"","loc":"proc/scale_real_real.html"},{"title":"check – ForColormap","text":"private pure subroutine check(self, check_name, check_zmin, check_zmax, check_levels) Uses forcolormap_info proc~~check~~UsesGraph proc~check forcolormap::Colormap%check module~forcolormap_info forcolormap_info proc~check->module~forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self logical, intent(in), optional :: check_name logical, intent(in), optional :: check_zmin logical, intent(in), optional :: check_zmax logical, intent(in), optional :: check_levels Calls proc~~check~~CallsGraph proc~check forcolormap::Colormap%check proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~check~~CalledByGraph proc~check forcolormap::Colormap%check proc~create forcolormap::Colormap%create proc~create->proc~check proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~check proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~check proc~load forcolormap::Colormap%load proc~load->proc~check proc~set forcolormap::Colormap%set proc~set->proc~check proc~set->proc~create proc~extract forcolormap::Colormap%extract proc~extract->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~set program~extract->proc~extract program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine check ( self , check_name , check_zmin , check_zmax , check_levels ) use forcolormap_info , only : Colormaps_info class ( Colormap ), intent ( inout ) :: self logical , dimension ( 4 ) :: status logical , intent ( in ), optional :: check_name , check_zmin , check_zmax , check_levels real ( wp ) :: temp type ( Colormaps_info ) :: cmap_info integer :: input_levels , i , levels real ( wp ) :: input_zmin , input_zmax character (:), allocatable :: input_name interface pure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) import wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels end subroutine error end interface ! Save input parameters for error message input_levels = self % levels input_zmin = self % zmin input_zmax = self % zmax input_name = self % name ! Initialize status array status = . true . call cmap_info % set_all () if ( present ( check_name )) then if ( check_name ) then ! Check if the colormap is valid if (. not . any ( self % name == colormaps_list )) status ( 1 ) = . false . ! Fix the colormap if it is not valid if ( status ( 1 ) . eqv . . false .) self % name = \"grayC\" ! Find the number of levels of the colormap do i = 1 , cmap_info % get_ncolormaps () if ( self % name == trim ( cmap_info % get_name ( i ))) then levels = cmap_info % get_levels ( i ) exit end if end do ! Check if the number of levels is valid if ( levels /= self % levels . or . self % levels < 1 ) then if ( self % levels /= - 256 ) then if ( levels /= - 1 ) then status ( 3 ) = . false . self % levels = levels end if else self % levels = 256 end if end if ! Fix the number of levels if it is not valid if ( status ( 3 ) . eqv . . false .) then self % levels = levels end if end if end if if ( present ( check_zmin )) then if ( check_zmin ) then ! Check validity of zmin and zmax if ( self % zmin > self % zmax ) status ( 2 ) = . false . ! Fix zmin and zmax if they are not valid if ( status ( 2 ) . eqv . . false .) then temp = self % zmin self % zmin = self % zmax self % zmax = temp end if end if end if if ( present ( check_levels )) then if ( check_levels ) then ! Check if the number of levels is valid if ( self % levels < 1 ) then status ( 4 ) = . false . self % levels = 256 end if end if end if ! Call error subroutine if any status is false if ( any ( status . eqv . . false .))& call error ( status , input_name , input_zmin , input_zmax , input_levels ) end subroutine check","tags":"","loc":"proc/check.html"},{"title":"compute_RGB – ForColormap","text":"private pure subroutine compute_RGB(self, z, red, green, blue) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self real(kind=wp), intent(in) :: z integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue Calls proc~~compute_rgb~~CallsGraph proc~compute_rgb forcolormap::Colormap%compute_RGB proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~compute_rgb~~CalledByGraph proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~compute_rgb program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/compute_rgb.html"},{"title":"create – ForColormap","text":"private pure subroutine create(self, name, zmin, zmax, map, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: map logical, intent(in), optional :: reverse Calls proc~~create~~CallsGraph proc~create forcolormap::Colormap%create proc~check forcolormap::Colormap%check proc~create->proc~check proc~reverse forcolormap::Colormap%reverse proc~create->proc~reverse proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~create~~CalledByGraph proc~create forcolormap::Colormap%create proc~extract forcolormap::Colormap%extract proc~extract->proc~create proc~set forcolormap::Colormap%set proc~set->proc~create program~demo demo program~demo->proc~create program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~set program~extract extract program~extract->proc~extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/create.html"},{"title":"create_bezier – ForColormap","text":"private pure subroutine create_bezier(self, name, zmin, zmax, colors, levels, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse Calls proc~~create_bezier~~CallsGraph proc~create_bezier forcolormap::Colormap%create_bezier proc~bezier forcolormap::bezier proc~create_bezier->proc~bezier proc~check forcolormap::Colormap%check proc~create_bezier->proc~check proc~reverse forcolormap::Colormap%reverse proc~create_bezier->proc~reverse proc~factorial forcolormap::factorial proc~bezier->proc~factorial proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~create_bezier~~CalledByGraph proc~create_bezier forcolormap::Colormap%create_bezier program~create create program~create->proc~create_bezier Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/create_bezier.html"},{"title":"create_lagrange – ForColormap","text":"private pure subroutine create_lagrange(self, name, zmin, zmax, colors, levels, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse Calls proc~~create_lagrange~~CallsGraph proc~create_lagrange forcolormap::Colormap%create_lagrange proc~check forcolormap::Colormap%check proc~create_lagrange->proc~check proc~lagrange forcolormap::lagrange proc~create_lagrange->proc~lagrange proc~reverse forcolormap::Colormap%reverse proc~create_lagrange->proc~reverse proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange->proc~lagrange_poly proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~create_lagrange~~CalledByGraph proc~create_lagrange forcolormap::Colormap%create_lagrange program~create create program~create->proc~create_lagrange Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/create_lagrange.html"},{"title":"extract – ForColormap","text":"private pure subroutine extract(self, extractedLevels, name, zmin, zmax, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: extractedLevels character(len=*), intent(in), optional :: name real(kind=wp), intent(in), optional :: zmin real(kind=wp), intent(in), optional :: zmax logical, intent(in), optional :: reverse Calls proc~~extract~~CallsGraph proc~extract forcolormap::Colormap%extract proc~create forcolormap::Colormap%create proc~extract->proc~create proc~reverse forcolormap::Colormap%reverse proc~extract->proc~reverse proc~scale_real_int forcolormap::scale_real_int proc~extract->proc~scale_real_int proc~create->proc~reverse proc~check forcolormap::Colormap%check proc~create->proc~check proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int->proc~scale_real_real proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~extract~~CalledByGraph proc~extract forcolormap::Colormap%extract program~extract extract program~extract->proc~extract Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine extract ( self , extractedLevels , name , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: extractedLevels character ( * ), intent ( in ), optional :: name real ( wp ), intent ( in ), optional :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: extracted_map ( extractedLevels , 3 ) integer :: ind ( extractedLevels , 3 ) real ( wp ) :: ind_rel ( extractedLevels , 3 ), array_rel ( self % levels , 3 ), step ( 3 ), current_element ( 3 ) integer :: i integer , dimension ( self % levels , 3 ) :: array character ( 3 ) :: extractedLevels_char ! Initialize array with indices do concurrent ( i = 1 : self % levels ) array ( i ,:) = i - 1 end do ! Normalize array elements to the range [0, 1] do concurrent ( i = 1 : 3 ) array_rel (:, i ) = array (:, i ) / maxval ( array (:, i )) end do ! Check if the number of extractedLevels is valid if ( extractedLevels <= 1 . or . extractedLevels > self % levels ) then error stop \"Error: Invalid number of extractedLevels. Must be > 1 and <= levels\" end if step (:) = array_rel ( self % levels ,:) / real ( extractedLevels - 1 , kind = wp ) current_element (:) = array_rel ( 1 ,:) do i = 1 , extractedLevels ind_rel ( i ,:) = current_element current_element = current_element + step end do ! Scale interpolated indices to integers between 0 and self%levels - 1 do concurrent ( i = 1 : 3 ) ind (:, i ) = scale_real_int ( ind_rel (:, i ), 0 , self % levels - 1 ) end do ! Extract colors from the colormap based on interpolated indices do concurrent ( i = 1 : 3 ) extracted_map (:, i ) = self % map ( ind (:, i ), i ) end do ! Set colormap name if provided, otherwise use the number of levels as part of the name if ( present ( name )) then self % name = name else write ( extractedLevels_char , '(I3)' ) extractedLevels self % name = self % name // trim ( extractedLevels_char ) end if ! Set zmin and zmax if provided if ( present ( zmin )) self % zmin = zmin if ( present ( zmax )) self % zmax = zmax ! Create the extracted colormap with the specified parameters call self % create ( self % name , self % zmin , self % zmax , extracted_map ) if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine extract","tags":"","loc":"proc/extract.html"},{"title":"get_RGB – ForColormap","text":"private pure subroutine get_RGB(self, level, red, green, blue) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: level integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue Called by proc~~get_rgb~~CalledByGraph proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb forcolormap::Colormap%compute_RGB proc~compute_rgb->proc~get_rgb proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar proc~write_ppm_colorbar->proc~compute_rgb program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs.","tags":"","loc":"proc/get_rgb.html"},{"title":"load – ForColormap","text":"private impure subroutine load(self, filename, zmin, zmax, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax logical, intent(in), optional :: reverse Calls proc~~load~~CallsGraph proc~load forcolormap::Colormap%load proc~check forcolormap::Colormap%check proc~load->proc~check proc~reverse forcolormap::Colormap%reverse proc~load->proc~reverse proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~load~~CalledByGraph proc~load forcolormap::Colormap%load program~demo demo program~demo->proc~load program~demo_reverse demo_reverse program~demo_reverse->proc~load program~example1 example1 program~example1->proc~load Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine load ( self , filename , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename real ( wp ), intent ( in ) :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: i , n integer :: red , green , blue logical :: file_found integer :: file_unit , ios inquire ( file = filename , exist = file_found ) if ( file_found ) then ! We first count the number of lines (RGB triplets): n = 0 open ( newunit = file_unit , file = filename ) do read ( file_unit , '(3I3)' , iostat = ios ) red , green , blue if ( ios /= 0 ) exit n = n + 1 end do close ( file_unit ) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if allocate ( self % map ( 0 : n - 1 , 1 : 3 )) ! Then we read them and put them in the map: open ( newunit = file_unit , file = filename ) do i = 0 , n - 1 read ( file_unit , * , iostat = ios ) red , green , blue self % map ( i , 1 : 3 ) = [ red , green , blue ] ! Should not happen: if ( ios /= 0 ) exit end do close ( file_unit ) self % name = trim ( filename ) self % zmin = zmin self % zmax = zmax self % levels = n call self % check ( check_zmin = . true ., check_zmax = . true .) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if else stop \"ERROR: COLORMAP FILE NOT FOUND!\" end if end subroutine load","tags":"","loc":"proc/load.html"},{"title":"print – ForColormap","text":"private impure subroutine print(self) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self","tags":"","loc":"proc/print.html"},{"title":"reverse – ForColormap","text":"private pure subroutine reverse(self, name) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in), optional :: name Called by proc~~reverse~~CalledByGraph proc~reverse forcolormap::Colormap%reverse proc~create forcolormap::Colormap%create proc~create->proc~reverse proc~create_bezier forcolormap::Colormap%create_bezier proc~create_bezier->proc~reverse proc~create_lagrange forcolormap::Colormap%create_lagrange proc~create_lagrange->proc~reverse proc~extract forcolormap::Colormap%extract proc~extract->proc~reverse proc~extract->proc~create proc~load forcolormap::Colormap%load proc~load->proc~reverse proc~set forcolormap::Colormap%set proc~set->proc~reverse proc~set->proc~create program~create create program~create->proc~create_bezier program~create->proc~create_lagrange program~demo demo program~demo->proc~create program~demo->proc~load program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~create program~demo_reverse->proc~load program~demo_reverse->proc~set program~example1 example1 program~example1->proc~load program~extract extract program~extract->proc~extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine reverse ( self , name ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ), optional :: name self % map (:,:) = self % map ( size ( self % map , 1 ) - 1 : 0 : - 1 , :) if ( present ( name )) then self % name = trim ( name ) else self % name = trim ( self % name ) // '_reverse' end if end subroutine reverse","tags":"","loc":"proc/reverse.html"},{"title":"set – ForColormap","text":"private pure subroutine set(self, name, zmin, zmax, levels, varargs, reverse) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), optional :: levels real(kind=wp), intent(in), optional, dimension(:) :: varargs logical, intent(in), optional :: reverse Calls proc~~set~~CallsGraph proc~set forcolormap::Colormap%set proc~check forcolormap::Colormap%check proc~set->proc~check proc~create forcolormap::Colormap%create proc~set->proc~create proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~reverse forcolormap::Colormap%reverse proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~create->proc~check proc~create->proc~reverse proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~set~~CalledByGraph proc~set forcolormap::Colormap%set program~demo demo program~demo->proc~set program~demo_reverse demo_reverse program~demo_reverse->proc~set program~extract extract program~extract->proc~set program~modify modify program~modify->proc~set Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine set ( self , name , zmin , zmax , levels , varargs , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , intent ( in ), optional :: levels real ( wp ), dimension (:), intent ( in ), optional :: varargs logical , intent ( in ), optional :: reverse self % name = trim ( name ) self % zmin = zmin self % zmax = zmax if ( present ( levels )) then self % levels = levels else self % levels = - 256 ! This value will be fixed in the check() procedure end if ! Check validity of the colormap and fix it if necessary call self % check ( check_name = . true ., check_zmin = . true ., check_zmax = . true ., check_levels = . true .) select case ( self % name ) ! Miscellaneous colormaps collection case ( \"fire\" ) ! Best with 256 levels but you can try other numbers: call fire_colormap ( self % levels , self % map ) case ( \"rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call rainbow_colormap ( self % map ) case ( \"inv_rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call inv_rainbow_colormap ( self % map ) case ( \"zebra\" ) ! The user can not choose the number of levels: self % levels = 256 call zebra_colormap ( self % map ) case ( \"cubehelix\" ) if ( present ( varargs )) then call cubehelix_colormap ( self % map , self % levels , varargs ) else call cubehelix_colormap ( self % map , self % levels ) end if ! Scientific colour maps collection (Fabio Crameri) ! (The user can not choose the number of levels) case ( \"acton\" ) call self % create ( self % name , self % zmin , self % zmax , acton ) case ( \"acton10\" ) call self % create ( self % name , self % zmin , self % zmax , acton10 ) case ( \"acton100\" ) call self % create ( self % name , self % zmin , self % zmax , acton100 ) case ( \"acton25\" ) call self % create ( self % name , self % zmin , self % zmax , acton25 ) case ( \"acton50\" ) call self % create ( self % name , self % zmin , self % zmax , acton50 ) case ( \"actonS\" ) call self % create ( self % name , self % zmin , self % zmax , actonS ) case ( \"bam\" ) call self % create ( self % name , self % zmin , self % zmax , bam ) case ( \"bam10\" ) call self % create ( self % name , self % zmin , self % zmax , bam10 ) case ( \"bam100\" ) call self % create ( self % name , self % zmin , self % zmax , bam100 ) case ( \"bam25\" ) call self % create ( self % name , self % zmin , self % zmax , bam25 ) case ( \"bam50\" ) call self % create ( self % name , self % zmin , self % zmax , bam50 ) case ( \"bamako\" ) call self % create ( self % name , self % zmin , self % zmax , bamako ) case ( \"bamako10\" ) call self % create ( self % name , self % zmin , self % zmax , bamako10 ) case ( \"bamako100\" ) call self % create ( self % name , self % zmin , self % zmax , bamako100 ) case ( \"bamako25\" ) call self % create ( self % name , self % zmin , self % zmax , bamako25 ) case ( \"bamako50\" ) call self % create ( self % name , self % zmin , self % zmax , bamako50 ) case ( \"bamakoS\" ) call self % create ( self % name , self % zmin , self % zmax , bamakoS ) case ( \"bamO\" ) call self % create ( self % name , self % zmin , self % zmax , bamO ) case ( \"bamO10\" ) call self % create ( self % name , self % zmin , self % zmax , bamO10 ) case ( \"bamO100\" ) call self % create ( self % name , self % zmin , self % zmax , bamO100 ) case ( \"bamO25\" ) call self % create ( self % name , self % zmin , self % zmax , bamO25 ) case ( \"bamO50\" ) call self % create ( self % name , self % zmin , self % zmax , bamO50 ) case ( \"batlow\" ) call self % create ( self % name , self % zmin , self % zmax , batlow ) case ( \"batlow10\" ) call self % create ( self % name , self % zmin , self % zmax , batlow10 ) case ( \"batlow100\" ) call self % create ( self % name , self % zmin , self % zmax , batlow100 ) case ( \"batlow25\" ) call self % create ( self % name , self % zmin , self % zmax , batlow25 ) case ( \"batlow50\" ) call self % create ( self % name , self % zmin , self % zmax , batlow50 ) case ( \"batlowK\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK ) case ( \"batlowK10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK10 ) case ( \"batlowK100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK100 ) case ( \"batlowK25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK25 ) case ( \"batlowK50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK50 ) case ( \"batlowKS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowKS ) case ( \"batlowS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowS ) case ( \"batlowW\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW ) case ( \"batlowW10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW10 ) case ( \"batlowW100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW100 ) case ( \"batlowW25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW25 ) case ( \"batlowW50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW50 ) case ( \"batlowWS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowWS ) case ( \"berlin\" ) call self % create ( self % name , self % zmin , self % zmax , berlin ) case ( \"berlin10\" ) call self % create ( self % name , self % zmin , self % zmax , berlin10 ) case ( \"berlin100\" ) call self % create ( self % name , self % zmin , self % zmax , berlin100 ) case ( \"berlin25\" ) call self % create ( self % name , self % zmin , self % zmax , berlin25 ) case ( \"berlin50\" ) call self % create ( self % name , self % zmin , self % zmax , berlin50 ) case ( \"bilbao\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao ) case ( \"bilbao10\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao10 ) case ( \"bilbao100\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao100 ) case ( \"bilbao25\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao25 ) case ( \"bilbao50\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao50 ) case ( \"bilbaoS\" ) call self % create ( self % name , self % zmin , self % zmax , bilbaoS ) case ( \"broc\" ) call self % create ( self % name , self % zmin , self % zmax , broc ) case ( \"broc10\" ) call self % create ( self % name , self % zmin , self % zmax , broc10 ) case ( \"broc100\" ) call self % create ( self % name , self % zmin , self % zmax , broc100 ) case ( \"broc25\" ) call self % create ( self % name , self % zmin , self % zmax , broc25 ) case ( \"broc50\" ) call self % create ( self % name , self % zmin , self % zmax , broc50 ) case ( \"brocO\" ) call self % create ( self % name , self % zmin , self % zmax , brocO ) case ( \"brocO10\" ) call self % create ( self % name , self % zmin , self % zmax , brocO10 ) case ( \"brocO100\" ) call self % create ( self % name , self % zmin , self % zmax , brocO100 ) case ( \"brocO25\" ) call self % create ( self % name , self % zmin , self % zmax , brocO25 ) case ( \"brocO50\" ) call self % create ( self % name , self % zmin , self % zmax , brocO50 ) case ( \"buda\" ) call self % create ( self % name , self % zmin , self % zmax , buda ) case ( \"buda10\" ) call self % create ( self % name , self % zmin , self % zmax , buda10 ) case ( \"buda100\" ) call self % create ( self % name , self % zmin , self % zmax , buda100 ) case ( \"buda25\" ) call self % create ( self % name , self % zmin , self % zmax , buda25 ) case ( \"buda50\" ) call self % create ( self % name , self % zmin , self % zmax , buda50 ) case ( \"budaS\" ) call self % create ( self % name , self % zmin , self % zmax , budaS ) case ( \"bukavu\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu ) case ( \"bukavu10\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu10 ) case ( \"bukavu100\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu100 ) case ( \"bukavu25\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu25 ) case ( \"bukavu50\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu50 ) case ( \"cork\" ) call self % create ( self % name , self % zmin , self % zmax , cork ) case ( \"cork10\" ) call self % create ( self % name , self % zmin , self % zmax , cork10 ) case ( \"cork100\" ) call self % create ( self % name , self % zmin , self % zmax , cork100 ) case ( \"cork25\" ) call self % create ( self % name , self % zmin , self % zmax , cork25 ) case ( \"cork50\" ) call self % create ( self % name , self % zmin , self % zmax , cork50 ) case ( \"corkO\" ) call self % create ( self % name , self % zmin , self % zmax , corkO ) case ( \"corkO10\" ) call self % create ( self % name , self % zmin , self % zmax , corkO10 ) case ( \"corkO100\" ) call self % create ( self % name , self % zmin , self % zmax , corkO100 ) case ( \"corkO25\" ) call self % create ( self % name , self % zmin , self % zmax , corkO25 ) case ( \"corkO50\" ) call self % create ( self % name , self % zmin , self % zmax , corkO50 ) case ( \"davos\" ) call self % create ( self % name , self % zmin , self % zmax , davos ) case ( \"davos10\" ) call self % create ( self % name , self % zmin , self % zmax , davos10 ) case ( \"davos100\" ) call self % create ( self % name , self % zmin , self % zmax , davos100 ) case ( \"davos25\" ) call self % create ( self % name , self % zmin , self % zmax , davos25 ) case ( \"davos50\" ) call self % create ( self % name , self % zmin , self % zmax , davos50 ) case ( \"davosS\" ) call self % create ( self % name , self % zmin , self % zmax , davosS ) case ( \"devon\" ) call self % create ( self % name , self % zmin , self % zmax , devon ) case ( \"devon10\" ) call self % create ( self % name , self % zmin , self % zmax , devon10 ) case ( \"devon100\" ) call self % create ( self % name , self % zmin , self % zmax , devon100 ) case ( \"devon25\" ) call self % create ( self % name , self % zmin , self % zmax , devon25 ) case ( \"devon50\" ) call self % create ( self % name , self % zmin , self % zmax , devon50 ) case ( \"devonS\" ) call self % create ( self % name , self % zmin , self % zmax , devonS ) case ( \"fes\" ) call self % create ( self % name , self % zmin , self % zmax , fes ) case ( \"fes10\" ) call self % create ( self % name , self % zmin , self % zmax , fes10 ) case ( \"fes100\" ) call self % create ( self % name , self % zmin , self % zmax , fes100 ) case ( \"fes25\" ) call self % create ( self % name , self % zmin , self % zmax , fes25 ) case ( \"fes50\" ) call self % create ( self % name , self % zmin , self % zmax , fes50 ) case ( \"glasgow\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow ) case ( \"glasgow10\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow10 ) case ( \"glasgow100\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow100 ) case ( \"glasgow25\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow25 ) case ( \"glasgow50\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow50 ) case ( \"glasgowS\" ) call self % create ( self % name , self % zmin , self % zmax , glasgowS ) case ( \"grayC\" ) call self % create ( self % name , self % zmin , self % zmax , grayC ) case ( \"grayC10\" ) call self % create ( self % name , self % zmin , self % zmax , grayC10 ) case ( \"grayC100\" ) call self % create ( self % name , self % zmin , self % zmax , grayC100 ) case ( \"grayC25\" ) call self % create ( self % name , self % zmin , self % zmax , grayC25 ) case ( \"grayC50\" ) call self % create ( self % name , self % zmin , self % zmax , grayC50 ) case ( \"grayCS\" ) call self % create ( self % name , self % zmin , self % zmax , grayCS ) case ( \"hawaii\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii ) case ( \"hawaii10\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii10 ) case ( \"hawaii100\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii100 ) case ( \"hawaii25\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii25 ) case ( \"hawaii50\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii50 ) case ( \"hawaiiS\" ) call self % create ( self % name , self % zmin , self % zmax , hawaiiS ) case ( \"imola\" ) call self % create ( self % name , self % zmin , self % zmax , imola ) case ( \"imola10\" ) call self % create ( self % name , self % zmin , self % zmax , imola10 ) case ( \"imola100\" ) call self % create ( self % name , self % zmin , self % zmax , imola100 ) case ( \"imola25\" ) call self % create ( self % name , self % zmin , self % zmax , imola25 ) case ( \"imola50\" ) call self % create ( self % name , self % zmin , self % zmax , imola50 ) case ( \"imolaS\" ) call self % create ( self % name , self % zmin , self % zmax , imolaS ) case ( \"lajolla\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla ) case ( \"lajolla10\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla10 ) case ( \"lajolla100\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla100 ) case ( \"lajolla25\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla25 ) case ( \"lajolla50\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla50 ) case ( \"lajollaS\" ) call self % create ( self % name , self % zmin , self % zmax , lajollaS ) case ( \"lapaz\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz ) case ( \"lapaz10\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz10 ) case ( \"lapaz100\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz100 ) case ( \"lapaz25\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz25 ) case ( \"lapaz50\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz50 ) case ( \"lapazS\" ) call self % create ( self % name , self % zmin , self % zmax , lapazS ) case ( \"lipari\" ) call self % create ( self % name , self % zmin , self % zmax , lipari ) case ( \"lipari10\" ) call self % create ( self % name , self % zmin , self % zmax , lipari10 ) case ( \"lipari100\" ) call self % create ( self % name , self % zmin , self % zmax , lipari100 ) case ( \"lipari25\" ) call self % create ( self % name , self % zmin , self % zmax , lipari25 ) case ( \"lipari50\" ) call self % create ( self % name , self % zmin , self % zmax , lipari50 ) case ( \"lipariS\" ) call self % create ( self % name , self % zmin , self % zmax , lipariS ) case ( \"lisbon\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon ) case ( \"lisbon10\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon10 ) case ( \"lisbon100\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon100 ) case ( \"lisbon25\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon25 ) case ( \"lisbon50\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon50 ) case ( \"managua\" ) call self % create ( self % name , self % zmin , self % zmax , managua ) case ( \"managua10\" ) call self % create ( self % name , self % zmin , self % zmax , managua10 ) case ( \"managua100\" ) call self % create ( self % name , self % zmin , self % zmax , managua100 ) case ( \"managua25\" ) call self % create ( self % name , self % zmin , self % zmax , managua25 ) case ( \"managua50\" ) call self % create ( self % name , self % zmin , self % zmax , managua50 ) case ( \"navia\" ) call self % create ( self % name , self % zmin , self % zmax , navia ) case ( \"navia10\" ) call self % create ( self % name , self % zmin , self % zmax , navia10 ) case ( \"navia100\" ) call self % create ( self % name , self % zmin , self % zmax , navia100 ) case ( \"navia25\" ) call self % create ( self % name , self % zmin , self % zmax , navia25 ) case ( \"navia50\" ) call self % create ( self % name , self % zmin , self % zmax , navia50 ) case ( \"naviaS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaS ) case ( \"naviaW\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW ) case ( \"naviaW10\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW10 ) case ( \"naviaW100\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW100 ) case ( \"naviaW25\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW25 ) case ( \"naviaW50\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW50 ) case ( \"naviaWS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaWS ) case ( \"nuuk\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk ) case ( \"nuuk10\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk10 ) case ( \"nuuk100\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk100 ) case ( \"nuuk25\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk25 ) case ( \"nuuk50\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk50 ) case ( \"nuukS\" ) call self % create ( self % name , self % zmin , self % zmax , nuukS ) case ( \"oleron\" ) call self % create ( self % name , self % zmin , self % zmax , oleron ) case ( \"oleron10\" ) call self % create ( self % name , self % zmin , self % zmax , oleron10 ) case ( \"oleron100\" ) call self % create ( self % name , self % zmin , self % zmax , oleron100 ) case ( \"oleron25\" ) call self % create ( self % name , self % zmin , self % zmax , oleron25 ) case ( \"oleron50\" ) call self % create ( self % name , self % zmin , self % zmax , oleron50 ) case ( \"oslo\" ) call self % create ( self % name , self % zmin , self % zmax , oslo ) case ( \"oslo10\" ) call self % create ( self % name , self % zmin , self % zmax , oslo10 ) case ( \"oslo100\" ) call self % create ( self % name , self % zmin , self % zmax , oslo100 ) case ( \"oslo25\" ) call self % create ( self % name , self % zmin , self % zmax , oslo25 ) case ( \"oslo50\" ) call self % create ( self % name , self % zmin , self % zmax , oslo50 ) case ( \"osloS\" ) call self % create ( self % name , self % zmin , self % zmax , osloS ) case ( \"roma\" ) call self % create ( self % name , self % zmin , self % zmax , roma ) case ( \"roma10\" ) call self % create ( self % name , self % zmin , self % zmax , roma10 ) case ( \"roma100\" ) call self % create ( self % name , self % zmin , self % zmax , roma100 ) case ( \"roma25\" ) call self % create ( self % name , self % zmin , self % zmax , roma25 ) case ( \"roma50\" ) call self % create ( self % name , self % zmin , self % zmax , roma50 ) case ( \"romaO\" ) call self % create ( self % name , self % zmin , self % zmax , romaO ) case ( \"romaO10\" ) call self % create ( self % name , self % zmin , self % zmax , romaO10 ) case ( \"romaO100\" ) call self % create ( self % name , self % zmin , self % zmax , romaO100 ) case ( \"romaO25\" ) call self % create ( self % name , self % zmin , self % zmax , romaO25 ) case ( \"romaO50\" ) call self % create ( self % name , self % zmin , self % zmax , romaO50 ) case ( \"tofino\" ) call self % create ( self % name , self % zmin , self % zmax , tofino ) case ( \"tofino10\" ) call self % create ( self % name , self % zmin , self % zmax , tofino10 ) case ( \"tofino100\" ) call self % create ( self % name , self % zmin , self % zmax , tofino100 ) case ( \"tofino25\" ) call self % create ( self % name , self % zmin , self % zmax , tofino25 ) case ( \"tofino50\" ) call self % create ( self % name , self % zmin , self % zmax , tofino50 ) case ( \"tokyo\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo ) case ( \"tokyo10\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo10 ) case ( \"tokyo100\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo100 ) case ( \"tokyo25\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo25 ) case ( \"tokyo50\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo50 ) case ( \"tokyoS\" ) call self % create ( self % name , self % zmin , self % zmax , tokyoS ) case ( \"turku\" ) call self % create ( self % name , self % zmin , self % zmax , turku ) case ( \"turku10\" ) call self % create ( self % name , self % zmin , self % zmax , turku10 ) case ( \"turku100\" ) call self % create ( self % name , self % zmin , self % zmax , turku100 ) case ( \"turku25\" ) call self % create ( self % name , self % zmin , self % zmax , turku25 ) case ( \"turku50\" ) call self % create ( self % name , self % zmin , self % zmax , turku50 ) case ( \"turkuS\" ) call self % create ( self % name , self % zmin , self % zmax , turkuS ) case ( \"vanimo\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo ) case ( \"vanimo10\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo10 ) case ( \"vanimo100\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo100 ) case ( \"vanimo25\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo25 ) case ( \"vanimo50\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo50 ) case ( \"vik\" ) call self % create ( self % name , self % zmin , self % zmax , vik ) case ( \"vik10\" ) call self % create ( self % name , self % zmin , self % zmax , vik10 ) case ( \"vik100\" ) call self % create ( self % name , self % zmin , self % zmax , vik100 ) case ( \"vik25\" ) call self % create ( self % name , self % zmin , self % zmax , vik25 ) case ( \"vik50\" ) call self % create ( self % name , self % zmin , self % zmax , vik50 ) case ( \"vikO\" ) call self % create ( self % name , self % zmin , self % zmax , vikO ) case ( \"vikO10\" ) call self % create ( self % name , self % zmin , self % zmax , vikO10 ) case ( \"vikO100\" ) call self % create ( self % name , self % zmin , self % zmax , vikO100 ) case ( \"vikO25\" ) call self % create ( self % name , self % zmin , self % zmax , vikO25 ) case ( \"vikO50\" ) call self % create ( self % name , self % zmin , self % zmax , vikO50 ) ! Matplotlib colormaps collection case ( \"magma\" ) call self % create ( self % name , self % zmin , self % zmax , magma ) case ( \"inferno\" ) call self % create ( self % name , self % zmin , self % zmax , inferno ) case ( \"plasma\" ) call self % create ( self % name , self % zmin , self % zmax , plasma ) case ( \"viridis\" ) call self % create ( self % name , self % zmin , self % zmax , viridis ) ! case ( \"black_body\" ) call self % create ( self % name , self % zmin , self % zmax , black_body ) case default self % name = \"grayC\" call self % create ( self % name , self % zmin , self % zmax , grayC ) end select ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine set","tags":"","loc":"proc/set.html"},{"title":"shift – ForColormap","text":"private pure subroutine shift(self, sh) Apply a circular shift to the colormap (left is +, right is -) Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: sh The shift Called by proc~~shift~~CalledByGraph proc~shift forcolormap::Colormap%shift program~modify modify program~modify->proc~shift Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code pure subroutine shift ( self , sh ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: sh !! The shift self % map (:,:) = cshift ( self % map (:,:), sh ) end subroutine shift","tags":"","loc":"proc/shift.html"},{"title":"write_ppm_colorbar – ForColormap","text":"private impure subroutine write_ppm_colorbar(self, filename, width, height, encoding) Uses forimage proc~~write_ppm_colorbar~~UsesGraph proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar forimage forimage proc~write_ppm_colorbar->forimage Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Type Bound Colormap Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename integer, intent(in), optional :: width integer, intent(in), optional :: height character(len=*), intent(in), optional :: encoding Calls proc~~write_ppm_colorbar~~CallsGraph proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Called by proc~~write_ppm_colorbar~~CalledByGraph proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~create create program~create->proc~write_ppm_colorbar program~demo demo program~demo->proc~write_ppm_colorbar program~demo_reverse demo_reverse program~demo_reverse->proc~write_ppm_colorbar program~example1 example1 program~example1->proc~write_ppm_colorbar program~extract extract program~extract->proc~write_ppm_colorbar program~modify modify program~modify->proc~write_ppm_colorbar Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code impure subroutine write_ppm_colorbar ( self , filename , width , height , encoding ) use forimage , only : format_pnm class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename integer :: i , j ! Pixbuffer coordinates integer , intent ( in ), optional :: width , height integer :: pixwidth , pixheight integer , dimension (:,:), allocatable :: rgb_image integer :: red , green , blue real ( wp ) :: z type ( format_pnm ) :: ppm character ( * ), intent ( in ), optional :: encoding if ( present ( width )) then pixwidth = width else pixwidth = 600 end if if ( present ( height )) then pixheight = height else pixheight = 50 end if allocate ( rgb_image ( pixheight , pixwidth * 3 )) do i = 0 , pixwidth - 1 do j = 0 , pixheight - 1 z = self % get_zmin () + i / real ( pixwidth - 1 , kind = wp ) * ( self % get_zmax () - self % get_zmin ()) call self % compute_RGB ( z , red , green , blue ) rgb_image ( pixheight - j , 3 * ( i + 1 ) - 2 ) = red rgb_image ( pixheight - j , 3 * ( i + 1 ) - 1 ) = green rgb_image ( pixheight - j , 3 * ( i + 1 )) = blue end do end do if ( present ( encoding )) then call ppm % set_format ( encoding ) else call ppm % set_format ( 'binary' ) end if call ppm % set_pnm ( encoding = ppm % get_format (),& file_format = 'ppm' ,& width = pixwidth ,& height = pixheight ,& max_color = 255 ,& comment = 'comment' ,& pixels = rgb_image ) call ppm % export_pnm ( filename ) end subroutine write_ppm_colorbar","tags":"","loc":"proc/write_ppm_colorbar.html"},{"title":"scientific_colour_maps – ForColormap","text":"Uses colormap_parameters module~~scientific_colour_maps~~UsesGraph module~scientific_colour_maps scientific_colour_maps module~colormap_parameters colormap_parameters module~scientific_colour_maps->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~scientific_colour_maps~~UsedByGraph module~scientific_colour_maps scientific_colour_maps module~forcolormap forcolormap module~forcolormap->module~scientific_colour_maps program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, dimension(0:255, 1:3) :: acton = reshape([38, 13, 64, 39, 14, 65, 40, 15, 66, 41, 17, 67, 42, 18, 68, 43, 19, 69, 43, 20, 70, 44, 22, 72, 45, 23, 73, 46, 24, 74, 47, 25, 75, 48, 27, 76, 49, 28, 77, 50, 29, 78, 50, 30, 79, 51, 31, 80, 52, 33, 82, 53, 34, 83, 54, 35, 84, 54, 36, 85, 55, 37, 86, 56, 38, 87, 57, 39, 88, 58, 41, 89, 59, 42, 90, 59, 43, 91, 60, 44, 92, 61, 45, 93, 62, 46, 94, 62, 47, 95, 63, 49, 96, 64, 50, 97, 65, 51, 98, 66, 52, 99, 66, 53, 100, 67, 54, 101, 68, 55, 102, 69, 56, 103, 69, 57, 104, 70, 58, 105, 71, 60, 106, 72, 61, 107, 72, 62, 108, 73, 63, 109, 74, 64, 110, 75, 65, 111, 75, 66, 112, 76, 67, 113, 77, 68, 114, 78, 69, 115, 78, 70, 116, 79, 71, 117, 80, 72, 118, 81, 73, 119, 81, 74, 120, 82, 75, 121, 83, 76, 122, 84, 77, 123, 84, 78, 123, 85, 79, 124, 86, 80, 125, 87, 81, 126, 87, 82, 127, 88, 83, 128, 89, 84, 129, 90, 85, 130, 91, 86, 131, 92, 87, 131, 93, 88, 132, 94, 89, 133, 95, 90, 134, 96, 91, 134, 97, 91, 135, 98, 92, 136, 99, 93, 136, 101, 93, 137, 102, 94, 138, 103, 95, 138, 104, 95, 138, 105, 96, 139, 107, 96, 139, 108, 96, 140, 109, 97, 140, 110, 97, 140, 111, 97, 140, 113, 97, 140, 114, 98, 141, 115, 98, 141, 116, 98, 141, 117, 98, 141, 119, 98, 141, 120, 98, 141, 121, 99, 141, 122, 99, 141, 123, 99, 141, 125, 99, 142, 126, 99, 142, 127, 99, 142, 128, 99, 142, 129, 99, 142, 131, 99, 142, 132, 99, 142, 133, 100, 142, 134, 100, 142, 136, 100, 142, 137, 100, 142, 138, 100, 142, 139, 100, 142, 141, 100, 142, 142, 100, 142, 143, 100, 142, 145, 100, 143, 146, 100, 143, 147, 101, 143, 149, 101, 143, 150, 101, 143, 151, 101, 143, 153, 101, 143, 154, 101, 143, 155, 101, 143, 157, 101, 143, 158, 101, 143, 160, 101, 143, 161, 102, 143, 162, 102, 143, 164, 102, 143, 165, 102, 144, 167, 102, 144, 168, 102, 144, 170, 102, 144, 171, 102, 144, 172, 103, 144, 174, 103, 144, 175, 103, 144, 177, 103, 144, 178, 103, 144, 180, 103, 145, 181, 104, 145, 183, 104, 145, 184, 104, 145, 186, 104, 145, 187, 105, 146, 189, 105, 146, 190, 106, 146, 191, 106, 147, 193, 107, 147, 194, 107, 148, 195, 108, 148, 197, 109, 149, 198, 109, 150, 199, 110, 150, 200, 111, 151, 201, 112, 152, 202, 113, 153, 203, 114, 153, 204, 115, 154, 205, 116, 155, 206, 117, 156, 206, 119, 157, 207, 120, 158, 208, 121, 159, 208, 122, 160, 209, 124, 161, 210, 125, 163, 210, 126, 164, 211, 127, 165, 211, 129, 166, 211, 130, 167, 212, 131, 168, 212, 133, 169, 213, 134, 170, 213, 135, 171, 214, 136, 172, 214, 138, 173, 214, 139, 175, 215, 140, 176, 215, 142, 177, 216, 143, 178, 216, 144, 179, 216, 146, 180, 217, 147, 181, 217, 148, 182, 217, 149, 184, 218, 151, 185, 218, 152, 186, 219, 153, 187, 219, 155, 188, 219, 156, 189, 220, 157, 190, 220, 159, 191, 221, 160, 192, 221, 161, 194, 221, 163, 195, 222, 164, 196, 222, 165, 197, 222, 167, 198, 223, 168, 199, 223, 169, 200, 223, 171, 201, 224, 172, 202, 224, 173, 203, 225, 174, 204, 225, 176, 205, 225, 177, 206, 226, 178, 207, 226, 180, 208, 226, 181, 209, 227, 182, 210, 227, 183, 211, 227, 185, 212, 228, 186, 213, 228, 187, 214, 228, 188, 215, 229, 190, 216, 229, 191, 217, 229, 192, 218, 229, 193, 219, 230, 194, 220, 230, 196, 221, 230, 197, 222, 231, 198, 222, 231, 199, 223, 231, 200, 224, 232, 202, 225, 232, 203, 226, 232, 204, 227, 232, 205, 228, 233, 206, 228, 233, 207, 229, 233, 208, 230, 233, 209, 231, 234, 211, 232, 234, 212, 233, 234, 213, 233, 235, 214, 234, 235, 215, 235, 235, 216, 236, 235, 217, 237, 236, 218, 237, 236, 219, 238, 236, 220, 239, 236, 221, 240, 237, 222, 240, 237, 223, 241, 237, 224, 242, 237, 225, 243, 238, 226, 243, 238, 227, 244, 238, 228, 245, 238, 229, 246, 239, 230, 246, 239, 231, 247, 239, 232, 248, 239, 233, 248, 239, 233, 249, 240, 234, 250], shape(acton), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: acton10 = reshape([38, 13, 64, 62, 46, 94, 84, 77, 123, 113, 97, 140, 147, 101, 143, 189, 105, 146, 213, 134, 170, 223, 171, 201, 233, 206, 228, 240, 234, 250], shape(acton10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: acton100 = reshape([38, 13, 64, 41, 17, 67, 43, 19, 69, 45, 23, 73, 47, 25, 75, 50, 29, 78, 51, 31, 80, 54, 35, 84, 56, 38, 87, 58, 41, 89, 60, 44, 92, 62, 46, 94, 64, 50, 97, 66, 52, 99, 68, 55, 102, 70, 58, 105, 72, 61, 107, 74, 64, 110, 75, 66, 112, 78, 69, 115, 80, 72, 118, 81, 74, 120, 84, 77, 123, 85, 79, 124, 87, 82, 127, 89, 84, 129, 92, 87, 131, 95, 90, 134, 97, 91, 135, 101, 93, 137, 103, 95, 138, 107, 96, 139, 109, 97, 140, 113, 97, 140, 116, 98, 141, 119, 98, 141, 122, 99, 141, 125, 99, 142, 128, 99, 142, 131, 99, 142, 134, 100, 142, 138, 100, 142, 141, 100, 142, 145, 100, 143, 147, 101, 143, 151, 101, 143, 154, 101, 143, 158, 101, 143, 162, 102, 143, 165, 102, 144, 170, 102, 144, 172, 103, 144, 177, 103, 144, 181, 104, 145, 184, 104, 145, 189, 105, 146, 191, 106, 147, 195, 108, 148, 198, 109, 150, 201, 112, 152, 204, 115, 154, 206, 117, 156, 208, 121, 159, 209, 124, 161, 211, 127, 165, 211, 130, 167, 213, 134, 170, 214, 138, 173, 215, 140, 176, 216, 144, 179, 217, 147, 181, 218, 151, 185, 219, 153, 187, 220, 157, 190, 221, 161, 194, 222, 164, 196, 223, 168, 199, 223, 171, 201, 225, 174, 204, 225, 177, 206, 226, 181, 209, 227, 185, 212, 228, 187, 214, 229, 191, 217, 229, 193, 219, 230, 197, 222, 231, 200, 224, 232, 203, 226, 233, 206, 228, 233, 208, 230, 234, 212, 233, 235, 214, 234, 235, 217, 237, 236, 220, 239, 237, 222, 240, 237, 225, 243, 238, 227, 244, 239, 230, 246, 239, 232, 248, 240, 234, 250], shape(acton100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: acton25 = reshape([38, 13, 64, 48, 27, 76, 56, 38, 87, 65, 51, 98, 73, 63, 109, 81, 73, 119, 89, 84, 129, 99, 93, 136, 113, 97, 140, 126, 99, 142, 138, 100, 142, 153, 101, 143, 168, 102, 144, 183, 104, 145, 198, 109, 150, 207, 120, 158, 213, 134, 170, 217, 148, 182, 221, 161, 194, 225, 176, 205, 229, 190, 216, 232, 202, 225, 235, 214, 234, 237, 224, 242, 240, 234, 250], shape(acton25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: acton50 = reshape([38, 13, 64, 43, 19, 69, 47, 25, 75, 52, 33, 82, 56, 38, 87, 60, 44, 92, 64, 50, 97, 68, 55, 102, 72, 62, 108, 76, 67, 113, 80, 72, 118, 84, 77, 123, 87, 82, 127, 93, 88, 132, 98, 92, 136, 104, 95, 138, 110, 97, 140, 116, 98, 141, 123, 99, 141, 129, 99, 142, 136, 100, 142, 142, 100, 142, 149, 101, 143, 157, 101, 143, 164, 102, 143, 171, 102, 144, 178, 103, 144, 187, 105, 146, 194, 107, 148, 200, 111, 151, 205, 116, 155, 208, 122, 160, 211, 130, 167, 214, 136, 172, 216, 143, 178, 217, 149, 184, 219, 156, 189, 222, 164, 196, 223, 171, 201, 225, 177, 206, 227, 183, 211, 229, 190, 216, 230, 197, 222, 232, 203, 226, 233, 208, 230, 235, 214, 234, 236, 219, 238, 237, 225, 243, 239, 230, 246, 240, 234, 250], shape(acton50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: actonS = reshape([38, 13, 64, 240, 234, 250, 168, 102, 144, 89, 84, 129, 221, 163, 195, 65, 51, 98, 208, 121, 159, 126, 99, 142, 232, 203, 226, 146, 100, 143, 52, 33, 82, 215, 142, 177, 227, 183, 211, 191, 106, 147, 77, 68, 114, 107, 96, 139, 236, 220, 239, 224, 173, 203, 157, 101, 143, 180, 103, 145, 97, 91, 135, 201, 112, 152, 45, 23, 73, 218, 152, 186, 229, 193, 219, 212, 131, 168, 59, 42, 90, 234, 212, 233, 71, 60, 106, 116, 98, 141, 83, 76, 122, 136, 100, 142, 238, 228, 245, 74, 64, 110, 86, 80, 125, 217, 147, 181, 223, 168, 199, 186, 104, 145, 231, 198, 222, 141, 100, 142, 237, 224, 242, 80, 72, 118, 210, 126, 164, 174, 103, 144, 93, 88, 132, 102, 94, 138, 214, 136, 172, 226, 178, 207, 49, 28, 77, 121, 99, 141, 228, 188, 215, 235, 216, 236, 233, 207, 229, 111, 97, 140, 131, 99, 142, 68, 55, 102, 151, 101, 143, 205, 116, 155, 197, 109, 149, 220, 157, 190, 42, 18, 68, 162, 102, 143, 55, 37, 86, 62, 46, 94, 239, 231, 247, 154, 101, 143, 114, 98, 141, 54, 35, 84, 177, 103, 144, 95, 90, 134, 199, 110, 150, 43, 20, 70, 211, 129, 166, 143, 100, 142, 214, 139, 175, 104, 95, 138, 99, 93, 136, 149, 101, 143, 203, 114, 153, 66, 53, 100, 69, 57, 104, 84, 78, 123, 60, 44, 92, 63, 49, 96, 87, 82, 127, 223, 171, 201, 209, 124, 161, 206, 119, 157, 237, 222, 240, 219, 155, 188, 226, 181, 209, 160, 101, 143, 91, 86, 131, 236, 218, 237, 230, 196, 221, 228, 186, 213, 47, 25, 75, 235, 214, 234, 216, 144, 179, 238, 226, 243], shape(actonS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bam = reshape([101, 2, 75, 103, 5, 78, 106, 7, 80, 108, 10, 82, 110, 13, 84, 112, 16, 87, 114, 18, 89, 117, 20, 91, 119, 23, 93, 121, 25, 95, 123, 27, 97, 125, 29, 99, 127, 31, 102, 129, 33, 104, 132, 35, 106, 134, 37, 108, 136, 39, 110, 138, 40, 112, 140, 42, 114, 142, 44, 116, 144, 46, 118, 146, 48, 120, 147, 49, 122, 149, 51, 124, 151, 53, 126, 153, 55, 127, 155, 56, 129, 157, 58, 131, 158, 60, 133, 160, 62, 135, 162, 63, 136, 164, 65, 138, 165, 67, 140, 167, 68, 142, 169, 70, 143, 170, 72, 145, 172, 73, 147, 173, 75, 148, 175, 77, 150, 176, 78, 151, 178, 80, 153, 179, 82, 154, 181, 84, 156, 182, 85, 157, 184, 87, 159, 185, 89, 160, 186, 90, 162, 188, 92, 163, 189, 94, 165, 191, 96, 166, 192, 98, 168, 193, 100, 169, 194, 102, 171, 196, 104, 172, 197, 106, 174, 198, 108, 175, 200, 110, 176, 201, 112, 178, 202, 114, 179, 203, 116, 181, 204, 118, 182, 206, 120, 183, 207, 122, 185, 208, 124, 186, 209, 127, 188, 210, 129, 189, 211, 131, 190, 212, 133, 192, 213, 135, 193, 214, 138, 194, 215, 140, 196, 216, 142, 197, 217, 145, 198, 218, 147, 200, 219, 149, 201, 220, 151, 202, 221, 154, 203, 222, 156, 205, 223, 158, 206, 223, 161, 207, 224, 163, 208, 225, 165, 209, 226, 167, 211, 227, 170, 212, 228, 172, 213, 228, 174, 214, 229, 176, 215, 230, 179, 216, 231, 181, 218, 231, 183, 219, 232, 185, 220, 233, 187, 221, 234, 189, 222, 234, 192, 223, 235, 194, 224, 236, 196, 225, 236, 198, 226, 237, 200, 227, 238, 202, 228, 238, 204, 229, 239, 206, 230, 239, 208, 231, 240, 209, 232, 241, 211, 233, 241, 213, 233, 242, 215, 234, 242, 216, 235, 243, 218, 236, 243, 220, 236, 243, 221, 237, 244, 223, 238, 244, 224, 238, 245, 226, 239, 245, 227, 239, 245, 228, 240, 245, 230, 240, 246, 231, 240, 246, 232, 241, 246, 233, 241, 246, 234, 241, 246, 235, 241, 246, 236, 241, 246, 237, 241, 246, 238, 241, 246, 239, 241, 246, 239, 241, 246, 240, 241, 246, 241, 241, 246, 241, 240, 246, 242, 240, 245, 242, 240, 245, 242, 239, 245, 243, 239, 244, 243, 238, 244, 243, 237, 243, 243, 237, 243, 243, 236, 242, 243, 235, 242, 243, 234, 241, 243, 233, 240, 243, 232, 239, 243, 230, 239, 243, 229, 238, 242, 228, 237, 242, 226, 236, 242, 224, 235, 241, 223, 234, 241, 221, 232, 240, 219, 231, 240, 217, 230, 239, 215, 229, 239, 213, 227, 238, 211, 226, 237, 209, 224, 236, 207, 223, 236, 204, 221, 235, 202, 220, 234, 199, 218, 233, 197, 216, 232, 194, 214, 231, 191, 212, 230, 189, 210, 228, 186, 208, 227, 183, 206, 226, 180, 204, 225, 177, 202, 223, 174, 200, 222, 171, 198, 221, 168, 195, 219, 165, 193, 218, 162, 191, 216, 159, 188, 215, 155, 186, 213, 152, 183, 211, 149, 181, 210, 146, 178, 208, 143, 176, 206, 140, 173, 205, 137, 171, 203, 134, 168, 201, 131, 166, 199, 128, 163, 198, 125, 161, 196, 122, 158, 194, 119, 156, 192, 116, 153, 190, 114, 151, 188, 111, 148, 187, 109, 146, 185, 106, 143, 183, 104, 141, 181, 101, 138, 179, 99, 136, 177, 97, 134, 176, 94, 131, 174, 92, 129, 172, 90, 127, 170, 88, 124, 168, 86, 122, 167, 84, 120, 165, 82, 118, 163, 80, 116, 162, 79, 114, 160, 77, 112, 158, 75, 109, 156, 73, 107, 155, 72, 105, 153, 70, 103, 152, 69, 101, 150, 67, 100, 148, 65, 98, 147, 64, 96, 145, 62, 94, 144, 61, 92, 142, 60, 90, 141, 58, 88, 139, 57, 87, 138, 55, 85, 136, 54, 83, 135, 53, 81, 133, 51, 80, 132, 50, 78, 130, 49, 76, 129, 47, 75, 127, 46, 73, 126, 45, 71, 124, 43, 69, 123, 42, 68, 121, 41, 66, 120, 39, 64, 118, 38, 62, 117, 37, 61, 115, 35, 59, 113, 34, 57, 112, 33, 55, 110, 31, 53, 109, 30, 51, 107, 28, 50, 105, 27, 48, 104, 25, 46, 102, 24, 44, 100, 22, 42, 99, 21, 40, 97, 19, 38, 95, 18, 36, 93, 16, 34, 92, 14, 32, 90, 13, 30, 88, 11, 27, 86, 9, 25, 85, 7, 23, 83, 6, 21, 81, 4, 18, 79, 3, 15, 77, 1, 13, 76, 0], shape(bam), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bam10 = reshape([101, 2, 75, 158, 60, 133, 201, 112, 178, 228, 174, 214, 245, 227, 239, 239, 243, 229, 193, 218, 162, 124, 168, 86, 69, 123, 42, 13, 76, 0], shape(bam10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bam100 = reshape([101, 2, 75, 108, 10, 82, 112, 16, 87, 119, 23, 93, 123, 27, 97, 129, 33, 104, 134, 37, 108, 140, 42, 114, 146, 48, 120, 149, 51, 124, 155, 56, 129, 158, 60, 133, 164, 65, 138, 167, 68, 142, 172, 73, 147, 176, 78, 151, 179, 82, 154, 184, 87, 159, 186, 90, 162, 191, 96, 166, 194, 102, 171, 197, 106, 174, 201, 112, 178, 203, 116, 181, 207, 122, 185, 209, 127, 188, 212, 133, 192, 215, 140, 196, 217, 145, 198, 220, 151, 202, 222, 156, 205, 224, 163, 208, 226, 167, 211, 228, 174, 214, 231, 181, 218, 232, 185, 220, 234, 192, 223, 236, 196, 225, 238, 202, 228, 239, 206, 230, 241, 211, 233, 242, 216, 235, 243, 220, 236, 244, 224, 238, 245, 227, 239, 246, 231, 240, 246, 233, 241, 246, 236, 241, 246, 239, 241, 246, 240, 241, 246, 242, 240, 245, 242, 239, 244, 243, 237, 242, 243, 235, 241, 243, 233, 239, 243, 229, 237, 242, 226, 234, 241, 221, 231, 240, 217, 227, 238, 211, 223, 236, 204, 220, 234, 199, 214, 231, 191, 210, 228, 186, 204, 225, 177, 200, 222, 171, 193, 218, 162, 186, 213, 152, 181, 210, 146, 173, 205, 137, 168, 201, 131, 161, 196, 122, 156, 192, 116, 148, 187, 109, 141, 181, 101, 136, 177, 97, 129, 172, 90, 124, 168, 86, 118, 163, 80, 114, 160, 77, 107, 155, 72, 101, 150, 67, 98, 147, 64, 92, 142, 60, 88, 139, 57, 83, 135, 53, 78, 130, 49, 75, 127, 46, 69, 123, 42, 66, 120, 39, 61, 115, 35, 57, 112, 33, 51, 107, 28, 46, 102, 24, 42, 99, 21, 36, 93, 16, 32, 90, 13, 25, 85, 7, 21, 81, 4, 13, 76, 0], shape(bam100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bam25 = reshape([101, 2, 75, 125, 29, 99, 146, 48, 120, 165, 67, 140, 182, 85, 157, 196, 104, 172, 209, 127, 188, 219, 149, 201, 228, 174, 214, 236, 198, 226, 242, 216, 235, 246, 232, 241, 246, 241, 240, 242, 243, 234, 231, 240, 217, 216, 232, 194, 193, 218, 162, 166, 199, 128, 141, 181, 101, 116, 162, 79, 94, 144, 61, 76, 129, 47, 57, 112, 33, 38, 95, 18, 13, 76, 0], shape(bam25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bam50 = reshape([101, 2, 75, 112, 16, 87, 123, 27, 97, 136, 39, 110, 146, 48, 120, 155, 56, 129, 164, 65, 138, 172, 73, 147, 181, 84, 156, 188, 92, 163, 194, 102, 171, 201, 112, 178, 207, 122, 185, 213, 135, 193, 218, 147, 200, 223, 158, 206, 227, 170, 212, 231, 181, 218, 235, 194, 224, 238, 204, 229, 241, 213, 233, 243, 221, 237, 245, 228, 240, 246, 235, 241, 246, 239, 241, 245, 242, 240, 243, 243, 237, 239, 243, 230, 235, 241, 223, 229, 239, 213, 221, 235, 202, 212, 230, 189, 200, 222, 171, 188, 215, 155, 176, 206, 140, 163, 198, 125, 151, 188, 111, 136, 177, 97, 124, 168, 86, 114, 160, 77, 103, 152, 69, 94, 144, 61, 83, 135, 53, 75, 127, 46, 66, 120, 39, 57, 112, 33, 48, 104, 25, 36, 93, 16, 25, 85, 7, 13, 76, 0], shape(bam50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bamO = reshape([79, 48, 67, 80, 47, 69, 81, 47, 70, 83, 48, 71, 84, 48, 73, 86, 48, 75, 88, 48, 77, 90, 49, 78, 92, 50, 80, 94, 50, 82, 96, 51, 84, 98, 52, 87, 100, 53, 89, 103, 54, 91, 105, 55, 93, 107, 56, 95, 109, 57, 97, 112, 58, 99, 114, 59, 101, 116, 61, 103, 118, 62, 105, 121, 63, 107, 123, 65, 109, 125, 66, 111, 127, 68, 113, 129, 69, 115, 131, 70, 117, 133, 72, 119, 135, 73, 121, 137, 75, 123, 139, 76, 125, 141, 78, 126, 143, 79, 128, 145, 81, 130, 147, 82, 132, 148, 84, 133, 150, 85, 135, 152, 87, 137, 154, 88, 138, 155, 90, 140, 157, 91, 141, 159, 93, 143, 160, 94, 145, 162, 96, 146, 163, 97, 148, 165, 99, 149, 167, 101, 151, 168, 102, 152, 170, 104, 154, 171, 105, 155, 173, 107, 157, 174, 109, 158, 176, 110, 160, 177, 112, 161, 179, 114, 163, 181, 116, 164, 182, 118, 166, 184, 119, 167, 185, 121, 169, 187, 123, 170, 188, 125, 172, 190, 127, 173, 191, 129, 175, 192, 131, 176, 194, 133, 178, 195, 135, 179, 197, 137, 181, 198, 139, 182, 199, 141, 184, 201, 143, 185, 202, 146, 186, 203, 148, 188, 204, 150, 189, 205, 152, 190, 207, 154, 191, 208, 156, 193, 209, 158, 194, 210, 160, 195, 210, 163, 196, 211, 165, 197, 212, 167, 198, 213, 169, 199, 214, 171, 199, 214, 173, 200, 215, 174, 201, 215, 176, 201, 216, 178, 202, 216, 180, 202, 217, 181, 203, 217, 183, 203, 217, 184, 203, 217, 186, 204, 218, 187, 204, 218, 188, 204, 218, 190, 204, 218, 191, 204, 218, 192, 204, 218, 193, 204, 218, 194, 204, 218, 195, 204, 218, 196, 203, 217, 197, 203, 217, 197, 203, 217, 198, 203, 217, 199, 202, 217, 199, 202, 216, 200, 202, 216, 201, 201, 216, 201, 201, 216, 202, 200, 215, 202, 200, 215, 202, 199, 215, 203, 199, 214, 203, 199, 214, 203, 198, 214, 204, 197, 213, 204, 197, 213, 204, 196, 212, 204, 196, 212, 205, 195, 212, 205, 194, 211, 205, 194, 211, 205, 193, 210, 205, 192, 209, 205, 191, 209, 205, 190, 208, 205, 189, 207, 205, 188, 206, 205, 187, 205, 205, 186, 204, 205, 185, 203, 204, 183, 202, 204, 182, 201, 204, 180, 200, 203, 178, 198, 203, 177, 197, 202, 175, 195, 201, 173, 194, 200, 170, 192, 199, 168, 190, 198, 166, 188, 197, 164, 186, 196, 161, 184, 194, 158, 182, 193, 156, 180, 191, 153, 178, 190, 151, 176, 188, 148, 173, 186, 145, 171, 184, 143, 169, 182, 140, 167, 181, 138, 164, 179, 135, 162, 177, 133, 160, 175, 131, 158, 173, 128, 156, 171, 126, 154, 169, 124, 152, 167, 122, 150, 165, 120, 148, 163, 118, 146, 161, 116, 145, 159, 114, 143, 158, 112, 141, 156, 110, 139, 154, 109, 138, 152, 107, 136, 150, 105, 134, 148, 104, 133, 147, 102, 131, 145, 101, 130, 143, 99, 128, 141, 98, 127, 140, 97, 125, 138, 95, 124, 136, 94, 123, 135, 93, 121, 133, 92, 120, 131, 91, 119, 130, 90, 117, 128, 88, 116, 127, 87, 115, 125, 86, 114, 124, 85, 113, 122, 84, 111, 121, 83, 110, 119, 82, 109, 117, 82, 108, 116, 81, 107, 114, 80, 106, 113, 79, 105, 111, 78, 103, 110, 77, 102, 108, 76, 101, 107, 76, 100, 105, 75, 99, 104, 74, 98, 102, 73, 97, 101, 72, 96, 99, 72, 95, 98, 71, 94, 96, 70, 93, 95, 70, 92, 93, 69, 91, 92, 68, 90, 91, 68, 89, 89, 67, 88, 88, 66, 87, 86, 66, 87, 85, 65, 86, 84, 65, 85, 83, 64, 84, 81, 64, 84, 80, 63, 83, 79, 63, 82, 78, 63, 81, 77, 62, 81, 76, 62, 80, 75, 61, 80, 73, 61, 79, 72, 61, 79, 72, 60, 78, 71, 60, 78, 70, 60, 77, 69, 60, 77, 68, 59, 76, 67, 59, 76, 66, 59, 75, 65, 59, 75, 64, 59, 75, 64, 59, 74, 63, 58, 74, 62, 58, 74, 61, 58, 74, 60, 58, 73, 60, 58, 73, 59, 58, 73, 58, 58, 73, 57, 58, 73, 57, 58, 73, 56, 58, 72, 55, 58, 72, 54, 59, 72, 54, 59, 72, 53, 59, 73, 52, 59, 73, 52, 60, 73, 51, 60, 73, 50, 61, 74, 50, 61, 74, 49, 62, 75, 49, 62, 75, 49, 63, 76, 48, 64, 77, 48, 65, 78, 48, 66], shape(bamO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bamO10 = reshape([79, 48, 67, 135, 73, 121, 184, 119, 167, 215, 176, 201, 214, 203, 199, 186, 196, 161, 131, 145, 101, 97, 101, 72, 76, 66, 59, 78, 48, 66], shape(bamO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bamO100 = reshape([79, 48, 67, 83, 48, 71, 86, 48, 75, 92, 50, 80, 96, 51, 84, 103, 54, 91, 107, 56, 95, 114, 59, 101, 121, 63, 107, 125, 66, 111, 131, 70, 117, 135, 73, 121, 141, 78, 126, 145, 81, 130, 150, 85, 135, 155, 90, 140, 159, 93, 143, 163, 97, 148, 167, 101, 151, 171, 105, 155, 176, 110, 160, 179, 114, 163, 184, 119, 167, 187, 123, 170, 191, 129, 175, 194, 133, 178, 198, 139, 182, 202, 146, 186, 204, 150, 189, 208, 156, 193, 210, 160, 195, 212, 167, 198, 214, 171, 199, 215, 176, 201, 217, 181, 203, 217, 184, 203, 218, 188, 204, 218, 191, 204, 218, 194, 204, 218, 196, 203, 217, 198, 203, 216, 200, 202, 216, 201, 201, 215, 202, 199, 214, 203, 199, 213, 204, 197, 212, 204, 196, 211, 205, 194, 209, 205, 191, 208, 205, 189, 205, 205, 186, 203, 204, 183, 200, 203, 178, 195, 201, 173, 192, 199, 168, 186, 196, 161, 182, 193, 156, 176, 188, 148, 171, 184, 143, 164, 179, 135, 158, 173, 128, 154, 169, 124, 148, 163, 118, 145, 159, 114, 139, 154, 109, 136, 150, 105, 131, 145, 101, 127, 140, 97, 124, 136, 94, 120, 131, 91, 117, 128, 88, 114, 124, 85, 111, 121, 83, 108, 116, 81, 105, 111, 78, 102, 108, 76, 99, 104, 74, 97, 101, 72, 94, 96, 70, 92, 93, 69, 89, 89, 67, 87, 85, 65, 85, 83, 64, 83, 79, 63, 81, 77, 62, 80, 73, 61, 78, 71, 60, 77, 69, 60, 76, 66, 59, 75, 64, 59, 74, 62, 58, 74, 60, 58, 73, 58, 58, 73, 56, 58, 72, 54, 59, 73, 52, 59, 73, 51, 60, 74, 49, 62, 75, 49, 63, 78, 48, 66], shape(bamO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bamO25 = reshape([79, 48, 67, 98, 52, 87, 121, 63, 107, 143, 79, 128, 162, 96, 146, 177, 112, 161, 194, 133, 178, 207, 154, 191, 215, 176, 201, 218, 192, 204, 216, 200, 202, 213, 204, 196, 206, 205, 187, 194, 200, 170, 171, 184, 143, 150, 165, 120, 131, 145, 101, 116, 127, 87, 105, 111, 78, 93, 95, 70, 84, 80, 63, 78, 70, 60, 74, 60, 58, 72, 53, 59, 78, 48, 66], shape(bamO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bamO50 = reshape([79, 48, 67, 86, 48, 75, 96, 51, 84, 109, 57, 97, 121, 63, 107, 131, 70, 117, 141, 78, 126, 150, 85, 135, 160, 94, 145, 168, 102, 152, 176, 110, 160, 184, 119, 167, 191, 129, 175, 199, 141, 184, 205, 152, 190, 210, 163, 196, 214, 173, 200, 217, 181, 203, 218, 190, 204, 218, 195, 204, 217, 199, 202, 216, 202, 200, 214, 203, 198, 212, 205, 194, 209, 205, 190, 204, 205, 185, 198, 203, 177, 188, 197, 164, 178, 190, 151, 167, 181, 138, 156, 171, 126, 146, 161, 116, 136, 150, 105, 128, 141, 98, 121, 133, 92, 115, 125, 86, 109, 117, 82, 102, 108, 76, 97, 101, 72, 92, 93, 69, 87, 86, 66, 84, 80, 63, 80, 73, 61, 77, 69, 60, 75, 64, 59, 74, 60, 58, 73, 57, 58, 73, 52, 59, 74, 49, 62, 78, 48, 66], shape(bamO50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bamako = reshape([0, 59, 71, 0, 59, 71, 1, 59, 71, 1, 60, 71, 2, 60, 70, 2, 60, 70, 3, 60, 70, 3, 61, 69, 4, 61, 69, 4, 61, 69, 5, 62, 69, 5, 62, 68, 6, 62, 68, 6, 63, 68, 7, 63, 67, 7, 63, 67, 8, 63, 67, 8, 64, 66, 9, 64, 66, 9, 64, 66, 10, 65, 66, 10, 65, 65, 11, 65, 65, 11, 66, 65, 12, 66, 64, 12, 66, 64, 13, 67, 64, 13, 67, 63, 14, 67, 63, 14, 68, 63, 15, 68, 62, 15, 68, 62, 16, 69, 62, 16, 69, 61, 17, 69, 61, 18, 70, 61, 18, 70, 60, 19, 71, 60, 19, 71, 60, 20, 71, 59, 20, 72, 59, 21, 72, 58, 22, 72, 58, 22, 73, 58, 23, 73, 57, 23, 74, 57, 24, 74, 57, 25, 74, 56, 25, 75, 56, 26, 75, 55, 27, 76, 55, 27, 76, 55, 28, 77, 54, 29, 77, 54, 29, 77, 53, 30, 78, 53, 31, 78, 52, 32, 79, 52, 32, 79, 51, 33, 80, 51, 34, 80, 51, 34, 81, 50, 35, 81, 50, 36, 82, 49, 37, 82, 49, 38, 83, 48, 38, 83, 48, 39, 84, 47, 40, 84, 47, 41, 85, 46, 41, 85, 46, 42, 86, 45, 43, 86, 45, 44, 87, 44, 45, 87, 44, 46, 88, 43, 46, 88, 43, 47, 89, 42, 48, 90, 42, 49, 90, 41, 50, 91, 41, 51, 91, 40, 52, 92, 39, 53, 92, 39, 53, 93, 38, 54, 94, 38, 55, 94, 37, 56, 95, 37, 57, 95, 36, 58, 96, 35, 59, 97, 35, 60, 97, 34, 61, 98, 34, 62, 98, 33, 63, 99, 33, 64, 100, 32, 65, 100, 31, 66, 101, 31, 67, 102, 30, 68, 102, 30, 69, 103, 29, 70, 104, 28, 71, 104, 28, 72, 105, 27, 73, 105, 26, 74, 106, 26, 75, 107, 25, 76, 107, 24, 77, 108, 24, 78, 109, 23, 79, 110, 23, 80, 110, 22, 81, 111, 21, 82, 112, 21, 83, 112, 20, 84, 113, 19, 85, 114, 19, 86, 114, 18, 88, 115, 17, 89, 116, 17, 90, 116, 16, 91, 117, 15, 92, 118, 15, 93, 119, 14, 94, 119, 13, 95, 120, 13, 96, 121, 12, 97, 121, 11, 99, 122, 10, 100, 123, 10, 101, 124, 9, 102, 124, 8, 103, 125, 7, 104, 126, 7, 105, 126, 6, 106, 127, 5, 107, 128, 5, 109, 128, 4, 110, 129, 4, 111, 130, 3, 112, 130, 3, 113, 131, 2, 115, 131, 2, 116, 132, 1, 117, 132, 1, 119, 133, 1, 120, 133, 1, 121, 134, 0, 123, 134, 0, 124, 134, 0, 125, 135, 0, 127, 135, 0, 128, 135, 0, 129, 136, 0, 131, 136, 0, 132, 136, 0, 133, 136, 0, 135, 137, 0, 136, 137, 0, 137, 137, 0, 139, 137, 0, 140, 138, 0, 141, 138, 0, 143, 138, 0, 144, 139, 0, 145, 139, 0, 147, 139, 1, 148, 140, 1, 149, 140, 1, 151, 141, 2, 152, 141, 3, 153, 142, 3, 155, 142, 4, 156, 143, 5, 157, 144, 6, 158, 145, 8, 160, 146, 9, 161, 146, 11, 162, 147, 13, 164, 148, 14, 165, 149, 16, 166, 150, 17, 168, 151, 19, 169, 152, 21, 170, 153, 22, 172, 154, 24, 173, 155, 26, 174, 156, 27, 176, 157, 29, 177, 158, 31, 178, 159, 32, 180, 160, 34, 181, 161, 36, 183, 162, 37, 184, 163, 39, 185, 165, 41, 187, 166, 43, 188, 167, 44, 190, 168, 46, 191, 169, 48, 192, 170, 50, 194, 171, 52, 195, 172, 53, 197, 173, 55, 198, 174, 57, 199, 175, 59, 201, 176, 61, 202, 178, 63, 203, 179, 65, 205, 180, 68, 206, 181, 70, 207, 182, 72, 208, 183, 74, 210, 184, 77, 211, 185, 79, 212, 187, 81, 213, 188, 84, 214, 189, 86, 215, 190, 89, 217, 191, 91, 218, 192, 93, 219, 193, 96, 220, 194, 98, 221, 196, 100, 222, 197, 103, 223, 198, 105, 224, 199, 108, 226, 200, 110, 227, 201, 112, 228, 202, 115, 229, 203, 117, 230, 204, 119, 231, 205, 122, 232, 207, 124, 233, 208, 126, 234, 209, 129, 235, 210, 131, 236, 211, 133, 237, 212, 136, 239, 213, 138, 240, 214, 140, 241, 215, 142, 242, 216, 145, 243, 217, 147, 244, 218, 149, 245, 219, 151, 246, 220, 154, 247, 221, 156, 248, 222, 158, 249, 223, 160, 250, 224, 163, 251, 225, 165, 252, 226, 167, 253, 227, 169, 254, 228, 171, 255, 229, 173], shape(bamako), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bamako10 = reshape([0, 59, 71, 14, 67, 63, 32, 79, 52, 54, 94, 38, 82, 112, 21, 115, 131, 2, 152, 141, 3, 190, 168, 46, 226, 200, 110, 255, 229, 173], shape(bamako10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bamako100 = reshape([0, 59, 71, 1, 60, 71, 2, 60, 70, 4, 61, 69, 5, 62, 69, 6, 63, 68, 7, 63, 67, 9, 64, 66, 10, 65, 65, 11, 66, 65, 13, 67, 64, 14, 67, 63, 15, 68, 62, 16, 69, 61, 18, 70, 60, 20, 71, 59, 21, 72, 58, 23, 73, 57, 24, 74, 57, 26, 75, 55, 28, 77, 54, 29, 77, 53, 32, 79, 52, 33, 80, 51, 35, 81, 50, 37, 82, 49, 39, 84, 47, 41, 85, 46, 43, 86, 45, 46, 88, 43, 47, 89, 42, 50, 91, 41, 52, 92, 39, 54, 94, 38, 57, 95, 36, 59, 97, 35, 62, 98, 33, 64, 100, 32, 67, 102, 30, 69, 103, 29, 72, 105, 27, 75, 107, 25, 77, 108, 24, 80, 110, 22, 82, 112, 21, 85, 114, 19, 88, 115, 17, 91, 117, 15, 94, 119, 13, 96, 121, 12, 100, 123, 10, 102, 124, 8, 105, 126, 6, 109, 128, 4, 111, 130, 3, 115, 131, 2, 117, 132, 1, 121, 134, 0, 124, 134, 0, 128, 135, 0, 132, 136, 0, 135, 137, 0, 139, 137, 0, 141, 138, 0, 145, 139, 0, 148, 140, 1, 152, 141, 3, 156, 143, 5, 158, 145, 8, 162, 147, 13, 165, 149, 16, 169, 152, 21, 172, 154, 24, 176, 157, 29, 180, 160, 34, 183, 162, 37, 187, 166, 43, 190, 168, 46, 194, 171, 52, 197, 173, 55, 201, 176, 61, 205, 180, 68, 207, 182, 72, 211, 185, 79, 213, 188, 84, 217, 191, 91, 220, 194, 98, 222, 197, 103, 226, 200, 110, 228, 202, 115, 231, 205, 122, 233, 208, 126, 236, 211, 133, 240, 214, 140, 242, 216, 145, 245, 219, 151, 247, 221, 156, 250, 224, 163, 252, 226, 167, 255, 229, 173], shape(bamako100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bamako25 = reshape([0, 59, 71, 5, 62, 68, 10, 65, 65, 16, 69, 62, 22, 73, 58, 29, 77, 54, 37, 82, 49, 45, 87, 44, 54, 94, 38, 65, 100, 31, 75, 107, 25, 86, 114, 18, 99, 122, 10, 110, 129, 4, 124, 134, 0, 137, 137, 0, 152, 141, 3, 166, 150, 17, 180, 160, 34, 195, 172, 53, 210, 184, 77, 221, 196, 100, 233, 208, 126, 244, 218, 149, 255, 229, 173], shape(bamako25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bamako50 = reshape([0, 59, 71, 2, 60, 70, 5, 62, 69, 8, 63, 67, 10, 65, 65, 13, 67, 64, 15, 68, 62, 18, 70, 60, 22, 72, 58, 25, 74, 56, 28, 77, 54, 32, 79, 52, 35, 81, 50, 40, 84, 47, 44, 87, 44, 48, 90, 42, 53, 92, 39, 57, 95, 36, 63, 99, 33, 68, 102, 30, 73, 105, 26, 78, 109, 23, 83, 112, 20, 90, 116, 16, 95, 120, 13, 101, 124, 9, 106, 127, 5, 113, 131, 2, 120, 133, 1, 127, 135, 0, 133, 136, 0, 140, 138, 0, 148, 140, 1, 155, 142, 4, 161, 146, 11, 168, 151, 19, 174, 156, 27, 183, 162, 37, 190, 168, 46, 197, 173, 55, 203, 179, 65, 210, 184, 77, 217, 191, 91, 222, 197, 103, 228, 202, 115, 233, 208, 126, 239, 213, 138, 245, 219, 151, 250, 224, 163, 255, 229, 173], shape(bamako50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bamakoS = reshape([0, 59, 71, 255, 229, 173, 99, 122, 10, 37, 82, 49, 180, 160, 34, 65, 100, 31, 221, 196, 100, 16, 69, 62, 139, 137, 0, 8, 63, 67, 25, 75, 56, 239, 213, 138, 117, 132, 1, 81, 111, 21, 202, 178, 63, 50, 91, 41, 160, 146, 9, 149, 140, 1, 247, 221, 156, 128, 135, 0, 73, 105, 26, 43, 86, 45, 107, 128, 5, 20, 72, 59, 57, 95, 36, 191, 169, 48, 212, 187, 81, 12, 66, 64, 90, 116, 16, 4, 61, 69, 31, 78, 52, 230, 204, 119, 170, 153, 22, 243, 217, 147, 123, 134, 0, 85, 114, 19, 103, 125, 7, 251, 225, 165, 133, 136, 0, 207, 182, 72, 61, 98, 34, 2, 60, 70, 28, 77, 54, 94, 119, 13, 14, 67, 63, 77, 108, 24, 23, 73, 57, 46, 88, 43, 10, 65, 66, 112, 130, 3, 197, 173, 55, 185, 165, 41, 234, 209, 129, 165, 149, 16, 40, 84, 47, 217, 191, 91, 69, 103, 29, 18, 70, 60, 34, 80, 51, 6, 62, 68, 53, 93, 38, 144, 139, 0, 155, 142, 4, 226, 200, 110, 176, 157, 29, 199, 175, 59, 188, 167, 44, 11, 65, 65, 24, 74, 57, 125, 135, 0, 52, 92, 39, 41, 85, 46, 205, 180, 68, 131, 136, 0, 157, 144, 6, 152, 141, 3, 241, 215, 142, 15, 68, 62, 115, 131, 2, 88, 115, 17, 96, 121, 12, 29, 77, 53, 183, 162, 37, 35, 81, 50, 22, 72, 58, 228, 202, 115, 3, 60, 70, 5, 62, 69, 79, 110, 23, 9, 64, 66, 253, 227, 169, 141, 138, 0, 147, 139, 1, 59, 97, 35, 92, 118, 15, 1, 59, 71, 38, 83, 48, 223, 198, 105, 17, 69, 61, 67, 102, 30], shape(bamakoS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: batlow = reshape([1, 25, 89, 2, 27, 89, 3, 28, 90, 4, 30, 90, 5, 31, 90, 6, 33, 91, 7, 34, 91, 7, 36, 91, 8, 37, 91, 9, 39, 92, 10, 40, 92, 10, 42, 92, 11, 43, 92, 11, 45, 93, 12, 46, 93, 12, 47, 93, 13, 49, 93, 13, 50, 94, 13, 51, 94, 14, 53, 94, 14, 54, 94, 14, 55, 94, 15, 56, 95, 15, 57, 95, 15, 59, 95, 15, 60, 95, 16, 61, 95, 16, 62, 95, 16, 63, 96, 16, 64, 96, 17, 65, 96, 17, 66, 96, 17, 67, 96, 17, 68, 96, 18, 69, 97, 18, 70, 97, 18, 71, 97, 18, 72, 97, 19, 73, 97, 19, 74, 97, 19, 75, 97, 20, 76, 98, 20, 77, 98, 20, 78, 98, 21, 79, 98, 21, 79, 98, 22, 80, 98, 22, 81, 98, 23, 82, 98, 23, 83, 98, 24, 84, 98, 24, 85, 98, 25, 86, 98, 25, 87, 98, 26, 87, 98, 27, 88, 98, 27, 89, 98, 28, 90, 98, 29, 91, 98, 30, 92, 98, 30, 93, 98, 31, 93, 97, 32, 94, 97, 33, 95, 97, 34, 96, 97, 35, 96, 96, 36, 97, 96, 37, 98, 96, 38, 99, 95, 39, 99, 95, 40, 100, 95, 42, 101, 94, 43, 101, 94, 44, 102, 93, 45, 103, 93, 47, 103, 92, 48, 104, 92, 49, 105, 91, 51, 105, 90, 52, 106, 90, 53, 106, 89, 55, 107, 88, 56, 108, 88, 58, 108, 87, 59, 109, 86, 60, 109, 86, 62, 110, 85, 63, 110, 84, 65, 111, 83, 66, 111, 82, 68, 112, 82, 69, 112, 81, 71, 113, 80, 72, 113, 79, 74, 114, 78, 76, 114, 77, 77, 115, 77, 79, 115, 76, 80, 116, 75, 82, 116, 74, 83, 117, 73, 85, 117, 72, 87, 118, 71, 88, 118, 70, 90, 119, 69, 91, 119, 69, 93, 120, 68, 95, 120, 67, 96, 121, 66, 98, 121, 65, 99, 122, 64, 101, 122, 63, 103, 123, 62, 104, 123, 62, 106, 123, 61, 108, 124, 60, 109, 124, 59, 111, 125, 58, 113, 125, 57, 115, 126, 56, 116, 126, 56, 118, 127, 55, 120, 127, 54, 121, 128, 53, 123, 128, 52, 125, 129, 52, 127, 129, 51, 129, 130, 50, 130, 130, 49, 132, 131, 49, 134, 131, 48, 136, 132, 47, 138, 132, 47, 140, 133, 46, 142, 133, 46, 143, 134, 45, 145, 134, 45, 147, 135, 44, 149, 135, 44, 151, 136, 44, 153, 136, 44, 155, 137, 43, 157, 137, 43, 159, 137, 43, 161, 138, 43, 163, 138, 44, 165, 139, 44, 167, 139, 44, 169, 140, 44, 171, 140, 45, 173, 140, 45, 175, 141, 46, 177, 141, 47, 179, 142, 47, 181, 142, 48, 183, 142, 49, 185, 143, 50, 187, 143, 51, 189, 143, 52, 190, 144, 53, 192, 144, 54, 194, 144, 55, 196, 145, 56, 198, 145, 58, 200, 145, 59, 202, 146, 60, 203, 146, 62, 205, 146, 63, 207, 147, 64, 209, 147, 66, 210, 147, 67, 212, 148, 69, 214, 148, 70, 216, 148, 72, 217, 149, 74, 219, 149, 75, 221, 149, 77, 222, 150, 79, 224, 150, 81, 225, 151, 82, 227, 151, 84, 228, 151, 86, 230, 152, 88, 231, 152, 90, 233, 153, 92, 234, 153, 94, 235, 154, 96, 237, 154, 98, 238, 155, 100, 239, 155, 103, 240, 156, 105, 241, 157, 107, 242, 157, 109, 243, 158, 112, 244, 159, 114, 245, 159, 116, 246, 160, 119, 247, 161, 121, 248, 161, 123, 248, 162, 126, 249, 163, 128, 249, 163, 130, 250, 164, 133, 250, 165, 135, 251, 166, 137, 251, 166, 140, 252, 167, 142, 252, 168, 144, 252, 169, 147, 252, 169, 149, 253, 170, 151, 253, 171, 154, 253, 172, 156, 253, 172, 158, 253, 173, 160, 253, 174, 162, 253, 175, 165, 253, 175, 167, 253, 176, 169, 253, 177, 171, 253, 178, 173, 253, 178, 175, 253, 179, 177, 253, 180, 180, 253, 180, 182, 253, 181, 184, 253, 182, 186, 253, 183, 188, 253, 183, 190, 253, 184, 192, 253, 185, 194, 253, 186, 196, 253, 186, 199, 253, 187, 201, 253, 188, 203, 253, 188, 205, 252, 189, 207, 252, 190, 209, 252, 191, 211, 252, 191, 214, 252, 192, 216, 252, 193, 218, 252, 194, 220, 252, 195, 223, 252, 195, 225, 252, 196, 227, 252, 197, 229, 251, 198, 232, 251, 198, 234, 251, 199, 236, 251, 200, 239, 251, 201, 241, 251, 202, 243, 251, 202, 246, 250, 203, 248, 250, 204, 250], shape(batlow), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: batlow10 = reshape([1, 25, 89, 16, 63, 96, 28, 90, 98, 60, 109, 86, 104, 123, 62, 157, 137, 43, 210, 147, 67, 248, 161, 123, 253, 183, 188, 250, 204, 250], shape(batlow10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlow100 = reshape([1, 25, 89, 4, 30, 90, 6, 33, 91, 8, 37, 91, 10, 40, 92, 11, 45, 93, 12, 47, 93, 13, 51, 94, 14, 55, 94, 15, 57, 95, 16, 61, 95, 16, 63, 96, 17, 66, 96, 17, 68, 96, 18, 71, 97, 19, 74, 97, 20, 76, 98, 21, 79, 98, 22, 80, 98, 23, 83, 98, 25, 86, 98, 26, 87, 98, 28, 90, 98, 30, 92, 98, 32, 94, 97, 34, 96, 97, 37, 98, 96, 40, 100, 95, 43, 101, 94, 47, 103, 92, 49, 105, 91, 53, 106, 89, 56, 108, 88, 60, 109, 86, 65, 111, 83, 68, 112, 82, 72, 113, 79, 76, 114, 77, 80, 116, 75, 83, 117, 73, 88, 118, 70, 93, 120, 68, 96, 121, 66, 101, 122, 63, 104, 123, 62, 109, 124, 59, 113, 125, 57, 118, 127, 55, 123, 128, 52, 127, 129, 51, 132, 131, 49, 136, 132, 47, 142, 133, 46, 147, 135, 44, 151, 136, 44, 157, 137, 43, 161, 138, 43, 167, 139, 44, 171, 140, 45, 177, 141, 47, 183, 142, 49, 187, 143, 51, 192, 144, 54, 196, 145, 56, 202, 146, 60, 205, 146, 63, 210, 147, 67, 216, 148, 72, 219, 149, 75, 224, 150, 81, 227, 151, 84, 231, 152, 90, 234, 153, 94, 238, 155, 100, 241, 157, 107, 243, 158, 112, 246, 160, 119, 248, 161, 123, 249, 163, 130, 250, 165, 135, 252, 167, 142, 252, 169, 149, 253, 171, 154, 253, 173, 160, 253, 175, 165, 253, 177, 171, 253, 179, 177, 253, 180, 182, 253, 183, 188, 253, 184, 192, 253, 186, 199, 253, 188, 203, 252, 190, 209, 252, 192, 216, 252, 194, 220, 252, 196, 227, 251, 198, 232, 251, 200, 239, 251, 202, 243, 250, 204, 250], shape(batlow100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: batlow25 = reshape([1, 25, 89, 10, 42, 92, 14, 55, 94, 17, 67, 96, 20, 78, 98, 25, 87, 98, 34, 96, 97, 45, 103, 93, 60, 109, 86, 77, 115, 77, 93, 120, 68, 111, 125, 58, 130, 130, 49, 149, 135, 44, 171, 140, 45, 190, 144, 53, 210, 147, 67, 228, 151, 86, 241, 157, 107, 250, 164, 133, 253, 172, 158, 253, 180, 180, 253, 188, 203, 252, 195, 225, 250, 204, 250], shape(batlow25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: batlow50 = reshape([1, 25, 89, 6, 33, 91, 10, 40, 92, 13, 49, 93, 14, 55, 94, 16, 61, 95, 17, 66, 96, 18, 71, 97, 20, 77, 98, 22, 81, 98, 25, 86, 98, 28, 90, 98, 32, 94, 97, 38, 99, 95, 44, 102, 93, 51, 105, 90, 58, 108, 87, 65, 111, 83, 74, 114, 78, 82, 116, 74, 90, 119, 69, 98, 121, 65, 106, 123, 61, 116, 126, 56, 125, 129, 52, 134, 131, 48, 143, 134, 45, 155, 137, 43, 165, 139, 44, 175, 141, 46, 185, 143, 50, 194, 144, 55, 205, 146, 63, 214, 148, 70, 222, 150, 79, 230, 152, 88, 237, 154, 98, 243, 158, 112, 248, 161, 123, 250, 165, 135, 252, 169, 147, 253, 172, 158, 253, 177, 171, 253, 180, 182, 253, 184, 192, 253, 188, 203, 252, 191, 214, 252, 196, 227, 251, 200, 239, 250, 204, 250], shape(batlow50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: batlowK = reshape([4, 5, 10, 5, 7, 13, 6, 8, 15, 7, 10, 17, 9, 12, 19, 10, 13, 21, 11, 15, 23, 12, 16, 25, 13, 17, 26, 14, 18, 28, 15, 20, 30, 15, 21, 31, 16, 22, 33, 16, 23, 35, 17, 24, 37, 17, 26, 39, 18, 27, 41, 18, 28, 43, 19, 30, 45, 20, 31, 47, 20, 32, 49, 21, 34, 51, 21, 35, 53, 22, 37, 55, 23, 38, 57, 23, 39, 59, 24, 41, 61, 25, 43, 63, 26, 44, 65, 26, 46, 67, 27, 47, 69, 28, 49, 70, 29, 50, 72, 30, 52, 74, 31, 53, 75, 32, 55, 77, 33, 56, 79, 34, 58, 80, 35, 59, 81, 36, 61, 83, 37, 62, 84, 38, 64, 85, 39, 65, 86, 40, 67, 87, 41, 68, 88, 42, 69, 89, 43, 71, 90, 44, 72, 91, 45, 73, 91, 46, 74, 92, 47, 75, 93, 48, 77, 93, 49, 78, 94, 50, 79, 94, 51, 80, 94, 52, 81, 95, 53, 82, 95, 54, 83, 95, 55, 84, 95, 56, 85, 95, 57, 85, 95, 58, 86, 95, 59, 87, 95, 60, 88, 95, 61, 89, 95, 62, 89, 95, 62, 90, 95, 63, 91, 94, 64, 92, 94, 65, 92, 94, 66, 93, 94, 67, 93, 93, 67, 94, 93, 68, 95, 93, 69, 95, 92, 70, 96, 92, 71, 97, 92, 72, 97, 91, 73, 98, 91, 73, 98, 90, 74, 99, 90, 75, 99, 89, 76, 100, 89, 77, 101, 88, 78, 101, 88, 79, 102, 87, 80, 102, 87, 81, 103, 86, 82, 103, 86, 83, 104, 85, 84, 105, 85, 85, 105, 84, 86, 106, 83, 87, 106, 83, 88, 107, 82, 89, 108, 81, 90, 108, 81, 91, 109, 80, 92, 110, 79, 94, 110, 79, 95, 111, 78, 96, 112, 77, 97, 112, 77, 98, 113, 76, 99, 114, 75, 101, 114, 75, 102, 115, 74, 103, 116, 73, 105, 116, 73, 106, 117, 72, 107, 118, 71, 108, 118, 71, 110, 119, 70, 111, 120, 69, 113, 120, 69, 114, 121, 68, 115, 122, 67, 117, 123, 67, 118, 123, 66, 120, 124, 65, 121, 125, 65, 123, 126, 64, 125, 126, 63, 126, 127, 63, 128, 128, 62, 129, 129, 62, 131, 129, 61, 133, 130, 61, 134, 131, 60, 136, 132, 60, 138, 133, 59, 140, 133, 59, 142, 134, 58, 143, 135, 58, 145, 136, 58, 147, 136, 57, 149, 137, 57, 151, 138, 57, 153, 139, 56, 155, 139, 56, 157, 140, 56, 159, 141, 56, 161, 142, 56, 163, 142, 56, 165, 143, 56, 167, 144, 56, 169, 145, 57, 171, 145, 57, 173, 146, 57, 175, 147, 58, 177, 147, 58, 179, 148, 59, 181, 149, 59, 183, 149, 60, 186, 150, 61, 188, 150, 61, 190, 151, 62, 192, 152, 63, 194, 152, 64, 196, 153, 65, 198, 153, 66, 200, 154, 67, 201, 154, 69, 203, 155, 70, 205, 155, 71, 207, 156, 73, 209, 156, 74, 211, 157, 76, 212, 157, 77, 214, 157, 79, 216, 158, 80, 217, 158, 82, 219, 159, 84, 220, 159, 85, 222, 160, 87, 223, 160, 89, 225, 160, 91, 226, 161, 93, 228, 161, 95, 229, 161, 96, 230, 162, 98, 231, 162, 100, 232, 163, 102, 234, 163, 104, 235, 163, 106, 236, 164, 108, 237, 164, 110, 238, 165, 112, 239, 165, 114, 240, 165, 116, 240, 166, 118, 241, 166, 120, 242, 167, 122, 243, 167, 124, 243, 167, 126, 244, 168, 128, 245, 168, 130, 245, 169, 132, 246, 169, 134, 246, 170, 136, 247, 170, 139, 247, 171, 141, 248, 171, 143, 248, 172, 145, 249, 172, 146, 249, 173, 148, 250, 173, 150, 250, 174, 152, 250, 174, 154, 251, 175, 156, 251, 175, 158, 251, 176, 160, 251, 176, 162, 252, 177, 164, 252, 177, 166, 252, 178, 168, 252, 178, 170, 252, 179, 172, 252, 179, 174, 253, 180, 176, 253, 181, 178, 253, 181, 180, 253, 182, 182, 253, 182, 183, 253, 183, 185, 253, 183, 187, 253, 184, 189, 253, 185, 191, 253, 185, 193, 253, 186, 195, 253, 187, 197, 253, 187, 199, 253, 188, 201, 253, 188, 203, 253, 189, 205, 253, 190, 207, 253, 190, 209, 253, 191, 211, 253, 192, 214, 253, 193, 216, 253, 193, 218, 253, 194, 220, 253, 195, 222, 253, 195, 224, 252, 196, 226, 252, 197, 228, 252, 198, 231, 252, 198, 233, 252, 199, 235, 252, 200, 237, 251, 200, 239, 251, 201, 241, 251, 202, 244, 251, 203, 246, 251, 203, 248, 250, 204, 250], shape(batlowK), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: batlowK10 = reshape([4, 5, 10, 26, 44, 65, 54, 83, 95, 79, 102, 87, 111, 120, 69, 161, 142, 56, 216, 158, 80, 246, 169, 134, 253, 185, 191, 250, 204, 250], shape(batlowK10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowK100 = reshape([4, 5, 10, 7, 10, 17, 10, 13, 21, 13, 17, 26, 15, 20, 30, 16, 23, 35, 17, 26, 39, 19, 30, 45, 21, 34, 51, 22, 37, 55, 24, 41, 61, 26, 44, 65, 28, 49, 70, 30, 52, 74, 33, 56, 79, 36, 61, 83, 38, 64, 85, 41, 68, 88, 43, 71, 90, 46, 74, 92, 49, 78, 94, 51, 80, 94, 54, 83, 95, 56, 85, 95, 59, 87, 95, 61, 89, 95, 63, 91, 94, 66, 93, 94, 67, 94, 93, 70, 96, 92, 72, 97, 91, 74, 99, 90, 76, 100, 89, 79, 102, 87, 82, 103, 86, 84, 105, 85, 87, 106, 83, 89, 108, 81, 92, 110, 79, 95, 111, 78, 98, 113, 76, 102, 115, 74, 105, 116, 73, 108, 118, 71, 111, 120, 69, 115, 122, 67, 118, 123, 66, 123, 126, 64, 128, 128, 62, 131, 129, 61, 136, 132, 60, 140, 133, 59, 145, 136, 58, 151, 138, 57, 155, 139, 56, 161, 142, 56, 165, 143, 56, 171, 145, 57, 175, 147, 58, 181, 149, 59, 188, 150, 61, 192, 152, 63, 198, 153, 66, 201, 154, 69, 207, 156, 73, 211, 157, 76, 216, 158, 80, 220, 159, 85, 223, 160, 89, 228, 161, 95, 230, 162, 98, 234, 163, 104, 236, 164, 108, 239, 165, 114, 241, 166, 120, 243, 167, 124, 245, 168, 130, 246, 169, 134, 247, 171, 141, 248, 172, 145, 250, 173, 150, 251, 175, 156, 251, 176, 160, 252, 177, 166, 252, 178, 170, 253, 180, 176, 253, 182, 182, 253, 183, 185, 253, 185, 191, 253, 186, 195, 253, 188, 201, 253, 189, 205, 253, 191, 211, 253, 193, 218, 253, 195, 222, 252, 197, 228, 252, 198, 233, 251, 200, 239, 251, 202, 244, 250, 204, 250], shape(batlowK100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: batlowK25 = reshape([4, 5, 10, 15, 21, 31, 21, 34, 51, 29, 50, 72, 40, 67, 87, 50, 79, 94, 61, 89, 95, 69, 95, 92, 79, 102, 87, 90, 108, 81, 102, 115, 74, 117, 123, 67, 134, 131, 60, 153, 139, 56, 175, 147, 58, 196, 153, 65, 216, 158, 80, 231, 162, 100, 241, 166, 120, 248, 171, 143, 252, 177, 164, 253, 182, 183, 253, 189, 205, 252, 196, 226, 250, 204, 250], shape(batlowK25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: batlowK50 = reshape([4, 5, 10, 10, 13, 21, 15, 20, 30, 18, 27, 41, 21, 34, 51, 24, 41, 61, 28, 49, 70, 33, 56, 79, 39, 65, 86, 44, 72, 91, 49, 78, 94, 54, 83, 95, 59, 87, 95, 64, 92, 94, 68, 95, 93, 73, 98, 91, 77, 101, 88, 82, 103, 86, 88, 107, 82, 94, 110, 79, 99, 114, 75, 106, 117, 72, 113, 120, 69, 121, 125, 65, 129, 129, 62, 138, 133, 59, 147, 136, 57, 159, 141, 56, 169, 145, 57, 179, 148, 59, 190, 151, 62, 200, 154, 67, 211, 157, 76, 219, 159, 84, 226, 161, 93, 232, 163, 102, 238, 165, 112, 243, 167, 124, 246, 169, 134, 248, 172, 145, 250, 174, 154, 252, 177, 164, 253, 180, 176, 253, 183, 185, 253, 186, 195, 253, 189, 205, 253, 193, 216, 252, 197, 228, 251, 200, 239, 250, 204, 250], shape(batlowK50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowKS = reshape([4, 5, 10, 253, 192, 214, 120, 124, 65, 57, 85, 95, 229, 161, 96, 27, 47, 69, 175, 147, 58, 84, 105, 85, 250, 174, 154, 17, 26, 39, 145, 136, 58, 205, 155, 71, 70, 96, 92, 253, 182, 183, 42, 69, 89, 101, 114, 75, 243, 167, 126, 50, 79, 94, 253, 187, 199, 252, 178, 168, 247, 171, 141, 13, 17, 26, 63, 91, 94, 110, 119, 70, 133, 130, 61, 92, 110, 79, 190, 151, 62, 159, 141, 56, 219, 159, 84, 77, 101, 88, 35, 59, 81, 21, 35, 53, 238, 165, 112, 212, 157, 77, 31, 53, 75, 253, 180, 176, 24, 41, 61, 198, 153, 66, 9, 12, 19, 167, 144, 56, 46, 74, 92, 253, 185, 191, 67, 93, 93, 73, 98, 90, 234, 163, 104, 126, 127, 63, 88, 107, 82, 115, 122, 67, 183, 149, 60, 96, 112, 77, 16, 22, 33, 225, 160, 91, 54, 83, 95, 241, 166, 120, 105, 116, 73, 249, 173, 148, 251, 176, 162, 245, 169, 132, 140, 133, 59, 61, 89, 95, 151, 138, 57, 19, 30, 45, 80, 102, 87, 39, 65, 86, 253, 189, 205, 216, 158, 80, 251, 175, 158, 222, 160, 87, 11, 15, 23, 129, 129, 62, 155, 139, 56, 48, 77, 93, 82, 103, 86, 240, 165, 116, 65, 92, 94, 107, 118, 71, 236, 164, 108, 90, 108, 81, 248, 172, 145, 179, 148, 59, 20, 32, 49, 253, 190, 209, 123, 126, 64, 33, 56, 79, 23, 38, 57, 15, 20, 30, 6, 8, 15, 75, 99, 89, 163, 142, 56, 252, 179, 172, 194, 152, 64, 136, 132, 60, 52, 81, 95, 59, 87, 95, 209, 156, 74, 72, 97, 91, 113, 120, 69, 29, 50, 72, 98, 113, 76, 253, 186, 195], shape(batlowKS), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowS = reshape([1, 25, 89, 250, 204, 250, 130, 130, 49, 34, 96, 97, 241, 157, 107, 17, 67, 96, 253, 180, 180, 77, 115, 77, 192, 144, 54, 103, 123, 62, 252, 191, 214, 161, 138, 43, 252, 168, 144, 53, 106, 89, 13, 49, 93, 23, 82, 98, 219, 149, 75, 248, 162, 126, 43, 101, 94, 145, 134, 45, 90, 119, 69, 27, 89, 98, 253, 186, 196, 177, 141, 47, 8, 37, 91, 19, 75, 97, 65, 111, 83, 231, 152, 90, 15, 59, 95, 251, 198, 232, 253, 174, 162, 116, 126, 56, 207, 147, 64, 169, 140, 44, 252, 195, 223, 48, 104, 92, 253, 183, 188, 5, 31, 90, 109, 124, 59, 18, 71, 97, 59, 109, 86, 21, 79, 98, 200, 145, 59, 225, 151, 82, 71, 113, 80, 14, 54, 94, 11, 43, 92, 16, 63, 96, 30, 93, 98, 25, 86, 98, 251, 201, 241, 250, 165, 135, 253, 171, 154, 38, 99, 95, 96, 121, 66, 138, 132, 47, 253, 188, 205, 253, 177, 171, 245, 159, 116, 123, 128, 52, 153, 136, 44, 237, 154, 98, 83, 117, 73, 185, 143, 50, 212, 148, 69, 249, 163, 130, 253, 178, 175, 243, 158, 112, 93, 120, 68, 56, 108, 88, 12, 46, 93, 252, 169, 149, 16, 61, 95, 3, 28, 90, 40, 100, 95, 252, 193, 218, 203, 146, 62, 80, 116, 75, 253, 175, 167, 196, 145, 56, 165, 139, 44, 99, 122, 64, 251, 199, 236, 251, 166, 140, 7, 34, 91, 20, 77, 98, 120, 127, 54, 149, 135, 44, 36, 97, 96, 106, 123, 61, 74, 114, 78, 19, 73, 97, 252, 196, 227, 62, 110, 85, 253, 172, 158, 13, 51, 94, 113, 125, 57, 17, 65, 96, 51, 105, 90, 252, 190, 209], shape(batlowS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: batlowW = reshape([1, 25, 89, 2, 27, 89, 3, 28, 90, 4, 30, 90, 5, 31, 90, 6, 33, 91, 7, 34, 91, 7, 36, 91, 8, 37, 91, 9, 39, 92, 10, 40, 92, 10, 42, 92, 11, 43, 92, 11, 45, 93, 12, 46, 93, 12, 47, 93, 13, 49, 93, 13, 50, 94, 13, 51, 94, 14, 53, 94, 14, 54, 94, 14, 55, 94, 15, 56, 95, 15, 58, 95, 15, 59, 95, 15, 60, 95, 16, 61, 95, 16, 62, 95, 16, 63, 96, 16, 64, 96, 16, 65, 96, 17, 66, 96, 17, 67, 96, 17, 68, 96, 17, 69, 97, 18, 70, 97, 18, 71, 97, 18, 71, 97, 18, 72, 97, 19, 73, 97, 19, 74, 97, 19, 75, 97, 20, 76, 98, 20, 77, 98, 20, 78, 98, 21, 79, 98, 21, 80, 98, 22, 80, 98, 22, 81, 98, 22, 82, 98, 23, 83, 98, 23, 84, 98, 24, 85, 98, 24, 86, 98, 25, 87, 98, 26, 88, 98, 26, 88, 98, 27, 89, 98, 28, 90, 98, 28, 91, 98, 29, 92, 98, 30, 93, 98, 31, 93, 98, 31, 94, 98, 32, 95, 97, 33, 96, 97, 34, 97, 97, 35, 97, 97, 36, 98, 97, 37, 99, 96, 38, 100, 96, 39, 100, 96, 40, 101, 95, 42, 102, 95, 43, 103, 94, 44, 103, 94, 45, 104, 94, 46, 105, 93, 48, 105, 93, 49, 106, 92, 50, 107, 92, 52, 107, 91, 53, 108, 90, 54, 108, 90, 56, 109, 89, 57, 110, 89, 58, 110, 88, 60, 111, 87, 61, 112, 86, 63, 112, 86, 64, 113, 85, 66, 113, 84, 67, 114, 84, 69, 115, 83, 70, 115, 82, 72, 116, 81, 73, 116, 81, 75, 117, 80, 76, 117, 79, 78, 118, 78, 79, 119, 77, 81, 119, 77, 83, 120, 76, 84, 120, 75, 86, 121, 74, 87, 122, 73, 89, 122, 73, 91, 123, 72, 92, 123, 71, 94, 124, 70, 95, 124, 69, 97, 125, 69, 99, 126, 68, 100, 126, 67, 102, 127, 66, 104, 127, 65, 105, 128, 64, 107, 129, 64, 109, 129, 63, 110, 130, 62, 112, 130, 61, 114, 131, 61, 116, 132, 60, 117, 132, 59, 119, 133, 58, 121, 133, 57, 123, 134, 57, 124, 135, 56, 126, 135, 55, 128, 136, 55, 130, 137, 54, 132, 137, 53, 134, 138, 53, 136, 139, 52, 138, 139, 52, 140, 140, 51, 142, 141, 51, 144, 141, 51, 146, 142, 50, 148, 143, 50, 150, 143, 50, 152, 144, 50, 154, 145, 50, 156, 146, 50, 158, 146, 51, 160, 147, 51, 162, 148, 51, 164, 148, 52, 167, 149, 53, 169, 150, 54, 171, 151, 55, 173, 151, 56, 175, 152, 57, 177, 153, 58, 179, 153, 59, 181, 154, 61, 183, 155, 63, 186, 155, 64, 187, 156, 66, 189, 157, 68, 191, 157, 70, 193, 158, 72, 195, 159, 74, 197, 159, 76, 198, 160, 78, 200, 160, 80, 202, 161, 82, 203, 161, 84, 205, 162, 86, 206, 162, 88, 208, 163, 90, 209, 163, 92, 211, 164, 94, 212, 164, 96, 213, 165, 98, 215, 165, 100, 216, 165, 102, 217, 166, 105, 218, 166, 107, 219, 167, 109, 220, 167, 111, 221, 167, 112, 223, 168, 114, 224, 168, 116, 225, 169, 118, 226, 169, 120, 227, 169, 122, 228, 170, 124, 229, 170, 126, 229, 171, 128, 230, 171, 130, 231, 171, 132, 232, 172, 134, 233, 172, 136, 234, 173, 137, 235, 173, 139, 236, 174, 141, 237, 175, 143, 238, 175, 145, 238, 176, 148, 239, 177, 150, 240, 177, 152, 241, 178, 154, 242, 179, 156, 243, 180, 158, 243, 181, 161, 244, 182, 163, 245, 183, 166, 246, 185, 168, 247, 186, 170, 247, 187, 173, 248, 189, 175, 249, 190, 178, 249, 192, 181, 250, 193, 183, 250, 195, 186, 251, 197, 188, 252, 198, 191, 252, 200, 193, 252, 202, 196, 253, 204, 198, 253, 205, 201, 253, 207, 203, 254, 209, 205, 254, 211, 207, 254, 213, 210, 254, 214, 212, 254, 216, 214, 255, 218, 216, 255, 219, 218, 255, 221, 219, 255, 223, 221, 255, 224, 223, 255, 226, 225, 255, 227, 226, 255, 229, 228, 255, 230, 230, 255, 232, 231, 255, 233, 233, 255, 234, 234, 255, 236, 235, 255, 237, 237, 255, 239, 238, 255, 240, 240, 255, 241, 241, 255, 242, 242, 255, 244, 243, 255, 245, 245, 255, 246, 246, 255, 247, 247, 255, 248, 248, 255, 250, 249, 255, 251, 251, 255, 252, 252, 255, 253, 253, 255, 254, 254], shape(batlowW), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: batlowW10 = reshape([1, 25, 89, 16, 63, 96, 27, 89, 98, 57, 110, 89, 100, 126, 67, 154, 145, 50, 208, 163, 90, 238, 175, 145, 254, 216, 214, 255, 254, 254], shape(batlowW10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowW100 = reshape([1, 25, 89, 4, 30, 90, 6, 33, 91, 8, 37, 91, 10, 40, 92, 11, 45, 93, 12, 47, 93, 13, 51, 94, 14, 55, 94, 15, 58, 95, 16, 61, 95, 16, 63, 96, 17, 66, 96, 17, 68, 96, 18, 71, 97, 19, 73, 97, 19, 75, 97, 20, 78, 98, 21, 80, 98, 22, 82, 98, 24, 85, 98, 25, 87, 98, 27, 89, 98, 28, 91, 98, 31, 93, 98, 32, 95, 97, 35, 97, 97, 38, 100, 96, 40, 101, 95, 44, 103, 94, 46, 105, 93, 50, 107, 92, 53, 108, 90, 57, 110, 89, 61, 112, 86, 64, 113, 85, 69, 115, 83, 72, 116, 81, 76, 117, 79, 79, 119, 77, 84, 120, 75, 89, 122, 73, 92, 123, 71, 97, 125, 69, 100, 126, 67, 105, 128, 64, 109, 129, 63, 114, 131, 61, 119, 133, 58, 123, 134, 57, 128, 136, 55, 132, 137, 53, 138, 139, 52, 144, 141, 51, 148, 143, 50, 154, 145, 50, 158, 146, 51, 164, 148, 52, 169, 150, 54, 175, 152, 57, 181, 154, 61, 186, 155, 64, 191, 157, 70, 195, 159, 74, 200, 160, 80, 203, 161, 84, 208, 163, 90, 212, 164, 96, 215, 165, 100, 218, 166, 107, 220, 167, 111, 224, 168, 116, 226, 169, 120, 229, 170, 126, 231, 171, 132, 233, 172, 136, 236, 174, 141, 238, 175, 145, 240, 177, 152, 242, 179, 156, 244, 182, 163, 247, 186, 170, 248, 189, 175, 250, 193, 183, 251, 197, 188, 252, 202, 196, 253, 207, 203, 254, 211, 207, 254, 216, 214, 255, 219, 218, 255, 224, 223, 255, 227, 226, 255, 232, 231, 255, 236, 235, 255, 239, 238, 255, 242, 242, 255, 245, 245, 255, 248, 248, 255, 251, 251, 255, 254, 254], shape(batlowW100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: batlowW25 = reshape([1, 25, 89, 10, 42, 92, 14, 55, 94, 17, 67, 96, 20, 77, 98, 24, 86, 98, 32, 95, 97, 43, 103, 94, 57, 110, 89, 73, 116, 81, 89, 122, 73, 107, 129, 64, 126, 135, 55, 146, 142, 50, 169, 150, 54, 189, 157, 68, 208, 163, 90, 221, 167, 112, 231, 171, 132, 241, 178, 154, 249, 192, 181, 254, 209, 205, 255, 227, 226, 255, 241, 241, 255, 254, 254], shape(batlowW25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: batlowW50 = reshape([1, 25, 89, 6, 33, 91, 10, 40, 92, 13, 49, 93, 14, 55, 94, 16, 61, 95, 17, 66, 96, 18, 71, 97, 20, 76, 98, 22, 80, 98, 24, 85, 98, 27, 89, 98, 31, 93, 98, 36, 98, 97, 42, 102, 95, 48, 105, 93, 54, 108, 90, 61, 112, 86, 70, 115, 82, 78, 118, 78, 86, 121, 74, 94, 124, 70, 102, 127, 66, 112, 130, 61, 121, 133, 57, 130, 137, 54, 140, 140, 51, 152, 144, 50, 162, 148, 51, 173, 151, 56, 183, 155, 63, 193, 158, 72, 203, 161, 84, 211, 164, 94, 217, 166, 105, 223, 168, 114, 228, 170, 124, 233, 172, 136, 238, 175, 145, 242, 179, 156, 246, 185, 168, 249, 192, 181, 252, 202, 196, 254, 211, 207, 255, 219, 218, 255, 227, 226, 255, 234, 234, 255, 242, 242, 255, 248, 248, 255, 254, 254], shape(batlowW50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: batlowWS = reshape([255, 254, 254, 1, 25, 89, 124, 135, 56, 231, 171, 132, 32, 95, 97, 189, 157, 68, 254, 209, 205, 17, 67, 96, 73, 116, 81, 13, 49, 93, 156, 146, 50, 50, 107, 92, 22, 81, 98, 245, 183, 166, 255, 234, 234, 215, 165, 100, 99, 126, 68, 19, 74, 97, 173, 151, 56, 203, 161, 84, 8, 37, 91, 255, 245, 245, 224, 168, 116, 86, 121, 74, 61, 112, 86, 255, 223, 221, 250, 195, 186, 26, 88, 98, 238, 176, 148, 140, 140, 51, 15, 59, 95, 40, 101, 95, 110, 130, 62, 255, 229, 228, 45, 104, 94, 148, 143, 50, 132, 137, 53, 219, 167, 109, 209, 163, 92, 14, 54, 94, 164, 148, 52, 24, 85, 98, 248, 189, 175, 255, 240, 240, 235, 173, 139, 67, 114, 84, 36, 98, 97, 11, 43, 92, 255, 250, 249, 242, 179, 156, 92, 123, 71, 181, 154, 61, 252, 202, 196, 18, 71, 97, 117, 132, 59, 29, 92, 98, 56, 109, 89, 254, 216, 214, 20, 78, 98, 197, 159, 76, 79, 119, 77, 16, 63, 96, 5, 31, 90, 228, 170, 124, 104, 127, 65, 21, 80, 98, 53, 108, 90, 89, 122, 73, 193, 158, 72, 255, 237, 237, 3, 28, 90, 64, 113, 85, 240, 177, 152, 255, 219, 218, 229, 171, 128, 16, 61, 95, 237, 175, 143, 136, 139, 52, 15, 56, 95, 247, 186, 170, 152, 144, 50, 70, 115, 82, 83, 120, 76, 48, 105, 93, 226, 169, 120, 169, 150, 54, 23, 83, 98, 12, 46, 93, 160, 147, 51, 221, 167, 112, 177, 153, 58, 217, 166, 105, 243, 181, 161, 255, 226, 225, 253, 205, 201, 107, 129, 64, 255, 242, 242, 13, 51, 94, 252, 198, 191, 249, 192, 181], shape(batlowWS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: berlin = reshape([158, 176, 255, 156, 176, 254, 154, 176, 253, 152, 175, 252, 149, 175, 251, 147, 175, 250, 145, 174, 249, 142, 174, 247, 140, 174, 246, 138, 174, 245, 135, 173, 244, 133, 173, 243, 130, 173, 242, 128, 172, 241, 126, 172, 240, 123, 172, 238, 121, 171, 237, 118, 171, 236, 116, 170, 235, 113, 170, 233, 111, 169, 232, 108, 169, 230, 106, 168, 229, 103, 168, 227, 101, 167, 226, 98, 166, 224, 96, 165, 223, 93, 165, 221, 91, 164, 219, 88, 163, 217, 86, 162, 215, 84, 160, 213, 81, 159, 211, 79, 158, 209, 77, 157, 207, 75, 155, 205, 72, 154, 202, 70, 152, 200, 68, 151, 198, 67, 149, 195, 65, 148, 193, 63, 146, 190, 62, 144, 188, 60, 142, 185, 59, 141, 183, 57, 139, 180, 56, 137, 178, 55, 135, 175, 54, 133, 173, 53, 132, 170, 51, 130, 168, 50, 128, 166, 50, 126, 163, 49, 124, 161, 48, 122, 158, 47, 120, 156, 46, 118, 153, 45, 117, 151, 44, 115, 148, 44, 113, 146, 43, 111, 143, 42, 109, 141, 41, 107, 139, 41, 105, 136, 40, 104, 134, 39, 102, 131, 39, 100, 129, 38, 98, 127, 37, 96, 124, 36, 94, 122, 36, 93, 120, 35, 91, 117, 34, 89, 115, 34, 87, 113, 33, 85, 110, 32, 84, 108, 32, 82, 106, 31, 80, 104, 30, 78, 101, 30, 77, 99, 29, 75, 97, 28, 73, 95, 28, 71, 92, 27, 70, 90, 26, 68, 88, 26, 66, 86, 25, 65, 83, 25, 63, 81, 24, 61, 79, 23, 60, 77, 23, 58, 75, 22, 56, 73, 22, 55, 71, 21, 53, 68, 21, 51, 66, 20, 50, 64, 20, 48, 62, 19, 47, 60, 19, 45, 58, 18, 44, 56, 18, 42, 54, 18, 41, 52, 17, 39, 50, 17, 38, 48, 17, 36, 46, 17, 35, 44, 17, 33, 42, 17, 32, 40, 16, 31, 38, 16, 29, 37, 16, 28, 35, 17, 27, 33, 17, 26, 32, 17, 25, 30, 17, 24, 28, 17, 22, 27, 17, 21, 25, 17, 20, 24, 17, 19, 23, 18, 18, 21, 18, 18, 20, 19, 17, 18, 20, 16, 17, 20, 15, 16, 21, 14, 14, 22, 14, 13, 23, 13, 11, 24, 12, 10, 25, 12, 9, 26, 12, 8, 27, 11, 7, 28, 11, 6, 29, 11, 5, 30, 11, 4, 32, 11, 4, 33, 11, 3, 34, 12, 2, 35, 12, 2, 36, 12, 2, 37, 12, 1, 38, 13, 1, 39, 13, 1, 40, 13, 1, 42, 14, 1, 43, 14, 1, 44, 14, 0, 45, 14, 0, 47, 14, 0, 48, 15, 0, 49, 15, 0, 51, 15, 0, 52, 15, 0, 53, 16, 0, 55, 16, 0, 56, 16, 0, 57, 17, 0, 59, 17, 0, 60, 17, 1, 62, 18, 1, 63, 18, 1, 65, 18, 1, 66, 19, 1, 68, 19, 1, 69, 20, 1, 71, 20, 1, 72, 21, 2, 74, 21, 2, 75, 22, 2, 77, 22, 2, 79, 23, 3, 80, 24, 3, 82, 24, 4, 84, 25, 5, 86, 26, 5, 87, 27, 6, 89, 28, 7, 91, 29, 8, 93, 30, 9, 95, 31, 10, 97, 32, 11, 99, 33, 12, 101, 35, 14, 104, 36, 15, 106, 37, 16, 108, 39, 17, 110, 40, 19, 112, 42, 20, 115, 43, 22, 117, 45, 23, 119, 47, 25, 121, 48, 27, 123, 50, 28, 125, 52, 30, 128, 54, 32, 130, 55, 34, 132, 57, 36, 134, 59, 38, 136, 61, 40, 138, 63, 42, 140, 64, 44, 142, 66, 46, 144, 68, 48, 146, 70, 50, 148, 72, 52, 150, 74, 54, 152, 76, 57, 154, 77, 59, 156, 79, 61, 158, 81, 63, 160, 83, 65, 162, 85, 68, 164, 87, 70, 166, 89, 72, 168, 90, 74, 170, 92, 76, 172, 94, 79, 174, 96, 81, 176, 98, 83, 178, 100, 85, 180, 102, 88, 182, 104, 90, 184, 106, 92, 186, 107, 95, 188, 109, 97, 190, 111, 99, 192, 113, 101, 194, 115, 104, 196, 117, 106, 198, 119, 108, 200, 121, 111, 202, 123, 113, 204, 125, 115, 206, 127, 118, 208, 129, 120, 210, 131, 122, 213, 133, 125, 215, 135, 127, 217, 137, 130, 219, 139, 132, 221, 141, 134, 223, 143, 137, 225, 145, 139, 227, 147, 142, 229, 149, 144, 231, 151, 146, 234, 153, 149, 236, 155, 151, 238, 157, 154, 240, 159, 156, 242, 161, 159, 244, 163, 161, 246, 165, 163, 249, 167, 166, 251, 169, 168, 253, 171, 171, 255, 173, 173], shape(berlin), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: berlin10 = reshape([158, 176, 255, 91, 164, 219, 45, 117, 151, 26, 66, 86, 17, 25, 30, 40, 13, 1, 80, 24, 3, 138, 63, 42, 196, 117, 106, 255, 173, 173], shape(berlin10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: berlin100 = reshape([158, 176, 255, 152, 175, 252, 147, 175, 250, 140, 174, 246, 135, 173, 244, 128, 172, 241, 123, 172, 238, 116, 170, 235, 108, 169, 230, 103, 168, 227, 96, 165, 223, 91, 164, 219, 84, 160, 213, 79, 158, 209, 72, 154, 202, 67, 149, 195, 63, 146, 190, 59, 141, 183, 56, 137, 178, 53, 132, 170, 50, 126, 163, 48, 122, 158, 45, 117, 151, 44, 113, 146, 41, 107, 139, 40, 104, 134, 38, 98, 127, 36, 93, 120, 34, 89, 115, 32, 84, 108, 31, 80, 104, 29, 75, 97, 28, 71, 92, 26, 66, 86, 24, 61, 79, 23, 58, 75, 21, 53, 68, 20, 50, 64, 19, 45, 58, 18, 42, 54, 17, 38, 48, 17, 33, 42, 16, 31, 38, 17, 27, 33, 17, 25, 30, 17, 21, 25, 17, 19, 23, 19, 17, 18, 21, 14, 14, 23, 13, 11, 26, 12, 8, 28, 11, 6, 32, 11, 4, 35, 12, 2, 37, 12, 1, 40, 13, 1, 43, 14, 1, 47, 14, 0, 49, 15, 0, 53, 16, 0, 57, 17, 0, 60, 17, 1, 65, 18, 1, 68, 19, 1, 72, 21, 2, 75, 22, 2, 80, 24, 3, 86, 26, 5, 89, 28, 7, 95, 31, 10, 99, 33, 12, 106, 37, 16, 110, 40, 19, 117, 45, 23, 123, 50, 28, 128, 54, 32, 134, 59, 38, 138, 63, 42, 144, 68, 48, 148, 72, 52, 154, 77, 59, 160, 83, 65, 164, 87, 70, 170, 92, 76, 174, 96, 81, 180, 102, 88, 186, 107, 95, 190, 111, 99, 196, 117, 106, 200, 121, 111, 206, 127, 118, 210, 131, 122, 217, 137, 130, 223, 143, 137, 227, 147, 142, 234, 153, 149, 238, 157, 154, 244, 163, 161, 249, 167, 166, 255, 173, 173], shape(berlin100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: berlin25 = reshape([158, 176, 255, 133, 173, 243, 108, 169, 230, 81, 159, 211, 60, 142, 185, 49, 124, 161, 40, 104, 134, 33, 85, 110, 26, 66, 86, 20, 48, 62, 17, 33, 42, 17, 20, 24, 25, 12, 9, 36, 12, 2, 49, 15, 0, 63, 18, 1, 80, 24, 3, 101, 35, 14, 123, 50, 28, 146, 70, 50, 168, 90, 74, 188, 109, 97, 210, 131, 122, 231, 151, 146, 255, 173, 173], shape(berlin25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: berlin50 = reshape([158, 176, 255, 147, 175, 250, 135, 173, 244, 121, 171, 237, 108, 169, 230, 96, 165, 223, 84, 160, 213, 72, 154, 202, 62, 144, 188, 55, 135, 175, 50, 126, 163, 45, 117, 151, 41, 107, 139, 37, 96, 124, 34, 87, 113, 30, 78, 101, 27, 70, 90, 24, 61, 79, 21, 51, 66, 18, 44, 56, 17, 36, 46, 16, 29, 37, 17, 24, 28, 18, 18, 20, 22, 14, 13, 27, 11, 7, 33, 11, 3, 39, 13, 1, 45, 14, 0, 52, 15, 0, 59, 17, 0, 66, 19, 1, 75, 22, 2, 84, 25, 5, 93, 30, 9, 104, 36, 15, 115, 43, 22, 128, 54, 32, 138, 63, 42, 148, 72, 52, 158, 81, 63, 168, 90, 74, 180, 102, 88, 190, 111, 99, 200, 121, 111, 210, 131, 122, 221, 141, 134, 234, 153, 149, 244, 163, 161, 255, 173, 173], shape(berlin50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bilbao = reshape([76, 0, 1, 78, 1, 3, 79, 2, 5, 81, 4, 7, 82, 5, 9, 84, 7, 11, 85, 8, 13, 87, 10, 14, 88, 11, 16, 90, 13, 17, 91, 14, 19, 93, 16, 20, 94, 17, 21, 96, 19, 22, 97, 20, 24, 98, 21, 25, 100, 22, 26, 101, 24, 27, 103, 25, 29, 104, 26, 30, 105, 27, 31, 107, 29, 32, 108, 30, 34, 109, 31, 35, 110, 32, 36, 112, 33, 38, 113, 34, 39, 114, 35, 40, 115, 37, 41, 117, 38, 43, 118, 39, 44, 119, 40, 45, 120, 41, 47, 122, 42, 48, 123, 43, 49, 124, 45, 50, 125, 46, 52, 126, 47, 53, 128, 48, 54, 129, 49, 55, 130, 50, 57, 131, 51, 58, 132, 52, 59, 133, 53, 60, 135, 55, 62, 136, 56, 63, 137, 57, 64, 138, 58, 65, 139, 59, 66, 140, 60, 67, 141, 61, 69, 142, 63, 70, 143, 64, 71, 144, 65, 72, 145, 66, 73, 146, 67, 74, 147, 69, 75, 148, 70, 75, 149, 71, 76, 149, 72, 77, 150, 73, 78, 151, 74, 79, 152, 76, 79, 152, 77, 80, 153, 78, 81, 153, 79, 81, 154, 80, 82, 154, 81, 82, 155, 82, 83, 155, 83, 83, 156, 84, 83, 156, 85, 84, 157, 86, 84, 157, 87, 84, 157, 88, 85, 158, 89, 85, 158, 90, 85, 158, 91, 86, 158, 92, 86, 159, 93, 86, 159, 94, 86, 159, 94, 86, 159, 95, 87, 160, 96, 87, 160, 97, 87, 160, 98, 87, 160, 99, 87, 161, 99, 88, 161, 100, 88, 161, 101, 88, 161, 102, 88, 161, 103, 88, 162, 103, 89, 162, 104, 89, 162, 105, 89, 162, 106, 89, 163, 107, 89, 163, 107, 89, 163, 108, 90, 163, 109, 90, 163, 110, 90, 164, 110, 90, 164, 111, 90, 164, 112, 90, 164, 113, 91, 164, 113, 91, 165, 114, 91, 165, 115, 91, 165, 116, 91, 165, 116, 91, 165, 117, 91, 166, 118, 92, 166, 118, 92, 166, 119, 92, 166, 120, 92, 166, 121, 92, 167, 121, 92, 167, 122, 93, 167, 123, 93, 167, 124, 93, 167, 124, 93, 168, 125, 93, 168, 126, 93, 168, 126, 94, 168, 127, 94, 168, 128, 94, 169, 129, 94, 169, 129, 94, 169, 130, 94, 169, 131, 94, 169, 132, 95, 170, 132, 95, 170, 133, 95, 170, 134, 95, 170, 134, 95, 170, 135, 95, 171, 136, 96, 171, 137, 96, 171, 137, 96, 171, 138, 96, 171, 139, 96, 172, 140, 96, 172, 141, 97, 172, 141, 97, 172, 142, 97, 172, 143, 97, 173, 144, 97, 173, 145, 98, 173, 145, 98, 173, 146, 98, 174, 147, 98, 174, 148, 99, 174, 149, 99, 174, 150, 99, 175, 150, 100, 175, 151, 100, 175, 152, 100, 175, 153, 101, 176, 154, 102, 176, 155, 102, 177, 156, 103, 177, 157, 104, 177, 158, 104, 178, 159, 105, 178, 160, 106, 179, 161, 107, 179, 162, 109, 179, 163, 110, 180, 164, 111, 180, 165, 113, 181, 167, 114, 181, 168, 116, 182, 169, 117, 182, 170, 119, 183, 171, 121, 183, 172, 122, 184, 172, 124, 184, 173, 126, 185, 174, 128, 185, 175, 130, 186, 176, 131, 186, 177, 133, 187, 178, 135, 187, 178, 137, 188, 179, 139, 188, 180, 141, 189, 181, 142, 189, 181, 144, 190, 182, 146, 190, 183, 148, 191, 183, 149, 191, 184, 151, 191, 185, 153, 192, 185, 154, 192, 186, 156, 193, 187, 158, 193, 187, 159, 193, 188, 161, 194, 188, 163, 194, 189, 164, 195, 190, 166, 195, 190, 167, 195, 191, 169, 196, 191, 170, 196, 192, 172, 197, 193, 173, 197, 193, 175, 197, 194, 176, 198, 194, 178, 198, 195, 179, 199, 195, 180, 199, 196, 182, 199, 197, 183, 200, 197, 185, 200, 198, 186, 201, 199, 188, 202, 199, 189, 202, 200, 190, 203, 201, 192, 203, 202, 193, 204, 202, 195, 205, 203, 196, 206, 204, 198, 206, 205, 199, 207, 206, 201, 208, 207, 203, 209, 208, 204, 210, 210, 206, 212, 211, 207, 213, 212, 209, 214, 213, 211, 215, 215, 212, 217, 216, 214, 218, 218, 216, 219, 219, 218, 221, 221, 219, 222, 222, 221, 224, 224, 223, 225, 225, 225, 227, 227, 226, 229, 229, 228, 230, 230, 230, 232, 232, 232, 234, 234, 233, 235, 235, 235, 237, 237, 237, 239, 239, 239, 241, 241, 240, 242, 242, 242, 244, 244, 244, 246, 246, 246, 248, 248, 248, 250, 250, 250, 251, 251, 251, 253, 253, 253, 255, 255, 255], shape(bilbao), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bilbao10 = reshape([76, 0, 1, 115, 37, 41, 148, 70, 75, 160, 98, 87, 166, 119, 92, 172, 141, 97, 181, 167, 114, 194, 188, 163, 210, 210, 206, 255, 255, 255], shape(bilbao10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bilbao100 = reshape([76, 0, 1, 81, 4, 7, 84, 7, 11, 88, 11, 16, 91, 14, 19, 96, 19, 22, 98, 21, 25, 103, 25, 29, 107, 29, 32, 109, 31, 35, 113, 34, 39, 115, 37, 41, 119, 40, 45, 122, 42, 48, 125, 46, 52, 129, 49, 55, 131, 51, 58, 135, 55, 62, 137, 57, 64, 140, 60, 67, 143, 64, 71, 145, 66, 73, 148, 70, 75, 149, 72, 77, 152, 76, 79, 153, 78, 81, 154, 81, 82, 156, 84, 83, 157, 86, 84, 158, 89, 85, 158, 91, 86, 159, 94, 86, 159, 95, 87, 160, 98, 87, 161, 100, 88, 161, 102, 88, 162, 104, 89, 162, 106, 89, 163, 108, 90, 163, 110, 90, 164, 112, 90, 165, 114, 91, 165, 116, 91, 166, 118, 92, 166, 119, 92, 167, 121, 92, 167, 123, 93, 168, 125, 93, 168, 127, 94, 169, 129, 94, 169, 131, 94, 170, 132, 95, 170, 134, 95, 171, 137, 96, 171, 138, 96, 172, 141, 97, 172, 142, 97, 173, 145, 98, 173, 146, 98, 174, 149, 99, 175, 151, 100, 175, 153, 101, 177, 156, 103, 177, 158, 104, 179, 161, 107, 179, 163, 110, 181, 167, 114, 182, 170, 119, 183, 172, 122, 185, 174, 128, 186, 176, 131, 187, 178, 137, 188, 180, 141, 190, 182, 146, 191, 184, 151, 192, 185, 154, 193, 187, 159, 194, 188, 163, 195, 190, 167, 196, 191, 170, 197, 193, 175, 198, 195, 179, 199, 196, 182, 200, 198, 186, 202, 199, 189, 203, 202, 193, 206, 204, 198, 207, 206, 201, 210, 210, 206, 213, 212, 209, 217, 216, 214, 219, 219, 218, 224, 224, 223, 229, 229, 228, 232, 232, 232, 237, 237, 237, 241, 241, 240, 246, 246, 246, 250, 250, 250, 255, 255, 255], shape(bilbao100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bilbao25 = reshape([76, 0, 1, 93, 16, 20, 107, 29, 32, 120, 41, 47, 133, 53, 60, 144, 65, 72, 153, 78, 81, 157, 88, 85, 160, 98, 87, 163, 107, 89, 165, 114, 91, 167, 122, 93, 169, 130, 94, 171, 137, 96, 173, 146, 98, 176, 155, 102, 181, 167, 114, 186, 177, 133, 191, 184, 151, 195, 191, 169, 200, 197, 185, 206, 205, 199, 219, 219, 218, 235, 235, 235, 255, 255, 255], shape(bilbao25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bilbao50 = reshape([76, 0, 1, 84, 7, 11, 91, 14, 19, 100, 22, 26, 107, 29, 32, 113, 34, 39, 119, 40, 45, 125, 46, 52, 132, 52, 59, 138, 58, 65, 143, 64, 71, 148, 70, 75, 152, 76, 79, 155, 82, 83, 157, 87, 84, 158, 92, 86, 160, 96, 87, 161, 100, 88, 162, 105, 89, 163, 109, 90, 164, 113, 91, 165, 116, 91, 166, 120, 92, 167, 124, 93, 168, 128, 94, 169, 132, 95, 170, 135, 95, 172, 140, 96, 173, 144, 97, 174, 148, 99, 175, 152, 100, 177, 157, 104, 179, 163, 110, 182, 169, 117, 184, 173, 126, 187, 178, 135, 189, 181, 144, 192, 185, 154, 194, 188, 163, 196, 191, 170, 198, 194, 178, 200, 197, 185, 203, 202, 193, 207, 206, 201, 213, 212, 209, 219, 219, 218, 227, 227, 226, 237, 237, 237, 246, 246, 246, 255, 255, 255], shape(bilbao50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bilbaoS = reshape([76, 0, 1, 248, 248, 248, 169, 129, 94, 152, 77, 80, 190, 183, 148, 119, 40, 45, 162, 106, 89, 175, 153, 101, 204, 202, 195, 159, 93, 86, 138, 58, 65, 182, 170, 119, 100, 22, 26, 221, 221, 219, 172, 140, 96, 197, 193, 173, 166, 118, 92, 161, 99, 88, 173, 146, 98, 234, 234, 233, 129, 49, 55, 88, 11, 16, 164, 112, 90, 179, 161, 107, 193, 188, 161, 156, 85, 84, 146, 67, 74, 186, 177, 133, 170, 134, 95, 109, 31, 35, 210, 210, 206, 167, 123, 93, 200, 197, 185, 161, 103, 88, 174, 150, 99, 198, 195, 179, 180, 165, 113, 160, 96, 87, 171, 137, 96, 142, 63, 70, 188, 180, 141, 154, 81, 82, 94, 17, 21, 158, 89, 85, 149, 72, 77, 82, 5, 9, 133, 53, 60, 227, 227, 226, 184, 173, 126, 215, 215, 212, 163, 109, 90, 241, 241, 240, 124, 45, 50, 195, 190, 167, 168, 126, 93, 165, 115, 91, 192, 185, 154, 172, 143, 97, 177, 157, 104, 114, 35, 40, 104, 26, 30, 169, 131, 94, 206, 205, 199, 202, 200, 190, 166, 121, 92, 244, 244, 244, 189, 181, 144, 136, 56, 63, 168, 127, 94, 176, 155, 102, 199, 196, 182, 172, 141, 97, 237, 237, 237, 117, 38, 43, 155, 83, 83, 165, 116, 91, 122, 42, 48, 148, 70, 75, 140, 60, 67, 181, 168, 116, 160, 98, 87, 193, 187, 158, 170, 135, 95, 151, 74, 79, 183, 172, 122, 85, 8, 13, 173, 145, 98, 230, 230, 230, 162, 104, 89, 171, 138, 96, 213, 212, 209, 153, 79, 81, 196, 191, 170, 126, 47, 53, 201, 199, 188, 158, 91, 86, 194, 189, 164, 187, 178, 137, 112, 33, 38, 224, 224, 223], shape(bilbaoS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: broc = reshape([44, 26, 76, 44, 27, 78, 44, 29, 79, 43, 30, 81, 43, 32, 82, 43, 33, 84, 43, 35, 85, 43, 36, 87, 43, 38, 88, 43, 39, 90, 43, 41, 91, 43, 42, 93, 42, 44, 94, 42, 45, 96, 42, 46, 97, 42, 48, 99, 42, 49, 100, 42, 51, 102, 41, 53, 103, 41, 54, 105, 41, 56, 106, 41, 57, 108, 41, 59, 109, 41, 60, 111, 41, 62, 113, 40, 63, 114, 40, 65, 116, 40, 67, 117, 40, 68, 119, 40, 70, 120, 40, 71, 122, 41, 73, 124, 41, 75, 125, 41, 76, 127, 41, 78, 128, 42, 80, 130, 42, 81, 131, 43, 83, 133, 44, 85, 134, 45, 87, 136, 46, 88, 137, 47, 90, 139, 48, 92, 140, 49, 94, 142, 51, 95, 143, 52, 97, 145, 54, 99, 146, 55, 101, 147, 57, 102, 149, 59, 104, 150, 61, 106, 151, 63, 107, 153, 65, 109, 154, 67, 111, 155, 69, 113, 156, 71, 114, 158, 73, 116, 159, 75, 118, 160, 77, 120, 161, 80, 121, 163, 82, 123, 164, 84, 125, 165, 86, 127, 166, 88, 128, 167, 91, 130, 169, 93, 132, 170, 95, 133, 171, 97, 135, 172, 100, 137, 173, 102, 139, 175, 104, 140, 176, 107, 142, 177, 109, 144, 178, 111, 146, 179, 113, 147, 181, 116, 149, 182, 118, 151, 183, 120, 153, 184, 123, 155, 186, 125, 156, 187, 127, 158, 188, 130, 160, 189, 132, 162, 190, 134, 163, 192, 137, 165, 193, 139, 167, 194, 141, 169, 195, 144, 170, 197, 146, 172, 198, 148, 174, 199, 151, 176, 200, 153, 178, 202, 155, 179, 203, 158, 181, 204, 160, 183, 205, 162, 185, 206, 165, 187, 208, 167, 188, 209, 170, 190, 210, 172, 192, 211, 174, 194, 213, 177, 196, 214, 179, 197, 215, 181, 199, 216, 184, 201, 218, 186, 203, 219, 189, 205, 220, 191, 207, 221, 194, 208, 223, 196, 210, 224, 198, 212, 225, 201, 214, 226, 203, 216, 228, 206, 217, 229, 208, 219, 230, 210, 221, 231, 213, 223, 232, 215, 224, 233, 217, 226, 234, 220, 228, 235, 222, 229, 236, 224, 231, 236, 226, 232, 237, 228, 234, 237, 230, 235, 237, 231, 236, 237, 233, 237, 237, 234, 238, 236, 235, 238, 236, 236, 239, 235, 237, 239, 233, 237, 239, 232, 238, 239, 231, 238, 239, 229, 238, 239, 227, 237, 238, 225, 237, 238, 223, 236, 237, 221, 236, 236, 219, 235, 235, 217, 234, 234, 214, 233, 233, 212, 232, 232, 210, 231, 231, 207, 230, 230, 205, 229, 229, 203, 228, 228, 200, 227, 226, 198, 225, 225, 196, 224, 224, 193, 223, 223, 191, 222, 222, 189, 221, 221, 186, 220, 219, 184, 218, 218, 181, 217, 217, 179, 216, 216, 177, 215, 215, 174, 213, 213, 172, 212, 212, 170, 211, 211, 167, 210, 210, 165, 208, 208, 162, 207, 207, 160, 206, 206, 158, 204, 204, 155, 203, 203, 153, 201, 201, 150, 200, 200, 148, 198, 198, 145, 197, 197, 143, 195, 195, 140, 193, 193, 138, 192, 191, 135, 190, 190, 133, 188, 188, 131, 186, 186, 128, 184, 184, 126, 182, 182, 124, 180, 180, 121, 178, 178, 119, 176, 176, 117, 174, 174, 115, 172, 172, 113, 170, 170, 111, 168, 168, 109, 166, 166, 107, 163, 163, 105, 161, 161, 103, 159, 159, 101, 157, 157, 99, 155, 155, 98, 153, 153, 96, 151, 151, 94, 149, 149, 92, 147, 147, 91, 145, 145, 89, 143, 143, 87, 141, 141, 86, 139, 139, 84, 137, 137, 82, 135, 135, 81, 133, 133, 79, 131, 131, 77, 129, 129, 76, 127, 127, 74, 125, 125, 72, 123, 123, 71, 121, 121, 69, 119, 119, 68, 117, 117, 66, 116, 116, 64, 114, 114, 63, 112, 112, 61, 110, 110, 60, 108, 108, 58, 106, 106, 56, 104, 104, 55, 102, 102, 53, 100, 100, 52, 98, 98, 50, 97, 96, 49, 95, 95, 47, 93, 93, 45, 91, 91, 44, 89, 89, 42, 87, 87, 41, 85, 85, 39, 84, 84, 38, 82, 82, 36, 80, 80, 35, 78, 78, 33, 76, 76, 32, 75, 75, 31, 73, 73, 29, 71, 71, 28, 69, 69, 26, 67, 67, 25, 66, 66, 24, 64, 64, 22, 62, 62, 21, 60, 61, 20, 59, 59, 18, 57, 57, 17, 55, 56, 16, 54, 54, 15, 52, 52, 14, 50, 51, 12, 49, 49, 11, 47, 48, 10, 46, 46, 8, 44, 44, 7, 43, 43, 5, 41, 41, 4, 40, 40, 2, 38, 38, 0], shape(broc), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: broc10 = reshape([44, 26, 76, 40, 68, 119, 75, 118, 160, 139, 167, 194, 206, 217, 229, 232, 232, 210, 197, 197, 143, 141, 141, 86, 85, 85, 39, 38, 38, 0], shape(broc10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: broc100 = reshape([44, 26, 76, 43, 30, 81, 43, 33, 84, 43, 38, 88, 43, 41, 91, 42, 45, 96, 42, 48, 99, 41, 53, 103, 41, 57, 108, 41, 60, 111, 40, 65, 116, 40, 68, 119, 41, 73, 124, 41, 76, 127, 42, 81, 131, 45, 87, 136, 47, 90, 139, 51, 95, 143, 54, 99, 146, 59, 104, 150, 65, 109, 154, 69, 113, 156, 75, 118, 160, 80, 121, 163, 86, 127, 166, 91, 130, 169, 97, 135, 172, 104, 140, 176, 109, 144, 178, 116, 149, 182, 120, 153, 184, 127, 158, 188, 132, 162, 190, 139, 167, 194, 146, 172, 198, 151, 176, 200, 158, 181, 204, 162, 185, 206, 170, 190, 210, 174, 194, 213, 181, 199, 216, 189, 205, 220, 194, 208, 223, 201, 214, 226, 206, 217, 229, 213, 223, 232, 217, 226, 234, 224, 231, 236, 230, 235, 237, 233, 237, 237, 236, 239, 235, 237, 239, 232, 238, 239, 227, 236, 237, 221, 235, 235, 217, 232, 232, 210, 230, 230, 205, 227, 226, 198, 224, 224, 193, 221, 221, 186, 217, 217, 179, 215, 215, 174, 211, 211, 167, 208, 208, 162, 204, 204, 155, 201, 201, 150, 197, 197, 143, 192, 191, 135, 188, 188, 131, 182, 182, 124, 178, 178, 119, 172, 172, 113, 168, 168, 109, 161, 161, 103, 155, 155, 98, 151, 151, 94, 145, 145, 89, 141, 141, 86, 135, 135, 81, 131, 131, 77, 125, 125, 72, 119, 119, 68, 116, 116, 64, 110, 110, 60, 106, 106, 56, 100, 100, 52, 95, 95, 47, 91, 91, 44, 85, 85, 39, 82, 82, 36, 76, 76, 32, 73, 73, 29, 67, 67, 25, 62, 62, 21, 59, 59, 18, 54, 54, 15, 50, 51, 12, 46, 46, 8, 43, 43, 5, 38, 38, 0], shape(broc100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: broc25 = reshape([44, 26, 76, 43, 42, 93, 41, 57, 108, 41, 75, 125, 49, 94, 142, 67, 111, 155, 91, 130, 169, 113, 147, 181, 139, 167, 194, 165, 187, 208, 189, 205, 220, 215, 224, 233, 235, 238, 236, 236, 236, 219, 224, 224, 193, 212, 212, 170, 197, 197, 143, 176, 176, 117, 155, 155, 98, 133, 133, 79, 112, 112, 61, 93, 93, 45, 73, 73, 29, 55, 56, 16, 38, 38, 0], shape(broc25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: broc50 = reshape([44, 26, 76, 43, 33, 84, 43, 41, 91, 42, 49, 100, 41, 57, 108, 40, 65, 116, 41, 73, 124, 42, 81, 131, 48, 92, 140, 55, 101, 147, 65, 109, 154, 75, 118, 160, 86, 127, 166, 100, 137, 173, 111, 146, 179, 123, 155, 186, 134, 163, 192, 146, 172, 198, 160, 183, 205, 172, 192, 211, 184, 201, 218, 196, 210, 224, 208, 219, 230, 222, 229, 236, 231, 236, 237, 237, 239, 233, 237, 238, 225, 233, 233, 212, 228, 228, 200, 222, 222, 189, 216, 216, 177, 210, 210, 165, 201, 201, 150, 193, 193, 138, 184, 184, 126, 174, 174, 115, 163, 163, 105, 151, 151, 94, 141, 141, 86, 131, 131, 77, 121, 121, 69, 112, 112, 61, 100, 100, 52, 91, 91, 44, 82, 82, 36, 73, 73, 29, 64, 64, 22, 54, 54, 15, 46, 46, 8, 38, 38, 0], shape(broc50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: brocO = reshape([55, 47, 56, 54, 47, 57, 54, 47, 58, 54, 47, 59, 54, 47, 60, 54, 48, 61, 54, 48, 63, 54, 48, 64, 54, 48, 65, 54, 49, 67, 54, 49, 68, 54, 50, 70, 54, 50, 71, 54, 51, 73, 54, 51, 74, 54, 52, 76, 54, 53, 78, 54, 53, 80, 54, 54, 81, 54, 55, 83, 54, 56, 85, 54, 57, 87, 55, 58, 89, 55, 59, 91, 55, 60, 92, 55, 61, 94, 55, 63, 96, 56, 64, 98, 56, 65, 100, 56, 67, 102, 57, 68, 104, 57, 69, 106, 58, 71, 108, 58, 72, 111, 59, 74, 113, 59, 76, 115, 60, 77, 117, 61, 79, 119, 62, 81, 121, 62, 82, 123, 63, 84, 124, 64, 86, 126, 65, 87, 128, 66, 89, 130, 67, 91, 132, 68, 93, 134, 69, 94, 136, 71, 96, 138, 72, 98, 139, 73, 100, 141, 74, 102, 143, 76, 103, 144, 77, 105, 146, 79, 107, 148, 80, 109, 149, 82, 111, 151, 83, 112, 153, 85, 114, 154, 86, 116, 156, 88, 118, 157, 90, 120, 159, 91, 121, 160, 93, 123, 162, 95, 125, 163, 97, 127, 165, 99, 129, 166, 100, 130, 167, 102, 132, 169, 104, 134, 170, 106, 136, 171, 108, 137, 173, 110, 139, 174, 112, 141, 175, 114, 143, 177, 116, 144, 178, 118, 146, 179, 120, 148, 180, 122, 150, 182, 124, 151, 183, 126, 153, 184, 128, 155, 185, 130, 157, 186, 132, 158, 187, 134, 160, 189, 136, 162, 190, 138, 163, 191, 140, 165, 192, 142, 167, 193, 145, 168, 194, 147, 170, 195, 149, 172, 196, 151, 173, 197, 153, 175, 198, 155, 177, 199, 157, 178, 200, 159, 180, 200, 161, 181, 201, 163, 183, 202, 165, 184, 203, 167, 186, 204, 169, 187, 204, 171, 189, 205, 173, 190, 205, 175, 192, 206, 177, 193, 206, 179, 194, 207, 181, 196, 207, 183, 197, 208, 184, 198, 208, 186, 200, 208, 188, 201, 208, 189, 202, 208, 191, 203, 208, 193, 204, 208, 194, 205, 208, 196, 206, 208, 197, 207, 207, 198, 207, 207, 199, 208, 206, 201, 209, 206, 202, 209, 205, 203, 210, 204, 203, 210, 203, 204, 211, 203, 205, 211, 202, 206, 211, 200, 206, 211, 199, 207, 211, 198, 207, 211, 197, 207, 211, 195, 207, 211, 194, 207, 211, 192, 207, 211, 190, 207, 210, 189, 207, 210, 187, 207, 209, 185, 206, 208, 183, 206, 208, 181, 205, 207, 179, 205, 206, 177, 204, 205, 175, 203, 204, 173, 202, 203, 171, 201, 202, 169, 200, 201, 166, 199, 200, 164, 198, 198, 162, 197, 197, 160, 196, 196, 157, 194, 194, 155, 193, 193, 153, 191, 191, 150, 190, 190, 148, 188, 188, 146, 187, 187, 144, 185, 185, 141, 184, 183, 139, 182, 182, 137, 180, 180, 134, 179, 178, 132, 177, 176, 130, 175, 175, 127, 173, 173, 125, 171, 171, 123, 170, 169, 121, 168, 167, 119, 166, 165, 116, 164, 164, 114, 162, 162, 112, 160, 160, 110, 158, 158, 108, 157, 156, 106, 155, 154, 104, 153, 152, 102, 151, 150, 100, 149, 148, 98, 147, 146, 96, 145, 145, 94, 143, 143, 92, 141, 141, 90, 139, 139, 89, 137, 137, 87, 136, 135, 85, 134, 133, 83, 132, 131, 81, 130, 129, 80, 128, 127, 78, 126, 126, 76, 124, 124, 75, 123, 122, 73, 121, 120, 72, 119, 118, 70, 117, 116, 69, 115, 114, 67, 114, 113, 66, 112, 111, 65, 110, 109, 63, 108, 107, 62, 107, 105, 61, 105, 104, 59, 103, 102, 58, 102, 100, 57, 100, 98, 56, 98, 97, 55, 97, 95, 54, 95, 93, 53, 94, 92, 52, 92, 90, 51, 91, 89, 50, 89, 87, 49, 88, 85, 48, 86, 84, 47, 85, 82, 46, 84, 81, 46, 82, 79, 45, 81, 78, 45, 80, 77, 44, 79, 75, 43, 77, 74, 43, 76, 72, 43, 75, 71, 42, 74, 70, 42, 73, 69, 42, 72, 67, 41, 71, 66, 41, 70, 65, 41, 69, 64, 41, 68, 63, 41, 67, 62, 41, 66, 61, 41, 66, 60, 41, 65, 59, 41, 64, 58, 41, 63, 57, 41, 63, 56, 41, 62, 56, 42, 62, 55, 42, 61, 54, 42, 60, 53, 43, 60, 53, 43, 59, 52, 43, 59, 52, 44, 59, 51, 44, 58, 51, 45, 58, 50, 46, 57, 50, 46, 57, 49, 47, 57, 49, 48, 56, 48, 48, 56, 48, 49, 56, 48, 50, 56, 48, 51, 55, 47, 52, 55, 47, 53, 55, 47, 54, 55, 47, 55], shape(brocO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: brocO10 = reshape([55, 47, 56, 56, 65, 100, 85, 114, 154, 138, 163, 191, 193, 204, 208, 202, 203, 171, 158, 158, 108, 107, 105, 61, 68, 63, 41, 55, 47, 55], shape(brocO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: brocO100 = reshape([55, 47, 56, 54, 47, 59, 54, 48, 61, 54, 48, 65, 54, 49, 68, 54, 51, 73, 54, 52, 76, 54, 54, 81, 54, 57, 87, 55, 59, 91, 55, 63, 96, 56, 65, 100, 57, 69, 106, 58, 72, 111, 60, 77, 117, 62, 82, 123, 64, 86, 126, 67, 91, 132, 69, 94, 136, 73, 100, 141, 77, 105, 146, 80, 109, 149, 85, 114, 154, 88, 118, 157, 93, 123, 162, 97, 127, 165, 102, 132, 169, 108, 137, 173, 112, 141, 175, 118, 146, 179, 122, 150, 182, 128, 155, 185, 132, 158, 187, 138, 163, 191, 145, 168, 194, 149, 172, 196, 155, 177, 199, 159, 180, 200, 165, 184, 203, 169, 187, 204, 175, 192, 206, 181, 196, 207, 184, 198, 208, 189, 202, 208, 193, 204, 208, 197, 207, 207, 199, 208, 206, 203, 210, 204, 205, 211, 202, 206, 211, 199, 207, 211, 195, 207, 211, 192, 207, 210, 187, 206, 208, 181, 205, 206, 177, 202, 203, 171, 200, 201, 166, 197, 197, 160, 194, 194, 155, 190, 190, 148, 185, 185, 141, 182, 182, 137, 177, 176, 130, 173, 173, 125, 168, 167, 119, 164, 164, 114, 158, 158, 108, 153, 152, 102, 149, 148, 98, 143, 143, 92, 139, 139, 89, 134, 133, 83, 130, 129, 80, 124, 124, 75, 119, 118, 70, 115, 114, 67, 110, 109, 63, 107, 105, 61, 102, 100, 57, 98, 97, 55, 94, 92, 52, 89, 87, 49, 86, 84, 47, 82, 79, 45, 80, 77, 44, 76, 72, 43, 73, 69, 42, 71, 66, 41, 68, 63, 41, 66, 61, 41, 64, 58, 41, 63, 56, 41, 61, 54, 42, 59, 52, 43, 59, 51, 44, 57, 50, 46, 57, 49, 48, 56, 48, 50, 55, 47, 52, 55, 47, 55], shape(brocO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: brocO25 = reshape([55, 47, 56, 54, 50, 70, 54, 57, 87, 58, 71, 108, 66, 89, 130, 79, 107, 148, 97, 127, 165, 116, 144, 178, 138, 163, 191, 161, 181, 201, 181, 196, 207, 198, 207, 207, 207, 211, 197, 205, 207, 179, 194, 194, 155, 179, 178, 132, 158, 158, 108, 137, 137, 87, 119, 118, 70, 100, 98, 56, 84, 81, 46, 72, 67, 41, 63, 56, 41, 58, 50, 46, 55, 47, 55], shape(brocO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: brocO50 = reshape([55, 47, 56, 54, 48, 61, 54, 49, 68, 54, 53, 78, 54, 57, 87, 55, 63, 96, 57, 69, 106, 60, 77, 117, 65, 87, 128, 71, 96, 138, 77, 105, 146, 85, 114, 154, 93, 123, 162, 104, 134, 170, 114, 143, 177, 124, 151, 183, 134, 160, 189, 145, 168, 194, 157, 178, 200, 167, 186, 204, 177, 193, 206, 186, 200, 208, 194, 205, 208, 202, 209, 205, 206, 211, 200, 207, 211, 194, 207, 209, 185, 203, 204, 173, 198, 198, 162, 191, 191, 150, 184, 183, 139, 175, 175, 127, 164, 164, 114, 155, 154, 104, 145, 145, 94, 136, 135, 85, 126, 126, 76, 115, 114, 67, 107, 105, 61, 98, 97, 55, 91, 89, 50, 84, 81, 46, 76, 72, 43, 71, 66, 41, 66, 61, 41, 63, 56, 41, 60, 53, 43, 57, 50, 46, 56, 48, 50, 55, 47, 55], shape(brocO50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: buda = reshape([179, 1, 179, 179, 3, 178, 179, 5, 177, 179, 7, 176, 179, 9, 175, 179, 11, 174, 179, 13, 174, 179, 15, 173, 179, 17, 172, 179, 18, 171, 179, 20, 170, 179, 22, 169, 179, 23, 169, 179, 24, 168, 179, 26, 167, 179, 27, 166, 179, 28, 166, 179, 30, 165, 179, 31, 164, 179, 32, 164, 179, 33, 163, 179, 35, 162, 179, 36, 162, 179, 37, 161, 179, 38, 160, 179, 39, 160, 179, 40, 159, 179, 41, 159, 179, 43, 158, 179, 44, 158, 179, 45, 157, 179, 46, 157, 179, 47, 156, 179, 48, 156, 180, 49, 155, 180, 50, 155, 180, 51, 154, 180, 52, 154, 180, 53, 153, 180, 54, 153, 181, 55, 152, 181, 56, 152, 181, 57, 152, 181, 58, 151, 182, 59, 151, 182, 60, 150, 182, 61, 150, 182, 62, 150, 183, 63, 149, 183, 64, 149, 183, 65, 149, 184, 66, 148, 184, 67, 148, 184, 68, 148, 184, 69, 147, 185, 70, 147, 185, 71, 147, 185, 72, 146, 186, 73, 146, 186, 74, 146, 186, 75, 145, 187, 75, 145, 187, 76, 145, 187, 77, 144, 188, 78, 144, 188, 79, 144, 188, 80, 143, 188, 81, 143, 189, 82, 143, 189, 83, 143, 189, 84, 142, 190, 85, 142, 190, 85, 142, 190, 86, 141, 191, 87, 141, 191, 88, 141, 191, 89, 140, 191, 90, 140, 192, 91, 140, 192, 92, 140, 192, 92, 139, 193, 93, 139, 193, 94, 139, 193, 95, 138, 194, 96, 138, 194, 97, 138, 194, 98, 138, 194, 99, 137, 195, 99, 137, 195, 100, 137, 195, 101, 136, 196, 102, 136, 196, 103, 136, 196, 104, 136, 196, 105, 135, 197, 105, 135, 197, 106, 135, 197, 107, 134, 198, 108, 134, 198, 109, 134, 198, 110, 134, 198, 110, 133, 199, 111, 133, 199, 112, 133, 199, 113, 132, 199, 114, 132, 200, 115, 132, 200, 115, 132, 200, 116, 131, 201, 117, 131, 201, 118, 131, 201, 119, 131, 201, 120, 130, 202, 121, 130, 202, 121, 130, 202, 122, 129, 202, 123, 129, 203, 124, 129, 203, 125, 129, 203, 126, 128, 203, 126, 128, 204, 127, 128, 204, 128, 128, 204, 129, 127, 204, 130, 127, 205, 131, 127, 205, 132, 127, 205, 132, 126, 205, 133, 126, 206, 134, 126, 206, 135, 126, 206, 136, 126, 206, 137, 125, 207, 138, 125, 207, 138, 125, 207, 139, 125, 207, 140, 124, 207, 141, 124, 208, 142, 124, 208, 143, 124, 208, 144, 124, 208, 145, 123, 209, 145, 123, 209, 146, 123, 209, 147, 123, 209, 148, 122, 209, 149, 122, 210, 150, 122, 210, 151, 122, 210, 151, 122, 210, 152, 121, 210, 153, 121, 211, 154, 121, 211, 155, 121, 211, 156, 120, 211, 157, 120, 212, 158, 120, 212, 158, 120, 212, 159, 120, 212, 160, 119, 212, 161, 119, 213, 162, 119, 213, 163, 119, 213, 164, 119, 213, 165, 118, 214, 165, 118, 214, 166, 118, 214, 167, 118, 214, 168, 117, 214, 169, 117, 215, 170, 117, 215, 171, 117, 215, 172, 117, 215, 173, 116, 216, 173, 116, 216, 174, 116, 216, 175, 116, 216, 176, 115, 216, 177, 115, 217, 178, 115, 217, 179, 115, 217, 180, 115, 217, 181, 114, 218, 181, 114, 218, 182, 114, 218, 183, 114, 218, 184, 113, 218, 185, 113, 219, 186, 113, 219, 187, 113, 219, 188, 113, 219, 189, 112, 220, 190, 112, 220, 191, 112, 220, 191, 112, 220, 192, 111, 221, 193, 111, 221, 194, 111, 221, 195, 111, 221, 196, 110, 221, 197, 110, 222, 198, 110, 222, 199, 110, 222, 200, 110, 222, 201, 109, 223, 202, 109, 223, 202, 109, 223, 203, 109, 223, 204, 108, 224, 205, 108, 224, 206, 108, 224, 207, 108, 224, 208, 107, 224, 209, 107, 225, 210, 107, 225, 211, 107, 225, 212, 107, 226, 213, 106, 226, 214, 106, 226, 215, 106, 226, 216, 106, 227, 217, 105, 227, 218, 105, 227, 219, 105, 228, 220, 105, 228, 221, 105, 229, 222, 104, 229, 223, 104, 229, 224, 104, 230, 225, 104, 231, 226, 104, 231, 227, 104, 232, 228, 103, 232, 229, 103, 233, 230, 103, 234, 231, 103, 235, 232, 103, 235, 233, 103, 236, 235, 103, 237, 236, 103, 238, 237, 103, 239, 238, 102, 240, 239, 102, 241, 240, 102, 242, 242, 102, 243, 243, 102, 244, 244, 102, 246, 245, 102, 247, 246, 102, 248, 248, 102, 249, 249, 102, 250, 250, 102, 251, 251, 102, 253, 253, 102, 254, 254, 102, 255, 255, 102], shape(buda), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: buda10 = reshape([179, 1, 179, 179, 43, 158, 185, 72, 146, 194, 97, 138, 202, 121, 130, 209, 145, 123, 215, 170, 117, 221, 195, 111, 229, 223, 104, 255, 255, 102], shape(buda10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: buda100 = reshape([179, 1, 179, 179, 7, 176, 179, 11, 174, 179, 17, 172, 179, 20, 170, 179, 24, 168, 179, 27, 166, 179, 31, 164, 179, 35, 162, 179, 37, 161, 179, 40, 159, 179, 43, 158, 179, 46, 157, 179, 48, 156, 180, 51, 154, 180, 54, 153, 181, 56, 152, 182, 59, 151, 182, 61, 150, 183, 64, 149, 184, 67, 148, 184, 69, 147, 185, 72, 146, 186, 74, 146, 187, 76, 145, 188, 78, 144, 188, 81, 143, 189, 84, 142, 190, 85, 142, 191, 88, 141, 191, 90, 140, 192, 92, 139, 193, 94, 139, 194, 97, 138, 195, 99, 137, 195, 101, 136, 196, 104, 136, 197, 105, 135, 198, 108, 134, 198, 110, 134, 199, 112, 133, 200, 115, 132, 200, 116, 131, 201, 119, 131, 202, 121, 130, 202, 123, 129, 203, 125, 129, 204, 127, 128, 204, 130, 127, 205, 132, 127, 206, 134, 126, 206, 136, 126, 207, 138, 125, 207, 141, 124, 208, 143, 124, 209, 145, 123, 209, 147, 123, 210, 150, 122, 210, 151, 122, 211, 154, 121, 211, 157, 120, 212, 158, 120, 212, 161, 119, 213, 163, 119, 214, 165, 118, 214, 167, 118, 215, 170, 117, 215, 173, 116, 216, 174, 116, 216, 177, 115, 217, 179, 115, 218, 181, 114, 218, 183, 114, 219, 186, 113, 219, 189, 112, 220, 191, 112, 221, 193, 111, 221, 195, 111, 222, 198, 110, 222, 200, 110, 223, 202, 109, 224, 205, 108, 224, 207, 108, 225, 210, 107, 225, 212, 107, 226, 215, 106, 227, 218, 105, 228, 220, 105, 229, 223, 104, 230, 225, 104, 232, 228, 103, 233, 230, 103, 235, 233, 103, 238, 237, 103, 240, 239, 102, 243, 243, 102, 246, 245, 102, 249, 249, 102, 251, 251, 102, 255, 255, 102], shape(buda100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: buda25 = reshape([179, 1, 179, 179, 22, 169, 179, 35, 162, 179, 47, 156, 181, 58, 151, 184, 68, 148, 188, 78, 144, 191, 87, 141, 194, 97, 138, 197, 106, 135, 200, 115, 132, 203, 124, 129, 205, 133, 126, 208, 142, 124, 210, 151, 122, 212, 160, 119, 215, 170, 117, 217, 180, 115, 219, 189, 112, 222, 199, 110, 224, 209, 107, 227, 219, 105, 233, 230, 103, 242, 242, 102, 255, 255, 102], shape(buda25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: buda50 = reshape([179, 1, 179, 179, 11, 174, 179, 20, 170, 179, 28, 166, 179, 35, 162, 179, 40, 159, 179, 46, 157, 180, 51, 154, 181, 57, 152, 182, 62, 150, 184, 67, 148, 185, 72, 146, 187, 76, 145, 189, 82, 143, 190, 86, 141, 192, 91, 140, 193, 95, 138, 195, 99, 137, 196, 105, 135, 198, 109, 134, 199, 113, 132, 201, 117, 131, 202, 121, 130, 203, 126, 128, 205, 131, 127, 206, 135, 126, 207, 139, 125, 208, 145, 123, 209, 149, 122, 210, 153, 121, 212, 158, 120, 213, 162, 119, 214, 167, 118, 215, 172, 117, 216, 176, 115, 217, 181, 114, 218, 185, 113, 220, 191, 112, 221, 195, 111, 222, 200, 110, 223, 204, 108, 224, 209, 107, 226, 215, 106, 228, 220, 105, 230, 225, 104, 233, 230, 103, 237, 236, 103, 243, 243, 102, 249, 249, 102, 255, 255, 102], shape(buda50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: budaS = reshape([179, 1, 179, 255, 255, 102, 205, 133, 126, 188, 78, 144, 220, 190, 112, 179, 47, 156, 212, 161, 119, 197, 106, 135, 227, 219, 105, 192, 92, 139, 179, 28, 166, 209, 147, 123, 201, 120, 130, 183, 63, 149, 237, 236, 103, 216, 175, 116, 223, 204, 108, 181, 55, 152, 218, 182, 114, 179, 17, 172, 221, 197, 110, 199, 113, 132, 231, 227, 104, 246, 245, 102, 195, 99, 137, 179, 38, 160, 211, 154, 121, 207, 140, 124, 203, 126, 128, 185, 71, 147, 190, 85, 142, 214, 168, 117, 225, 211, 107, 221, 193, 111, 179, 23, 169, 198, 110, 134, 250, 250, 102, 200, 116, 131, 191, 89, 140, 212, 158, 120, 226, 215, 106, 219, 186, 113, 204, 130, 127, 215, 172, 117, 213, 165, 118, 194, 96, 138, 229, 223, 104, 196, 103, 136, 241, 240, 102, 210, 151, 122, 179, 33, 163, 182, 59, 151, 179, 43, 158, 202, 123, 129, 179, 9, 175, 206, 137, 125, 234, 231, 103, 208, 144, 124, 222, 201, 109, 186, 75, 145, 184, 67, 148, 217, 179, 115, 189, 82, 143, 180, 51, 154, 224, 207, 108, 179, 26, 167, 179, 20, 170, 192, 91, 140, 183, 65, 149, 216, 173, 116, 232, 229, 103, 198, 108, 134, 179, 45, 157, 222, 199, 110, 205, 132, 127, 216, 177, 115, 215, 170, 117, 201, 118, 131, 213, 163, 119, 212, 159, 120, 207, 138, 125, 182, 61, 150, 206, 135, 126, 221, 195, 111, 199, 111, 133, 220, 191, 112, 217, 181, 114, 248, 248, 102, 189, 84, 142, 193, 94, 139, 195, 101, 136, 179, 5, 177, 211, 156, 120, 209, 145, 123, 194, 98, 138, 200, 115, 132, 203, 125, 129, 187, 76, 145, 181, 57, 152, 179, 40, 159], shape(budaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: bukavu = reshape([26, 51, 51, 26, 52, 53, 26, 53, 55, 26, 53, 57, 27, 54, 59, 27, 55, 61, 27, 56, 63, 27, 57, 65, 27, 58, 67, 28, 59, 69, 28, 60, 71, 28, 61, 73, 28, 62, 76, 29, 62, 78, 29, 63, 80, 29, 64, 82, 30, 66, 85, 30, 67, 87, 30, 68, 90, 30, 69, 92, 31, 70, 95, 31, 71, 98, 31, 72, 101, 32, 74, 104, 32, 75, 107, 32, 76, 110, 33, 78, 113, 33, 79, 117, 34, 81, 120, 34, 82, 123, 34, 84, 127, 35, 85, 130, 35, 87, 134, 36, 89, 137, 36, 91, 140, 37, 92, 143, 37, 94, 146, 38, 96, 149, 39, 98, 151, 39, 100, 154, 40, 102, 156, 41, 104, 159, 41, 105, 161, 42, 107, 163, 42, 109, 166, 43, 111, 168, 44, 113, 170, 44, 115, 173, 45, 117, 175, 45, 118, 177, 46, 120, 180, 47, 122, 182, 47, 124, 184, 48, 126, 186, 49, 127, 189, 50, 129, 191, 50, 131, 192, 52, 133, 194, 53, 135, 196, 54, 137, 197, 56, 138, 198, 58, 140, 198, 59, 142, 199, 61, 144, 199, 63, 146, 200, 65, 147, 200, 67, 149, 200, 69, 151, 200, 71, 153, 200, 73, 154, 200, 75, 156, 200, 76, 158, 201, 78, 160, 201, 80, 161, 201, 82, 163, 201, 84, 165, 201, 86, 166, 201, 88, 168, 201, 89, 170, 201, 91, 171, 202, 93, 173, 202, 95, 174, 202, 97, 176, 202, 98, 178, 202, 100, 179, 202, 102, 181, 202, 104, 183, 202, 106, 184, 203, 107, 186, 203, 109, 187, 203, 111, 189, 203, 113, 191, 203, 114, 192, 203, 116, 194, 203, 118, 195, 203, 120, 197, 204, 122, 199, 204, 124, 200, 204, 127, 202, 204, 129, 204, 205, 132, 205, 205, 135, 207, 206, 138, 209, 207, 142, 211, 208, 146, 213, 209, 149, 215, 209, 153, 217, 210, 157, 218, 211, 160, 220, 212, 164, 222, 213, 168, 224, 214, 172, 226, 215, 175, 228, 216, 179, 230, 217, 182, 231, 218, 186, 233, 219, 190, 235, 220, 193, 237, 220, 197, 239, 221, 200, 240, 222, 204, 242, 223, 207, 244, 224, 211, 246, 225, 214, 247, 226, 218, 249, 227, 221, 251, 227, 224, 252, 228, 228, 254, 229, 1, 64, 38, 2, 65, 37, 3, 66, 36, 4, 68, 35, 5, 69, 34, 6, 70, 33, 7, 71, 32, 8, 73, 31, 9, 74, 30, 11, 75, 29, 12, 77, 28, 14, 78, 27, 15, 80, 26, 17, 81, 25, 19, 83, 24, 21, 84, 23, 23, 86, 22, 26, 88, 21, 28, 89, 20, 31, 91, 19, 34, 93, 19, 37, 94, 18, 40, 96, 18, 43, 98, 18, 47, 99, 18, 50, 101, 19, 54, 102, 19, 57, 103, 20, 61, 105, 21, 64, 106, 22, 68, 107, 23, 71, 108, 25, 75, 109, 26, 78, 110, 27, 82, 111, 29, 85, 111, 30, 88, 112, 32, 91, 113, 33, 94, 113, 35, 97, 114, 36, 100, 114, 37, 103, 115, 39, 105, 115, 40, 108, 116, 41, 111, 116, 43, 113, 117, 44, 116, 117, 45, 118, 118, 46, 120, 118, 47, 123, 118, 49, 125, 119, 50, 127, 119, 51, 130, 120, 52, 132, 120, 53, 134, 120, 54, 136, 121, 56, 139, 121, 57, 141, 122, 58, 143, 122, 59, 145, 123, 60, 147, 123, 62, 150, 124, 63, 152, 124, 64, 154, 125, 66, 156, 126, 67, 158, 126, 69, 161, 127, 71, 163, 128, 73, 165, 130, 75, 167, 131, 77, 170, 132, 79, 172, 134, 82, 174, 135, 84, 176, 137, 87, 178, 139, 90, 180, 141, 93, 182, 143, 96, 183, 145, 99, 185, 147, 102, 187, 149, 105, 188, 151, 108, 190, 153, 111, 191, 156, 114, 192, 158, 118, 194, 160, 121, 195, 162, 124, 196, 165, 127, 197, 167, 130, 198, 169, 133, 200, 172, 137, 201, 174, 140, 202, 176, 143, 203, 178, 146, 204, 181, 150, 205, 183, 153, 206, 185, 156, 207, 187, 160, 208, 189, 163, 210, 192, 166, 211, 194, 170, 212, 196, 173, 213, 198, 176, 214, 200, 180, 215, 202, 183, 216, 204, 186, 217, 205, 190, 218, 207, 193, 219, 209, 196, 220, 211, 199, 221, 212, 202, 222, 214, 205, 223, 215, 208, 224, 217, 210, 225, 218, 213, 226, 219, 216, 227, 221, 219, 227, 222, 221, 228, 223, 224, 229, 225, 227, 230, 226, 229, 231, 227, 232, 232, 229, 235, 233, 230, 237, 233, 231, 240, 234, 233, 243, 235, 234, 246, 236, 236, 249, 237, 237, 252], shape(bukavu), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: bukavu10 = reshape([26, 51, 51, 34, 81, 120, 52, 133, 194, 102, 181, 202, 179, 230, 217, 19, 83, 24, 105, 115, 40, 170, 132, 79, 211, 194, 170, 237, 237, 252], shape(bukavu10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: bukavu100 = reshape([26, 51, 51, 26, 53, 57, 27, 55, 61, 27, 58, 67, 28, 60, 71, 29, 62, 78, 29, 64, 82, 30, 68, 90, 31, 71, 98, 32, 74, 104, 33, 78, 113, 34, 81, 120, 35, 85, 130, 36, 89, 137, 37, 94, 146, 39, 100, 154, 41, 104, 159, 42, 109, 166, 44, 113, 170, 45, 118, 177, 47, 124, 184, 49, 127, 189, 52, 133, 194, 54, 137, 197, 59, 142, 199, 63, 146, 200, 69, 151, 200, 75, 156, 200, 78, 160, 201, 84, 165, 201, 88, 168, 201, 93, 173, 202, 97, 176, 202, 102, 181, 202, 107, 186, 203, 111, 189, 203, 116, 194, 203, 120, 197, 204, 127, 202, 204, 132, 205, 205, 142, 211, 208, 153, 217, 210, 160, 220, 212, 172, 226, 215, 179, 230, 217, 190, 235, 220, 197, 239, 221, 207, 244, 224, 218, 249, 227, 224, 252, 228, 2, 65, 37, 4, 68, 35, 7, 71, 32, 11, 75, 29, 14, 78, 27, 19, 83, 24, 23, 86, 22, 31, 91, 19, 37, 94, 18, 47, 99, 18, 57, 103, 20, 64, 106, 22, 75, 109, 26, 82, 111, 29, 91, 113, 33, 97, 114, 36, 105, 115, 40, 113, 117, 44, 118, 118, 46, 125, 119, 50, 130, 120, 52, 136, 121, 56, 141, 122, 58, 147, 123, 62, 154, 125, 66, 158, 126, 69, 165, 130, 75, 170, 132, 79, 176, 137, 87, 180, 141, 93, 185, 147, 102, 190, 153, 111, 192, 158, 118, 196, 165, 127, 198, 169, 133, 202, 176, 143, 205, 183, 153, 207, 187, 160, 211, 194, 170, 213, 198, 176, 216, 204, 186, 218, 207, 193, 221, 212, 202, 224, 217, 210, 226, 219, 216, 228, 223, 224, 230, 226, 229, 233, 230, 237, 234, 233, 243, 237, 237, 252], shape(bukavu100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: bukavu25 = reshape([26, 51, 51, 28, 61, 73, 31, 71, 98, 35, 87, 134, 42, 107, 163, 48, 126, 186, 63, 146, 200, 82, 163, 201, 102, 181, 202, 122, 199, 204, 153, 217, 210, 193, 237, 220, 1, 64, 38, 12, 77, 28, 37, 94, 18, 71, 108, 25, 105, 115, 40, 132, 120, 53, 154, 125, 66, 178, 139, 90, 195, 162, 124, 206, 185, 156, 218, 207, 193, 227, 222, 221, 237, 237, 252], shape(bukavu25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: bukavu50 = reshape([26, 51, 51, 27, 55, 61, 28, 60, 71, 30, 66, 85, 31, 71, 98, 33, 78, 113, 35, 85, 130, 37, 94, 146, 41, 105, 161, 44, 115, 173, 47, 124, 184, 52, 133, 194, 59, 142, 199, 71, 153, 200, 80, 161, 201, 89, 170, 201, 98, 178, 202, 107, 186, 203, 118, 195, 203, 129, 204, 205, 146, 213, 209, 164, 222, 213, 182, 231, 218, 204, 242, 223, 221, 251, 227, 3, 66, 36, 8, 73, 31, 17, 81, 25, 28, 89, 20, 43, 98, 18, 61, 105, 21, 78, 110, 27, 97, 114, 36, 111, 116, 43, 123, 118, 49, 134, 120, 54, 145, 123, 60, 158, 126, 69, 170, 132, 79, 180, 141, 93, 188, 151, 108, 195, 162, 124, 202, 176, 143, 207, 187, 160, 213, 198, 176, 218, 207, 193, 223, 215, 208, 228, 223, 224, 233, 230, 237, 237, 237, 252], shape(bukavu50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: cork = reshape([44, 25, 76, 44, 27, 78, 44, 29, 79, 43, 30, 81, 43, 32, 83, 43, 34, 84, 43, 35, 86, 43, 37, 87, 43, 38, 89, 43, 40, 91, 43, 41, 92, 42, 43, 94, 42, 44, 95, 42, 46, 97, 42, 47, 98, 42, 49, 100, 42, 50, 101, 41, 52, 103, 41, 54, 104, 41, 55, 106, 41, 57, 107, 41, 58, 109, 40, 60, 110, 40, 61, 112, 40, 63, 114, 40, 64, 115, 40, 66, 117, 40, 67, 118, 40, 69, 120, 40, 70, 121, 40, 72, 123, 40, 74, 124, 40, 75, 126, 40, 77, 127, 41, 79, 129, 41, 80, 130, 42, 82, 132, 42, 83, 133, 43, 85, 135, 44, 87, 136, 45, 89, 138, 46, 90, 139, 47, 92, 141, 48, 94, 142, 50, 95, 143, 51, 97, 145, 53, 99, 146, 54, 100, 147, 56, 102, 149, 58, 104, 150, 60, 105, 151, 61, 107, 152, 63, 108, 153, 65, 110, 155, 67, 112, 156, 69, 113, 157, 71, 115, 158, 73, 116, 159, 75, 118, 160, 76, 119, 161, 78, 121, 162, 80, 122, 163, 82, 124, 164, 84, 125, 165, 86, 127, 166, 88, 128, 167, 90, 130, 168, 92, 131, 169, 94, 133, 170, 96, 134, 172, 98, 136, 173, 100, 137, 174, 102, 139, 175, 104, 141, 176, 106, 142, 177, 109, 144, 178, 111, 146, 179, 113, 147, 180, 115, 149, 182, 117, 151, 183, 119, 152, 184, 122, 154, 185, 124, 156, 186, 126, 157, 187, 129, 159, 189, 131, 161, 190, 133, 163, 191, 136, 164, 192, 138, 166, 194, 140, 168, 195, 143, 170, 196, 145, 172, 197, 148, 174, 199, 150, 175, 200, 153, 177, 201, 155, 179, 203, 158, 181, 204, 160, 183, 205, 163, 185, 207, 165, 187, 208, 168, 189, 209, 170, 191, 211, 173, 193, 212, 176, 195, 213, 178, 197, 215, 181, 199, 216, 184, 201, 218, 186, 203, 219, 189, 205, 220, 192, 207, 222, 194, 209, 223, 197, 211, 225, 200, 213, 226, 202, 215, 227, 205, 217, 229, 208, 219, 230, 210, 221, 231, 213, 223, 232, 215, 225, 233, 218, 227, 234, 220, 229, 235, 222, 230, 236, 224, 232, 237, 226, 233, 237, 227, 235, 237, 229, 236, 237, 230, 237, 237, 230, 237, 237, 230, 237, 236, 230, 238, 235, 230, 238, 234, 229, 237, 232, 228, 237, 231, 227, 236, 229, 226, 235, 227, 224, 234, 225, 222, 233, 223, 220, 232, 221, 218, 231, 219, 216, 229, 217, 214, 228, 214, 212, 226, 212, 210, 225, 210, 207, 223, 207, 205, 222, 205, 203, 220, 203, 200, 219, 200, 198, 217, 198, 196, 215, 195, 193, 214, 193, 191, 212, 191, 188, 211, 188, 186, 209, 186, 183, 207, 183, 181, 206, 181, 178, 204, 178, 176, 202, 176, 174, 201, 173, 171, 199, 171, 169, 197, 168, 166, 196, 166, 164, 194, 163, 161, 192, 161, 159, 191, 159, 156, 189, 156, 154, 187, 154, 151, 186, 151, 149, 184, 149, 146, 183, 146, 144, 181, 144, 142, 179, 141, 139, 178, 139, 137, 176, 136, 134, 174, 134, 132, 173, 132, 130, 171, 129, 127, 170, 127, 125, 168, 125, 123, 167, 122, 120, 165, 120, 118, 163, 118, 116, 162, 115, 113, 160, 113, 111, 159, 111, 109, 157, 108, 107, 156, 106, 104, 154, 104, 102, 153, 102, 100, 151, 100, 98, 150, 97, 96, 149, 95, 93, 147, 93, 91, 146, 91, 89, 144, 89, 87, 143, 87, 85, 141, 85, 83, 140, 82, 81, 139, 80, 79, 137, 78, 77, 136, 76, 75, 134, 74, 73, 133, 72, 71, 132, 70, 69, 130, 68, 67, 129, 66, 65, 127, 64, 63, 126, 62, 61, 125, 60, 59, 123, 58, 57, 122, 56, 55, 120, 54, 53, 119, 52, 51, 117, 50, 49, 116, 48, 47, 114, 46, 45, 112, 44, 43, 111, 42, 42, 109, 40, 40, 107, 38, 38, 106, 37, 37, 104, 35, 35, 102, 33, 34, 100, 32, 32, 99, 30, 31, 97, 29, 30, 95, 27, 29, 93, 26, 28, 91, 25, 27, 89, 23, 26, 88, 22, 25, 86, 21, 24, 84, 20, 24, 82, 19, 23, 80, 18, 23, 78, 18, 22, 76, 17, 22, 75, 16, 21, 73, 15, 21, 71, 15, 20, 69, 14, 20, 67, 13, 19, 65, 13, 19, 64, 12, 19, 62, 12, 18, 60, 11, 18, 58, 10, 18, 56, 10, 17, 55, 9, 17, 53, 8, 17, 51, 8, 16, 49, 7, 16, 48, 6, 16, 46, 5, 16, 44, 5, 15, 43, 4, 15, 41, 3], shape(cork), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: cork10 = reshape([44, 25, 76, 40, 69, 120, 73, 116, 159, 131, 161, 190, 202, 215, 227, 210, 225, 210, 142, 179, 141, 79, 137, 78, 28, 91, 25, 15, 41, 3], shape(cork10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: cork100 = reshape([44, 25, 76, 43, 30, 81, 43, 34, 84, 43, 38, 89, 43, 41, 92, 42, 46, 97, 42, 49, 100, 41, 54, 104, 41, 58, 109, 40, 61, 112, 40, 66, 117, 40, 69, 120, 40, 74, 124, 40, 77, 127, 42, 82, 132, 44, 87, 136, 46, 90, 139, 50, 95, 143, 53, 99, 146, 58, 104, 150, 63, 108, 153, 67, 112, 156, 73, 116, 159, 76, 119, 161, 82, 124, 164, 86, 127, 166, 92, 131, 169, 98, 136, 173, 102, 139, 175, 109, 144, 178, 113, 147, 180, 119, 152, 184, 124, 156, 186, 131, 161, 190, 138, 166, 194, 143, 170, 196, 150, 175, 200, 155, 179, 203, 163, 185, 207, 168, 189, 209, 176, 195, 213, 184, 201, 218, 189, 205, 220, 197, 211, 225, 202, 215, 227, 210, 221, 231, 215, 225, 233, 222, 230, 236, 227, 235, 237, 230, 237, 237, 230, 238, 235, 229, 237, 232, 226, 235, 227, 220, 232, 221, 216, 229, 217, 210, 225, 210, 205, 222, 205, 198, 217, 198, 193, 214, 193, 186, 209, 186, 178, 204, 178, 174, 201, 173, 166, 196, 166, 161, 192, 161, 154, 187, 154, 149, 184, 149, 142, 179, 141, 134, 174, 134, 130, 171, 129, 123, 167, 122, 118, 163, 118, 111, 159, 111, 107, 156, 106, 100, 151, 100, 93, 147, 93, 89, 144, 89, 83, 140, 82, 79, 137, 78, 73, 133, 72, 69, 130, 68, 63, 126, 62, 57, 122, 56, 53, 119, 52, 47, 114, 46, 43, 111, 42, 38, 106, 37, 34, 100, 32, 31, 97, 29, 28, 91, 25, 26, 88, 22, 24, 82, 19, 23, 78, 18, 21, 73, 15, 20, 67, 13, 19, 64, 12, 18, 58, 10, 17, 55, 9, 16, 49, 7, 16, 46, 5, 15, 41, 3], shape(cork100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: cork25 = reshape([44, 25, 76, 42, 43, 94, 41, 58, 109, 40, 75, 126, 48, 94, 142, 65, 110, 155, 86, 127, 166, 106, 142, 177, 131, 161, 190, 158, 181, 204, 184, 201, 218, 213, 223, 232, 230, 237, 236, 218, 231, 219, 193, 214, 193, 169, 197, 168, 142, 179, 141, 116, 162, 115, 93, 147, 93, 71, 132, 70, 49, 116, 48, 32, 99, 30, 23, 78, 18, 18, 60, 11, 15, 41, 3], shape(cork25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: cork50 = reshape([44, 25, 76, 43, 34, 84, 43, 41, 92, 42, 50, 101, 41, 58, 109, 40, 66, 117, 40, 74, 124, 42, 82, 132, 47, 92, 141, 54, 100, 147, 63, 108, 153, 73, 116, 159, 82, 124, 164, 94, 133, 170, 104, 141, 176, 115, 149, 182, 126, 157, 187, 138, 166, 194, 153, 177, 201, 165, 187, 208, 178, 197, 215, 192, 207, 222, 205, 217, 229, 220, 229, 235, 229, 236, 237, 230, 238, 234, 224, 234, 225, 212, 226, 212, 200, 219, 200, 188, 211, 188, 176, 202, 176, 164, 194, 163, 149, 184, 149, 137, 176, 136, 125, 168, 125, 113, 160, 113, 102, 153, 102, 89, 144, 89, 79, 137, 78, 69, 130, 68, 59, 123, 58, 49, 116, 48, 38, 106, 37, 31, 97, 29, 26, 88, 22, 23, 78, 18, 20, 69, 14, 18, 58, 10, 16, 49, 7, 15, 41, 3], shape(cork50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: corkO = reshape([63, 62, 58, 63, 62, 59, 63, 62, 60, 63, 61, 61, 62, 61, 62, 62, 61, 63, 62, 61, 64, 62, 61, 65, 62, 61, 66, 62, 61, 67, 62, 61, 68, 62, 61, 69, 62, 61, 70, 62, 61, 71, 62, 61, 72, 62, 61, 73, 62, 61, 75, 62, 61, 76, 62, 62, 77, 62, 62, 79, 62, 63, 80, 62, 63, 82, 62, 64, 83, 62, 64, 85, 62, 65, 86, 62, 65, 88, 62, 66, 90, 62, 67, 91, 62, 68, 93, 62, 69, 95, 63, 70, 97, 63, 71, 98, 63, 72, 100, 64, 73, 102, 64, 74, 104, 64, 75, 106, 65, 76, 108, 65, 78, 110, 66, 79, 112, 66, 80, 114, 67, 82, 116, 68, 83, 118, 68, 85, 120, 69, 86, 122, 70, 88, 124, 71, 89, 126, 71, 91, 128, 72, 93, 130, 73, 94, 132, 74, 96, 134, 75, 98, 135, 77, 99, 137, 78, 101, 139, 79, 103, 141, 80, 105, 143, 81, 106, 145, 83, 108, 146, 84, 110, 148, 86, 112, 150, 87, 113, 151, 88, 115, 153, 90, 117, 155, 92, 119, 156, 93, 120, 158, 95, 122, 159, 96, 124, 161, 98, 126, 162, 100, 127, 164, 101, 129, 165, 103, 131, 166, 105, 133, 168, 106, 134, 169, 108, 136, 171, 110, 138, 172, 112, 140, 173, 114, 141, 174, 115, 143, 176, 117, 145, 177, 119, 146, 178, 121, 148, 179, 123, 150, 180, 124, 151, 182, 126, 153, 183, 128, 155, 184, 130, 156, 185, 132, 158, 186, 134, 160, 187, 135, 161, 188, 137, 163, 189, 139, 164, 190, 141, 166, 191, 143, 167, 192, 144, 169, 192, 146, 171, 193, 148, 172, 194, 150, 174, 195, 151, 175, 195, 153, 177, 196, 154, 178, 197, 156, 179, 197, 158, 181, 198, 159, 182, 198, 161, 184, 199, 162, 185, 199, 163, 186, 199, 165, 187, 200, 166, 189, 200, 167, 190, 200, 168, 191, 200, 169, 192, 200, 170, 193, 200, 171, 194, 200, 172, 195, 200, 173, 196, 200, 174, 197, 199, 174, 198, 199, 175, 198, 199, 175, 199, 198, 176, 200, 197, 176, 200, 197, 176, 201, 196, 176, 201, 195, 176, 202, 194, 176, 202, 193, 176, 202, 192, 176, 202, 191, 176, 202, 190, 175, 203, 189, 175, 203, 188, 174, 202, 187, 173, 202, 185, 173, 202, 184, 172, 202, 182, 171, 202, 181, 170, 201, 179, 169, 201, 178, 168, 200, 176, 167, 200, 175, 166, 199, 173, 165, 199, 171, 163, 198, 170, 162, 197, 168, 161, 196, 166, 159, 196, 164, 158, 195, 163, 156, 194, 161, 155, 193, 159, 153, 192, 157, 152, 191, 155, 150, 190, 153, 149, 189, 151, 147, 188, 149, 145, 187, 147, 144, 186, 145, 142, 185, 143, 140, 183, 141, 139, 182, 139, 137, 181, 137, 135, 180, 135, 134, 178, 133, 132, 177, 131, 130, 176, 129, 128, 174, 127, 127, 173, 125, 125, 172, 123, 123, 170, 121, 122, 169, 119, 120, 167, 117, 118, 166, 115, 117, 164, 113, 115, 163, 111, 113, 161, 108, 112, 159, 106, 110, 158, 104, 108, 156, 102, 107, 154, 100, 105, 153, 98, 104, 151, 96, 102, 149, 94, 101, 148, 92, 99, 146, 90, 98, 144, 88, 96, 142, 86, 95, 141, 84, 94, 139, 82, 92, 137, 80, 91, 135, 78, 90, 134, 76, 89, 132, 74, 87, 130, 73, 86, 128, 71, 85, 127, 69, 84, 125, 68, 83, 123, 66, 82, 121, 65, 81, 120, 63, 80, 118, 62, 79, 116, 60, 79, 115, 59, 78, 113, 58, 77, 111, 56, 76, 110, 55, 76, 108, 54, 75, 107, 53, 74, 105, 52, 74, 104, 51, 73, 102, 50, 73, 101, 50, 72, 100, 49, 72, 98, 48, 71, 97, 48, 71, 96, 47, 70, 94, 47, 70, 93, 46, 70, 92, 46, 69, 91, 45, 69, 89, 45, 69, 88, 45, 69, 87, 45, 68, 86, 44, 68, 85, 44, 68, 84, 44, 68, 83, 44, 67, 82, 44, 67, 81, 44, 67, 80, 44, 67, 79, 44, 67, 79, 44, 66, 78, 45, 66, 77, 45, 66, 76, 45, 66, 75, 45, 66, 75, 46, 66, 74, 46, 66, 73, 46, 65, 72, 47, 65, 72, 47, 65, 71, 47, 65, 71, 48, 65, 70, 48, 65, 69, 49, 65, 69, 49, 65, 68, 50, 64, 68, 50, 64, 67, 51, 64, 67, 51, 64, 66, 52, 64, 66, 52, 64, 65, 53, 64, 65, 54, 64, 64, 54, 63, 64, 55, 63, 63, 56, 63, 63, 56, 63, 63, 57, 63, 62, 58], shape(corkO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: corkO10 = reshape([63, 62, 58, 62, 68, 93, 84, 110, 148, 132, 158, 186, 173, 196, 200, 161, 196, 166, 115, 163, 111, 79, 115, 59, 67, 79, 44, 63, 62, 58], shape(corkO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: corkO100 = reshape([63, 62, 58, 63, 61, 61, 62, 61, 63, 62, 61, 66, 62, 61, 68, 62, 61, 71, 62, 61, 73, 62, 62, 77, 62, 63, 82, 62, 64, 85, 62, 66, 90, 62, 68, 93, 63, 71, 98, 64, 73, 102, 65, 76, 108, 66, 80, 114, 68, 83, 118, 70, 88, 124, 71, 91, 128, 74, 96, 134, 78, 101, 139, 80, 105, 143, 84, 110, 148, 87, 113, 151, 92, 119, 156, 95, 122, 159, 100, 127, 164, 105, 133, 168, 108, 136, 171, 114, 141, 174, 117, 145, 177, 123, 150, 180, 126, 153, 183, 132, 158, 186, 137, 163, 189, 141, 166, 191, 146, 171, 193, 150, 174, 195, 154, 178, 197, 158, 181, 198, 162, 185, 199, 166, 189, 200, 168, 191, 200, 171, 194, 200, 173, 196, 200, 175, 198, 199, 176, 200, 197, 176, 201, 195, 176, 202, 192, 176, 202, 190, 174, 202, 187, 173, 202, 184, 170, 201, 179, 167, 200, 175, 165, 199, 171, 161, 196, 166, 158, 195, 163, 153, 192, 157, 150, 190, 153, 145, 187, 147, 140, 183, 141, 137, 181, 137, 132, 177, 131, 128, 174, 127, 123, 170, 121, 120, 167, 117, 115, 163, 111, 110, 158, 104, 107, 154, 100, 102, 149, 94, 99, 146, 90, 95, 141, 84, 92, 137, 80, 89, 132, 74, 85, 127, 69, 83, 123, 66, 80, 118, 62, 79, 115, 59, 76, 110, 55, 75, 107, 53, 73, 102, 50, 72, 98, 48, 71, 96, 47, 70, 92, 46, 69, 89, 45, 68, 86, 44, 68, 83, 44, 67, 81, 44, 67, 79, 44, 66, 77, 45, 66, 75, 46, 66, 73, 46, 65, 71, 47, 65, 69, 49, 65, 68, 50, 64, 67, 51, 64, 66, 52, 64, 64, 54, 63, 63, 56, 63, 62, 58], shape(corkO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: corkO25 = reshape([63, 62, 58, 62, 61, 69, 62, 63, 82, 63, 72, 100, 69, 86, 122, 79, 103, 141, 95, 122, 159, 112, 140, 173, 132, 158, 186, 151, 175, 195, 166, 189, 200, 175, 199, 198, 175, 203, 188, 166, 199, 173, 150, 190, 153, 134, 178, 133, 115, 163, 111, 98, 144, 88, 85, 127, 69, 76, 108, 54, 70, 93, 46, 67, 82, 44, 66, 73, 46, 64, 67, 51, 63, 62, 58], shape(corkO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: corkO50 = reshape([63, 62, 58, 62, 61, 63, 62, 61, 68, 62, 61, 75, 62, 63, 82, 62, 66, 90, 63, 71, 98, 65, 76, 108, 68, 85, 120, 72, 93, 130, 78, 101, 139, 84, 110, 148, 92, 119, 156, 101, 129, 165, 110, 138, 172, 119, 146, 178, 128, 155, 184, 137, 163, 189, 148, 172, 194, 156, 179, 197, 163, 186, 199, 169, 192, 200, 174, 197, 199, 176, 201, 196, 176, 202, 191, 173, 202, 185, 169, 201, 178, 162, 197, 168, 155, 193, 159, 147, 188, 149, 139, 182, 139, 130, 176, 129, 120, 167, 117, 112, 159, 106, 104, 151, 96, 96, 142, 86, 90, 134, 76, 83, 123, 66, 79, 115, 59, 75, 107, 53, 72, 100, 49, 70, 93, 46, 68, 86, 44, 67, 81, 44, 66, 77, 45, 66, 73, 46, 65, 70, 48, 64, 67, 51, 64, 64, 54, 63, 62, 58], shape(corkO50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: davos = reshape([0, 5, 74, 0, 7, 76, 0, 9, 77, 0, 11, 79, 1, 12, 80, 1, 14, 81, 2, 15, 83, 2, 16, 84, 3, 18, 86, 4, 19, 87, 4, 20, 89, 5, 22, 90, 5, 23, 91, 6, 24, 93, 7, 26, 94, 7, 27, 96, 8, 28, 97, 9, 30, 98, 10, 31, 100, 11, 32, 101, 11, 34, 103, 12, 35, 104, 13, 36, 105, 14, 38, 107, 14, 39, 108, 15, 40, 109, 16, 42, 111, 17, 43, 112, 17, 44, 113, 18, 46, 115, 19, 47, 116, 19, 48, 117, 20, 50, 119, 21, 51, 120, 22, 52, 121, 23, 54, 122, 23, 55, 124, 24, 56, 125, 25, 58, 126, 26, 59, 127, 26, 60, 128, 27, 62, 130, 28, 63, 131, 29, 64, 132, 30, 65, 133, 30, 67, 134, 31, 68, 135, 32, 69, 136, 33, 71, 137, 34, 72, 138, 35, 73, 139, 35, 74, 140, 36, 76, 141, 37, 77, 142, 38, 78, 143, 39, 79, 144, 40, 81, 144, 41, 82, 145, 42, 83, 146, 42, 84, 147, 43, 86, 147, 44, 87, 148, 45, 88, 149, 46, 89, 149, 47, 90, 150, 48, 91, 151, 49, 92, 151, 50, 94, 152, 51, 95, 152, 52, 96, 153, 53, 97, 153, 54, 98, 154, 55, 99, 154, 56, 100, 154, 57, 101, 155, 58, 102, 155, 58, 103, 155, 59, 104, 156, 60, 105, 156, 61, 106, 156, 62, 107, 156, 63, 108, 157, 64, 109, 157, 65, 110, 157, 66, 111, 157, 67, 112, 157, 68, 112, 157, 69, 113, 157, 70, 114, 157, 71, 115, 157, 72, 116, 157, 73, 117, 157, 74, 118, 157, 75, 118, 157, 76, 119, 157, 77, 120, 157, 78, 121, 157, 79, 121, 157, 80, 122, 156, 81, 123, 156, 82, 124, 156, 83, 124, 156, 84, 125, 156, 85, 126, 155, 86, 127, 155, 86, 127, 155, 87, 128, 155, 88, 129, 154, 89, 129, 154, 90, 130, 154, 91, 131, 153, 92, 131, 153, 93, 132, 153, 94, 133, 152, 95, 133, 152, 96, 134, 152, 97, 134, 151, 98, 135, 151, 99, 136, 151, 100, 136, 150, 101, 137, 150, 101, 138, 149, 102, 138, 149, 103, 139, 149, 104, 139, 148, 105, 140, 148, 106, 141, 147, 107, 141, 147, 108, 142, 147, 109, 142, 146, 110, 143, 146, 111, 144, 145, 112, 144, 145, 113, 145, 145, 114, 145, 144, 115, 146, 144, 116, 147, 143, 116, 147, 143, 117, 148, 143, 118, 149, 142, 119, 149, 142, 120, 150, 141, 121, 150, 141, 122, 151, 141, 123, 152, 140, 124, 152, 140, 125, 153, 140, 126, 154, 139, 127, 154, 139, 128, 155, 139, 129, 156, 138, 130, 157, 138, 131, 157, 138, 132, 158, 137, 134, 159, 137, 135, 160, 137, 136, 160, 137, 137, 161, 136, 138, 162, 136, 139, 163, 136, 140, 163, 136, 141, 164, 136, 143, 165, 136, 144, 166, 135, 145, 167, 135, 146, 168, 135, 147, 169, 135, 149, 170, 135, 150, 171, 135, 151, 172, 135, 153, 173, 136, 154, 174, 136, 155, 175, 136, 157, 176, 136, 158, 177, 136, 160, 178, 137, 161, 179, 137, 163, 180, 137, 164, 182, 138, 166, 183, 138, 168, 184, 139, 169, 185, 139, 171, 187, 140, 173, 188, 140, 174, 189, 141, 176, 191, 142, 178, 192, 143, 180, 193, 144, 182, 195, 145, 184, 196, 146, 185, 198, 147, 187, 199, 148, 189, 201, 149, 191, 202, 150, 193, 204, 152, 195, 205, 153, 197, 207, 155, 199, 208, 156, 201, 210, 158, 203, 211, 159, 205, 213, 161, 207, 214, 162, 208, 216, 164, 210, 217, 166, 212, 219, 168, 214, 220, 169, 216, 222, 171, 217, 223, 173, 219, 224, 175, 221, 226, 177, 222, 227, 179, 224, 228, 181, 225, 229, 182, 227, 231, 184, 228, 232, 186, 230, 233, 188, 231, 234, 190, 232, 235, 192, 234, 236, 194, 235, 237, 196, 236, 238, 198, 237, 239, 199, 238, 239, 201, 239, 240, 203, 240, 241, 205, 241, 242, 207, 242, 242, 208, 243, 243, 210, 243, 244, 212, 244, 244, 214, 245, 245, 215, 245, 246, 217, 246, 246, 219, 247, 247, 221, 247, 247, 222, 248, 248, 224, 248, 248, 225, 249, 249, 227, 249, 249, 229, 250, 249, 230, 250, 250, 232, 251, 250, 233, 251, 251, 235, 251, 251, 236, 252, 251, 238, 252, 252, 240, 252, 252, 241, 252, 252, 243, 253, 253, 244, 253, 253, 246, 253, 253, 247, 254, 253, 249, 254, 254, 250, 254, 254, 252, 254, 254, 253, 254, 254, 254], shape(davos), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: davos10 = reshape([0, 5, 74, 17, 44, 113, 41, 82, 145, 67, 112, 157, 94, 133, 152, 121, 150, 141, 153, 173, 136, 201, 210, 158, 243, 243, 210, 254, 254, 254], shape(davos10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: davos100 = reshape([0, 5, 74, 0, 11, 79, 1, 14, 81, 3, 18, 86, 4, 20, 89, 6, 24, 93, 7, 27, 96, 10, 31, 100, 12, 35, 104, 14, 38, 107, 16, 42, 111, 17, 44, 113, 19, 48, 117, 21, 51, 120, 23, 55, 124, 26, 59, 127, 27, 62, 130, 30, 65, 133, 31, 68, 135, 34, 72, 138, 36, 76, 141, 38, 78, 143, 41, 82, 145, 42, 84, 147, 45, 88, 149, 47, 90, 150, 50, 94, 152, 53, 97, 153, 55, 99, 154, 58, 102, 155, 59, 104, 156, 62, 107, 156, 64, 109, 157, 67, 112, 157, 70, 114, 157, 72, 116, 157, 75, 118, 157, 77, 120, 157, 80, 122, 156, 82, 124, 156, 85, 126, 155, 87, 128, 155, 89, 129, 154, 92, 131, 153, 94, 133, 152, 97, 134, 151, 99, 136, 151, 101, 138, 149, 104, 139, 148, 106, 141, 147, 109, 142, 146, 111, 144, 145, 114, 145, 144, 116, 147, 143, 118, 149, 142, 121, 150, 141, 123, 152, 140, 126, 154, 139, 128, 155, 139, 131, 157, 138, 135, 160, 137, 137, 161, 136, 140, 163, 136, 143, 165, 136, 146, 168, 135, 149, 170, 135, 153, 173, 136, 157, 176, 136, 160, 178, 137, 164, 182, 138, 168, 184, 139, 173, 188, 140, 176, 191, 142, 182, 195, 145, 187, 199, 148, 191, 202, 150, 197, 207, 155, 201, 210, 158, 207, 214, 162, 210, 217, 166, 216, 222, 171, 221, 226, 177, 224, 228, 181, 228, 232, 186, 231, 234, 190, 235, 237, 196, 238, 239, 201, 240, 241, 205, 243, 243, 210, 244, 244, 214, 246, 246, 219, 247, 247, 222, 249, 249, 227, 250, 250, 232, 251, 251, 235, 252, 252, 240, 252, 252, 243, 253, 253, 247, 254, 254, 250, 254, 254, 254], shape(davos100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: davos25 = reshape([0, 5, 74, 5, 22, 90, 12, 35, 104, 20, 50, 119, 29, 64, 132, 37, 77, 142, 47, 90, 150, 57, 101, 155, 67, 112, 157, 78, 121, 157, 87, 128, 155, 98, 135, 151, 108, 142, 147, 117, 148, 143, 128, 155, 139, 139, 163, 136, 153, 173, 136, 169, 185, 139, 187, 199, 148, 208, 216, 164, 227, 231, 184, 239, 240, 203, 247, 247, 222, 252, 251, 238, 254, 254, 254], shape(davos25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: davos50 = reshape([0, 5, 74, 1, 14, 81, 4, 20, 89, 8, 28, 97, 12, 35, 104, 16, 42, 111, 19, 48, 117, 23, 55, 124, 28, 63, 131, 32, 69, 136, 36, 76, 141, 41, 82, 145, 45, 88, 149, 51, 95, 152, 56, 100, 154, 60, 105, 156, 65, 110, 157, 70, 114, 157, 76, 119, 157, 81, 123, 156, 86, 127, 155, 90, 130, 154, 95, 133, 152, 101, 137, 150, 105, 140, 148, 110, 143, 146, 115, 146, 144, 120, 150, 141, 125, 153, 140, 130, 157, 138, 136, 160, 137, 141, 164, 136, 149, 170, 135, 155, 175, 136, 163, 180, 137, 171, 187, 140, 180, 193, 144, 191, 202, 150, 201, 210, 158, 210, 217, 166, 219, 224, 175, 227, 231, 184, 235, 237, 196, 240, 241, 205, 244, 244, 214, 247, 247, 222, 250, 249, 230, 252, 252, 240, 253, 253, 247, 254, 254, 254], shape(davos50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: davosS = reshape([0, 5, 74, 253, 253, 244, 104, 139, 148, 178, 192, 143, 45, 88, 149, 232, 235, 192, 19, 48, 117, 75, 118, 157, 135, 160, 137, 154, 174, 136, 90, 130, 154, 118, 149, 142, 60, 105, 156, 7, 27, 96, 32, 69, 136, 207, 214, 162, 246, 246, 219, 144, 166, 135, 53, 97, 153, 14, 38, 107, 221, 226, 177, 126, 154, 139, 26, 59, 127, 83, 124, 156, 250, 250, 232, 191, 202, 150, 241, 242, 207, 3, 18, 86, 67, 112, 157, 98, 135, 151, 166, 183, 138, 39, 79, 144, 111, 144, 145, 252, 251, 238, 237, 239, 199, 130, 157, 138, 86, 127, 155, 57, 101, 155, 160, 178, 137, 199, 208, 156, 1, 12, 80, 11, 32, 101, 49, 92, 151, 214, 220, 169, 122, 151, 141, 248, 248, 225, 23, 54, 122, 115, 146, 144, 35, 74, 140, 17, 43, 112, 227, 231, 184, 94, 133, 152, 71, 115, 157, 29, 64, 132, 79, 121, 157, 139, 163, 136, 149, 170, 135, 63, 108, 157, 101, 138, 149, 5, 22, 90, 42, 83, 146, 108, 142, 147, 173, 188, 140, 184, 196, 146, 243, 244, 212, 12, 35, 104, 239, 240, 203, 58, 103, 155, 128, 155, 139, 77, 120, 157, 249, 249, 229, 169, 185, 139, 230, 233, 188, 120, 150, 141, 146, 168, 135, 69, 113, 157, 34, 72, 138, 18, 46, 115, 27, 62, 130, 247, 247, 222, 2, 15, 83, 224, 228, 181, 106, 141, 147, 195, 205, 153, 88, 129, 154, 65, 110, 157, 163, 180, 137, 73, 117, 157, 116, 147, 143, 235, 237, 196, 210, 217, 166, 37, 77, 142, 85, 126, 155, 203, 211, 159, 21, 51, 120, 151, 172, 135, 217, 223, 173, 96, 134, 152, 113, 145, 145, 187, 199, 148], shape(davosS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: devon = reshape([44, 26, 76, 44, 27, 77, 44, 28, 78, 43, 28, 79, 43, 29, 80, 43, 30, 81, 43, 31, 82, 43, 32, 83, 43, 33, 84, 43, 34, 85, 43, 35, 86, 43, 36, 87, 43, 37, 88, 43, 38, 88, 43, 39, 89, 42, 40, 90, 42, 41, 91, 42, 41, 92, 42, 42, 93, 42, 43, 94, 42, 44, 95, 42, 45, 96, 42, 46, 97, 42, 47, 98, 41, 48, 99, 41, 49, 100, 41, 50, 101, 41, 51, 102, 41, 52, 103, 41, 53, 104, 41, 54, 105, 41, 55, 106, 41, 56, 106, 40, 57, 107, 40, 57, 108, 40, 58, 109, 40, 59, 110, 40, 60, 111, 40, 61, 112, 40, 62, 113, 40, 63, 114, 40, 64, 115, 39, 65, 116, 39, 66, 117, 39, 67, 118, 39, 68, 120, 39, 69, 121, 39, 70, 122, 39, 71, 123, 39, 72, 124, 39, 73, 125, 39, 74, 126, 39, 76, 127, 39, 77, 129, 39, 78, 130, 39, 79, 131, 39, 80, 132, 39, 81, 134, 39, 82, 135, 39, 83, 136, 40, 84, 138, 40, 85, 139, 40, 86, 140, 40, 87, 142, 41, 88, 143, 41, 89, 144, 41, 90, 146, 42, 91, 147, 42, 92, 149, 43, 93, 150, 43, 93, 152, 44, 94, 153, 44, 95, 154, 45, 96, 156, 46, 97, 157, 46, 98, 159, 47, 98, 160, 48, 99, 162, 48, 100, 163, 49, 101, 164, 50, 101, 166, 50, 102, 167, 51, 103, 169, 52, 104, 170, 53, 104, 171, 54, 105, 173, 55, 106, 174, 56, 106, 176, 57, 107, 177, 58, 108, 178, 59, 109, 180, 60, 109, 181, 61, 110, 183, 62, 111, 184, 63, 112, 185, 65, 113, 187, 66, 114, 188, 68, 114, 189, 69, 115, 191, 71, 116, 192, 72, 117, 193, 74, 118, 195, 76, 119, 196, 77, 120, 197, 79, 121, 198, 81, 122, 200, 83, 123, 201, 85, 124, 202, 87, 124, 203, 89, 125, 204, 91, 126, 205, 93, 127, 206, 95, 128, 207, 97, 129, 208, 99, 130, 209, 101, 131, 210, 103, 132, 211, 105, 133, 212, 107, 134, 213, 109, 135, 214, 111, 136, 215, 113, 136, 216, 115, 137, 216, 117, 138, 217, 119, 139, 218, 121, 140, 219, 123, 141, 220, 125, 142, 220, 126, 143, 221, 128, 143, 222, 130, 144, 223, 132, 145, 223, 134, 146, 224, 136, 147, 225, 138, 148, 225, 140, 149, 226, 141, 149, 227, 143, 150, 227, 145, 151, 228, 147, 152, 229, 149, 153, 229, 150, 154, 230, 152, 155, 231, 154, 155, 231, 155, 156, 232, 157, 157, 232, 158, 158, 233, 160, 159, 233, 162, 160, 234, 163, 161, 234, 164, 162, 235, 166, 163, 235, 167, 164, 236, 168, 165, 236, 170, 165, 237, 171, 166, 237, 172, 167, 237, 173, 168, 238, 174, 169, 238, 175, 170, 238, 176, 171, 238, 177, 172, 239, 178, 173, 239, 179, 173, 239, 180, 174, 239, 181, 175, 240, 182, 176, 240, 183, 177, 240, 184, 178, 240, 185, 179, 240, 186, 179, 241, 186, 180, 241, 187, 181, 241, 188, 182, 241, 189, 183, 241, 190, 184, 242, 190, 185, 242, 191, 185, 242, 192, 186, 242, 193, 187, 242, 194, 188, 242, 194, 189, 243, 195, 190, 243, 196, 191, 243, 197, 192, 243, 198, 192, 243, 198, 193, 243, 199, 194, 244, 200, 195, 244, 201, 196, 244, 202, 197, 244, 202, 198, 244, 203, 198, 244, 204, 199, 244, 205, 200, 245, 206, 201, 245, 206, 202, 245, 207, 203, 245, 208, 204, 245, 209, 205, 245, 210, 205, 246, 210, 206, 246, 211, 207, 246, 212, 208, 246, 213, 209, 246, 214, 210, 246, 214, 211, 247, 215, 212, 247, 216, 212, 247, 217, 213, 247, 218, 214, 247, 218, 215, 247, 219, 216, 248, 220, 217, 248, 221, 218, 248, 222, 219, 248, 222, 220, 248, 223, 220, 248, 224, 221, 249, 225, 222, 249, 226, 223, 249, 227, 224, 249, 227, 225, 249, 228, 226, 250, 229, 227, 250, 230, 228, 250, 231, 228, 250, 232, 229, 250, 232, 230, 250, 233, 231, 251, 234, 232, 251, 235, 233, 251, 236, 234, 251, 237, 235, 251, 237, 236, 251, 238, 237, 252, 239, 238, 252, 240, 238, 252, 241, 239, 252, 242, 240, 252, 242, 241, 252, 243, 242, 253, 244, 243, 253, 245, 244, 253, 246, 245, 253, 247, 246, 253, 247, 247, 253, 248, 248, 254, 249, 249, 254, 250, 249, 254, 251, 250, 254, 252, 251, 254, 252, 252, 254, 253, 253, 255, 254, 254, 255, 255, 255, 255], shape(devon), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: devon10 = reshape([44, 26, 76, 41, 52, 103, 39, 81, 134, 54, 105, 173, 97, 129, 208, 152, 155, 231, 186, 179, 241, 208, 204, 245, 232, 229, 250, 255, 255, 255], shape(devon10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: devon100 = reshape([44, 26, 76, 43, 28, 79, 43, 30, 81, 43, 33, 84, 43, 35, 86, 43, 38, 88, 42, 40, 90, 42, 42, 93, 42, 45, 96, 42, 47, 98, 41, 50, 101, 41, 52, 103, 41, 55, 106, 40, 57, 107, 40, 59, 110, 40, 62, 113, 40, 64, 115, 39, 67, 118, 39, 69, 121, 39, 72, 124, 39, 76, 127, 39, 78, 130, 39, 81, 134, 39, 83, 136, 40, 86, 140, 41, 88, 143, 42, 91, 147, 43, 93, 152, 44, 95, 154, 46, 98, 159, 48, 99, 162, 50, 101, 166, 51, 103, 169, 54, 105, 173, 57, 107, 177, 59, 109, 180, 62, 111, 184, 65, 113, 187, 69, 115, 191, 72, 117, 193, 77, 120, 197, 83, 123, 201, 87, 124, 203, 93, 127, 206, 97, 129, 208, 103, 132, 211, 107, 134, 213, 113, 136, 216, 119, 139, 218, 123, 141, 220, 128, 143, 222, 132, 145, 223, 138, 148, 225, 143, 150, 227, 147, 152, 229, 152, 155, 231, 155, 156, 232, 160, 159, 233, 163, 161, 234, 167, 164, 236, 171, 166, 237, 173, 168, 238, 176, 171, 238, 178, 173, 239, 181, 175, 240, 183, 177, 240, 186, 179, 241, 188, 182, 241, 190, 184, 242, 192, 186, 242, 194, 188, 242, 196, 191, 243, 198, 192, 243, 200, 195, 244, 202, 198, 244, 204, 199, 244, 206, 202, 245, 208, 204, 245, 210, 206, 246, 212, 208, 246, 214, 211, 247, 217, 213, 247, 218, 215, 247, 221, 218, 248, 222, 220, 248, 225, 222, 249, 227, 225, 249, 229, 227, 250, 232, 229, 250, 233, 231, 251, 236, 234, 251, 237, 236, 251, 240, 238, 252, 242, 241, 252, 244, 243, 253, 247, 246, 253, 248, 248, 254, 251, 250, 254, 252, 252, 254, 255, 255, 255], shape(devon100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: devon25 = reshape([44, 26, 76, 43, 36, 87, 42, 45, 96, 41, 56, 106, 39, 66, 117, 39, 77, 129, 41, 88, 143, 46, 97, 157, 54, 105, 173, 66, 114, 188, 83, 123, 201, 105, 133, 212, 126, 143, 221, 145, 151, 228, 163, 161, 234, 175, 170, 238, 186, 179, 241, 194, 189, 243, 202, 198, 244, 211, 207, 246, 220, 217, 248, 228, 226, 250, 237, 236, 251, 246, 245, 253, 255, 255, 255], shape(devon25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: devon50 = reshape([44, 26, 76, 43, 30, 81, 43, 35, 86, 42, 41, 91, 42, 45, 96, 41, 50, 101, 41, 55, 106, 40, 59, 110, 39, 65, 116, 39, 70, 122, 39, 76, 127, 39, 81, 134, 40, 86, 140, 42, 92, 149, 45, 96, 156, 48, 100, 163, 52, 104, 170, 57, 107, 177, 63, 112, 185, 71, 116, 192, 79, 121, 198, 89, 125, 204, 99, 130, 209, 111, 136, 215, 121, 140, 219, 130, 144, 223, 140, 149, 226, 150, 154, 230, 158, 158, 233, 166, 163, 235, 172, 167, 237, 177, 172, 239, 183, 177, 240, 187, 181, 241, 191, 185, 242, 195, 190, 243, 199, 194, 244, 204, 199, 244, 208, 204, 245, 212, 208, 246, 216, 212, 247, 220, 217, 248, 225, 222, 249, 229, 227, 250, 233, 231, 251, 237, 236, 251, 242, 240, 252, 247, 246, 253, 251, 250, 254, 255, 255, 255], shape(devon50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: devonS = reshape([44, 26, 76, 248, 248, 254, 119, 139, 218, 40, 86, 140, 198, 192, 243, 41, 55, 106, 62, 111, 184, 222, 220, 248, 171, 166, 237, 42, 41, 91, 149, 153, 229, 89, 125, 204, 235, 233, 251, 186, 179, 241, 39, 70, 122, 48, 99, 162, 210, 206, 246, 40, 62, 113, 74, 118, 195, 54, 105, 173, 43, 33, 84, 134, 146, 224, 204, 199, 244, 242, 240, 252, 42, 47, 98, 192, 186, 242, 162, 160, 234, 178, 173, 239, 217, 213, 247, 228, 226, 250, 43, 93, 150, 39, 78, 130, 105, 133, 212, 43, 37, 88, 68, 114, 189, 126, 143, 221, 207, 203, 245, 40, 58, 109, 97, 129, 208, 41, 51, 102, 214, 210, 246, 58, 108, 178, 45, 96, 156, 39, 66, 117, 43, 29, 80, 245, 244, 253, 81, 122, 200, 238, 237, 252, 141, 149, 227, 232, 229, 250, 155, 156, 232, 39, 82, 135, 189, 183, 241, 201, 196, 244, 182, 176, 240, 50, 102, 167, 226, 223, 249, 195, 190, 243, 167, 164, 236, 39, 73, 125, 42, 43, 94, 41, 90, 146, 175, 170, 238, 111, 136, 215, 220, 217, 248, 93, 127, 206, 44, 28, 78, 49, 101, 164, 123, 141, 220, 41, 88, 143, 190, 185, 242, 233, 231, 251, 152, 155, 231, 40, 84, 138, 237, 235, 251, 43, 39, 89, 173, 168, 238, 240, 238, 252, 115, 137, 216, 243, 242, 253, 39, 80, 132, 130, 144, 223, 218, 215, 247, 40, 64, 115, 206, 201, 245, 41, 53, 104, 71, 116, 192, 212, 208, 246, 184, 178, 240, 85, 124, 202, 158, 158, 233, 42, 45, 96, 39, 76, 127, 43, 31, 82, 215, 212, 247, 43, 35, 86, 145, 151, 228, 40, 60, 111, 164, 162, 235, 187, 181, 241], shape(devonS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: fes = reshape([13, 13, 13, 15, 15, 15, 18, 18, 18, 20, 20, 20, 22, 22, 22, 24, 24, 24, 25, 25, 25, 27, 27, 27, 29, 29, 29, 31, 31, 31, 33, 33, 33, 34, 34, 34, 36, 36, 36, 38, 38, 38, 40, 40, 40, 41, 41, 41, 43, 43, 43, 45, 45, 45, 46, 46, 46, 48, 48, 48, 50, 50, 50, 52, 52, 52, 53, 53, 53, 55, 55, 55, 57, 57, 57, 59, 59, 59, 60, 60, 60, 62, 62, 62, 64, 64, 64, 65, 65, 65, 67, 67, 67, 69, 69, 69, 70, 70, 70, 72, 72, 72, 73, 73, 73, 75, 75, 75, 77, 77, 77, 78, 78, 78, 80, 80, 80, 82, 82, 82, 83, 83, 83, 85, 85, 85, 86, 86, 86, 88, 88, 88, 89, 89, 89, 91, 91, 91, 92, 92, 92, 94, 94, 94, 96, 96, 96, 97, 97, 97, 99, 99, 99, 100, 100, 100, 101, 101, 101, 103, 103, 103, 104, 104, 104, 106, 106, 106, 107, 107, 107, 109, 109, 109, 110, 110, 110, 112, 112, 112, 113, 113, 113, 114, 114, 114, 116, 116, 116, 117, 117, 117, 119, 119, 119, 120, 120, 120, 121, 121, 121, 123, 123, 123, 124, 124, 124, 126, 126, 126, 127, 127, 127, 129, 129, 129, 130, 130, 130, 132, 132, 132, 133, 133, 133, 135, 135, 135, 136, 136, 136, 138, 138, 138, 139, 139, 139, 141, 141, 141, 142, 142, 142, 144, 144, 144, 146, 146, 146, 147, 147, 147, 149, 149, 149, 151, 151, 151, 153, 153, 153, 154, 154, 154, 156, 156, 156, 158, 158, 158, 160, 160, 160, 161, 161, 161, 163, 163, 163, 165, 165, 165, 167, 167, 167, 169, 169, 169, 171, 171, 171, 173, 173, 173, 175, 175, 175, 177, 177, 177, 179, 179, 179, 181, 181, 181, 183, 183, 183, 185, 185, 185, 187, 187, 187, 189, 189, 189, 191, 191, 191, 193, 193, 193, 195, 195, 195, 197, 197, 197, 200, 200, 200, 202, 202, 202, 204, 204, 204, 206, 206, 206, 209, 209, 209, 211, 211, 211, 213, 213, 213, 216, 216, 216, 218, 218, 218, 221, 221, 221, 223, 223, 223, 226, 226, 226, 228, 228, 228, 231, 231, 231, 233, 233, 233, 236, 236, 236, 238, 238, 238, 241, 241, 241, 2, 64, 38, 5, 65, 38, 9, 66, 37, 12, 67, 36, 15, 68, 35, 18, 70, 35, 21, 71, 34, 24, 72, 34, 27, 73, 33, 30, 74, 33, 33, 75, 32, 36, 76, 32, 39, 78, 32, 43, 79, 32, 46, 80, 32, 49, 81, 32, 52, 82, 32, 55, 83, 32, 58, 84, 32, 61, 85, 32, 63, 85, 33, 66, 86, 33, 69, 87, 34, 72, 88, 34, 74, 89, 34, 77, 89, 35, 80, 90, 35, 82, 91, 36, 85, 91, 36, 87, 92, 37, 90, 93, 37, 92, 93, 38, 94, 94, 38, 97, 94, 38, 99, 95, 39, 101, 96, 39, 104, 96, 40, 106, 97, 40, 108, 97, 41, 111, 98, 41, 113, 98, 41, 115, 99, 42, 117, 100, 42, 120, 100, 43, 122, 101, 43, 124, 101, 44, 127, 102, 44, 129, 103, 45, 131, 103, 45, 134, 104, 46, 136, 104, 46, 139, 105, 47, 141, 106, 47, 144, 107, 48, 146, 107, 48, 149, 108, 49, 151, 109, 50, 154, 110, 51, 156, 111, 52, 159, 112, 53, 161, 113, 55, 164, 115, 56, 166, 116, 58, 168, 118, 60, 171, 119, 62, 173, 121, 64, 175, 123, 66, 177, 125, 69, 179, 127, 71, 181, 129, 74, 182, 131, 77, 184, 133, 80, 185, 135, 83, 186, 137, 86, 188, 139, 89, 189, 142, 92, 190, 144, 95, 191, 146, 98, 192, 148, 101, 193, 151, 105, 194, 153, 108, 195, 155, 111, 196, 157, 114, 197, 159, 117, 198, 162, 120, 198, 164, 124, 199, 166, 127, 200, 168, 130, 201, 171, 133, 202, 173, 137, 203, 175, 140, 204, 177, 143, 205, 179, 146, 206, 182, 150, 207, 184, 153, 208, 186, 156, 209, 188, 160, 210, 190, 163, 210, 192, 166, 211, 194, 170, 212, 196, 173, 213, 198, 176, 214, 200, 180, 215, 202, 183, 216, 204, 186, 217, 206, 189, 218, 207, 193, 219, 209, 196, 220, 211, 199, 221, 212, 202, 222, 214, 205, 223, 215, 207, 224, 217, 210, 225, 218, 213, 226, 219, 216, 226, 221, 218, 227, 222, 221, 228, 223, 224, 229, 224, 226, 230, 226, 229, 231, 227, 232, 232, 228, 234, 232, 230, 237, 233, 231, 240, 234, 233, 243, 235, 234, 246, 236, 235, 249, 237, 237, 252], shape(fes), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: fes10 = reshape([13, 13, 13, 64, 64, 64, 109, 109, 109, 151, 151, 151, 206, 206, 206, 46, 80, 32, 117, 100, 42, 182, 131, 77, 211, 194, 170, 237, 237, 252], shape(fes10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: fes100 = reshape([13, 13, 13, 20, 20, 20, 24, 24, 24, 29, 29, 29, 33, 33, 33, 38, 38, 38, 41, 41, 41, 46, 46, 46, 52, 52, 52, 55, 55, 55, 60, 60, 60, 64, 64, 64, 69, 69, 69, 72, 72, 72, 77, 77, 77, 82, 82, 82, 85, 85, 85, 89, 89, 89, 92, 92, 92, 97, 97, 97, 101, 101, 101, 104, 104, 104, 109, 109, 109, 112, 112, 112, 116, 116, 116, 119, 119, 119, 123, 123, 123, 127, 127, 127, 130, 130, 130, 135, 135, 135, 138, 138, 138, 142, 142, 142, 146, 146, 146, 151, 151, 151, 156, 156, 156, 160, 160, 160, 165, 165, 165, 169, 169, 169, 175, 175, 175, 179, 179, 179, 185, 185, 185, 191, 191, 191, 195, 195, 195, 202, 202, 202, 206, 206, 206, 213, 213, 213, 218, 218, 218, 226, 226, 226, 233, 233, 233, 238, 238, 238, 5, 65, 38, 12, 67, 36, 21, 71, 34, 30, 74, 33, 36, 76, 32, 46, 80, 32, 52, 82, 32, 61, 85, 32, 66, 86, 33, 74, 89, 34, 82, 91, 36, 87, 92, 37, 94, 94, 38, 99, 95, 39, 106, 97, 40, 111, 98, 41, 117, 100, 42, 124, 101, 44, 129, 103, 45, 136, 104, 46, 141, 106, 47, 149, 108, 49, 154, 110, 51, 161, 113, 55, 168, 118, 60, 173, 121, 64, 179, 127, 71, 182, 131, 77, 186, 137, 86, 189, 142, 92, 192, 148, 101, 195, 155, 111, 197, 159, 117, 199, 166, 127, 201, 171, 133, 204, 177, 143, 207, 184, 153, 209, 188, 160, 211, 194, 170, 213, 198, 176, 216, 204, 186, 218, 207, 193, 221, 212, 202, 224, 217, 210, 226, 219, 216, 228, 223, 224, 230, 226, 229, 232, 230, 237, 234, 233, 243, 237, 237, 252], shape(fes100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: fes25 = reshape([13, 13, 13, 34, 34, 34, 52, 52, 52, 70, 70, 70, 88, 88, 88, 103, 103, 103, 119, 119, 119, 133, 133, 133, 151, 151, 151, 171, 171, 171, 191, 191, 191, 216, 216, 216, 2, 64, 38, 33, 75, 32, 66, 86, 33, 92, 93, 38, 117, 100, 42, 144, 107, 48, 168, 118, 60, 188, 139, 89, 198, 164, 124, 208, 186, 156, 218, 207, 193, 227, 222, 221, 237, 237, 252], shape(fes25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: fes50 = reshape([13, 13, 13, 24, 24, 24, 33, 33, 33, 43, 43, 43, 52, 52, 52, 60, 60, 60, 69, 69, 69, 77, 77, 77, 86, 86, 86, 94, 94, 94, 101, 101, 101, 109, 109, 109, 116, 116, 116, 124, 124, 124, 132, 132, 132, 139, 139, 139, 147, 147, 147, 156, 156, 156, 167, 167, 167, 177, 177, 177, 187, 187, 187, 197, 197, 197, 209, 209, 209, 223, 223, 223, 236, 236, 236, 9, 66, 37, 24, 72, 34, 43, 79, 32, 58, 84, 32, 72, 88, 34, 85, 91, 36, 97, 94, 38, 111, 98, 41, 122, 101, 43, 134, 104, 46, 146, 107, 48, 159, 112, 53, 173, 121, 64, 182, 131, 77, 189, 142, 92, 194, 153, 108, 198, 164, 124, 204, 177, 143, 209, 188, 160, 213, 198, 176, 218, 207, 193, 223, 215, 207, 228, 223, 224, 232, 230, 237, 237, 237, 252], shape(fes50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: glasgow = reshape([54, 19, 56, 55, 19, 55, 56, 19, 55, 57, 20, 54, 58, 20, 53, 59, 20, 52, 60, 20, 51, 61, 21, 51, 62, 21, 50, 63, 21, 49, 64, 21, 48, 64, 22, 47, 65, 22, 47, 66, 22, 46, 67, 22, 45, 68, 23, 44, 69, 23, 44, 70, 23, 43, 70, 23, 42, 71, 24, 41, 72, 24, 41, 73, 24, 40, 74, 24, 39, 75, 25, 38, 75, 25, 38, 76, 25, 37, 77, 25, 36, 78, 26, 36, 79, 26, 35, 80, 26, 34, 80, 26, 33, 81, 27, 33, 82, 27, 32, 83, 27, 31, 84, 27, 30, 85, 28, 30, 86, 28, 29, 87, 28, 28, 87, 28, 27, 88, 29, 27, 89, 29, 26, 90, 29, 25, 91, 30, 24, 92, 30, 24, 93, 30, 23, 94, 31, 22, 95, 31, 21, 96, 32, 20, 97, 32, 19, 98, 33, 19, 99, 33, 18, 101, 34, 17, 102, 34, 16, 103, 35, 15, 104, 36, 14, 105, 37, 13, 106, 37, 12, 107, 38, 11, 108, 39, 11, 108, 40, 10, 109, 41, 9, 110, 42, 8, 111, 43, 7, 112, 44, 6, 112, 45, 6, 113, 46, 5, 113, 47, 4, 114, 49, 4, 114, 50, 3, 115, 51, 3, 115, 52, 3, 115, 53, 2, 116, 55, 2, 116, 56, 2, 116, 57, 1, 116, 58, 1, 116, 59, 1, 116, 60, 1, 116, 62, 1, 116, 63, 1, 117, 64, 1, 117, 65, 0, 117, 66, 0, 117, 67, 0, 117, 68, 0, 116, 69, 0, 116, 70, 0, 116, 71, 0, 116, 73, 0, 116, 74, 0, 116, 75, 0, 116, 76, 0, 116, 77, 0, 116, 78, 1, 116, 79, 1, 116, 80, 1, 116, 81, 1, 116, 82, 1, 116, 83, 2, 116, 84, 2, 116, 85, 3, 116, 86, 3, 115, 87, 4, 115, 88, 4, 115, 89, 5, 115, 90, 6, 115, 91, 7, 115, 92, 8, 114, 94, 10, 114, 95, 11, 114, 96, 13, 114, 97, 14, 114, 98, 16, 113, 99, 17, 113, 100, 19, 113, 101, 21, 113, 102, 23, 112, 102, 24, 112, 103, 26, 112, 104, 28, 112, 105, 30, 111, 106, 32, 111, 107, 33, 111, 108, 35, 110, 109, 37, 110, 110, 39, 110, 111, 41, 109, 112, 43, 109, 112, 45, 109, 113, 47, 108, 114, 49, 108, 115, 50, 108, 116, 52, 107, 117, 54, 107, 117, 56, 107, 118, 58, 106, 119, 60, 106, 120, 62, 106, 121, 64, 105, 122, 66, 105, 122, 68, 105, 123, 70, 104, 124, 72, 104, 125, 74, 104, 125, 76, 103, 126, 77, 103, 127, 79, 103, 128, 81, 102, 129, 83, 102, 129, 85, 102, 130, 87, 101, 131, 89, 101, 132, 91, 101, 132, 93, 101, 133, 95, 100, 134, 97, 100, 135, 99, 100, 136, 100, 99, 136, 102, 99, 137, 104, 99, 138, 106, 98, 139, 108, 98, 139, 110, 98, 140, 112, 97, 141, 114, 97, 142, 116, 97, 142, 118, 97, 143, 120, 96, 144, 121, 96, 145, 123, 96, 146, 125, 96, 146, 127, 96, 147, 129, 96, 148, 131, 95, 149, 133, 95, 149, 135, 96, 150, 137, 96, 151, 138, 96, 152, 140, 96, 153, 142, 96, 153, 144, 97, 154, 146, 97, 155, 148, 98, 156, 150, 98, 157, 152, 99, 158, 154, 100, 159, 155, 101, 159, 157, 102, 160, 159, 103, 161, 161, 104, 162, 163, 105, 163, 165, 107, 164, 166, 108, 165, 168, 110, 165, 170, 111, 166, 171, 113, 167, 173, 114, 168, 175, 116, 169, 176, 118, 170, 178, 119, 170, 179, 121, 171, 181, 123, 172, 183, 125, 173, 184, 126, 174, 185, 128, 174, 187, 130, 175, 188, 132, 176, 190, 134, 177, 191, 135, 177, 193, 137, 178, 194, 139, 179, 195, 141, 180, 197, 142, 180, 198, 144, 181, 200, 146, 182, 201, 148, 182, 202, 149, 183, 204, 151, 184, 205, 153, 185, 206, 155, 185, 207, 156, 186, 209, 158, 187, 210, 160, 187, 211, 161, 188, 213, 163, 189, 214, 165, 189, 215, 166, 190, 216, 168, 191, 218, 170, 191, 219, 171, 192, 220, 173, 193, 221, 175, 193, 223, 176, 194, 224, 178, 195, 225, 180, 195, 226, 181, 196, 228, 183, 197, 229, 185, 198, 230, 187, 198, 231, 188, 199, 233, 190, 200, 234, 192, 200, 236, 194, 201, 237, 196, 202, 238, 198, 203, 240, 200, 204, 241, 202, 204, 243, 204, 205, 244, 206, 206, 246, 208, 207, 247, 210, 208, 249, 212, 209, 250, 215, 209, 252, 217, 210, 253, 219, 211, 255], shape(glasgow), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: glasgow10 = reshape([54, 19, 56, 79, 26, 35, 107, 38, 11, 116, 69, 0, 113, 99, 17, 104, 124, 72, 96, 146, 125, 116, 169, 176, 166, 190, 216, 219, 211, 255], shape(glasgow10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: glasgow100 = reshape([54, 19, 56, 57, 20, 54, 59, 20, 52, 62, 21, 50, 64, 21, 48, 66, 22, 46, 68, 23, 44, 70, 23, 42, 73, 24, 40, 75, 25, 38, 77, 25, 36, 79, 26, 35, 81, 27, 33, 83, 27, 31, 86, 28, 29, 88, 29, 27, 90, 29, 25, 93, 30, 23, 95, 31, 21, 98, 33, 19, 102, 34, 16, 104, 36, 14, 107, 38, 11, 108, 40, 10, 111, 43, 7, 112, 45, 6, 114, 49, 4, 115, 52, 3, 116, 55, 2, 116, 58, 1, 116, 60, 1, 117, 64, 1, 117, 66, 0, 116, 69, 0, 116, 73, 0, 116, 75, 0, 116, 78, 1, 116, 80, 1, 116, 83, 2, 116, 85, 3, 115, 88, 4, 115, 91, 7, 114, 94, 10, 114, 97, 14, 113, 99, 17, 113, 102, 23, 112, 103, 26, 111, 106, 32, 110, 109, 37, 110, 111, 41, 109, 113, 47, 108, 115, 50, 107, 117, 56, 106, 120, 62, 105, 122, 66, 104, 124, 72, 104, 125, 76, 103, 128, 81, 102, 129, 85, 101, 132, 91, 100, 134, 97, 100, 136, 100, 99, 138, 106, 98, 139, 110, 97, 142, 116, 97, 143, 120, 96, 146, 125, 96, 148, 131, 95, 149, 135, 96, 152, 140, 96, 153, 144, 98, 156, 150, 99, 158, 154, 102, 160, 159, 105, 163, 165, 108, 165, 168, 113, 167, 173, 116, 169, 176, 121, 171, 181, 125, 173, 184, 130, 175, 188, 135, 177, 193, 139, 179, 195, 144, 181, 200, 148, 182, 202, 153, 185, 206, 158, 187, 210, 161, 188, 213, 166, 190, 216, 170, 191, 219, 175, 193, 223, 178, 195, 225, 183, 197, 229, 188, 199, 233, 192, 200, 236, 198, 203, 240, 202, 204, 243, 208, 207, 247, 212, 209, 250, 219, 211, 255], shape(glasgow100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: glasgow25 = reshape([54, 19, 56, 64, 22, 47, 73, 24, 40, 82, 27, 32, 92, 30, 24, 103, 35, 15, 112, 45, 6, 116, 57, 1, 116, 69, 0, 116, 81, 1, 115, 91, 7, 112, 102, 24, 109, 112, 45, 106, 121, 64, 102, 129, 85, 99, 137, 104, 96, 146, 125, 97, 154, 146, 105, 163, 165, 123, 172, 183, 142, 180, 198, 160, 187, 211, 178, 195, 225, 196, 202, 238, 219, 211, 255], shape(glasgow25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: glasgow50 = reshape([54, 19, 56, 59, 20, 52, 64, 21, 48, 69, 23, 44, 73, 24, 40, 77, 25, 36, 81, 27, 33, 86, 28, 29, 91, 30, 24, 96, 32, 20, 102, 34, 16, 107, 38, 11, 111, 43, 7, 114, 50, 3, 116, 56, 2, 116, 62, 1, 117, 67, 0, 116, 73, 0, 116, 79, 1, 116, 84, 2, 115, 89, 5, 114, 95, 11, 113, 100, 19, 112, 105, 30, 110, 110, 39, 108, 114, 49, 107, 118, 58, 105, 123, 70, 103, 127, 79, 101, 131, 89, 100, 135, 99, 98, 139, 108, 97, 143, 120, 96, 147, 129, 96, 151, 138, 97, 155, 148, 101, 159, 157, 108, 165, 168, 116, 169, 176, 125, 173, 184, 134, 177, 191, 142, 180, 198, 153, 185, 206, 161, 188, 213, 170, 191, 219, 178, 195, 225, 187, 198, 231, 198, 203, 240, 208, 207, 247, 219, 211, 255], shape(glasgow50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: glasgowS = reshape([54, 19, 56, 219, 211, 255, 109, 112, 45, 112, 45, 6, 105, 163, 165, 82, 27, 32, 160, 187, 211, 116, 81, 1, 99, 138, 106, 132, 176, 190, 104, 125, 76, 69, 23, 44, 97, 32, 19, 114, 98, 16, 187, 198, 231, 117, 64, 1, 96, 150, 137, 112, 105, 30, 101, 132, 91, 202, 204, 243, 115, 89, 5, 106, 37, 12, 173, 193, 221, 146, 182, 201, 118, 170, 178, 106, 119, 60, 116, 55, 2, 116, 73, 0, 75, 25, 38, 62, 21, 50, 96, 144, 121, 89, 29, 26, 98, 156, 150, 93, 30, 23, 108, 116, 52, 72, 24, 41, 58, 20, 53, 86, 28, 29, 97, 141, 114, 79, 26, 35, 101, 159, 157, 100, 135, 99, 102, 34, 16, 116, 77, 0, 113, 102, 23, 114, 50, 3, 153, 185, 206, 105, 122, 68, 65, 22, 47, 139, 179, 195, 194, 201, 237, 116, 59, 1, 166, 190, 216, 116, 85, 3, 109, 41, 9, 96, 147, 129, 210, 208, 249, 125, 173, 184, 110, 109, 37, 111, 166, 171, 114, 94, 10, 180, 195, 226, 102, 129, 83, 117, 68, 0, 96, 153, 142, 116, 83, 2, 80, 26, 33, 97, 142, 118, 110, 111, 41, 67, 22, 45, 106, 121, 64, 116, 62, 1, 156, 186, 209, 56, 19, 55, 104, 36, 14, 170, 191, 219, 111, 43, 7, 116, 75, 0, 115, 87, 4, 135, 177, 193, 101, 133, 95, 142, 180, 198, 74, 24, 39, 99, 33, 18, 96, 146, 125, 70, 23, 42, 114, 168, 175, 99, 136, 102, 128, 174, 187, 95, 31, 21, 108, 165, 168, 121, 171, 181, 183, 197, 229, 113, 100, 19, 108, 39, 11, 116, 70, 0, 116, 79, 1, 111, 107, 33, 115, 91, 7, 95, 149, 133], shape(glasgowS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: grayC = reshape([0, 0, 0, 2, 2, 2, 4, 4, 4, 5, 5, 5, 7, 7, 7, 9, 9, 9, 11, 11, 11, 13, 13, 13, 14, 14, 14, 15, 15, 15, 17, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 49, 49, 49, 49, 50, 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72, 73, 73, 73, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79, 79, 79, 80, 80, 80, 81, 81, 81, 81, 81, 81, 82, 82, 82, 83, 83, 83, 84, 84, 84, 85, 85, 85, 86, 86, 86, 86, 86, 86, 87, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90, 90, 91, 91, 91, 91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 95, 95, 95, 95, 95, 95, 96, 96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 99, 99, 99, 100, 100, 100, 101, 101, 101, 102, 102, 102, 103, 103, 103, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 106, 106, 106, 106, 107, 107, 107, 108, 108, 108, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111, 111, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114, 114, 114, 115, 115, 115, 116, 116, 116, 116, 116, 116, 117, 117, 117, 118, 118, 118, 119, 119, 119, 119, 119, 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 122, 122, 123, 123, 123, 124, 124, 124, 125, 125, 125, 125, 125, 125, 126, 126, 126, 127, 127, 127, 128, 128, 128, 128, 128, 128, 129, 129, 129, 130, 130, 130, 131, 131, 131, 132, 132, 132, 132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 136, 136, 136, 137, 137, 137, 138, 138, 138, 139, 139, 139, 140, 140, 140, 141, 141, 141, 142, 142, 142, 142, 142, 142, 143, 143, 143, 144, 144, 144, 145, 145, 145, 146, 146, 146, 147, 147, 147, 148, 148, 148, 149, 149, 149, 149, 149, 149, 150, 150, 150, 151, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 155, 156, 156, 156, 157, 157, 157, 158, 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, 161, 162, 162, 162, 163, 163, 163, 164, 164, 164, 165, 165, 165, 166, 166, 166, 167, 167, 167, 168, 168, 168, 169, 169, 169, 170, 170, 170, 171, 171, 171, 172, 172, 172, 173, 173, 173, 174, 174, 174, 175, 175, 175, 176, 176, 176, 177, 177, 177, 178, 178, 178, 179, 179, 179, 180, 180, 180, 181, 181, 181, 182, 182, 182, 183, 183, 183, 184, 184, 184, 185, 185, 185, 187, 187, 187, 188, 188, 188, 189, 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, 192, 193, 193, 193, 195, 195, 195, 196, 196, 196, 197, 197, 197, 198, 198, 198, 199, 199, 199, 200, 200, 200, 202, 202, 202, 203, 203, 203, 204, 204, 204, 205, 205, 205, 206, 206, 206, 208, 208, 208, 209, 209, 209, 210, 210, 210, 211, 211, 211, 213, 213, 213, 214, 214, 214, 215, 215, 215, 216, 216, 216, 218, 218, 218, 219, 219, 219, 220, 220, 220, 222, 222, 222, 223, 223, 223, 224, 224, 224, 226, 226, 226, 227, 227, 227, 228, 228, 228, 230, 230, 230, 231, 231, 231, 232, 232, 232, 234, 234, 234, 235, 235, 235, 236, 236, 236, 238, 238, 238, 239, 239, 239, 241, 241, 241, 242, 242, 242, 243, 243, 243, 245, 245, 245, 246, 246, 246, 248, 248, 248, 249, 249, 249, 251, 251, 251, 252, 252, 252, 254, 254, 254, 255, 255, 255], shape(grayC), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: grayC10 = reshape([0, 0, 0, 35, 35, 35, 61, 61, 61, 86, 86, 86, 108, 108, 108, 130, 130, 130, 154, 154, 154, 182, 182, 182, 216, 216, 216, 255, 255, 255], shape(grayC10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: grayC100 = reshape([0, 0, 0, 5, 5, 5, 9, 9, 9, 14, 14, 14, 17, 17, 17, 20, 20, 20, 22, 22, 22, 25, 25, 25, 28, 28, 28, 30, 30, 30, 33, 33, 33, 35, 35, 35, 37, 37, 37, 39, 39, 39, 42, 42, 42, 45, 45, 45, 47, 47, 47, 49, 49, 49, 51, 51, 51, 54, 54, 54, 57, 57, 57, 59, 59, 59, 61, 61, 61, 63, 63, 63, 66, 66, 66, 68, 68, 68, 70, 70, 70, 73, 73, 73, 75, 75, 75, 77, 77, 77, 79, 79, 79, 81, 81, 81, 83, 83, 83, 86, 86, 86, 88, 88, 88, 90, 90, 90, 92, 92, 92, 94, 94, 94, 96, 96, 96, 98, 98, 98, 100, 100, 100, 103, 103, 103, 104, 104, 104, 106, 106, 106, 108, 108, 108, 110, 110, 110, 112, 112, 112, 114, 114, 114, 116, 116, 116, 118, 118, 118, 120, 120, 120, 122, 122, 122, 124, 124, 124, 126, 126, 126, 128, 128, 128, 130, 130, 130, 132, 132, 132, 134, 134, 134, 136, 136, 136, 138, 138, 138, 141, 141, 141, 142, 142, 142, 145, 145, 145, 147, 147, 147, 149, 149, 149, 151, 151, 151, 154, 154, 154, 157, 157, 157, 159, 159, 159, 162, 162, 162, 164, 164, 164, 167, 167, 167, 169, 169, 169, 172, 172, 172, 175, 175, 175, 177, 177, 177, 180, 180, 180, 182, 182, 182, 185, 185, 185, 188, 188, 188, 191, 191, 191, 195, 195, 195, 197, 197, 197, 200, 200, 200, 203, 203, 203, 206, 206, 206, 210, 210, 210, 213, 213, 213, 216, 216, 216, 219, 219, 219, 223, 223, 223, 226, 226, 226, 230, 230, 230, 234, 234, 234, 236, 236, 236, 241, 241, 241, 243, 243, 243, 248, 248, 248, 251, 251, 251, 255, 255, 255], shape(grayC100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: grayC25 = reshape([0, 0, 0, 18, 18, 18, 28, 28, 28, 38, 38, 38, 49, 49, 49, 58, 58, 58, 68, 68, 68, 76, 76, 76, 86, 86, 86, 95, 95, 95, 103, 103, 103, 111, 111, 111, 119, 119, 119, 127, 127, 127, 136, 136, 136, 144, 144, 144, 154, 154, 154, 165, 165, 165, 175, 175, 175, 187, 187, 187, 199, 199, 199, 211, 211, 211, 226, 226, 226, 239, 239, 239, 255, 255, 255], shape(grayC25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: grayC50 = reshape([0, 0, 0, 9, 9, 9, 17, 17, 17, 23, 23, 23, 28, 28, 28, 33, 33, 33, 37, 37, 37, 42, 42, 42, 48, 48, 48, 52, 52, 52, 57, 57, 57, 61, 61, 61, 66, 66, 66, 71, 71, 71, 75, 75, 75, 80, 80, 80, 84, 84, 84, 88, 88, 88, 93, 93, 93, 97, 97, 97, 101, 101, 101, 105, 105, 105, 109, 109, 109, 113, 113, 113, 117, 117, 117, 121, 121, 121, 125, 125, 125, 129, 129, 129, 133, 133, 133, 137, 137, 137, 142, 142, 142, 146, 146, 146, 151, 151, 151, 156, 156, 156, 161, 161, 161, 166, 166, 166, 171, 171, 171, 177, 177, 177, 182, 182, 182, 188, 188, 188, 193, 193, 193, 199, 199, 199, 206, 206, 206, 213, 213, 213, 219, 219, 219, 226, 226, 226, 232, 232, 232, 241, 241, 241, 248, 248, 248, 255, 255, 255], shape(grayC50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: grayCS = reshape([7, 7, 7, 249, 249, 249, 119, 119, 119, 69, 69, 69, 173, 173, 173, 208, 208, 208, 41, 41, 41, 95, 95, 95, 143, 143, 143, 107, 107, 107, 157, 157, 157, 27, 27, 27, 189, 189, 189, 55, 55, 55, 82, 82, 82, 227, 227, 227, 131, 131, 131, 238, 238, 238, 113, 113, 113, 89, 89, 89, 62, 62, 62, 198, 198, 198, 19, 19, 19, 165, 165, 165, 136, 136, 136, 101, 101, 101, 216, 216, 216, 76, 76, 76, 181, 181, 181, 49, 49, 49, 150, 150, 150, 125, 125, 125, 34, 34, 34, 104, 104, 104, 147, 147, 147, 128, 128, 128, 59, 59, 59, 140, 140, 140, 222, 222, 222, 14, 14, 14, 45, 45, 45, 193, 193, 193, 23, 23, 23, 66, 66, 66, 92, 92, 92, 232, 232, 232, 169, 169, 169, 37, 37, 37, 110, 110, 110, 86, 86, 86, 116, 116, 116, 73, 73, 73, 243, 243, 243, 203, 203, 203, 177, 177, 177, 161, 161, 161, 98, 98, 98, 30, 30, 30, 51, 51, 51, 79, 79, 79, 122, 122, 122, 134, 134, 134, 185, 185, 185, 154, 154, 154, 211, 211, 211, 138, 138, 138, 39, 39, 39, 32, 32, 32, 17, 17, 17, 60, 60, 60, 129, 129, 129, 205, 205, 205, 87, 87, 87, 64, 64, 64, 25, 25, 25, 235, 235, 235, 81, 81, 81, 152, 152, 152, 71, 71, 71, 84, 84, 84, 179, 179, 179, 57, 57, 57, 200, 200, 200, 43, 43, 43, 246, 246, 246, 159, 159, 159, 99, 99, 99, 214, 214, 214, 11, 11, 11, 175, 175, 175, 219, 219, 219, 142, 142, 142, 167, 167, 167, 115, 115, 115, 171, 171, 171, 21, 21, 21, 75, 75, 75, 53, 53, 53, 91, 91, 91, 230, 230, 230], shape(grayCS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: hawaii = reshape([140, 2, 115, 141, 4, 114, 141, 6, 113, 141, 8, 112, 141, 10, 111, 142, 13, 110, 142, 14, 109, 142, 16, 108, 142, 18, 107, 142, 19, 106, 143, 21, 105, 143, 22, 104, 143, 24, 103, 143, 25, 102, 143, 26, 101, 144, 28, 100, 144, 29, 99, 144, 30, 99, 144, 31, 98, 144, 32, 97, 144, 33, 96, 145, 35, 95, 145, 36, 94, 145, 37, 93, 145, 38, 92, 145, 39, 91, 145, 40, 90, 146, 41, 90, 146, 42, 89, 146, 43, 88, 146, 44, 87, 146, 45, 86, 146, 46, 85, 146, 47, 84, 147, 48, 84, 147, 49, 83, 147, 50, 82, 147, 51, 81, 147, 52, 80, 147, 53, 80, 147, 54, 79, 148, 55, 78, 148, 56, 77, 148, 57, 77, 148, 58, 76, 148, 59, 75, 148, 60, 74, 148, 61, 74, 149, 62, 73, 149, 63, 72, 149, 64, 71, 149, 65, 71, 149, 66, 70, 149, 67, 69, 149, 68, 69, 149, 69, 68, 150, 70, 67, 150, 71, 66, 150, 72, 66, 150, 73, 65, 150, 74, 64, 150, 75, 64, 150, 76, 63, 150, 77, 62, 151, 78, 62, 151, 79, 61, 151, 80, 60, 151, 81, 60, 151, 82, 59, 151, 83, 58, 151, 83, 58, 151, 84, 57, 152, 85, 56, 152, 86, 56, 152, 87, 55, 152, 88, 54, 152, 89, 54, 152, 90, 53, 152, 92, 52, 153, 93, 52, 153, 94, 51, 153, 95, 50, 153, 96, 50, 153, 97, 49, 153, 98, 48, 153, 99, 48, 153, 100, 47, 154, 101, 46, 154, 102, 46, 154, 103, 45, 154, 104, 44, 154, 105, 44, 154, 106, 43, 154, 107, 42, 155, 108, 42, 155, 109, 41, 155, 111, 40, 155, 112, 40, 155, 113, 39, 155, 114, 38, 155, 115, 38, 155, 116, 37, 156, 117, 36, 156, 119, 36, 156, 120, 35, 156, 121, 35, 156, 122, 34, 156, 123, 33, 156, 125, 33, 156, 126, 32, 156, 127, 32, 156, 128, 31, 157, 129, 31, 157, 131, 30, 157, 132, 30, 157, 133, 29, 157, 135, 29, 157, 136, 29, 157, 137, 28, 157, 138, 28, 157, 140, 28, 157, 141, 28, 157, 142, 28, 157, 144, 28, 156, 145, 28, 156, 146, 28, 156, 148, 28, 156, 149, 28, 156, 150, 28, 156, 152, 29, 155, 153, 29, 155, 154, 30, 155, 156, 31, 155, 157, 31, 154, 159, 32, 154, 160, 33, 154, 161, 34, 153, 163, 35, 153, 164, 36, 152, 165, 38, 152, 166, 39, 151, 168, 40, 151, 169, 42, 150, 170, 43, 149, 171, 45, 149, 173, 46, 148, 174, 48, 147, 175, 50, 147, 176, 51, 146, 177, 53, 145, 179, 55, 145, 180, 57, 144, 181, 59, 143, 182, 60, 142, 183, 62, 141, 184, 64, 140, 185, 66, 140, 186, 68, 139, 187, 70, 138, 188, 72, 137, 189, 74, 136, 190, 76, 135, 190, 78, 134, 191, 80, 133, 192, 82, 132, 193, 84, 131, 194, 87, 130, 195, 89, 130, 195, 91, 129, 196, 93, 128, 197, 95, 127, 198, 97, 126, 198, 99, 125, 199, 101, 124, 200, 103, 123, 201, 105, 122, 201, 108, 121, 202, 110, 120, 203, 112, 119, 204, 114, 118, 204, 116, 117, 205, 118, 116, 206, 121, 115, 206, 123, 114, 207, 125, 113, 208, 127, 112, 208, 129, 112, 209, 131, 111, 210, 134, 110, 210, 136, 109, 211, 138, 108, 212, 140, 107, 212, 142, 106, 213, 145, 105, 214, 147, 104, 214, 149, 104, 215, 151, 103, 216, 153, 102, 216, 156, 101, 217, 158, 100, 218, 160, 100, 218, 162, 99, 219, 165, 98, 220, 167, 98, 220, 169, 97, 221, 171, 97, 222, 174, 96, 222, 176, 96, 223, 178, 96, 224, 180, 95, 224, 183, 95, 225, 185, 95, 226, 187, 95, 226, 189, 95, 227, 192, 95, 228, 194, 96, 228, 196, 96, 229, 198, 97, 229, 200, 97, 230, 202, 98, 231, 205, 99, 231, 207, 100, 232, 209, 102, 232, 211, 103, 233, 213, 104, 233, 215, 106, 234, 217, 108, 235, 219, 109, 235, 220, 111, 235, 222, 113, 236, 224, 115, 236, 226, 118, 237, 227, 120, 237, 229, 122, 238, 231, 125, 238, 232, 127, 238, 234, 130, 239, 235, 132, 239, 236, 135, 239, 238, 138, 240, 239, 141, 240, 240, 143, 240, 241, 146, 240, 243, 149, 241, 244, 152, 241, 245, 154, 241, 246, 157, 241, 247, 160, 241, 248, 163, 241, 249, 166, 241, 249, 168, 242, 250, 171, 242, 251, 174, 242, 252, 177, 242, 253, 179, 242, 253], shape(hawaii), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: hawaii10 = reshape([140, 2, 115, 146, 42, 89, 150, 71, 66, 153, 99, 48, 157, 131, 30, 151, 169, 42, 128, 197, 95, 102, 216, 156, 108, 235, 219, 179, 242, 253], shape(hawaii10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: hawaii100 = reshape([140, 2, 115, 141, 8, 112, 142, 13, 110, 142, 18, 107, 143, 21, 105, 143, 25, 102, 144, 28, 100, 144, 31, 98, 145, 35, 95, 145, 37, 93, 145, 40, 90, 146, 42, 89, 146, 45, 86, 146, 47, 84, 147, 50, 82, 147, 53, 80, 148, 55, 78, 148, 58, 76, 148, 60, 74, 149, 63, 72, 149, 66, 70, 149, 68, 69, 150, 71, 66, 150, 73, 65, 150, 76, 63, 151, 78, 62, 151, 81, 60, 151, 83, 58, 152, 85, 56, 152, 88, 54, 152, 90, 53, 153, 94, 51, 153, 96, 50, 153, 99, 48, 154, 102, 46, 154, 104, 44, 154, 107, 42, 155, 109, 41, 155, 113, 39, 155, 115, 38, 156, 119, 36, 156, 122, 34, 156, 125, 33, 156, 128, 31, 157, 131, 30, 157, 135, 29, 157, 137, 28, 157, 141, 28, 156, 145, 28, 156, 148, 28, 156, 152, 29, 155, 154, 30, 154, 159, 32, 153, 163, 35, 152, 165, 38, 151, 169, 42, 149, 171, 45, 147, 175, 50, 146, 177, 53, 144, 181, 59, 141, 184, 64, 140, 186, 68, 137, 189, 74, 135, 190, 78, 132, 193, 84, 130, 195, 89, 128, 197, 95, 125, 199, 101, 123, 201, 105, 120, 203, 112, 118, 204, 116, 115, 206, 123, 113, 208, 127, 111, 210, 134, 108, 212, 140, 106, 213, 145, 104, 215, 151, 102, 216, 156, 100, 218, 162, 98, 220, 167, 97, 222, 174, 96, 224, 180, 95, 225, 185, 95, 227, 192, 96, 228, 196, 97, 230, 202, 100, 232, 209, 103, 233, 213, 108, 235, 219, 111, 235, 222, 118, 237, 227, 122, 238, 231, 130, 239, 235, 138, 240, 239, 143, 240, 241, 152, 241, 245, 157, 241, 247, 166, 241, 249, 171, 242, 251, 179, 242, 253], shape(hawaii100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: hawaii25 = reshape([140, 2, 115, 143, 22, 104, 145, 35, 95, 146, 46, 85, 148, 57, 77, 149, 67, 69, 151, 78, 62, 152, 87, 55, 153, 99, 48, 155, 111, 40, 156, 122, 34, 157, 136, 29, 156, 150, 28, 153, 164, 36, 146, 177, 53, 138, 188, 72, 128, 197, 95, 117, 205, 118, 108, 212, 140, 99, 219, 165, 95, 226, 189, 102, 232, 211, 122, 238, 231, 149, 241, 244, 179, 242, 253], shape(hawaii25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: hawaii50 = reshape([140, 2, 115, 142, 13, 110, 143, 21, 105, 144, 29, 99, 145, 35, 95, 145, 40, 90, 146, 45, 86, 147, 50, 82, 148, 56, 77, 148, 61, 74, 149, 66, 70, 150, 71, 66, 150, 76, 63, 151, 82, 59, 152, 86, 56, 152, 92, 52, 153, 97, 49, 154, 102, 46, 155, 108, 42, 155, 114, 38, 156, 120, 35, 156, 126, 32, 157, 132, 30, 157, 140, 28, 156, 146, 28, 155, 153, 29, 154, 160, 33, 151, 168, 40, 148, 174, 48, 145, 180, 57, 140, 185, 66, 136, 190, 76, 130, 195, 89, 126, 198, 99, 121, 202, 110, 116, 206, 121, 112, 209, 131, 106, 213, 145, 102, 216, 156, 98, 220, 167, 96, 223, 178, 95, 226, 189, 97, 230, 202, 103, 233, 213, 111, 235, 222, 122, 238, 231, 135, 239, 238, 152, 241, 245, 166, 241, 249, 179, 242, 253], shape(hawaii50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: hawaiiS = reshape([140, 2, 115, 179, 242, 253, 156, 150, 28, 151, 78, 62, 107, 212, 142, 146, 46, 85, 137, 189, 74, 155, 111, 40, 103, 233, 213, 122, 201, 108, 149, 62, 73, 96, 223, 178, 149, 171, 45, 144, 29, 99, 153, 94, 51, 157, 129, 31, 135, 239, 238, 147, 54, 79, 96, 228, 196, 157, 241, 247, 157, 140, 28, 142, 18, 107, 156, 120, 35, 150, 70, 67, 100, 218, 160, 152, 85, 56, 114, 207, 125, 130, 195, 91, 144, 181, 59, 145, 38, 92, 154, 102, 46, 154, 161, 34, 115, 236, 226, 152, 166, 39, 151, 82, 59, 146, 42, 89, 148, 58, 76, 153, 98, 48, 156, 145, 28, 156, 125, 33, 155, 156, 31, 118, 204, 116, 157, 135, 29, 141, 10, 111, 143, 24, 103, 147, 176, 51, 168, 242, 250, 126, 198, 99, 125, 238, 232, 152, 89, 54, 154, 106, 43, 98, 231, 205, 98, 220, 169, 155, 115, 38, 95, 226, 187, 150, 74, 64, 140, 185, 66, 149, 66, 70, 133, 192, 82, 104, 215, 151, 144, 33, 96, 147, 50, 82, 111, 210, 134, 146, 240, 243, 108, 235, 219, 143, 26, 101, 149, 64, 71, 135, 190, 78, 152, 92, 52, 147, 52, 80, 149, 68, 69, 152, 241, 245, 153, 100, 47, 151, 83, 58, 124, 200, 103, 141, 6, 113, 145, 40, 90, 155, 113, 39, 152, 87, 55, 109, 211, 138, 112, 208, 129, 100, 232, 209, 148, 174, 48, 145, 179, 55, 153, 164, 36, 97, 229, 200, 157, 137, 28, 156, 122, 34, 139, 187, 70, 153, 96, 50, 145, 36, 94, 156, 127, 32, 150, 72, 66, 116, 206, 121, 95, 224, 183, 156, 148, 28, 128, 197, 95, 151, 80, 60, 154, 159, 32, 155, 108, 42], shape(hawaiiS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: imola = reshape([26, 51, 179, 26, 52, 178, 27, 53, 178, 27, 53, 177, 28, 54, 177, 28, 55, 177, 28, 55, 176, 29, 56, 176, 29, 57, 176, 30, 57, 175, 30, 58, 175, 30, 59, 175, 31, 60, 174, 31, 60, 174, 31, 61, 174, 32, 62, 173, 32, 62, 173, 32, 63, 173, 33, 64, 172, 33, 64, 172, 33, 65, 172, 34, 66, 171, 34, 66, 171, 34, 67, 171, 35, 68, 170, 35, 68, 170, 35, 69, 170, 36, 70, 169, 36, 70, 169, 36, 71, 169, 37, 72, 168, 37, 72, 168, 37, 73, 168, 38, 74, 167, 38, 74, 167, 38, 75, 167, 39, 76, 166, 39, 76, 166, 39, 77, 166, 40, 78, 165, 40, 78, 165, 40, 79, 165, 41, 80, 164, 41, 80, 164, 41, 81, 164, 42, 82, 163, 42, 82, 163, 42, 83, 163, 43, 83, 162, 43, 84, 162, 43, 85, 162, 44, 85, 161, 44, 86, 161, 44, 87, 161, 45, 87, 160, 45, 88, 160, 45, 89, 160, 46, 89, 159, 46, 90, 159, 46, 91, 159, 47, 91, 158, 47, 92, 158, 47, 93, 158, 48, 93, 157, 48, 94, 157, 48, 95, 156, 49, 95, 156, 49, 96, 156, 50, 96, 155, 50, 97, 155, 50, 98, 155, 51, 98, 154, 51, 99, 154, 52, 100, 153, 52, 100, 153, 52, 101, 152, 53, 101, 152, 53, 102, 152, 54, 103, 151, 54, 103, 151, 55, 104, 150, 55, 104, 150, 56, 105, 149, 56, 106, 149, 57, 106, 148, 57, 107, 148, 58, 107, 147, 58, 108, 147, 59, 108, 146, 59, 109, 146, 60, 110, 145, 60, 110, 145, 61, 111, 144, 61, 111, 144, 62, 112, 143, 62, 112, 143, 63, 113, 142, 64, 114, 141, 64, 114, 141, 65, 115, 140, 65, 115, 140, 66, 116, 139, 66, 116, 139, 67, 117, 138, 68, 118, 138, 68, 118, 137, 69, 119, 137, 69, 119, 136, 70, 120, 136, 70, 121, 135, 71, 121, 135, 72, 122, 134, 72, 123, 134, 73, 123, 133, 74, 124, 133, 74, 125, 132, 75, 125, 132, 76, 126, 131, 76, 127, 131, 77, 127, 130, 78, 128, 130, 78, 129, 129, 79, 129, 129, 80, 130, 129, 81, 131, 128, 81, 132, 128, 82, 133, 128, 83, 133, 127, 84, 134, 127, 85, 135, 127, 86, 136, 126, 86, 137, 126, 87, 138, 126, 88, 138, 125, 89, 139, 125, 90, 140, 125, 91, 141, 125, 92, 142, 124, 92, 143, 124, 93, 144, 124, 94, 145, 123, 95, 146, 123, 96, 146, 123, 97, 147, 123, 98, 148, 122, 99, 149, 122, 100, 150, 122, 101, 151, 122, 102, 152, 122, 103, 153, 121, 103, 154, 121, 104, 155, 121, 105, 156, 121, 106, 157, 120, 107, 158, 120, 108, 159, 120, 109, 160, 120, 110, 161, 119, 111, 162, 119, 112, 163, 119, 113, 164, 119, 114, 165, 118, 115, 166, 118, 116, 167, 118, 117, 168, 118, 118, 169, 117, 119, 170, 117, 120, 171, 117, 121, 172, 117, 122, 173, 116, 123, 174, 116, 124, 175, 116, 125, 176, 116, 126, 177, 115, 127, 178, 115, 128, 179, 115, 129, 180, 115, 130, 181, 114, 131, 182, 114, 132, 183, 114, 133, 184, 114, 134, 185, 113, 135, 186, 113, 136, 187, 113, 137, 188, 113, 138, 189, 112, 139, 190, 112, 140, 191, 112, 141, 192, 112, 142, 193, 111, 144, 194, 111, 145, 195, 111, 146, 196, 110, 147, 198, 110, 148, 199, 110, 149, 200, 110, 150, 201, 109, 151, 202, 109, 152, 203, 109, 153, 204, 109, 155, 205, 108, 156, 206, 108, 157, 207, 108, 158, 208, 108, 159, 210, 107, 161, 211, 107, 162, 212, 107, 163, 213, 107, 164, 214, 106, 166, 215, 106, 167, 216, 106, 169, 217, 106, 170, 218, 105, 172, 219, 105, 173, 221, 105, 175, 222, 105, 176, 223, 104, 178, 224, 104, 180, 225, 104, 181, 226, 104, 183, 227, 104, 185, 228, 104, 187, 229, 103, 189, 230, 103, 191, 231, 103, 192, 232, 103, 194, 233, 103, 196, 234, 103, 198, 235, 103, 200, 235, 103, 202, 236, 103, 205, 237, 102, 207, 238, 102, 209, 239, 102, 211, 240, 102, 213, 240, 102, 215, 241, 102, 217, 242, 102, 219, 243, 102, 221, 244, 102, 223, 244, 102, 226, 245, 102, 228, 246, 102, 230, 246, 102, 232, 247, 102, 234, 248, 102, 236, 249, 102, 238, 249, 102, 240, 250, 102, 242, 251, 102, 245, 251, 102, 247, 252, 102, 249, 253, 102, 251, 254, 102, 253, 254, 102, 255, 255, 102], shape(imola), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: imola10 = reshape([26, 51, 179, 36, 70, 169, 46, 89, 159, 57, 107, 148, 73, 123, 133, 96, 146, 123, 123, 174, 116, 152, 203, 109, 196, 234, 103, 255, 255, 102], shape(imola10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: imola100 = reshape([26, 51, 179, 27, 53, 177, 28, 55, 177, 29, 57, 176, 30, 58, 175, 31, 60, 174, 32, 62, 173, 33, 64, 172, 34, 66, 171, 34, 67, 171, 35, 69, 170, 36, 70, 169, 37, 72, 168, 38, 74, 167, 39, 76, 166, 40, 78, 165, 40, 79, 165, 41, 81, 164, 42, 82, 163, 43, 84, 162, 44, 86, 161, 45, 87, 160, 46, 89, 159, 46, 91, 159, 47, 93, 158, 48, 94, 157, 49, 96, 156, 50, 98, 155, 51, 99, 154, 52, 101, 152, 53, 102, 152, 55, 104, 150, 56, 105, 149, 57, 107, 148, 59, 108, 146, 60, 110, 145, 61, 111, 144, 62, 112, 143, 64, 114, 141, 65, 115, 140, 67, 117, 138, 69, 119, 137, 70, 120, 136, 72, 122, 134, 73, 123, 133, 75, 125, 132, 76, 127, 131, 78, 129, 129, 81, 131, 128, 82, 133, 128, 85, 135, 127, 86, 137, 126, 89, 139, 125, 92, 142, 124, 93, 144, 124, 96, 146, 123, 98, 148, 122, 101, 151, 122, 103, 153, 121, 105, 156, 121, 108, 159, 120, 110, 161, 119, 113, 164, 119, 115, 166, 118, 118, 169, 117, 120, 171, 117, 123, 174, 116, 126, 177, 115, 128, 179, 115, 131, 182, 114, 133, 184, 114, 136, 187, 113, 138, 189, 112, 141, 192, 112, 145, 195, 111, 147, 198, 110, 150, 201, 109, 152, 203, 109, 156, 206, 108, 158, 208, 108, 162, 212, 107, 166, 215, 106, 169, 217, 106, 173, 221, 105, 176, 223, 104, 181, 226, 104, 187, 229, 103, 191, 231, 103, 196, 234, 103, 200, 235, 103, 207, 238, 102, 211, 240, 102, 217, 242, 102, 223, 244, 102, 228, 246, 102, 234, 248, 102, 238, 249, 102, 245, 251, 102, 249, 253, 102, 255, 255, 102], shape(imola100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: imola25 = reshape([26, 51, 179, 30, 59, 175, 34, 66, 171, 37, 73, 168, 41, 80, 164, 44, 87, 161, 48, 94, 157, 52, 100, 153, 57, 107, 148, 63, 113, 142, 69, 119, 137, 76, 126, 131, 84, 134, 127, 92, 143, 124, 103, 153, 121, 112, 163, 119, 123, 174, 116, 134, 185, 113, 145, 195, 111, 157, 207, 108, 172, 219, 105, 189, 230, 103, 211, 240, 102, 232, 247, 102, 255, 255, 102], shape(imola25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: imola50 = reshape([26, 51, 179, 28, 55, 177, 30, 58, 175, 32, 62, 173, 34, 66, 171, 35, 69, 170, 37, 72, 168, 39, 76, 166, 41, 80, 164, 42, 83, 163, 44, 86, 161, 46, 89, 159, 47, 93, 158, 50, 96, 155, 52, 100, 153, 54, 103, 151, 56, 106, 149, 59, 108, 146, 62, 112, 143, 65, 115, 140, 68, 118, 138, 70, 121, 135, 74, 124, 133, 78, 128, 130, 81, 132, 128, 86, 136, 126, 90, 140, 125, 95, 146, 123, 100, 150, 122, 104, 155, 121, 109, 160, 120, 114, 165, 118, 120, 171, 117, 125, 176, 116, 130, 181, 114, 135, 186, 113, 140, 191, 112, 147, 198, 110, 152, 203, 109, 158, 208, 108, 164, 214, 106, 172, 219, 105, 181, 226, 104, 191, 231, 103, 200, 235, 103, 211, 240, 102, 221, 244, 102, 234, 248, 102, 245, 251, 102, 255, 255, 102], shape(imola50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: imolaS = reshape([26, 51, 179, 255, 255, 102, 84, 134, 127, 48, 94, 157, 145, 195, 111, 63, 113, 142, 189, 230, 103, 37, 73, 168, 113, 164, 119, 43, 83, 162, 221, 244, 102, 72, 123, 134, 32, 62, 173, 163, 213, 107, 98, 148, 122, 55, 104, 150, 128, 179, 115, 175, 222, 105, 45, 89, 160, 136, 187, 113, 205, 237, 102, 68, 118, 138, 59, 108, 146, 238, 249, 102, 91, 141, 125, 105, 156, 121, 40, 78, 165, 35, 68, 170, 51, 99, 154, 29, 57, 176, 78, 128, 130, 153, 204, 109, 121, 172, 117, 70, 120, 136, 140, 191, 112, 87, 138, 126, 117, 168, 118, 169, 217, 106, 102, 152, 122, 65, 115, 140, 61, 111, 144, 33, 65, 172, 230, 246, 102, 57, 106, 148, 53, 101, 152, 28, 54, 177, 94, 145, 123, 247, 252, 102, 44, 86, 161, 158, 208, 108, 36, 70, 169, 181, 226, 104, 149, 200, 110, 75, 125, 132, 39, 76, 166, 213, 240, 102, 41, 81, 164, 31, 60, 174, 109, 160, 120, 132, 183, 114, 50, 96, 155, 196, 234, 103, 81, 131, 128, 47, 91, 158, 124, 175, 116, 92, 143, 124, 37, 72, 168, 33, 64, 172, 54, 103, 151, 130, 181, 114, 76, 127, 131, 86, 136, 126, 31, 61, 174, 35, 69, 170, 62, 112, 143, 60, 110, 145, 251, 254, 102, 156, 206, 108, 126, 177, 115, 200, 235, 103, 89, 139, 125, 64, 114, 141, 192, 232, 103, 47, 93, 158, 42, 82, 163, 134, 185, 113, 49, 95, 156, 41, 80, 164, 56, 105, 149, 58, 107, 147, 27, 53, 178, 50, 98, 155, 147, 198, 110, 242, 251, 102, 52, 100, 153, 119, 170, 117, 234, 248, 102, 100, 150, 122, 69, 119, 137, 115, 166, 118], shape(imolaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lajolla = reshape([25, 25, 0, 26, 26, 1, 27, 26, 1, 28, 26, 1, 29, 27, 2, 30, 27, 2, 30, 27, 3, 31, 28, 3, 32, 28, 4, 33, 28, 4, 34, 28, 5, 35, 29, 5, 36, 29, 6, 36, 29, 7, 37, 30, 7, 38, 30, 8, 39, 30, 8, 40, 31, 9, 41, 31, 9, 42, 31, 10, 43, 32, 10, 44, 32, 11, 45, 32, 12, 46, 33, 12, 47, 33, 13, 48, 33, 13, 49, 34, 14, 50, 34, 15, 51, 34, 15, 52, 35, 16, 53, 35, 16, 54, 36, 17, 55, 36, 17, 57, 36, 18, 58, 37, 19, 59, 37, 19, 60, 38, 20, 61, 38, 20, 63, 38, 21, 64, 39, 22, 65, 39, 22, 67, 40, 23, 68, 40, 23, 69, 41, 24, 71, 41, 25, 72, 42, 26, 74, 42, 26, 75, 43, 27, 77, 43, 28, 78, 44, 29, 80, 44, 29, 81, 45, 30, 83, 45, 31, 84, 46, 32, 86, 46, 33, 87, 47, 33, 89, 47, 34, 91, 48, 35, 92, 48, 36, 94, 49, 37, 96, 50, 38, 97, 50, 39, 99, 51, 40, 101, 51, 41, 103, 52, 42, 105, 53, 43, 106, 53, 44, 108, 54, 44, 110, 54, 45, 112, 55, 46, 114, 56, 47, 116, 56, 48, 118, 57, 49, 120, 57, 50, 121, 58, 51, 123, 59, 52, 125, 59, 53, 127, 60, 54, 129, 60, 55, 131, 61, 56, 133, 62, 57, 135, 62, 58, 137, 63, 58, 139, 63, 59, 141, 64, 60, 143, 64, 61, 146, 65, 62, 148, 65, 62, 150, 66, 63, 152, 66, 64, 154, 67, 64, 156, 67, 65, 158, 68, 66, 160, 68, 66, 162, 69, 67, 164, 69, 68, 166, 70, 68, 168, 70, 69, 171, 71, 69, 173, 71, 70, 175, 72, 70, 177, 72, 71, 179, 73, 71, 181, 73, 71, 183, 74, 72, 185, 74, 72, 187, 75, 72, 188, 76, 73, 190, 76, 73, 192, 77, 73, 194, 77, 74, 196, 78, 74, 197, 79, 74, 199, 80, 75, 201, 81, 75, 202, 81, 75, 204, 82, 75, 205, 83, 76, 207, 84, 76, 208, 85, 76, 209, 86, 76, 210, 88, 76, 212, 89, 77, 213, 90, 77, 214, 91, 77, 215, 92, 77, 215, 94, 77, 216, 95, 77, 217, 96, 78, 218, 97, 78, 219, 99, 78, 219, 100, 78, 220, 101, 78, 220, 103, 78, 221, 104, 78, 221, 105, 79, 222, 107, 79, 222, 108, 79, 223, 109, 79, 223, 110, 79, 224, 112, 79, 224, 113, 79, 224, 114, 79, 225, 116, 79, 225, 117, 80, 225, 118, 80, 225, 119, 80, 226, 121, 80, 226, 122, 80, 226, 123, 80, 227, 124, 80, 227, 125, 80, 227, 127, 80, 227, 128, 80, 228, 129, 80, 228, 130, 81, 228, 131, 81, 228, 133, 81, 229, 134, 81, 229, 135, 81, 229, 136, 81, 229, 137, 81, 230, 139, 81, 230, 140, 81, 230, 141, 81, 230, 142, 81, 230, 143, 82, 231, 144, 82, 231, 146, 82, 231, 147, 82, 231, 148, 82, 232, 149, 82, 232, 150, 82, 232, 151, 82, 232, 152, 82, 233, 154, 82, 233, 155, 82, 233, 156, 82, 233, 157, 83, 234, 158, 83, 234, 159, 83, 234, 161, 83, 234, 162, 83, 235, 163, 83, 235, 164, 83, 235, 165, 83, 235, 166, 83, 235, 168, 83, 236, 169, 83, 236, 170, 84, 236, 171, 84, 236, 172, 84, 237, 174, 84, 237, 175, 84, 237, 176, 84, 237, 177, 84, 238, 179, 85, 238, 180, 85, 238, 181, 85, 239, 182, 85, 239, 184, 86, 239, 185, 86, 239, 186, 86, 240, 188, 87, 240, 189, 87, 240, 190, 88, 241, 192, 88, 241, 193, 89, 241, 194, 90, 241, 196, 90, 242, 197, 91, 242, 199, 92, 242, 200, 93, 243, 202, 95, 243, 203, 96, 244, 205, 97, 244, 206, 99, 244, 208, 101, 245, 209, 103, 245, 211, 105, 245, 212, 107, 246, 214, 109, 246, 215, 111, 247, 217, 113, 247, 218, 116, 247, 220, 119, 248, 221, 121, 248, 223, 124, 248, 224, 127, 249, 226, 130, 249, 227, 132, 250, 229, 135, 250, 230, 138, 250, 231, 141, 251, 232, 144, 251, 234, 147, 251, 235, 150, 251, 236, 153, 252, 237, 156, 252, 239, 159, 252, 240, 162, 252, 241, 165, 253, 242, 168, 253, 243, 171, 253, 244, 174, 253, 245, 176, 254, 246, 179, 254, 247, 182, 254, 248, 184, 254, 249, 187, 254, 250, 190, 254, 251, 192, 255, 252, 195, 255, 253, 198, 255, 254, 200, 255, 254, 203], shape(lajolla), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lajolla10 = reshape([25, 25, 0, 51, 34, 15, 91, 48, 35, 143, 64, 61, 199, 80, 75, 224, 114, 79, 231, 148, 82, 238, 181, 85, 248, 223, 124, 255, 254, 203], shape(lajolla10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lajolla100 = reshape([25, 25, 0, 28, 26, 1, 30, 27, 2, 32, 28, 4, 34, 28, 5, 36, 29, 7, 38, 30, 8, 41, 31, 9, 44, 32, 11, 46, 33, 12, 49, 34, 14, 51, 34, 15, 54, 36, 17, 57, 36, 18, 60, 38, 20, 64, 39, 22, 67, 40, 23, 71, 41, 25, 74, 42, 26, 78, 44, 29, 83, 45, 31, 86, 46, 33, 91, 48, 35, 94, 49, 37, 99, 51, 40, 103, 52, 42, 108, 54, 44, 114, 56, 47, 118, 57, 49, 123, 59, 52, 127, 60, 54, 133, 62, 57, 137, 63, 58, 143, 64, 61, 150, 66, 63, 154, 67, 64, 160, 68, 66, 164, 69, 68, 171, 71, 69, 175, 72, 70, 181, 73, 71, 187, 75, 72, 190, 76, 73, 196, 78, 74, 199, 80, 75, 204, 82, 75, 207, 84, 76, 210, 88, 76, 214, 91, 77, 215, 94, 77, 218, 97, 78, 219, 100, 78, 221, 104, 78, 222, 108, 79, 223, 110, 79, 224, 114, 79, 225, 117, 80, 226, 121, 80, 226, 123, 80, 227, 127, 80, 228, 130, 81, 228, 133, 81, 229, 136, 81, 230, 139, 81, 230, 142, 81, 231, 144, 82, 231, 148, 82, 232, 151, 82, 233, 154, 82, 233, 157, 83, 234, 159, 83, 235, 163, 83, 235, 165, 83, 236, 169, 83, 236, 172, 84, 237, 175, 84, 238, 179, 85, 238, 181, 85, 239, 185, 86, 240, 188, 87, 241, 192, 88, 241, 196, 90, 242, 199, 92, 243, 203, 96, 244, 206, 99, 245, 211, 105, 246, 215, 111, 247, 218, 116, 248, 223, 124, 249, 226, 130, 250, 230, 138, 251, 232, 144, 251, 236, 153, 252, 240, 162, 253, 242, 168, 253, 245, 176, 254, 247, 182, 254, 250, 190, 255, 252, 195, 255, 254, 203], shape(lajolla100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lajolla25 = reshape([25, 25, 0, 35, 29, 5, 44, 32, 11, 55, 36, 17, 69, 41, 24, 84, 46, 32, 103, 52, 42, 121, 58, 51, 143, 64, 61, 166, 70, 68, 187, 75, 72, 205, 83, 76, 217, 96, 78, 223, 109, 79, 226, 123, 80, 229, 135, 81, 231, 148, 82, 234, 161, 83, 236, 172, 84, 239, 186, 86, 243, 202, 95, 247, 217, 113, 251, 232, 144, 253, 244, 174, 255, 254, 203], shape(lajolla25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lajolla50 = reshape([25, 25, 0, 30, 27, 2, 34, 28, 5, 39, 30, 8, 44, 32, 11, 49, 34, 14, 54, 36, 17, 60, 38, 20, 68, 40, 23, 75, 43, 27, 83, 45, 31, 91, 48, 35, 99, 51, 40, 110, 54, 45, 120, 57, 50, 129, 60, 55, 139, 63, 59, 150, 66, 63, 162, 69, 67, 173, 71, 70, 183, 74, 72, 192, 77, 73, 201, 81, 75, 209, 86, 76, 215, 92, 77, 219, 99, 78, 221, 105, 79, 224, 113, 79, 225, 119, 80, 227, 125, 80, 228, 131, 81, 229, 137, 81, 231, 144, 82, 232, 150, 82, 233, 156, 82, 234, 162, 83, 235, 168, 83, 237, 175, 84, 238, 181, 85, 240, 188, 87, 241, 194, 90, 243, 202, 95, 245, 211, 105, 247, 218, 116, 249, 226, 130, 251, 232, 144, 252, 239, 159, 253, 245, 176, 254, 250, 190, 255, 254, 203], shape(lajolla50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lajollaS = reshape([25, 25, 0, 255, 254, 203, 217, 96, 78, 103, 52, 42, 237, 174, 84, 55, 36, 17, 229, 136, 81, 166, 70, 68, 247, 218, 116, 241, 194, 90, 133, 62, 57, 77, 43, 28, 233, 155, 82, 225, 117, 80, 39, 30, 8, 197, 79, 74, 252, 240, 162, 150, 66, 63, 235, 164, 83, 183, 74, 72, 231, 146, 82, 250, 230, 138, 239, 184, 86, 32, 28, 4, 244, 206, 99, 227, 127, 80, 118, 57, 49, 47, 33, 13, 222, 107, 79, 89, 47, 34, 209, 86, 76, 65, 39, 22, 254, 248, 184, 245, 212, 107, 158, 68, 66, 36, 29, 6, 125, 59, 53, 141, 64, 60, 214, 91, 77, 224, 112, 79, 234, 159, 83, 175, 72, 70, 251, 235, 150, 83, 45, 31, 236, 169, 83, 248, 224, 127, 226, 122, 80, 242, 200, 93, 29, 27, 2, 220, 101, 78, 43, 32, 10, 60, 38, 20, 190, 76, 73, 96, 50, 38, 230, 141, 81, 110, 54, 45, 238, 179, 85, 232, 150, 82, 71, 41, 25, 51, 34, 15, 204, 82, 75, 240, 189, 87, 228, 131, 81, 253, 244, 174, 254, 251, 192, 179, 73, 71, 114, 56, 47, 230, 139, 81, 86, 46, 33, 231, 148, 82, 74, 42, 26, 45, 32, 12, 251, 232, 144, 224, 114, 79, 194, 77, 74, 49, 34, 14, 225, 119, 80, 53, 35, 16, 106, 53, 44, 63, 38, 21, 162, 69, 67, 187, 75, 72, 252, 237, 156, 246, 215, 111, 239, 186, 86, 37, 30, 7, 212, 89, 77, 207, 84, 76, 215, 94, 77, 254, 246, 179, 121, 58, 51, 58, 37, 19, 241, 192, 88, 30, 27, 3, 253, 242, 168, 238, 181, 85, 249, 227, 132, 235, 166, 83, 229, 134, 81, 255, 253, 198], shape(lajollaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lapaz = reshape([26, 12, 100, 27, 14, 101, 27, 15, 102, 27, 16, 103, 28, 18, 104, 28, 19, 104, 28, 20, 105, 29, 22, 106, 29, 23, 107, 29, 24, 108, 30, 25, 109, 30, 26, 109, 30, 28, 110, 31, 29, 111, 31, 30, 112, 31, 31, 113, 32, 32, 113, 32, 33, 114, 32, 35, 115, 32, 36, 116, 33, 37, 117, 33, 38, 117, 33, 39, 118, 33, 40, 119, 34, 41, 120, 34, 42, 121, 34, 43, 121, 34, 44, 122, 35, 45, 123, 35, 47, 124, 35, 48, 124, 35, 49, 125, 36, 50, 126, 36, 51, 127, 36, 52, 127, 36, 53, 128, 37, 54, 129, 37, 55, 130, 37, 56, 130, 37, 57, 131, 38, 58, 132, 38, 59, 132, 38, 60, 133, 38, 61, 134, 39, 62, 135, 39, 63, 135, 39, 64, 136, 39, 65, 137, 40, 66, 137, 40, 67, 138, 40, 69, 139, 40, 70, 139, 41, 71, 140, 41, 72, 140, 41, 73, 141, 42, 74, 142, 42, 75, 142, 42, 76, 143, 43, 77, 144, 43, 78, 144, 43, 79, 145, 44, 80, 145, 44, 81, 146, 44, 82, 146, 45, 83, 147, 45, 84, 148, 45, 85, 148, 46, 86, 149, 46, 87, 149, 46, 88, 150, 47, 89, 150, 47, 90, 151, 48, 91, 151, 48, 92, 152, 48, 93, 152, 49, 94, 153, 49, 94, 153, 50, 95, 153, 50, 96, 154, 51, 97, 154, 51, 98, 155, 52, 99, 155, 52, 100, 156, 53, 101, 156, 53, 102, 156, 54, 103, 157, 55, 104, 157, 55, 105, 157, 56, 106, 158, 56, 107, 158, 57, 108, 158, 58, 109, 159, 58, 110, 159, 59, 111, 159, 60, 112, 160, 60, 112, 160, 61, 113, 160, 62, 114, 161, 62, 115, 161, 63, 116, 161, 64, 117, 161, 65, 118, 162, 66, 119, 162, 66, 120, 162, 67, 121, 162, 68, 122, 162, 69, 122, 162, 70, 123, 163, 71, 124, 163, 72, 125, 163, 73, 126, 163, 74, 127, 163, 75, 128, 163, 76, 128, 163, 77, 129, 163, 78, 130, 163, 79, 131, 164, 80, 132, 164, 81, 133, 164, 82, 133, 164, 83, 134, 164, 84, 135, 164, 85, 136, 164, 86, 136, 164, 87, 137, 164, 88, 138, 163, 90, 139, 163, 91, 139, 163, 92, 140, 163, 93, 141, 163, 94, 142, 163, 96, 142, 163, 97, 143, 163, 98, 144, 163, 99, 144, 162, 101, 145, 162, 102, 146, 162, 103, 146, 162, 104, 147, 162, 106, 148, 161, 107, 148, 161, 108, 149, 161, 110, 149, 161, 111, 150, 161, 112, 151, 160, 114, 151, 160, 115, 152, 160, 116, 152, 159, 118, 153, 159, 119, 153, 159, 120, 154, 159, 122, 154, 158, 123, 155, 158, 124, 155, 158, 126, 156, 157, 127, 156, 157, 128, 157, 157, 130, 157, 156, 131, 158, 156, 133, 158, 156, 134, 158, 155, 135, 159, 155, 137, 159, 154, 138, 160, 154, 139, 160, 154, 141, 160, 153, 142, 161, 153, 144, 161, 153, 145, 162, 152, 146, 162, 152, 148, 162, 152, 149, 163, 152, 151, 163, 151, 152, 164, 151, 153, 164, 151, 155, 164, 150, 156, 165, 150, 158, 165, 150, 159, 166, 150, 161, 166, 150, 162, 166, 150, 164, 167, 149, 165, 167, 149, 167, 168, 149, 168, 168, 149, 170, 169, 149, 171, 169, 149, 173, 170, 149, 174, 170, 149, 176, 171, 149, 178, 171, 150, 179, 172, 150, 181, 173, 150, 183, 173, 150, 184, 174, 151, 186, 175, 151, 188, 176, 152, 190, 176, 152, 191, 177, 153, 193, 178, 153, 195, 179, 154, 197, 180, 155, 199, 181, 156, 200, 182, 156, 202, 183, 157, 204, 184, 158, 206, 185, 159, 208, 186, 160, 210, 187, 162, 211, 188, 163, 213, 189, 164, 215, 190, 166, 217, 192, 167, 218, 193, 168, 220, 194, 170, 222, 195, 171, 223, 197, 173, 225, 198, 175, 227, 199, 176, 228, 201, 178, 230, 202, 180, 231, 203, 181, 232, 204, 183, 234, 206, 185, 235, 207, 187, 236, 208, 189, 237, 210, 190, 239, 211, 192, 240, 212, 194, 241, 213, 196, 242, 215, 198, 243, 216, 200, 244, 217, 201, 244, 218, 203, 245, 219, 205, 246, 221, 207, 247, 222, 209, 247, 223, 211, 248, 224, 212, 249, 225, 214, 249, 226, 216, 250, 227, 218, 250, 229, 220, 251, 230, 221, 251, 231, 223, 251, 232, 225, 252, 233, 227, 252, 234, 229, 252, 235, 230, 253, 236, 232, 253, 237, 234, 253, 238, 236, 254, 239, 237, 254, 240, 239, 254, 241, 241, 254, 242, 243], shape(lapaz), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lapaz10 = reshape([26, 12, 100, 35, 45, 123, 42, 76, 143, 54, 103, 157, 76, 128, 163, 110, 149, 161, 148, 162, 152, 191, 177, 153, 239, 211, 192, 254, 242, 243], shape(lapaz10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lapaz100 = reshape([26, 12, 100, 27, 16, 103, 28, 19, 104, 29, 23, 107, 30, 25, 109, 31, 29, 111, 31, 31, 113, 32, 35, 115, 33, 38, 117, 33, 40, 119, 34, 43, 121, 35, 45, 123, 35, 49, 125, 36, 51, 127, 37, 54, 129, 37, 57, 131, 38, 59, 132, 39, 62, 135, 39, 64, 136, 40, 67, 138, 41, 71, 140, 41, 73, 141, 42, 76, 143, 43, 78, 144, 44, 81, 146, 45, 83, 147, 46, 86, 149, 47, 89, 150, 48, 91, 151, 49, 94, 153, 50, 95, 153, 51, 98, 155, 52, 100, 156, 54, 103, 157, 56, 106, 158, 57, 108, 158, 59, 111, 159, 60, 112, 160, 62, 115, 161, 64, 117, 161, 66, 120, 162, 69, 122, 162, 71, 124, 163, 74, 127, 163, 76, 128, 163, 79, 131, 164, 81, 133, 164, 84, 135, 164, 87, 137, 164, 90, 139, 163, 93, 141, 163, 96, 142, 163, 99, 144, 162, 103, 146, 162, 106, 148, 161, 110, 149, 161, 112, 151, 160, 116, 152, 159, 119, 153, 159, 123, 155, 158, 127, 156, 157, 130, 157, 156, 134, 158, 155, 137, 159, 154, 141, 160, 153, 144, 161, 153, 148, 162, 152, 152, 164, 151, 155, 164, 150, 159, 166, 150, 162, 166, 150, 167, 168, 149, 170, 169, 149, 174, 170, 149, 179, 172, 150, 183, 173, 150, 188, 176, 152, 191, 177, 153, 197, 180, 155, 200, 182, 156, 206, 185, 159, 211, 188, 163, 215, 190, 166, 220, 194, 170, 223, 197, 173, 228, 201, 178, 232, 204, 183, 235, 207, 187, 239, 211, 192, 241, 213, 196, 244, 217, 201, 245, 219, 205, 247, 223, 211, 249, 226, 216, 250, 229, 220, 251, 232, 225, 252, 234, 229, 253, 237, 234, 254, 239, 237, 254, 242, 243], shape(lapaz100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lapaz25 = reshape([26, 12, 100, 30, 26, 109, 33, 38, 117, 36, 50, 126, 38, 61, 134, 41, 72, 140, 45, 83, 147, 48, 93, 152, 54, 103, 157, 61, 113, 160, 69, 122, 162, 80, 132, 164, 92, 140, 163, 104, 147, 162, 119, 153, 159, 133, 158, 156, 148, 162, 152, 164, 167, 149, 179, 172, 150, 199, 181, 156, 218, 193, 168, 234, 206, 185, 245, 219, 205, 251, 231, 223, 254, 242, 243], shape(lapaz25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lapaz50 = reshape([26, 12, 100, 28, 19, 104, 30, 25, 109, 32, 32, 113, 33, 38, 117, 34, 43, 121, 35, 49, 125, 37, 54, 129, 38, 60, 133, 39, 65, 137, 41, 71, 140, 42, 76, 143, 44, 81, 146, 46, 87, 149, 48, 92, 152, 50, 96, 154, 53, 101, 156, 56, 106, 158, 60, 112, 160, 63, 116, 161, 67, 121, 162, 72, 125, 163, 77, 129, 163, 83, 134, 164, 88, 138, 163, 94, 142, 163, 101, 145, 162, 108, 149, 161, 115, 152, 160, 122, 154, 158, 128, 157, 157, 135, 159, 155, 144, 161, 153, 151, 163, 151, 158, 165, 150, 165, 167, 149, 173, 170, 149, 183, 173, 150, 191, 177, 153, 200, 182, 156, 210, 187, 162, 218, 193, 168, 228, 201, 178, 235, 207, 187, 241, 213, 196, 245, 219, 205, 249, 225, 214, 251, 232, 225, 253, 237, 234, 254, 242, 243], shape(lapaz50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lapazS = reshape([26, 12, 100, 254, 242, 243, 92, 140, 163, 45, 83, 147, 179, 172, 150, 61, 113, 160, 234, 206, 185, 36, 50, 126, 133, 158, 156, 32, 32, 113, 155, 164, 150, 51, 98, 155, 249, 225, 214, 208, 186, 160, 75, 128, 163, 40, 66, 137, 111, 150, 161, 34, 41, 120, 48, 91, 151, 144, 161, 153, 122, 154, 158, 252, 234, 229, 167, 168, 149, 67, 121, 162, 193, 178, 153, 29, 23, 107, 38, 58, 132, 222, 195, 171, 56, 106, 158, 243, 216, 200, 42, 75, 142, 83, 134, 164, 101, 145, 162, 30, 28, 110, 46, 87, 149, 37, 54, 129, 149, 163, 152, 87, 137, 164, 35, 45, 123, 79, 131, 164, 246, 221, 207, 138, 160, 154, 200, 182, 156, 253, 238, 236, 116, 152, 159, 71, 124, 163, 106, 148, 161, 161, 166, 150, 215, 190, 166, 127, 156, 157, 186, 175, 151, 49, 94, 153, 64, 117, 161, 33, 37, 117, 239, 211, 192, 41, 71, 140, 43, 79, 145, 53, 102, 156, 251, 230, 221, 28, 18, 104, 39, 62, 135, 58, 110, 159, 228, 201, 178, 173, 170, 149, 97, 143, 163, 231, 203, 181, 146, 162, 152, 190, 176, 152, 94, 142, 163, 27, 15, 102, 40, 69, 139, 73, 126, 163, 114, 151, 160, 60, 112, 160, 141, 160, 153, 124, 155, 158, 197, 180, 155, 37, 56, 130, 85, 136, 164, 55, 104, 157, 253, 236, 232, 247, 223, 211, 241, 213, 196, 62, 115, 161, 176, 171, 149, 244, 218, 203, 48, 93, 152, 33, 39, 118, 90, 139, 163, 47, 89, 150, 218, 193, 168, 36, 52, 127, 39, 64, 136, 103, 146, 162, 31, 30, 112, 43, 77, 144, 152, 164, 151, 34, 43, 121, 135, 159, 155, 236, 208, 189], shape(lapazS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lipari = reshape([3, 19, 38, 4, 20, 40, 4, 22, 41, 4, 23, 43, 5, 24, 45, 5, 25, 47, 5, 27, 49, 5, 28, 51, 6, 29, 53, 6, 31, 55, 6, 32, 56, 7, 33, 58, 7, 34, 60, 7, 36, 62, 8, 37, 64, 8, 38, 66, 9, 40, 68, 9, 41, 70, 10, 42, 72, 10, 44, 74, 11, 45, 75, 12, 46, 77, 13, 48, 79, 13, 49, 81, 14, 51, 83, 15, 52, 85, 16, 53, 87, 17, 55, 88, 19, 56, 90, 20, 57, 92, 21, 59, 94, 22, 60, 95, 24, 62, 97, 25, 63, 99, 27, 64, 100, 29, 66, 102, 30, 67, 104, 32, 68, 105, 34, 70, 107, 36, 71, 108, 37, 72, 109, 39, 73, 111, 41, 75, 112, 43, 76, 113, 45, 77, 114, 47, 78, 115, 49, 79, 116, 52, 80, 117, 54, 81, 118, 56, 82, 119, 58, 83, 119, 60, 84, 120, 62, 85, 120, 63, 86, 121, 65, 86, 121, 67, 87, 122, 69, 88, 122, 71, 88, 122, 72, 89, 122, 74, 89, 122, 76, 90, 122, 77, 90, 123, 79, 91, 123, 80, 91, 122, 82, 91, 122, 83, 92, 122, 84, 92, 122, 86, 92, 122, 87, 92, 122, 88, 93, 122, 90, 93, 122, 91, 93, 121, 92, 93, 121, 93, 93, 121, 94, 93, 121, 96, 94, 120, 97, 94, 120, 98, 94, 120, 99, 94, 120, 100, 94, 119, 101, 94, 119, 102, 94, 119, 104, 94, 119, 105, 94, 118, 106, 94, 118, 107, 95, 118, 108, 95, 117, 109, 95, 117, 110, 95, 117, 112, 95, 116, 113, 95, 116, 114, 95, 116, 115, 95, 116, 116, 95, 115, 118, 95, 115, 119, 95, 115, 120, 95, 114, 121, 95, 114, 122, 95, 114, 124, 96, 113, 125, 96, 113, 126, 96, 113, 128, 96, 112, 129, 96, 112, 130, 96, 112, 131, 96, 111, 133, 96, 111, 134, 96, 111, 135, 96, 110, 137, 96, 110, 138, 96, 110, 140, 96, 109, 141, 97, 109, 142, 97, 108, 144, 97, 108, 145, 97, 108, 147, 97, 107, 148, 97, 107, 150, 97, 107, 151, 97, 106, 152, 97, 106, 154, 97, 105, 155, 97, 105, 157, 98, 105, 159, 98, 104, 160, 98, 104, 162, 98, 103, 163, 98, 103, 165, 98, 103, 166, 98, 102, 168, 98, 102, 170, 98, 101, 171, 99, 101, 173, 99, 101, 174, 99, 100, 176, 99, 100, 178, 99, 100, 179, 99, 99, 181, 99, 99, 183, 100, 98, 184, 100, 98, 186, 100, 98, 188, 100, 97, 190, 101, 97, 191, 101, 97, 193, 101, 96, 195, 102, 96, 197, 102, 96, 198, 102, 95, 200, 103, 95, 202, 103, 95, 203, 104, 95, 205, 104, 95, 207, 105, 94, 208, 106, 94, 210, 106, 94, 212, 107, 94, 213, 108, 94, 215, 109, 94, 216, 110, 94, 218, 111, 94, 219, 112, 95, 221, 113, 95, 222, 114, 95, 223, 115, 95, 224, 116, 96, 225, 118, 96, 226, 119, 96, 227, 120, 97, 228, 122, 97, 229, 123, 98, 230, 124, 99, 231, 126, 99, 231, 127, 100, 232, 129, 101, 232, 130, 101, 233, 132, 102, 233, 133, 103, 233, 135, 104, 233, 136, 104, 234, 138, 105, 234, 139, 106, 234, 141, 107, 234, 142, 108, 234, 144, 109, 234, 145, 110, 234, 146, 110, 234, 148, 111, 233, 149, 112, 233, 151, 113, 233, 152, 114, 233, 153, 115, 233, 155, 116, 232, 156, 117, 232, 157, 118, 232, 158, 119, 232, 160, 119, 231, 161, 120, 231, 162, 121, 231, 163, 122, 231, 165, 123, 230, 166, 124, 230, 167, 125, 230, 168, 126, 230, 170, 127, 230, 171, 128, 230, 172, 129, 229, 173, 130, 229, 175, 132, 229, 176, 133, 229, 177, 134, 229, 178, 135, 229, 180, 136, 229, 181, 138, 229, 182, 139, 229, 184, 140, 229, 185, 142, 229, 186, 143, 230, 188, 144, 230, 189, 146, 230, 190, 147, 230, 192, 149, 231, 193, 151, 231, 195, 152, 231, 196, 154, 232, 198, 156, 232, 199, 157, 233, 201, 159, 233, 202, 161, 234, 204, 163, 234, 205, 165, 235, 207, 167, 235, 208, 169, 236, 210, 171, 237, 211, 173, 237, 213, 175, 238, 214, 177, 239, 216, 179, 239, 218, 181, 240, 219, 183, 241, 221, 185, 242, 222, 187, 242, 224, 190, 243, 225, 192, 244, 227, 194, 245, 229, 196, 246, 230, 198, 246, 232, 201, 247, 233, 203, 248, 235, 205, 249, 237, 207, 250, 238, 209, 251, 240, 212, 251, 241, 214, 252, 243, 216, 253, 245, 218], shape(lipari), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lipari10 = reshape([3, 19, 38, 19, 56, 90, 71, 88, 122, 107, 95, 118, 142, 97, 108, 188, 100, 97, 229, 123, 98, 231, 162, 121, 233, 201, 159, 253, 245, 218], shape(lipari10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lipari100 = reshape([3, 19, 38, 4, 23, 43, 5, 25, 47, 6, 29, 53, 6, 32, 56, 7, 36, 62, 8, 38, 66, 10, 42, 72, 12, 46, 77, 13, 49, 81, 16, 53, 87, 19, 56, 90, 22, 60, 95, 25, 63, 99, 30, 67, 104, 36, 71, 108, 39, 73, 111, 45, 77, 114, 49, 79, 116, 56, 82, 119, 62, 85, 120, 65, 86, 121, 71, 88, 122, 74, 89, 122, 79, 91, 123, 82, 91, 122, 86, 92, 122, 90, 93, 122, 92, 93, 121, 96, 94, 120, 98, 94, 120, 101, 94, 119, 104, 94, 119, 107, 95, 118, 110, 95, 117, 113, 95, 116, 116, 95, 115, 119, 95, 115, 122, 95, 114, 125, 96, 113, 129, 96, 112, 133, 96, 111, 135, 96, 110, 140, 96, 109, 142, 97, 108, 147, 97, 107, 150, 97, 107, 154, 97, 105, 159, 98, 104, 162, 98, 103, 166, 98, 102, 170, 98, 101, 174, 99, 100, 179, 99, 99, 183, 100, 98, 188, 100, 97, 191, 101, 97, 197, 102, 96, 200, 103, 95, 205, 104, 95, 210, 106, 94, 213, 108, 94, 218, 111, 94, 221, 113, 95, 224, 116, 96, 226, 119, 96, 229, 123, 98, 231, 127, 100, 232, 130, 101, 233, 135, 104, 234, 138, 105, 234, 142, 108, 234, 145, 110, 233, 149, 112, 233, 153, 115, 232, 156, 117, 232, 160, 119, 231, 162, 121, 230, 166, 124, 230, 168, 126, 230, 172, 129, 229, 176, 133, 229, 178, 135, 229, 182, 139, 229, 185, 142, 230, 189, 146, 231, 193, 151, 231, 196, 154, 233, 201, 159, 234, 204, 163, 235, 208, 169, 237, 211, 173, 239, 216, 179, 241, 221, 185, 242, 224, 190, 245, 229, 196, 246, 232, 201, 249, 237, 207, 251, 240, 212, 253, 245, 218], shape(lipari100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lipari25 = reshape([3, 19, 38, 7, 33, 58, 12, 46, 77, 24, 62, 97, 43, 76, 113, 63, 86, 121, 82, 91, 122, 94, 93, 121, 107, 95, 118, 120, 95, 114, 133, 96, 111, 148, 97, 107, 165, 98, 103, 181, 99, 99, 200, 103, 95, 216, 110, 94, 229, 123, 98, 234, 139, 106, 233, 153, 115, 230, 167, 125, 229, 181, 138, 231, 195, 152, 237, 211, 173, 244, 227, 194, 253, 245, 218], shape(lipari25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lipari50 = reshape([3, 19, 38, 5, 25, 47, 6, 32, 56, 9, 40, 68, 12, 46, 77, 16, 53, 87, 22, 60, 95, 30, 67, 104, 41, 75, 112, 52, 80, 117, 62, 85, 120, 71, 88, 122, 79, 91, 123, 87, 92, 122, 93, 93, 121, 99, 94, 120, 105, 94, 118, 110, 95, 117, 118, 95, 115, 124, 96, 113, 130, 96, 112, 137, 96, 110, 144, 97, 108, 152, 97, 106, 160, 98, 104, 168, 98, 102, 176, 99, 100, 186, 100, 98, 195, 102, 96, 203, 104, 95, 212, 107, 94, 219, 112, 95, 226, 119, 96, 231, 126, 99, 233, 133, 103, 234, 141, 107, 234, 148, 111, 232, 156, 117, 231, 162, 121, 230, 168, 126, 229, 175, 132, 229, 181, 138, 230, 189, 146, 231, 196, 154, 234, 204, 163, 237, 211, 173, 240, 219, 183, 245, 229, 196, 249, 237, 207, 253, 245, 218], shape(lipari50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lipariS = reshape([3, 19, 38, 253, 245, 218, 163, 98, 103, 233, 153, 115, 82, 91, 122, 216, 110, 94, 24, 62, 97, 231, 195, 152, 119, 95, 115, 240, 219, 183, 232, 130, 101, 190, 101, 97, 9, 40, 68, 140, 96, 109, 229, 173, 130, 54, 81, 118, 101, 94, 119, 176, 99, 100, 37, 72, 109, 231, 163, 122, 229, 184, 140, 92, 93, 121, 203, 104, 95, 69, 88, 122, 14, 51, 83, 235, 207, 167, 6, 29, 53, 129, 96, 112, 246, 232, 201, 226, 119, 96, 151, 97, 106, 234, 142, 108, 110, 95, 117, 45, 77, 114, 230, 124, 99, 62, 85, 120, 19, 56, 90, 134, 96, 111, 157, 98, 105, 11, 45, 75, 232, 158, 119, 210, 106, 94, 250, 238, 209, 87, 92, 122, 237, 213, 175, 233, 136, 104, 230, 168, 126, 124, 96, 113, 170, 98, 101, 7, 34, 60, 233, 201, 159, 145, 97, 108, 234, 148, 111, 229, 178, 135, 76, 90, 122, 197, 102, 96, 97, 94, 120, 230, 189, 146, 5, 24, 45, 243, 225, 192, 222, 114, 95, 183, 100, 98, 106, 94, 118, 30, 67, 104, 114, 95, 116, 13, 48, 79, 251, 241, 214, 230, 192, 149, 4, 22, 41, 231, 127, 100, 219, 112, 95, 131, 96, 111, 154, 97, 105, 121, 95, 114, 148, 97, 107, 6, 32, 56, 142, 97, 108, 27, 64, 100, 10, 42, 72, 207, 105, 94, 228, 122, 97, 231, 161, 120, 84, 92, 122, 232, 156, 117, 233, 151, 113, 173, 99, 101, 236, 210, 171, 230, 171, 128, 160, 98, 104, 230, 166, 124, 224, 116, 96, 248, 235, 205, 34, 70, 107, 232, 198, 156, 179, 99, 99, 21, 59, 94, 245, 229, 196, 229, 181, 138, 8, 37, 64, 90, 93, 122], shape(lipariS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: lisbon = reshape([230, 229, 255, 227, 227, 253, 224, 226, 252, 221, 224, 250, 219, 222, 249, 216, 220, 247, 213, 218, 245, 211, 216, 244, 208, 214, 242, 205, 212, 241, 203, 210, 239, 200, 208, 237, 197, 206, 236, 195, 204, 234, 192, 202, 233, 189, 200, 231, 187, 198, 229, 184, 196, 228, 181, 194, 226, 179, 192, 225, 176, 190, 223, 173, 188, 222, 171, 186, 220, 168, 185, 218, 165, 183, 217, 163, 181, 215, 160, 179, 214, 158, 177, 212, 155, 175, 211, 152, 173, 209, 150, 171, 207, 147, 169, 206, 144, 167, 204, 142, 165, 203, 139, 163, 201, 137, 162, 200, 134, 160, 198, 132, 158, 196, 129, 156, 195, 126, 154, 193, 124, 152, 192, 121, 150, 190, 119, 148, 189, 116, 146, 187, 114, 144, 185, 111, 142, 184, 109, 141, 182, 106, 139, 181, 104, 137, 179, 101, 135, 177, 98, 133, 176, 96, 131, 174, 94, 129, 172, 91, 127, 171, 89, 125, 169, 86, 123, 167, 84, 121, 166, 81, 119, 164, 79, 117, 162, 76, 115, 160, 74, 114, 158, 72, 112, 157, 69, 110, 155, 67, 108, 153, 65, 106, 151, 63, 104, 149, 61, 102, 147, 58, 100, 145, 56, 98, 143, 54, 96, 140, 52, 94, 138, 50, 92, 136, 48, 90, 134, 47, 89, 132, 45, 87, 130, 43, 85, 127, 42, 83, 125, 40, 81, 123, 39, 79, 120, 37, 78, 118, 36, 76, 116, 34, 74, 113, 33, 72, 111, 32, 71, 109, 31, 69, 106, 30, 67, 104, 29, 66, 102, 28, 64, 100, 27, 63, 97, 26, 61, 95, 25, 60, 93, 25, 58, 90, 24, 57, 88, 23, 55, 86, 23, 54, 83, 22, 52, 81, 22, 51, 79, 21, 49, 77, 21, 48, 75, 20, 46, 72, 20, 45, 70, 19, 44, 68, 19, 42, 66, 19, 41, 64, 18, 40, 62, 18, 39, 60, 18, 37, 58, 18, 36, 55, 17, 35, 53, 17, 34, 51, 17, 33, 50, 17, 32, 48, 17, 31, 46, 17, 30, 44, 17, 29, 42, 17, 28, 40, 17, 27, 39, 18, 27, 37, 18, 26, 36, 18, 26, 34, 18, 25, 33, 19, 25, 32, 19, 25, 30, 20, 24, 29, 20, 24, 28, 21, 24, 27, 21, 24, 26, 22, 25, 26, 23, 25, 25, 24, 25, 25, 24, 26, 24, 25, 26, 24, 26, 27, 24, 27, 28, 23, 28, 28, 23, 30, 29, 23, 31, 30, 24, 32, 31, 24, 33, 32, 24, 35, 33, 24, 36, 35, 25, 37, 36, 25, 39, 37, 26, 40, 38, 26, 42, 40, 27, 43, 41, 28, 45, 43, 28, 47, 44, 29, 48, 45, 30, 50, 47, 31, 51, 48, 32, 53, 50, 32, 55, 52, 33, 56, 53, 34, 58, 55, 35, 60, 56, 36, 62, 58, 37, 63, 60, 38, 65, 61, 39, 67, 63, 40, 69, 64, 41, 70, 66, 42, 72, 68, 43, 74, 69, 44, 76, 71, 45, 77, 73, 46, 79, 75, 47, 81, 76, 49, 83, 78, 50, 85, 80, 51, 87, 81, 52, 88, 83, 53, 90, 85, 54, 92, 87, 55, 94, 88, 56, 96, 90, 57, 98, 92, 58, 100, 94, 60, 102, 96, 61, 104, 97, 62, 105, 99, 63, 107, 101, 64, 109, 103, 65, 111, 105, 67, 113, 107, 68, 115, 108, 69, 117, 110, 70, 119, 112, 71, 121, 114, 73, 123, 116, 74, 125, 118, 75, 127, 120, 76, 129, 122, 78, 131, 123, 79, 133, 125, 80, 135, 127, 82, 137, 129, 83, 139, 131, 85, 141, 133, 86, 143, 135, 88, 145, 137, 89, 148, 139, 91, 150, 141, 92, 152, 143, 94, 154, 145, 96, 156, 147, 97, 158, 150, 99, 160, 152, 101, 162, 154, 103, 164, 156, 105, 166, 158, 106, 168, 160, 108, 171, 162, 110, 173, 164, 112, 175, 167, 114, 177, 169, 117, 179, 171, 119, 181, 173, 121, 183, 175, 123, 185, 177, 125, 187, 179, 128, 189, 182, 130, 191, 184, 132, 193, 186, 135, 195, 188, 137, 197, 190, 139, 199, 192, 142, 201, 195, 144, 203, 197, 147, 205, 199, 149, 207, 201, 152, 209, 203, 154, 211, 205, 157, 213, 207, 159, 215, 210, 162, 217, 212, 164, 218, 214, 167, 220, 216, 169, 222, 218, 172, 224, 220, 175, 226, 222, 177, 228, 225, 180, 230, 227, 182, 232, 229, 185, 234, 231, 188, 236, 233, 190, 238, 235, 193, 240, 238, 195, 241, 240, 198, 243, 242, 201, 245, 244, 203, 247, 246, 206, 249, 248, 209, 251, 251, 211, 253, 253, 214, 255, 255, 217], shape(lisbon), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: lisbon10 = reshape([230, 229, 255, 155, 175, 211, 81, 119, 164, 30, 67, 104, 17, 30, 44, 39, 37, 26, 87, 81, 52, 141, 133, 86, 201, 195, 144, 255, 255, 217], shape(lisbon10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: lisbon100 = reshape([230, 229, 255, 221, 224, 250, 216, 220, 247, 208, 214, 242, 203, 210, 239, 195, 204, 234, 189, 200, 231, 181, 194, 226, 173, 188, 222, 168, 185, 218, 160, 179, 214, 155, 175, 211, 147, 169, 206, 142, 165, 203, 134, 160, 198, 126, 154, 193, 121, 150, 190, 114, 144, 185, 109, 141, 182, 101, 135, 177, 94, 129, 172, 89, 125, 169, 81, 119, 164, 76, 115, 160, 69, 110, 155, 65, 106, 151, 58, 100, 145, 52, 94, 138, 48, 90, 134, 43, 85, 127, 40, 81, 123, 36, 76, 116, 33, 72, 111, 30, 67, 104, 27, 63, 97, 25, 60, 93, 23, 55, 86, 22, 52, 81, 21, 48, 75, 20, 45, 70, 19, 41, 64, 18, 37, 58, 17, 35, 53, 17, 32, 48, 17, 30, 44, 17, 27, 39, 18, 26, 36, 19, 25, 32, 20, 24, 28, 21, 24, 26, 24, 25, 25, 25, 26, 24, 28, 28, 23, 32, 31, 24, 35, 33, 24, 39, 37, 26, 42, 40, 27, 47, 44, 29, 50, 47, 31, 55, 52, 33, 60, 56, 36, 63, 60, 38, 69, 64, 41, 72, 68, 43, 77, 73, 46, 81, 76, 49, 87, 81, 52, 92, 87, 55, 96, 90, 57, 102, 96, 61, 105, 99, 63, 111, 105, 67, 115, 108, 69, 121, 114, 73, 127, 120, 76, 131, 123, 79, 137, 129, 83, 141, 133, 86, 148, 139, 91, 152, 143, 94, 158, 150, 99, 164, 156, 105, 168, 160, 108, 175, 167, 114, 179, 171, 119, 185, 177, 125, 191, 184, 132, 195, 188, 137, 201, 195, 144, 205, 199, 149, 211, 205, 157, 215, 210, 162, 220, 216, 169, 226, 222, 177, 230, 227, 182, 236, 233, 190, 240, 238, 195, 245, 244, 203, 249, 248, 209, 255, 255, 217], shape(lisbon100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: lisbon25 = reshape([230, 229, 255, 200, 208, 237, 173, 188, 222, 144, 167, 204, 116, 146, 187, 91, 127, 171, 65, 106, 151, 45, 87, 130, 30, 67, 104, 22, 51, 79, 18, 37, 58, 18, 27, 37, 23, 25, 25, 33, 32, 24, 50, 47, 31, 67, 63, 40, 87, 81, 52, 107, 101, 64, 127, 120, 76, 150, 141, 92, 173, 164, 112, 193, 186, 135, 215, 210, 162, 234, 231, 188, 255, 255, 217], shape(lisbon25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: lisbon50 = reshape([230, 229, 255, 216, 220, 247, 203, 210, 239, 187, 198, 229, 173, 188, 222, 160, 179, 214, 147, 169, 206, 134, 160, 198, 119, 148, 189, 106, 139, 181, 94, 129, 172, 81, 119, 164, 69, 110, 155, 56, 98, 143, 47, 89, 132, 39, 79, 120, 32, 71, 109, 27, 63, 97, 23, 54, 83, 20, 46, 72, 18, 40, 62, 17, 34, 51, 17, 29, 42, 18, 25, 33, 21, 24, 27, 24, 26, 24, 30, 29, 23, 37, 36, 25, 45, 43, 28, 53, 50, 32, 62, 58, 37, 70, 66, 42, 81, 76, 49, 90, 85, 54, 100, 94, 60, 109, 103, 65, 119, 112, 71, 131, 123, 79, 141, 133, 86, 152, 143, 94, 162, 154, 103, 173, 164, 112, 185, 177, 125, 195, 188, 137, 205, 199, 149, 215, 210, 162, 224, 220, 175, 236, 233, 190, 245, 244, 203, 255, 255, 217], shape(lisbon50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: managua = reshape([255, 207, 103, 254, 205, 102, 253, 203, 102, 251, 201, 101, 250, 199, 100, 249, 197, 100, 248, 195, 99, 246, 193, 98, 245, 191, 98, 244, 189, 97, 243, 187, 96, 241, 185, 96, 240, 183, 95, 239, 181, 94, 238, 179, 94, 236, 177, 93, 235, 176, 93, 234, 174, 92, 233, 172, 91, 232, 170, 91, 230, 168, 90, 229, 166, 89, 228, 164, 89, 227, 163, 88, 225, 161, 88, 224, 159, 87, 223, 157, 86, 222, 156, 86, 221, 154, 85, 219, 152, 85, 218, 150, 84, 217, 149, 84, 216, 147, 83, 215, 145, 82, 213, 144, 82, 212, 142, 81, 211, 140, 81, 210, 139, 80, 209, 137, 80, 207, 135, 79, 206, 134, 79, 205, 132, 78, 204, 130, 77, 203, 129, 77, 201, 127, 76, 200, 126, 76, 199, 124, 75, 198, 123, 75, 197, 121, 74, 195, 119, 74, 194, 118, 73, 193, 116, 73, 192, 115, 72, 190, 113, 72, 189, 112, 71, 188, 111, 71, 187, 109, 70, 185, 108, 70, 184, 106, 69, 183, 105, 69, 182, 103, 69, 180, 102, 68, 179, 100, 68, 178, 99, 67, 177, 98, 67, 175, 96, 66, 174, 95, 66, 173, 94, 66, 171, 92, 65, 170, 91, 65, 168, 89, 64, 167, 88, 64, 166, 87, 63, 164, 85, 63, 163, 84, 63, 161, 83, 62, 160, 81, 62, 158, 80, 62, 157, 79, 61, 156, 77, 61, 154, 76, 61, 152, 75, 60, 151, 73, 60, 149, 72, 60, 148, 71, 59, 146, 70, 59, 145, 68, 59, 143, 67, 59, 142, 66, 58, 140, 65, 58, 138, 63, 58, 137, 62, 58, 135, 61, 57, 134, 60, 57, 132, 59, 57, 130, 58, 57, 129, 57, 57, 127, 56, 57, 126, 55, 57, 124, 54, 57, 122, 53, 57, 121, 52, 57, 119, 51, 57, 118, 50, 57, 116, 49, 57, 115, 48, 57, 113, 47, 58, 112, 47, 58, 110, 46, 58, 109, 45, 58, 107, 45, 59, 106, 44, 59, 105, 43, 60, 103, 43, 60, 102, 42, 61, 101, 42, 61, 99, 42, 62, 98, 41, 63, 97, 41, 63, 96, 41, 64, 95, 41, 65, 94, 41, 66, 93, 40, 67, 92, 40, 67, 91, 40, 68, 90, 40, 70, 89, 41, 71, 88, 41, 72, 87, 41, 73, 86, 41, 74, 85, 42, 76, 84, 42, 77, 84, 42, 78, 83, 43, 80, 82, 43, 81, 82, 44, 83, 81, 45, 84, 81, 45, 86, 80, 46, 88, 80, 47, 89, 79, 48, 91, 79, 49, 93, 78, 49, 94, 78, 50, 96, 78, 51, 98, 77, 52, 100, 77, 53, 102, 77, 54, 104, 77, 55, 106, 76, 57, 107, 76, 58, 109, 76, 59, 111, 76, 60, 113, 76, 61, 115, 76, 63, 117, 76, 64, 119, 76, 65, 121, 76, 67, 123, 76, 68, 125, 76, 69, 127, 76, 71, 129, 76, 72, 131, 76, 74, 133, 76, 75, 134, 77, 76, 136, 77, 78, 138, 77, 79, 140, 77, 81, 142, 77, 82, 144, 78, 84, 145, 78, 85, 147, 78, 87, 149, 79, 88, 151, 79, 90, 152, 79, 91, 154, 80, 93, 156, 80, 94, 157, 81, 96, 159, 81, 97, 161, 81, 99, 162, 82, 100, 164, 82, 102, 165, 83, 103, 167, 83, 105, 168, 84, 106, 170, 84, 108, 171, 85, 110, 172, 85, 111, 174, 86, 113, 175, 86, 114, 177, 87, 116, 178, 87, 117, 179, 88, 119, 181, 88, 120, 182, 89, 122, 183, 89, 123, 184, 90, 125, 186, 91, 126, 187, 91, 128, 188, 92, 129, 189, 92, 131, 191, 93, 133, 192, 93, 134, 193, 94, 136, 194, 95, 137, 195, 95, 139, 197, 96, 141, 198, 96, 142, 199, 97, 144, 200, 98, 146, 201, 98, 147, 203, 99, 149, 204, 100, 151, 205, 100, 152, 206, 101, 154, 207, 102, 156, 208, 102, 158, 210, 103, 159, 211, 104, 161, 212, 104, 163, 213, 105, 165, 214, 105, 166, 215, 106, 168, 217, 107, 170, 218, 107, 172, 219, 108, 173, 220, 109, 175, 221, 109, 177, 222, 110, 179, 223, 111, 181, 225, 111, 182, 226, 112, 184, 227, 113, 186, 228, 114, 188, 229, 114, 190, 230, 115, 192, 231, 116, 194, 233, 116, 196, 234, 117, 197, 235, 118, 199, 236, 118, 201, 237, 119, 203, 238, 120, 205, 240, 120, 207, 241, 121, 209, 242, 122, 211, 243, 122, 213, 244, 123, 215, 245, 124, 217, 247, 124, 219, 248, 125, 221, 249, 126, 223, 250, 126, 225, 251, 127, 227, 253, 128, 229, 254, 129, 231, 255], shape(managua), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: managua10 = reshape([255, 207, 103, 221, 154, 85, 185, 108, 70, 146, 70, 59, 103, 43, 60, 78, 49, 94, 78, 85, 147, 91, 128, 188, 109, 177, 222, 129, 231, 255], shape(managua10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: managua100 = reshape([255, 207, 103, 251, 201, 101, 249, 197, 100, 245, 191, 98, 243, 187, 96, 239, 181, 94, 236, 177, 93, 233, 172, 91, 229, 166, 89, 227, 163, 88, 223, 157, 86, 221, 154, 85, 217, 149, 84, 215, 145, 82, 211, 140, 81, 207, 135, 79, 205, 132, 78, 201, 127, 76, 199, 124, 75, 195, 119, 74, 192, 115, 72, 189, 112, 71, 185, 108, 70, 183, 105, 69, 179, 100, 68, 177, 98, 67, 173, 94, 66, 168, 89, 64, 166, 87, 63, 161, 83, 62, 158, 80, 62, 154, 76, 61, 151, 73, 60, 146, 70, 59, 142, 66, 58, 138, 63, 58, 134, 60, 57, 130, 58, 57, 126, 55, 57, 122, 53, 57, 118, 50, 57, 113, 47, 58, 110, 46, 58, 106, 44, 59, 103, 43, 60, 99, 42, 62, 97, 41, 63, 94, 41, 66, 91, 40, 68, 89, 41, 71, 86, 41, 74, 84, 42, 77, 82, 43, 81, 81, 45, 86, 80, 47, 89, 78, 49, 94, 78, 51, 98, 77, 54, 104, 76, 57, 107, 76, 60, 113, 76, 64, 119, 76, 67, 123, 76, 71, 129, 76, 74, 133, 77, 78, 138, 77, 81, 142, 78, 85, 147, 79, 90, 152, 80, 93, 156, 81, 97, 161, 82, 100, 164, 83, 105, 168, 84, 108, 171, 86, 113, 175, 87, 117, 179, 88, 120, 182, 90, 125, 186, 91, 128, 188, 93, 133, 192, 94, 136, 194, 96, 141, 198, 98, 146, 201, 99, 149, 204, 101, 154, 207, 102, 158, 210, 104, 163, 213, 106, 168, 217, 107, 172, 219, 109, 177, 222, 111, 181, 225, 113, 186, 228, 114, 190, 230, 116, 196, 234, 118, 201, 237, 120, 205, 240, 122, 211, 243, 123, 215, 245, 125, 221, 249, 126, 225, 251, 129, 231, 255], shape(managua100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: managua25 = reshape([255, 207, 103, 241, 185, 96, 229, 166, 89, 216, 147, 83, 203, 129, 77, 190, 113, 72, 177, 98, 67, 163, 84, 63, 146, 70, 59, 129, 57, 57, 113, 47, 58, 98, 41, 63, 87, 41, 73, 80, 46, 88, 76, 57, 107, 76, 69, 127, 78, 85, 147, 82, 102, 165, 87, 117, 179, 93, 134, 193, 100, 152, 206, 107, 170, 218, 114, 190, 230, 121, 209, 242, 129, 231, 255], shape(managua25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: managua50 = reshape([255, 207, 103, 249, 197, 100, 243, 187, 96, 235, 176, 93, 229, 166, 89, 223, 157, 86, 217, 149, 84, 211, 140, 81, 204, 130, 77, 198, 123, 75, 192, 115, 72, 185, 108, 70, 179, 100, 68, 171, 92, 65, 164, 85, 63, 157, 79, 61, 149, 72, 60, 142, 66, 58, 132, 59, 57, 124, 54, 57, 116, 49, 57, 109, 45, 58, 102, 42, 61, 95, 41, 65, 90, 40, 70, 85, 42, 76, 82, 44, 83, 79, 49, 93, 77, 53, 102, 76, 59, 111, 76, 65, 121, 76, 72, 131, 77, 81, 142, 79, 88, 151, 81, 96, 159, 83, 103, 167, 85, 111, 174, 88, 120, 182, 91, 128, 188, 94, 136, 194, 97, 144, 200, 100, 152, 206, 104, 163, 213, 107, 172, 219, 111, 181, 225, 114, 190, 230, 118, 199, 236, 122, 211, 243, 125, 221, 249, 129, 231, 255], shape(managua50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: navia = reshape([3, 19, 39, 4, 21, 41, 4, 22, 43, 4, 23, 44, 4, 24, 46, 4, 25, 48, 5, 26, 50, 5, 27, 52, 5, 28, 54, 5, 29, 56, 5, 30, 58, 5, 32, 60, 5, 33, 62, 5, 34, 64, 5, 35, 66, 5, 36, 68, 5, 37, 70, 5, 38, 72, 6, 40, 74, 6, 41, 76, 6, 42, 78, 6, 43, 80, 6, 44, 82, 6, 46, 84, 6, 47, 86, 6, 48, 88, 6, 49, 90, 7, 50, 92, 7, 52, 94, 7, 53, 96, 7, 54, 98, 7, 55, 100, 7, 57, 102, 8, 58, 104, 8, 59, 106, 8, 60, 107, 8, 62, 109, 9, 63, 111, 9, 64, 113, 10, 65, 115, 10, 67, 116, 11, 68, 118, 11, 69, 120, 11, 70, 121, 12, 72, 123, 13, 73, 125, 13, 74, 126, 14, 76, 128, 14, 77, 129, 15, 78, 130, 16, 79, 132, 16, 81, 133, 17, 82, 134, 18, 83, 135, 19, 84, 136, 19, 86, 137, 20, 87, 138, 21, 88, 139, 22, 89, 140, 23, 90, 141, 23, 92, 141, 24, 93, 142, 25, 94, 142, 26, 95, 143, 27, 96, 143, 27, 97, 144, 28, 98, 144, 29, 99, 144, 30, 100, 145, 30, 101, 145, 31, 102, 145, 32, 103, 145, 32, 104, 145, 33, 105, 145, 34, 106, 145, 34, 107, 145, 35, 108, 145, 36, 108, 145, 36, 109, 145, 37, 110, 144, 38, 111, 144, 38, 111, 144, 39, 112, 144, 39, 113, 143, 40, 113, 143, 40, 114, 143, 41, 115, 143, 42, 115, 142, 42, 116, 142, 43, 117, 142, 43, 117, 141, 44, 118, 141, 44, 118, 141, 45, 119, 140, 45, 120, 140, 46, 120, 140, 47, 121, 139, 47, 121, 139, 48, 122, 139, 48, 122, 138, 49, 123, 138, 49, 124, 138, 50, 124, 137, 50, 125, 137, 51, 125, 137, 52, 126, 136, 52, 126, 136, 53, 127, 136, 53, 127, 135, 54, 128, 135, 54, 128, 134, 55, 129, 134, 55, 129, 134, 56, 130, 133, 57, 131, 133, 57, 131, 133, 58, 132, 132, 58, 132, 132, 59, 133, 132, 60, 133, 131, 60, 134, 131, 61, 134, 130, 61, 135, 130, 62, 136, 130, 63, 136, 129, 63, 137, 129, 64, 137, 129, 64, 138, 128, 65, 138, 128, 66, 139, 127, 66, 140, 127, 67, 140, 127, 68, 141, 126, 68, 141, 126, 69, 142, 125, 70, 143, 125, 71, 143, 125, 71, 144, 124, 72, 145, 124, 73, 145, 123, 73, 146, 123, 74, 147, 122, 75, 147, 122, 76, 148, 122, 76, 149, 121, 77, 149, 121, 78, 150, 120, 79, 151, 120, 80, 152, 119, 80, 152, 119, 81, 153, 118, 82, 154, 118, 83, 155, 117, 84, 155, 117, 85, 156, 116, 86, 157, 116, 87, 158, 115, 87, 159, 115, 88, 160, 114, 89, 160, 114, 90, 161, 113, 91, 162, 113, 92, 163, 112, 93, 164, 112, 94, 165, 111, 95, 166, 111, 96, 167, 110, 98, 168, 110, 99, 169, 109, 100, 170, 109, 101, 171, 108, 102, 172, 108, 103, 173, 107, 105, 174, 107, 106, 175, 106, 107, 176, 106, 109, 177, 105, 110, 178, 105, 112, 179, 105, 113, 180, 105, 115, 181, 104, 116, 182, 104, 118, 183, 104, 120, 185, 104, 121, 186, 104, 123, 187, 104, 125, 188, 104, 127, 189, 104, 129, 191, 104, 131, 192, 104, 133, 193, 105, 135, 194, 105, 137, 195, 106, 140, 197, 106, 142, 198, 107, 144, 199, 108, 147, 200, 109, 149, 202, 110, 152, 203, 111, 154, 204, 112, 156, 205, 114, 159, 206, 115, 162, 207, 116, 164, 209, 118, 167, 210, 120, 169, 211, 121, 172, 212, 123, 174, 213, 125, 177, 214, 127, 179, 215, 129, 181, 216, 131, 184, 217, 133, 186, 218, 135, 188, 219, 137, 191, 220, 139, 193, 220, 141, 195, 221, 144, 197, 222, 146, 199, 223, 148, 201, 224, 150, 203, 224, 152, 205, 225, 155, 207, 226, 157, 209, 227, 159, 211, 227, 161, 213, 228, 163, 215, 229, 165, 216, 229, 168, 218, 230, 170, 220, 231, 172, 221, 231, 174, 223, 232, 176, 224, 232, 178, 226, 233, 180, 227, 234, 182, 229, 234, 184, 230, 235, 186, 232, 235, 188, 233, 236, 190, 234, 237, 191, 235, 237, 193, 237, 238, 195, 238, 238, 197, 239, 239, 198, 240, 239, 200, 241, 240, 202, 243, 240, 203, 244, 241, 205, 245, 241, 207, 246, 242, 208, 247, 242, 210, 248, 243, 211, 249, 243, 213, 250, 243, 214, 251, 244, 215, 252, 244, 217], shape(navia), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: navia10 = reshape([3, 19, 39, 7, 52, 94, 21, 88, 139, 40, 114, 143, 56, 130, 133, 75, 147, 122, 101, 171, 108, 152, 203, 111, 216, 229, 168, 252, 244, 217], shape(navia10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: navia100 = reshape([3, 19, 39, 4, 23, 44, 4, 25, 48, 5, 28, 54, 5, 30, 58, 5, 34, 64, 5, 36, 68, 6, 40, 74, 6, 43, 80, 6, 46, 84, 6, 49, 90, 7, 52, 94, 7, 55, 100, 8, 58, 104, 8, 62, 109, 10, 65, 115, 11, 68, 118, 12, 72, 123, 13, 74, 126, 15, 78, 130, 17, 82, 134, 19, 84, 136, 21, 88, 139, 23, 90, 141, 25, 94, 142, 27, 96, 143, 29, 99, 144, 31, 102, 145, 32, 104, 145, 34, 107, 145, 36, 108, 145, 38, 111, 144, 39, 112, 144, 40, 114, 143, 42, 116, 142, 43, 117, 141, 45, 119, 140, 46, 120, 140, 48, 122, 139, 49, 123, 138, 50, 125, 137, 52, 126, 136, 53, 127, 135, 55, 129, 134, 56, 130, 133, 58, 132, 132, 59, 133, 132, 61, 134, 130, 63, 136, 129, 64, 137, 129, 66, 139, 127, 67, 140, 127, 69, 142, 125, 71, 144, 124, 73, 145, 123, 75, 147, 122, 76, 149, 121, 79, 151, 120, 80, 152, 119, 83, 155, 117, 86, 157, 116, 87, 159, 115, 90, 161, 113, 92, 163, 112, 95, 166, 111, 98, 168, 110, 101, 171, 108, 105, 174, 107, 107, 176, 106, 112, 179, 105, 115, 181, 104, 120, 185, 104, 123, 187, 104, 129, 191, 104, 135, 194, 105, 140, 197, 106, 147, 200, 109, 152, 203, 111, 159, 206, 115, 164, 209, 118, 172, 212, 123, 179, 215, 129, 184, 217, 133, 191, 220, 139, 195, 221, 144, 201, 224, 150, 207, 226, 157, 211, 227, 161, 216, 229, 168, 220, 231, 172, 224, 232, 178, 227, 234, 182, 232, 235, 188, 235, 237, 193, 238, 238, 197, 241, 240, 202, 244, 241, 205, 247, 242, 210, 249, 243, 213, 252, 244, 217], shape(navia100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: navia25 = reshape([3, 19, 39, 5, 32, 60, 6, 43, 80, 7, 57, 102, 11, 70, 121, 18, 83, 135, 27, 96, 143, 34, 106, 145, 40, 114, 143, 47, 121, 139, 52, 126, 136, 58, 132, 132, 65, 138, 128, 72, 145, 124, 80, 152, 119, 89, 160, 114, 101, 171, 108, 116, 182, 104, 135, 194, 105, 162, 207, 116, 188, 219, 137, 209, 227, 159, 227, 234, 182, 240, 239, 200, 252, 244, 217], shape(navia25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: navia50 = reshape([3, 19, 39, 4, 25, 48, 5, 30, 58, 5, 37, 70, 6, 43, 80, 6, 49, 90, 7, 55, 100, 8, 62, 109, 11, 69, 120, 14, 76, 128, 17, 82, 134, 21, 88, 139, 25, 94, 142, 30, 100, 145, 33, 105, 145, 36, 109, 145, 39, 113, 143, 42, 116, 142, 45, 120, 140, 48, 122, 138, 51, 125, 137, 54, 128, 135, 57, 131, 133, 60, 134, 131, 63, 137, 129, 66, 140, 127, 70, 143, 125, 74, 147, 122, 78, 150, 120, 82, 154, 118, 87, 158, 115, 91, 162, 113, 98, 168, 110, 103, 173, 107, 110, 178, 105, 118, 183, 104, 127, 189, 104, 140, 197, 106, 152, 203, 111, 164, 209, 118, 177, 214, 127, 188, 219, 137, 201, 224, 150, 211, 227, 161, 220, 231, 172, 227, 234, 182, 234, 237, 191, 241, 240, 202, 247, 242, 210, 252, 244, 217], shape(navia50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: naviaS = reshape([3, 19, 39, 252, 244, 217, 65, 138, 128, 27, 96, 143, 135, 194, 105, 7, 57, 102, 209, 227, 159, 47, 121, 139, 89, 160, 114, 234, 237, 191, 5, 37, 70, 14, 77, 129, 38, 111, 144, 174, 213, 125, 107, 176, 106, 55, 129, 134, 76, 149, 121, 32, 104, 145, 5, 28, 54, 10, 67, 116, 6, 47, 86, 51, 125, 137, 193, 220, 141, 244, 241, 205, 98, 168, 110, 154, 204, 112, 42, 116, 142, 71, 143, 125, 60, 134, 131, 223, 232, 176, 120, 185, 104, 20, 87, 138, 83, 155, 117, 23, 92, 141, 239, 239, 198, 4, 24, 46, 73, 146, 123, 216, 229, 168, 12, 72, 123, 53, 127, 135, 40, 113, 143, 93, 164, 112, 184, 217, 133, 49, 123, 138, 102, 172, 108, 248, 243, 211, 144, 199, 108, 127, 189, 104, 229, 234, 184, 7, 52, 94, 68, 141, 126, 80, 152, 119, 113, 180, 105, 58, 132, 132, 17, 82, 134, 5, 33, 62, 6, 42, 78, 30, 100, 145, 201, 224, 150, 164, 209, 118, 35, 108, 145, 8, 62, 109, 63, 136, 129, 44, 118, 141, 87, 158, 115, 43, 117, 141, 5, 35, 66, 59, 133, 132, 57, 131, 133, 39, 112, 144, 232, 235, 188, 69, 142, 125, 123, 187, 104, 105, 174, 107, 188, 219, 137, 22, 89, 140, 159, 206, 115, 48, 122, 139, 5, 30, 58, 213, 228, 163, 246, 242, 208, 7, 54, 98, 66, 140, 127, 140, 197, 106, 6, 49, 90, 5, 26, 50, 54, 128, 134, 11, 69, 120, 241, 240, 202, 226, 233, 180, 220, 231, 172, 250, 243, 214, 91, 162, 113, 95, 166, 111, 36, 109, 145, 6, 44, 82, 52, 126, 136, 72, 145, 124, 75, 147, 122, 131, 192, 104], shape(naviaS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: naviaW = reshape([4, 20, 39, 4, 21, 41, 4, 22, 43, 4, 23, 45, 5, 25, 47, 5, 26, 49, 5, 27, 51, 5, 28, 53, 5, 29, 55, 5, 30, 57, 5, 32, 59, 5, 33, 61, 6, 34, 63, 6, 35, 65, 6, 36, 67, 6, 38, 69, 6, 39, 71, 6, 40, 74, 6, 41, 76, 7, 43, 78, 7, 44, 80, 7, 45, 82, 7, 47, 84, 7, 48, 86, 8, 49, 88, 8, 50, 90, 8, 52, 92, 8, 53, 94, 9, 54, 96, 9, 56, 98, 9, 57, 100, 10, 58, 102, 10, 60, 104, 10, 61, 106, 11, 62, 107, 11, 64, 109, 12, 65, 111, 12, 66, 113, 13, 68, 114, 14, 69, 116, 14, 70, 118, 15, 72, 119, 15, 73, 121, 16, 74, 122, 17, 76, 124, 17, 77, 125, 18, 78, 127, 19, 80, 128, 20, 81, 129, 20, 82, 130, 21, 84, 131, 22, 85, 132, 23, 86, 134, 24, 88, 134, 24, 89, 135, 25, 90, 136, 26, 91, 137, 27, 93, 138, 28, 94, 139, 28, 95, 139, 29, 96, 140, 30, 97, 140, 31, 98, 141, 32, 100, 141, 32, 101, 142, 33, 102, 142, 34, 103, 142, 35, 104, 142, 35, 105, 143, 36, 106, 143, 37, 107, 143, 38, 108, 143, 38, 109, 143, 39, 109, 143, 40, 110, 143, 40, 111, 143, 41, 112, 143, 42, 113, 143, 42, 114, 143, 43, 114, 143, 43, 115, 142, 44, 116, 142, 45, 117, 142, 45, 117, 142, 46, 118, 142, 46, 119, 141, 47, 119, 141, 48, 120, 141, 48, 121, 141, 49, 121, 140, 49, 122, 140, 50, 123, 140, 51, 123, 140, 51, 124, 139, 52, 125, 139, 52, 125, 139, 53, 126, 138, 54, 126, 138, 54, 127, 138, 55, 128, 137, 55, 128, 137, 56, 129, 137, 56, 129, 136, 57, 130, 136, 58, 131, 136, 58, 131, 135, 59, 132, 135, 60, 132, 135, 60, 133, 134, 61, 134, 134, 61, 134, 134, 62, 135, 133, 63, 135, 133, 63, 136, 133, 64, 137, 132, 65, 137, 132, 65, 138, 131, 66, 138, 131, 67, 139, 131, 67, 140, 130, 68, 140, 130, 69, 141, 130, 69, 142, 129, 70, 142, 129, 71, 143, 128, 72, 144, 128, 72, 144, 128, 73, 145, 127, 74, 146, 127, 75, 146, 126, 75, 147, 126, 76, 148, 126, 77, 149, 125, 78, 149, 125, 79, 150, 124, 80, 151, 124, 80, 152, 124, 81, 153, 123, 82, 153, 123, 83, 154, 122, 84, 155, 122, 85, 156, 121, 86, 157, 121, 87, 157, 120, 88, 158, 120, 89, 159, 120, 90, 160, 119, 91, 161, 119, 92, 162, 118, 93, 163, 118, 94, 164, 117, 95, 165, 117, 96, 166, 117, 98, 167, 116, 99, 168, 116, 100, 169, 115, 101, 170, 115, 103, 171, 115, 104, 172, 114, 105, 173, 114, 107, 174, 114, 108, 175, 113, 110, 176, 113, 111, 178, 113, 113, 179, 113, 114, 180, 113, 116, 181, 113, 118, 182, 113, 119, 184, 113, 121, 185, 113, 123, 186, 113, 125, 188, 113, 127, 189, 113, 129, 190, 114, 131, 192, 114, 133, 193, 114, 135, 194, 115, 137, 196, 116, 140, 197, 116, 142, 198, 117, 144, 200, 118, 147, 201, 119, 149, 203, 120, 152, 204, 121, 154, 205, 123, 157, 207, 124, 159, 208, 125, 162, 210, 127, 164, 211, 129, 167, 212, 130, 169, 214, 132, 172, 215, 134, 175, 216, 136, 177, 217, 138, 180, 219, 140, 182, 220, 142, 185, 221, 144, 187, 222, 147, 190, 223, 149, 192, 225, 151, 194, 226, 154, 197, 227, 156, 199, 228, 158, 201, 229, 161, 203, 230, 163, 205, 231, 166, 207, 232, 168, 209, 232, 171, 211, 233, 173, 213, 234, 175, 215, 235, 178, 216, 236, 180, 218, 236, 182, 219, 237, 185, 221, 238, 187, 222, 238, 189, 224, 239, 191, 225, 240, 194, 227, 240, 196, 228, 241, 198, 229, 241, 200, 230, 242, 202, 231, 243, 204, 232, 243, 206, 233, 244, 208, 234, 244, 210, 235, 245, 212, 236, 245, 213, 237, 245, 215, 238, 246, 217, 239, 246, 219, 240, 247, 220, 241, 247, 222, 241, 248, 224, 242, 248, 225, 243, 248, 227, 243, 249, 228, 244, 249, 230, 245, 249, 231, 246, 250, 233, 246, 250, 234, 247, 250, 236, 247, 251, 237, 248, 251, 238, 249, 251, 240, 249, 252, 241, 250, 252, 242, 250, 252, 243, 251, 253, 245, 251, 253, 246, 252, 253, 247, 252, 253, 248, 253, 254, 249, 253, 254, 251, 254, 254, 252, 254, 254, 253], shape(naviaW), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: naviaW10 = reshape([4, 20, 39, 9, 54, 96, 27, 93, 138, 46, 119, 141, 63, 136, 133, 86, 157, 121, 123, 186, 113, 190, 223, 149, 236, 245, 213, 254, 254, 253], shape(naviaW10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: naviaW100 = reshape([4, 20, 39, 4, 23, 45, 5, 26, 49, 5, 29, 55, 5, 32, 59, 6, 35, 65, 6, 38, 69, 6, 41, 76, 7, 45, 82, 7, 48, 86, 8, 52, 92, 9, 54, 96, 10, 58, 102, 10, 61, 106, 12, 65, 111, 14, 69, 116, 15, 72, 119, 17, 76, 124, 18, 78, 127, 20, 82, 130, 23, 86, 134, 24, 89, 135, 27, 93, 138, 28, 95, 139, 31, 98, 141, 32, 101, 142, 35, 104, 142, 37, 107, 143, 38, 109, 143, 40, 111, 143, 42, 113, 143, 43, 115, 142, 45, 117, 142, 46, 119, 141, 48, 121, 141, 49, 122, 140, 51, 124, 139, 52, 125, 139, 54, 127, 138, 55, 128, 137, 57, 130, 136, 59, 132, 135, 60, 133, 134, 62, 135, 133, 63, 136, 133, 65, 138, 131, 67, 139, 131, 69, 141, 130, 71, 143, 128, 72, 144, 128, 75, 146, 126, 76, 148, 126, 79, 150, 124, 81, 153, 123, 83, 154, 122, 86, 157, 121, 88, 158, 120, 91, 161, 119, 93, 163, 118, 96, 166, 117, 100, 169, 115, 103, 171, 115, 107, 174, 114, 110, 176, 113, 114, 180, 113, 118, 182, 113, 123, 186, 113, 129, 190, 114, 133, 193, 114, 140, 197, 116, 144, 200, 118, 152, 204, 121, 157, 207, 124, 164, 211, 129, 172, 215, 134, 177, 217, 138, 185, 221, 144, 190, 223, 149, 197, 227, 156, 201, 229, 161, 207, 232, 168, 213, 234, 175, 216, 236, 180, 221, 238, 187, 224, 239, 191, 228, 241, 198, 231, 243, 204, 233, 244, 208, 236, 245, 213, 238, 246, 217, 241, 247, 222, 242, 248, 225, 244, 249, 230, 246, 250, 234, 247, 251, 237, 249, 252, 241, 250, 252, 243, 252, 253, 247, 253, 254, 249, 254, 254, 253], shape(naviaW100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: naviaW25 = reshape([4, 20, 39, 5, 33, 61, 7, 45, 82, 10, 60, 104, 16, 74, 122, 24, 88, 134, 32, 101, 142, 40, 110, 143, 46, 119, 141, 53, 126, 138, 59, 132, 135, 66, 138, 131, 74, 146, 127, 82, 153, 123, 93, 163, 118, 105, 173, 114, 123, 186, 113, 147, 201, 119, 172, 215, 134, 199, 228, 158, 219, 237, 185, 232, 243, 206, 242, 248, 225, 249, 251, 240, 254, 254, 253], shape(naviaW25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: naviaW50 = reshape([4, 20, 39, 5, 26, 49, 5, 32, 59, 6, 39, 71, 7, 45, 82, 8, 52, 92, 10, 58, 102, 12, 65, 111, 15, 73, 121, 19, 80, 128, 23, 86, 134, 27, 93, 138, 31, 98, 141, 35, 105, 143, 39, 109, 143, 42, 114, 143, 45, 117, 142, 48, 121, 141, 52, 125, 139, 55, 128, 137, 58, 131, 136, 61, 134, 134, 64, 137, 132, 68, 140, 130, 72, 144, 128, 75, 147, 126, 80, 151, 124, 85, 156, 121, 90, 160, 119, 95, 165, 117, 101, 170, 115, 108, 175, 113, 118, 182, 113, 127, 189, 113, 137, 196, 116, 149, 203, 120, 162, 210, 127, 177, 217, 138, 190, 223, 149, 201, 229, 161, 211, 233, 173, 219, 237, 185, 228, 241, 198, 233, 244, 208, 238, 246, 217, 242, 248, 225, 246, 250, 233, 249, 252, 241, 252, 253, 247, 254, 254, 253], shape(naviaW50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: naviaWS = reshape([4, 20, 39, 251, 253, 246, 72, 144, 128, 31, 98, 141, 162, 210, 127, 227, 240, 196, 10, 58, 102, 52, 125, 139, 101, 170, 115, 42, 114, 143, 6, 39, 71, 85, 156, 121, 19, 80, 128, 242, 248, 225, 61, 134, 134, 201, 229, 161, 127, 189, 113, 47, 119, 141, 37, 107, 143, 182, 220, 142, 66, 138, 131, 235, 245, 212, 5, 29, 55, 14, 69, 116, 113, 179, 113, 78, 149, 125, 93, 163, 118, 8, 49, 88, 247, 250, 236, 142, 198, 117, 56, 129, 137, 215, 235, 178, 24, 89, 135, 11, 64, 109, 28, 94, 139, 40, 110, 143, 69, 141, 130, 6, 34, 63, 239, 246, 219, 231, 243, 204, 75, 146, 126, 81, 153, 123, 49, 122, 140, 221, 238, 187, 58, 131, 135, 7, 44, 80, 172, 215, 134, 63, 136, 133, 34, 103, 142, 89, 159, 120, 5, 25, 47, 16, 74, 122, 249, 252, 241, 192, 225, 151, 119, 184, 113, 45, 117, 142, 152, 204, 121, 107, 174, 114, 8, 53, 94, 54, 126, 138, 207, 232, 168, 135, 194, 115, 98, 167, 116, 22, 85, 132, 244, 249, 230, 17, 77, 125, 123, 186, 113, 20, 82, 130, 51, 123, 140, 104, 172, 114, 187, 222, 147, 6, 41, 76, 241, 247, 222, 177, 217, 138, 67, 140, 130, 60, 132, 135, 62, 135, 133, 38, 109, 143, 76, 148, 126, 73, 145, 127, 218, 236, 182, 197, 227, 156, 95, 165, 117, 43, 115, 142, 211, 233, 173, 70, 142, 129, 35, 105, 143, 246, 250, 233, 229, 241, 200, 80, 151, 124, 87, 157, 120, 83, 154, 122, 10, 61, 106, 26, 91, 137, 55, 128, 137, 12, 66, 113, 224, 239, 191, 7, 47, 84, 15, 72, 119, 6, 36, 67], shape(naviaWS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: nuuk = reshape([5, 89, 140, 7, 90, 140, 9, 90, 140, 11, 90, 139, 13, 91, 139, 14, 91, 139, 16, 91, 138, 17, 91, 138, 19, 92, 137, 20, 92, 137, 21, 92, 137, 23, 92, 136, 24, 93, 136, 25, 93, 136, 26, 93, 135, 27, 94, 135, 28, 94, 135, 30, 94, 134, 31, 95, 134, 32, 95, 134, 33, 95, 134, 34, 96, 133, 35, 96, 133, 36, 96, 133, 37, 97, 133, 38, 97, 132, 39, 97, 132, 40, 98, 132, 41, 98, 132, 42, 99, 131, 43, 99, 131, 44, 99, 131, 45, 100, 131, 46, 100, 131, 47, 101, 131, 48, 101, 130, 50, 102, 130, 51, 102, 130, 52, 103, 130, 53, 103, 130, 54, 104, 130, 55, 104, 130, 56, 105, 130, 57, 105, 130, 59, 106, 130, 60, 106, 130, 61, 107, 130, 62, 108, 130, 63, 108, 130, 64, 109, 130, 66, 109, 130, 67, 110, 130, 68, 111, 130, 69, 111, 130, 70, 112, 131, 72, 113, 131, 73, 113, 131, 74, 114, 131, 75, 115, 131, 77, 115, 132, 78, 116, 132, 79, 117, 132, 81, 117, 132, 82, 118, 133, 83, 119, 133, 85, 120, 133, 86, 120, 134, 87, 121, 134, 88, 122, 134, 90, 122, 135, 91, 123, 135, 92, 124, 135, 94, 125, 136, 95, 125, 136, 96, 126, 136, 98, 127, 137, 99, 128, 137, 100, 129, 138, 102, 129, 138, 103, 130, 138, 104, 131, 139, 106, 132, 139, 107, 132, 140, 108, 133, 140, 110, 134, 140, 111, 135, 141, 112, 135, 141, 114, 136, 142, 115, 137, 142, 116, 138, 143, 118, 139, 143, 119, 139, 143, 120, 140, 144, 121, 141, 144, 123, 142, 145, 124, 142, 145, 125, 143, 145, 127, 144, 146, 128, 145, 146, 129, 145, 146, 130, 146, 147, 132, 147, 147, 133, 148, 147, 134, 148, 148, 135, 149, 148, 137, 150, 148, 138, 151, 149, 139, 151, 149, 140, 152, 149, 141, 153, 150, 142, 154, 150, 144, 154, 150, 145, 155, 150, 146, 156, 150, 147, 156, 151, 148, 157, 151, 149, 158, 151, 150, 158, 151, 151, 159, 151, 152, 160, 151, 153, 160, 151, 154, 161, 152, 155, 162, 152, 156, 162, 152, 157, 163, 152, 158, 164, 152, 159, 164, 152, 160, 165, 152, 161, 166, 152, 162, 166, 152, 162, 167, 152, 163, 167, 152, 164, 168, 151, 165, 168, 151, 166, 169, 151, 166, 170, 151, 167, 170, 151, 168, 171, 151, 169, 171, 151, 169, 172, 151, 170, 172, 150, 171, 173, 150, 171, 173, 150, 172, 174, 150, 173, 174, 149, 173, 175, 149, 174, 175, 149, 174, 176, 149, 175, 176, 148, 176, 177, 148, 176, 177, 148, 177, 177, 148, 177, 178, 147, 178, 178, 147, 178, 179, 147, 179, 179, 146, 179, 180, 146, 180, 180, 146, 180, 181, 145, 181, 181, 145, 181, 181, 145, 182, 182, 144, 182, 182, 144, 183, 183, 144, 183, 183, 143, 183, 183, 143, 184, 184, 142, 184, 184, 142, 185, 185, 142, 185, 185, 141, 186, 185, 141, 186, 186, 141, 186, 186, 140, 187, 187, 140, 187, 187, 139, 188, 187, 139, 188, 188, 139, 189, 188, 138, 189, 189, 138, 189, 189, 138, 190, 189, 137, 190, 190, 137, 191, 190, 136, 191, 191, 136, 192, 191, 136, 192, 192, 135, 192, 192, 135, 193, 193, 135, 193, 193, 134, 194, 193, 134, 194, 194, 134, 195, 194, 133, 195, 195, 133, 196, 195, 133, 196, 196, 133, 197, 196, 132, 197, 197, 132, 198, 198, 132, 199, 198, 132, 199, 199, 132, 200, 199, 131, 200, 200, 131, 201, 201, 131, 202, 201, 131, 202, 202, 131, 203, 203, 131, 204, 203, 131, 205, 204, 131, 205, 205, 131, 206, 206, 131, 207, 207, 132, 208, 207, 132, 209, 208, 132, 210, 209, 132, 210, 210, 133, 211, 211, 133, 212, 212, 134, 213, 213, 134, 214, 214, 135, 215, 215, 135, 216, 216, 136, 217, 217, 136, 219, 218, 137, 220, 219, 138, 221, 221, 139, 222, 222, 140, 223, 223, 141, 224, 224, 142, 225, 225, 143, 227, 226, 144, 228, 227, 145, 229, 229, 146, 230, 230, 147, 231, 231, 148, 232, 232, 149, 233, 233, 151, 235, 234, 152, 236, 235, 153, 237, 237, 154, 238, 238, 156, 239, 239, 157, 240, 240, 158, 241, 241, 160, 242, 242, 161, 243, 243, 163, 244, 244, 164, 245, 245, 165, 246, 246, 167, 247, 247, 168, 248, 248, 170, 249, 249, 171, 250, 250, 173, 251, 251, 174, 252, 252, 175, 253, 253, 177, 254, 254, 178], shape(nuuk), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: nuuk10 = reshape([5, 89, 140, 41, 98, 132, 74, 114, 131, 111, 135, 141, 146, 156, 150, 171, 173, 150, 186, 185, 141, 199, 198, 132, 224, 224, 142, 254, 254, 178], shape(nuuk10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: nuuk100 = reshape([5, 89, 140, 11, 90, 139, 14, 91, 139, 19, 92, 137, 21, 92, 137, 25, 93, 136, 27, 94, 135, 31, 95, 134, 34, 96, 133, 36, 96, 133, 39, 97, 132, 41, 98, 132, 44, 99, 131, 46, 100, 131, 50, 102, 130, 53, 103, 130, 55, 104, 130, 59, 106, 130, 61, 107, 130, 64, 109, 130, 68, 111, 130, 70, 112, 131, 74, 114, 131, 77, 115, 132, 81, 117, 132, 83, 119, 133, 87, 121, 134, 91, 123, 135, 94, 125, 136, 98, 127, 137, 100, 129, 138, 104, 131, 139, 107, 132, 140, 111, 135, 141, 115, 137, 142, 118, 139, 143, 121, 141, 144, 124, 142, 145, 128, 145, 146, 130, 146, 147, 134, 148, 148, 138, 151, 149, 140, 152, 149, 144, 154, 150, 146, 156, 150, 149, 158, 151, 151, 159, 151, 154, 161, 152, 157, 163, 152, 159, 164, 152, 162, 166, 152, 163, 167, 152, 166, 169, 151, 168, 171, 151, 169, 172, 151, 171, 173, 150, 173, 174, 149, 174, 176, 149, 176, 177, 148, 177, 178, 147, 179, 179, 146, 180, 180, 146, 181, 181, 145, 182, 182, 144, 183, 183, 143, 184, 184, 142, 186, 185, 141, 187, 187, 140, 188, 187, 139, 189, 189, 138, 190, 189, 137, 191, 191, 136, 192, 192, 135, 193, 193, 134, 195, 194, 133, 196, 195, 133, 197, 197, 132, 199, 198, 132, 200, 200, 131, 202, 201, 131, 204, 203, 131, 206, 206, 131, 208, 207, 132, 210, 210, 133, 212, 212, 134, 215, 215, 135, 219, 218, 137, 221, 221, 139, 224, 224, 142, 227, 226, 144, 230, 230, 147, 232, 232, 149, 236, 235, 153, 239, 239, 157, 241, 241, 160, 244, 244, 164, 246, 246, 167, 249, 249, 171, 251, 251, 174, 254, 254, 178], shape(nuuk100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: nuuk25 = reshape([5, 89, 140, 23, 92, 136, 34, 96, 133, 45, 100, 131, 57, 105, 130, 69, 111, 130, 83, 119, 133, 96, 126, 136, 111, 135, 141, 125, 143, 145, 138, 151, 149, 150, 158, 151, 161, 166, 152, 169, 171, 151, 176, 177, 148, 181, 181, 145, 186, 185, 141, 190, 190, 137, 195, 194, 133, 201, 201, 131, 210, 209, 132, 220, 219, 138, 232, 232, 149, 243, 243, 163, 254, 254, 178], shape(nuuk25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: nuuk50 = reshape([5, 89, 140, 14, 91, 139, 21, 92, 137, 28, 94, 135, 34, 96, 133, 39, 97, 132, 44, 99, 131, 50, 102, 130, 56, 105, 130, 62, 108, 130, 68, 111, 130, 74, 114, 131, 81, 117, 132, 88, 122, 134, 95, 125, 136, 102, 129, 138, 108, 133, 140, 115, 137, 142, 123, 142, 145, 129, 145, 146, 135, 149, 148, 141, 153, 150, 147, 156, 151, 153, 160, 151, 158, 164, 152, 162, 167, 152, 166, 170, 151, 171, 173, 150, 174, 175, 149, 177, 177, 148, 179, 180, 146, 182, 182, 144, 184, 184, 142, 186, 186, 140, 189, 188, 138, 191, 190, 136, 193, 193, 135, 196, 195, 133, 199, 198, 132, 202, 201, 131, 205, 205, 131, 210, 209, 132, 215, 215, 135, 221, 221, 139, 227, 226, 144, 232, 232, 149, 238, 238, 156, 244, 244, 164, 249, 249, 171, 254, 254, 178], shape(nuuk50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: nuukS = reshape([5, 89, 140, 254, 254, 178, 161, 166, 152, 83, 119, 133, 195, 195, 133, 45, 100, 131, 181, 181, 145, 125, 143, 145, 221, 221, 139, 188, 188, 139, 173, 174, 149, 145, 155, 150, 104, 131, 139, 63, 108, 130, 28, 94, 135, 205, 205, 131, 238, 238, 156, 135, 149, 148, 177, 178, 147, 94, 125, 136, 115, 137, 142, 200, 199, 131, 246, 246, 167, 192, 191, 136, 153, 160, 151, 212, 212, 134, 73, 113, 131, 167, 170, 151, 185, 185, 142, 19, 92, 137, 37, 97, 133, 54, 104, 130, 230, 230, 147, 99, 128, 137, 170, 172, 150, 175, 176, 148, 183, 183, 143, 179, 180, 146, 50, 102, 130, 130, 146, 147, 110, 134, 140, 24, 93, 136, 78, 116, 132, 250, 250, 173, 225, 225, 143, 202, 202, 131, 41, 98, 132, 164, 168, 151, 13, 91, 139, 193, 193, 134, 209, 208, 132, 216, 216, 136, 59, 106, 130, 120, 140, 144, 190, 189, 137, 149, 158, 151, 157, 163, 152, 242, 242, 161, 197, 197, 132, 33, 95, 134, 88, 122, 134, 186, 186, 140, 140, 152, 149, 68, 111, 130, 235, 234, 152, 147, 156, 151, 192, 192, 135, 171, 173, 150, 252, 252, 175, 118, 139, 143, 219, 218, 137, 214, 214, 135, 112, 135, 141, 189, 189, 138, 228, 227, 145, 210, 210, 133, 31, 95, 134, 16, 91, 138, 166, 169, 151, 9, 90, 140, 66, 109, 130, 21, 92, 137, 196, 196, 133, 70, 112, 131, 240, 240, 158, 191, 190, 136, 199, 198, 132, 133, 148, 147, 96, 126, 136, 180, 181, 145, 204, 203, 131, 207, 207, 132, 223, 223, 141, 187, 187, 139, 138, 151, 149, 142, 154, 150, 39, 97, 132, 128, 145, 146, 162, 167, 152, 47, 101, 131], shape(nuukS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: oleron = reshape([26, 38, 89, 27, 40, 91, 29, 41, 92, 30, 43, 94, 32, 44, 95, 33, 46, 97, 35, 47, 98, 36, 49, 100, 38, 50, 101, 40, 52, 103, 41, 53, 104, 43, 55, 106, 44, 56, 107, 46, 58, 109, 47, 59, 111, 49, 61, 112, 50, 63, 114, 52, 64, 115, 53, 66, 117, 55, 67, 118, 57, 69, 120, 58, 71, 122, 60, 72, 123, 61, 74, 125, 63, 75, 126, 65, 77, 128, 66, 79, 130, 68, 80, 131, 69, 82, 133, 71, 84, 135, 73, 85, 136, 74, 87, 138, 76, 89, 140, 78, 90, 141, 79, 92, 143, 81, 94, 145, 83, 95, 146, 84, 97, 148, 86, 99, 150, 88, 100, 151, 89, 102, 153, 91, 104, 155, 93, 105, 156, 94, 107, 158, 96, 109, 160, 98, 111, 162, 100, 112, 163, 101, 114, 165, 103, 116, 167, 105, 117, 169, 107, 119, 170, 108, 121, 172, 110, 123, 174, 112, 125, 176, 114, 126, 177, 115, 128, 179, 117, 130, 181, 119, 132, 183, 121, 133, 184, 122, 135, 186, 124, 137, 188, 126, 139, 190, 128, 141, 192, 130, 142, 193, 131, 144, 195, 133, 146, 197, 135, 148, 199, 137, 150, 201, 139, 151, 202, 141, 153, 204, 142, 155, 206, 144, 157, 208, 146, 159, 210, 148, 161, 211, 150, 162, 213, 152, 164, 215, 153, 166, 217, 155, 168, 219, 157, 170, 220, 159, 172, 222, 161, 173, 224, 163, 175, 225, 164, 177, 227, 166, 179, 229, 168, 181, 230, 170, 183, 232, 172, 184, 233, 173, 186, 234, 175, 188, 236, 177, 189, 237, 178, 191, 238, 180, 193, 239, 182, 194, 240, 183, 196, 241, 185, 198, 242, 186, 199, 243, 188, 201, 243, 189, 202, 244, 191, 203, 244, 192, 205, 245, 194, 206, 245, 195, 208, 246, 196, 209, 246, 198, 210, 247, 199, 212, 247, 200, 213, 248, 202, 214, 248, 203, 216, 248, 204, 217, 249, 206, 218, 249, 207, 220, 249, 208, 221, 250, 210, 222, 250, 211, 224, 250, 212, 225, 251, 214, 226, 251, 215, 228, 251, 216, 229, 252, 218, 230, 252, 219, 232, 252, 220, 233, 253, 222, 234, 253, 223, 236, 253, 224, 237, 254, 226, 238, 254, 227, 240, 254, 228, 241, 255, 230, 242, 255, 26, 76, 0, 29, 77, 0, 31, 78, 0, 34, 79, 0, 37, 79, 0, 39, 80, 0, 42, 81, 0, 44, 81, 0, 47, 82, 0, 49, 83, 0, 51, 84, 0, 53, 84, 0, 56, 85, 0, 58, 86, 0, 60, 86, 0, 62, 87, 0, 64, 87, 0, 66, 88, 0, 68, 89, 0, 70, 89, 0, 73, 90, 1, 75, 91, 1, 77, 92, 1, 79, 92, 2, 81, 93, 2, 83, 94, 2, 85, 95, 3, 87, 96, 4, 90, 96, 5, 92, 97, 6, 94, 98, 7, 96, 99, 9, 99, 100, 10, 101, 102, 12, 103, 103, 14, 106, 104, 16, 108, 105, 18, 110, 106, 20, 113, 108, 22, 115, 109, 24, 117, 110, 26, 120, 112, 29, 122, 113, 31, 124, 114, 33, 126, 116, 35, 129, 117, 37, 131, 118, 40, 133, 120, 42, 135, 121, 44, 138, 123, 46, 140, 124, 49, 142, 125, 51, 144, 127, 53, 146, 128, 55, 148, 130, 58, 151, 131, 60, 153, 132, 62, 155, 134, 64, 157, 135, 67, 159, 137, 69, 161, 138, 71, 163, 140, 73, 166, 141, 76, 168, 143, 78, 170, 144, 80, 172, 146, 83, 174, 147, 85, 177, 149, 87, 179, 151, 89, 181, 152, 92, 183, 154, 94, 186, 156, 96, 188, 157, 99, 190, 159, 101, 193, 161, 103, 195, 163, 106, 197, 164, 108, 199, 166, 110, 202, 168, 113, 204, 170, 115, 206, 172, 117, 209, 173, 120, 211, 175, 122, 213, 177, 124, 215, 179, 127, 217, 181, 129, 220, 182, 132, 222, 184, 134, 224, 186, 137, 226, 188, 139, 228, 190, 142, 229, 192, 144, 231, 194, 147, 233, 196, 149, 234, 197, 152, 236, 199, 154, 237, 201, 157, 238, 203, 159, 240, 205, 162, 241, 206, 164, 242, 208, 167, 242, 210, 169, 243, 212, 171, 244, 213, 174, 245, 215, 176, 245, 217, 178, 246, 218, 181, 246, 220, 183, 247, 222, 185, 247, 223, 188, 247, 225, 190, 248, 226, 192, 248, 228, 195, 248, 230, 197, 249, 231, 199, 249, 233, 201, 249, 234, 204, 250, 236, 206, 250, 238, 208, 250, 239, 211, 251, 241, 213, 251, 243, 215, 251, 244, 218, 251, 246, 220, 252, 248, 222, 252, 249, 225, 252, 251, 227, 253, 253, 230], shape(oleron), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: oleron10 = reshape([26, 38, 89, 69, 82, 133, 119, 132, 183, 170, 183, 232, 211, 224, 250, 60, 86, 0, 122, 113, 31, 183, 154, 94, 241, 206, 164, 253, 253, 230], shape(oleron10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: oleron100 = reshape([26, 38, 89, 30, 43, 94, 33, 46, 97, 38, 50, 101, 41, 53, 104, 46, 58, 109, 49, 61, 112, 53, 66, 117, 58, 71, 122, 61, 74, 125, 66, 79, 130, 69, 82, 133, 74, 87, 138, 78, 90, 141, 83, 95, 146, 88, 100, 151, 91, 104, 155, 96, 109, 160, 100, 112, 163, 105, 117, 169, 110, 123, 174, 114, 126, 177, 119, 132, 183, 122, 135, 186, 128, 141, 192, 131, 144, 195, 137, 150, 201, 142, 155, 206, 146, 159, 210, 152, 164, 215, 155, 168, 219, 161, 173, 224, 164, 177, 227, 170, 183, 232, 175, 188, 236, 178, 191, 238, 183, 196, 241, 186, 199, 243, 191, 203, 244, 194, 206, 245, 198, 210, 247, 202, 214, 248, 204, 217, 249, 208, 221, 250, 211, 224, 250, 215, 228, 251, 218, 230, 252, 222, 234, 253, 226, 238, 254, 228, 241, 255, 29, 77, 0, 34, 79, 0, 42, 81, 0, 49, 83, 0, 53, 84, 0, 60, 86, 0, 64, 87, 0, 70, 89, 0, 75, 91, 1, 81, 93, 2, 87, 96, 4, 92, 97, 6, 99, 100, 10, 103, 103, 14, 110, 106, 20, 115, 109, 24, 122, 113, 31, 129, 117, 37, 133, 120, 42, 140, 124, 49, 144, 127, 53, 151, 131, 60, 155, 134, 64, 161, 138, 71, 168, 143, 78, 172, 146, 83, 179, 151, 89, 183, 154, 94, 190, 159, 101, 195, 163, 106, 202, 168, 113, 209, 173, 120, 213, 177, 124, 220, 182, 132, 224, 186, 137, 229, 192, 144, 234, 197, 152, 237, 201, 157, 241, 206, 164, 242, 210, 169, 245, 215, 176, 246, 218, 181, 247, 223, 188, 248, 228, 195, 249, 231, 199, 250, 236, 206, 250, 239, 211, 251, 244, 218, 252, 248, 222, 253, 253, 230], shape(oleron100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: oleron25 = reshape([26, 38, 89, 43, 55, 106, 58, 71, 122, 76, 89, 140, 94, 107, 158, 112, 125, 176, 131, 144, 195, 150, 162, 213, 170, 183, 232, 188, 201, 243, 202, 214, 248, 216, 229, 252, 26, 76, 0, 51, 84, 0, 75, 91, 1, 96, 99, 9, 122, 113, 31, 146, 128, 55, 168, 143, 78, 193, 161, 103, 217, 181, 129, 236, 199, 154, 246, 218, 181, 249, 234, 204, 253, 253, 230], shape(oleron25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: oleron50 = reshape([26, 38, 89, 33, 46, 97, 41, 53, 104, 50, 63, 114, 58, 71, 122, 66, 79, 130, 74, 87, 138, 83, 95, 146, 93, 105, 156, 101, 114, 165, 110, 123, 174, 119, 132, 183, 128, 141, 192, 139, 151, 202, 148, 161, 211, 157, 170, 220, 166, 179, 229, 175, 188, 236, 185, 198, 242, 192, 205, 245, 199, 212, 247, 206, 218, 249, 212, 225, 251, 220, 233, 253, 227, 240, 254, 31, 78, 0, 44, 81, 0, 58, 86, 0, 68, 89, 0, 79, 92, 2, 90, 96, 5, 101, 102, 12, 115, 109, 24, 126, 116, 35, 138, 123, 46, 148, 130, 58, 159, 137, 69, 172, 146, 83, 183, 154, 94, 195, 163, 106, 206, 172, 117, 217, 181, 129, 229, 192, 144, 237, 201, 157, 242, 210, 169, 246, 218, 181, 248, 226, 192, 250, 236, 206, 251, 244, 218, 253, 253, 230], shape(oleron50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: oslo = reshape([1, 1, 1, 1, 2, 3, 2, 4, 5, 2, 5, 7, 3, 6, 9, 4, 7, 11, 4, 8, 13, 5, 9, 15, 5, 10, 16, 6, 11, 18, 6, 12, 19, 7, 13, 21, 8, 14, 22, 8, 15, 23, 9, 16, 24, 9, 17, 25, 10, 18, 27, 11, 19, 28, 11, 19, 29, 11, 20, 30, 12, 21, 31, 12, 22, 32, 13, 22, 34, 13, 23, 35, 13, 24, 36, 13, 25, 37, 13, 25, 39, 13, 26, 40, 13, 27, 41, 14, 27, 42, 14, 28, 44, 14, 29, 45, 14, 30, 46, 14, 30, 47, 14, 31, 49, 14, 32, 50, 15, 33, 51, 15, 33, 53, 15, 34, 54, 15, 35, 55, 15, 36, 57, 15, 37, 58, 16, 38, 60, 16, 38, 61, 16, 39, 62, 16, 40, 64, 16, 41, 65, 17, 42, 67, 17, 43, 68, 17, 43, 69, 17, 44, 71, 18, 45, 72, 18, 46, 74, 18, 47, 75, 18, 48, 76, 19, 49, 78, 19, 50, 79, 19, 50, 81, 20, 51, 82, 20, 52, 84, 20, 53, 85, 20, 54, 87, 21, 55, 88, 21, 56, 90, 21, 57, 91, 22, 58, 93, 22, 59, 94, 23, 59, 96, 23, 60, 97, 23, 61, 99, 24, 62, 100, 24, 63, 102, 25, 64, 103, 25, 65, 105, 25, 66, 106, 26, 67, 108, 26, 68, 109, 27, 69, 111, 27, 70, 112, 28, 71, 114, 28, 72, 115, 29, 72, 117, 29, 73, 118, 30, 74, 120, 30, 75, 122, 31, 76, 123, 32, 77, 125, 32, 78, 126, 33, 79, 128, 33, 80, 129, 34, 81, 131, 35, 82, 133, 35, 83, 134, 36, 84, 136, 37, 85, 137, 38, 86, 139, 38, 87, 140, 39, 88, 142, 40, 89, 144, 41, 90, 145, 42, 91, 147, 43, 92, 148, 44, 93, 150, 45, 94, 152, 46, 95, 153, 47, 96, 155, 48, 97, 156, 49, 98, 158, 50, 99, 160, 51, 100, 161, 52, 101, 163, 54, 102, 164, 55, 103, 166, 56, 105, 168, 58, 106, 169, 59, 107, 171, 61, 108, 172, 62, 109, 174, 64, 110, 175, 65, 112, 177, 67, 113, 178, 68, 114, 179, 70, 115, 181, 71, 117, 182, 73, 118, 184, 75, 119, 185, 76, 120, 186, 78, 122, 187, 80, 123, 188, 81, 124, 189, 83, 125, 190, 84, 126, 191, 86, 127, 192, 88, 129, 193, 89, 130, 194, 91, 131, 195, 92, 132, 195, 94, 133, 196, 96, 134, 197, 97, 135, 197, 99, 136, 198, 100, 137, 198, 101, 138, 199, 103, 139, 199, 104, 140, 199, 106, 141, 200, 107, 142, 200, 108, 143, 200, 110, 144, 200, 111, 144, 201, 112, 145, 201, 114, 146, 201, 115, 147, 201, 116, 148, 201, 117, 148, 201, 119, 149, 201, 120, 150, 201, 121, 151, 202, 122, 152, 202, 123, 152, 202, 125, 153, 202, 126, 154, 202, 127, 155, 202, 128, 155, 202, 129, 156, 202, 131, 157, 202, 132, 158, 202, 133, 158, 202, 134, 159, 202, 135, 160, 202, 137, 160, 202, 138, 161, 202, 139, 162, 201, 140, 163, 201, 141, 163, 201, 142, 164, 201, 144, 165, 201, 145, 166, 201, 146, 166, 201, 147, 167, 201, 148, 168, 201, 150, 169, 201, 151, 169, 201, 152, 170, 201, 153, 171, 201, 154, 172, 201, 156, 172, 201, 157, 173, 201, 158, 174, 201, 159, 175, 201, 160, 175, 201, 162, 176, 202, 163, 177, 202, 164, 178, 202, 165, 179, 202, 167, 180, 202, 168, 180, 202, 169, 181, 202, 170, 182, 202, 172, 183, 202, 173, 184, 203, 174, 185, 203, 176, 186, 203, 177, 187, 203, 178, 188, 204, 180, 189, 204, 181, 189, 204, 182, 190, 205, 184, 191, 205, 185, 193, 205, 186, 194, 206, 188, 195, 206, 189, 196, 207, 191, 197, 207, 192, 198, 208, 194, 199, 209, 195, 200, 209, 197, 201, 210, 198, 203, 211, 199, 204, 211, 201, 205, 212, 202, 206, 213, 204, 208, 214, 206, 209, 215, 207, 210, 216, 209, 211, 217, 210, 213, 218, 212, 214, 219, 213, 216, 220, 215, 217, 221, 216, 218, 222, 218, 220, 223, 219, 221, 224, 221, 222, 225, 222, 224, 226, 224, 225, 228, 226, 227, 229, 227, 228, 230, 229, 230, 231, 230, 231, 233, 232, 233, 234, 233, 234, 235, 235, 236, 237, 236, 237, 238, 238, 238, 239, 239, 240, 241, 241, 241, 242, 243, 243, 244, 244, 244, 245, 246, 246, 246, 247, 247, 248, 249, 249, 249, 250, 250, 251, 252, 252, 252, 253, 253, 254, 255, 255, 255], shape(oslo), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: oslo10 = reshape([1, 1, 1, 13, 27, 41, 19, 50, 81, 31, 76, 123, 56, 105, 168, 101, 138, 199, 137, 160, 202, 170, 182, 202, 212, 214, 219, 255, 255, 255], shape(oslo10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: oslo100 = reshape([1, 1, 1, 2, 5, 7, 4, 7, 11, 5, 10, 16, 6, 12, 19, 8, 15, 23, 9, 17, 25, 11, 19, 29, 12, 22, 32, 13, 23, 35, 13, 25, 39, 13, 27, 41, 14, 29, 45, 14, 30, 47, 15, 33, 51, 15, 35, 55, 15, 37, 58, 16, 39, 62, 16, 41, 65, 17, 43, 69, 18, 46, 74, 18, 48, 76, 19, 50, 81, 20, 52, 84, 21, 55, 88, 21, 57, 91, 23, 59, 96, 24, 62, 100, 25, 64, 103, 26, 67, 108, 27, 69, 111, 28, 72, 115, 29, 73, 118, 31, 76, 123, 33, 79, 128, 34, 81, 131, 36, 84, 136, 38, 86, 139, 40, 89, 144, 42, 91, 147, 45, 94, 152, 48, 97, 156, 50, 99, 160, 54, 102, 164, 56, 105, 168, 61, 108, 172, 64, 110, 175, 68, 114, 179, 73, 118, 184, 76, 120, 186, 81, 124, 189, 84, 126, 191, 89, 130, 194, 94, 133, 196, 97, 135, 197, 101, 138, 199, 104, 140, 199, 108, 143, 200, 111, 144, 201, 115, 147, 201, 119, 149, 201, 121, 151, 202, 125, 153, 202, 127, 155, 202, 131, 157, 202, 133, 158, 202, 137, 160, 202, 140, 163, 201, 142, 164, 201, 146, 166, 201, 148, 168, 201, 152, 170, 201, 154, 172, 201, 158, 174, 201, 162, 176, 202, 164, 178, 202, 168, 180, 202, 170, 182, 202, 174, 185, 203, 177, 187, 203, 181, 189, 204, 185, 193, 205, 188, 195, 206, 192, 198, 208, 195, 200, 209, 199, 204, 211, 204, 208, 214, 207, 210, 216, 212, 214, 219, 215, 217, 221, 219, 221, 224, 222, 224, 226, 227, 228, 230, 232, 233, 234, 235, 236, 237, 239, 240, 241, 243, 243, 244, 247, 247, 248, 250, 250, 251, 255, 255, 255], shape(oslo100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: oslo25 = reshape([1, 1, 1, 7, 13, 21, 12, 22, 32, 14, 30, 46, 16, 38, 61, 18, 47, 75, 21, 57, 91, 25, 66, 106, 31, 76, 123, 38, 87, 140, 48, 97, 156, 62, 109, 174, 80, 123, 188, 96, 134, 197, 111, 144, 201, 123, 152, 202, 137, 160, 202, 150, 169, 201, 162, 176, 202, 176, 186, 203, 191, 197, 207, 206, 209, 215, 222, 224, 226, 238, 238, 239, 255, 255, 255], shape(oslo25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: oslo50 = reshape([1, 1, 1, 4, 7, 11, 6, 12, 19, 10, 18, 27, 12, 22, 32, 13, 25, 39, 14, 29, 45, 15, 33, 51, 16, 38, 60, 17, 42, 67, 18, 46, 74, 19, 50, 81, 21, 55, 88, 23, 60, 97, 25, 65, 105, 27, 70, 112, 30, 74, 120, 33, 79, 128, 37, 85, 137, 41, 90, 145, 46, 95, 153, 51, 100, 161, 58, 106, 169, 67, 113, 178, 75, 119, 185, 83, 125, 190, 91, 131, 195, 100, 137, 198, 107, 142, 200, 114, 146, 201, 120, 150, 201, 126, 154, 202, 133, 158, 202, 139, 162, 201, 145, 166, 201, 151, 169, 201, 157, 173, 201, 164, 178, 202, 170, 182, 202, 177, 187, 203, 184, 191, 205, 191, 197, 207, 199, 204, 211, 207, 210, 216, 215, 217, 221, 222, 224, 226, 230, 231, 233, 239, 240, 241, 247, 247, 248, 255, 255, 255], shape(oslo50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: osloS = reshape([3, 6, 9, 249, 249, 249, 80, 123, 188, 22, 59, 94, 160, 175, 201, 14, 32, 50, 123, 152, 202, 39, 88, 142, 202, 206, 213, 11, 20, 30, 18, 45, 72, 55, 103, 166, 181, 189, 204, 103, 139, 199, 29, 73, 118, 141, 163, 201, 226, 227, 229, 25, 66, 106, 16, 38, 61, 114, 146, 201, 151, 169, 201, 67, 113, 178, 13, 26, 40, 170, 182, 202, 47, 96, 155, 215, 217, 221, 34, 81, 131, 191, 197, 207, 20, 52, 84, 238, 238, 239, 132, 158, 202, 8, 14, 22, 91, 131, 195, 32, 77, 125, 13, 23, 35, 73, 118, 184, 137, 160, 202, 24, 62, 100, 61, 108, 172, 14, 29, 45, 108, 143, 200, 27, 70, 112, 5, 10, 16, 209, 211, 217, 19, 49, 78, 165, 179, 202, 17, 42, 67, 232, 233, 234, 146, 166, 201, 197, 201, 210, 156, 172, 201, 97, 135, 197, 119, 149, 201, 43, 92, 148, 15, 35, 55, 176, 186, 203, 50, 99, 160, 243, 243, 244, 10, 18, 27, 36, 84, 136, 86, 127, 192, 127, 155, 202, 219, 221, 224, 186, 194, 206, 21, 55, 88, 17, 43, 69, 6, 12, 19, 70, 115, 181, 23, 60, 97, 212, 214, 219, 148, 168, 201, 76, 120, 186, 13, 25, 37, 100, 137, 198, 139, 162, 201, 121, 151, 202, 45, 94, 152, 14, 30, 47, 184, 191, 205, 25, 64, 103, 94, 133, 196, 178, 188, 204, 83, 125, 190, 28, 72, 115, 206, 209, 215, 12, 22, 32, 158, 174, 201, 222, 224, 226, 52, 101, 163, 58, 106, 169, 15, 37, 58, 235, 236, 237, 194, 199, 209, 64, 110, 175, 33, 79, 128, 15, 33, 53, 229, 230, 231, 4, 8, 13, 19, 50, 81, 30, 75, 122], shape(osloS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: roma = reshape([126, 23, 0, 127, 26, 1, 128, 29, 2, 129, 32, 3, 130, 34, 4, 131, 37, 4, 132, 39, 5, 133, 42, 6, 134, 44, 6, 135, 46, 7, 136, 48, 8, 138, 50, 8, 139, 52, 9, 140, 54, 10, 141, 56, 11, 142, 58, 11, 143, 60, 12, 144, 62, 13, 144, 64, 14, 145, 66, 15, 146, 68, 15, 147, 70, 16, 148, 71, 17, 149, 73, 18, 150, 75, 18, 151, 77, 19, 152, 78, 20, 153, 80, 20, 153, 82, 21, 154, 83, 22, 155, 85, 23, 156, 87, 23, 157, 88, 24, 158, 90, 25, 158, 92, 25, 159, 93, 26, 160, 95, 27, 161, 97, 28, 162, 98, 28, 162, 100, 29, 163, 101, 30, 164, 103, 30, 165, 104, 31, 166, 106, 32, 166, 108, 32, 167, 109, 33, 168, 111, 34, 169, 112, 35, 169, 114, 35, 170, 115, 36, 171, 117, 37, 172, 119, 38, 173, 120, 38, 173, 122, 39, 174, 124, 40, 175, 125, 41, 176, 127, 42, 176, 128, 43, 177, 130, 44, 178, 132, 45, 179, 134, 46, 180, 135, 47, 181, 137, 48, 181, 139, 49, 182, 140, 50, 183, 142, 51, 184, 144, 52, 185, 146, 53, 186, 148, 55, 186, 149, 56, 187, 151, 57, 188, 153, 59, 189, 155, 60, 190, 157, 62, 191, 159, 64, 192, 161, 65, 193, 163, 67, 193, 165, 69, 194, 166, 71, 195, 168, 72, 196, 170, 74, 197, 172, 76, 198, 174, 79, 199, 176, 81, 199, 178, 83, 200, 180, 85, 201, 182, 88, 202, 184, 90, 203, 186, 93, 203, 188, 95, 204, 190, 98, 205, 192, 100, 206, 194, 103, 206, 196, 106, 207, 198, 109, 207, 200, 111, 208, 202, 114, 208, 204, 117, 209, 205, 120, 209, 207, 123, 210, 209, 126, 210, 211, 129, 210, 212, 132, 210, 214, 135, 210, 215, 138, 210, 217, 141, 210, 218, 144, 210, 220, 147, 210, 221, 150, 210, 222, 152, 209, 223, 155, 209, 225, 158, 209, 226, 161, 208, 227, 163, 208, 228, 166, 207, 229, 168, 206, 229, 171, 205, 230, 173, 204, 231, 176, 204, 231, 178, 203, 232, 180, 201, 233, 182, 200, 233, 184, 199, 233, 186, 198, 234, 188, 196, 234, 190, 195, 234, 192, 193, 234, 194, 192, 234, 195, 190, 234, 197, 189, 234, 198, 187, 234, 200, 185, 234, 201, 183, 234, 202, 181, 234, 204, 179, 233, 205, 177, 233, 206, 175, 232, 207, 173, 232, 208, 171, 231, 209, 169, 231, 210, 166, 230, 210, 164, 229, 211, 162, 229, 212, 159, 228, 212, 157, 227, 213, 155, 226, 213, 152, 225, 214, 149, 224, 214, 147, 223, 214, 144, 222, 215, 142, 221, 215, 139, 220, 215, 137, 218, 215, 134, 217, 215, 131, 216, 215, 129, 215, 215, 126, 213, 215, 123, 212, 215, 121, 210, 215, 118, 209, 215, 116, 207, 214, 113, 206, 214, 110, 204, 214, 108, 203, 214, 105, 201, 213, 103, 199, 213, 100, 198, 213, 98, 196, 212, 96, 195, 212, 93, 193, 211, 91, 191, 211, 89, 189, 210, 87, 188, 210, 85, 186, 209, 83, 184, 209, 81, 183, 208, 79, 181, 208, 77, 179, 207, 75, 178, 206, 73, 176, 206, 71, 174, 205, 70, 172, 204, 68, 171, 204, 67, 169, 203, 65, 167, 203, 64, 166, 202, 62, 164, 201, 61, 162, 201, 60, 161, 200, 58, 159, 199, 57, 157, 199, 56, 156, 198, 55, 154, 197, 54, 152, 197, 53, 151, 196, 52, 149, 195, 51, 148, 195, 50, 146, 194, 49, 144, 193, 48, 143, 193, 48, 141, 192, 47, 140, 191, 46, 138, 191, 45, 136, 190, 45, 135, 189, 44, 133, 189, 43, 132, 188, 43, 130, 187, 42, 129, 187, 41, 127, 186, 41, 126, 185, 40, 124, 185, 40, 122, 184, 39, 121, 183, 38, 119, 183, 38, 118, 182, 37, 116, 181, 37, 115, 181, 36, 113, 180, 36, 111, 179, 35, 110, 179, 35, 108, 178, 34, 106, 177, 34, 105, 176, 33, 103, 176, 33, 102, 175, 32, 100, 174, 32, 98, 174, 31, 96, 173, 30, 95, 172, 30, 93, 171, 29, 91, 171, 29, 90, 170, 28, 88, 169, 27, 86, 168, 27, 84, 168, 26, 83, 167, 25, 81, 166, 25, 79, 165, 24, 77, 164, 23, 76, 164, 22, 74, 163, 21, 72, 162, 20, 70, 161, 19, 68, 160, 18, 66, 160, 17, 64, 159, 15, 63, 158, 14, 61, 157, 12, 59, 156, 11, 57, 156, 9, 55, 155, 7, 53, 154, 5, 51, 153, 3, 49, 152], shape(roma), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: roma10 = reshape([126, 23, 0, 153, 82, 21, 176, 128, 43, 200, 180, 85, 208, 227, 163, 164, 229, 211, 93, 193, 211, 50, 146, 194, 32, 100, 174, 3, 49, 152], shape(roma10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: roma100 = reshape([126, 23, 0, 129, 32, 3, 131, 37, 4, 134, 44, 6, 136, 48, 8, 140, 54, 10, 142, 58, 11, 144, 64, 14, 147, 70, 16, 149, 73, 18, 152, 78, 20, 153, 82, 21, 156, 87, 23, 158, 90, 25, 160, 95, 27, 162, 100, 29, 164, 103, 30, 166, 108, 32, 168, 111, 34, 170, 115, 36, 173, 120, 38, 174, 124, 40, 176, 128, 43, 178, 132, 45, 181, 137, 48, 182, 140, 50, 185, 146, 53, 187, 151, 57, 189, 155, 60, 192, 161, 65, 193, 165, 69, 196, 170, 74, 198, 174, 79, 200, 180, 85, 203, 186, 93, 204, 190, 98, 206, 196, 106, 207, 200, 111, 209, 205, 120, 210, 209, 126, 210, 214, 135, 210, 218, 144, 210, 221, 150, 209, 225, 158, 208, 227, 163, 206, 229, 171, 204, 231, 176, 201, 233, 182, 198, 234, 188, 195, 234, 192, 190, 234, 197, 187, 234, 200, 181, 234, 204, 175, 232, 207, 171, 231, 209, 164, 229, 211, 159, 228, 212, 152, 225, 214, 147, 223, 214, 139, 220, 215, 131, 216, 215, 126, 213, 215, 118, 209, 215, 113, 206, 214, 105, 201, 213, 100, 198, 213, 93, 193, 211, 87, 188, 210, 83, 184, 209, 77, 179, 207, 73, 176, 206, 68, 171, 204, 65, 167, 203, 61, 162, 201, 57, 157, 199, 55, 154, 197, 52, 149, 195, 50, 146, 194, 48, 141, 192, 46, 138, 191, 44, 133, 189, 42, 129, 187, 41, 126, 185, 39, 121, 183, 38, 118, 182, 36, 113, 180, 35, 108, 178, 34, 105, 176, 32, 100, 174, 31, 96, 173, 29, 91, 171, 28, 88, 169, 26, 83, 167, 24, 77, 164, 22, 74, 163, 19, 68, 160, 17, 64, 159, 12, 59, 156, 9, 55, 155, 3, 49, 152], shape(roma100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: roma25 = reshape([126, 23, 0, 138, 50, 8, 147, 70, 16, 157, 88, 24, 166, 106, 32, 173, 122, 39, 182, 140, 50, 191, 159, 64, 200, 180, 85, 208, 202, 114, 210, 218, 144, 205, 230, 173, 192, 234, 195, 173, 232, 208, 147, 223, 214, 121, 210, 215, 93, 193, 211, 71, 174, 205, 57, 157, 199, 47, 140, 191, 40, 122, 184, 34, 106, 177, 28, 88, 169, 20, 70, 161, 3, 49, 152], shape(roma25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: roma50 = reshape([126, 23, 0, 131, 37, 4, 136, 48, 8, 143, 60, 12, 147, 70, 16, 152, 78, 20, 156, 87, 23, 160, 95, 27, 165, 104, 31, 169, 112, 35, 173, 120, 38, 176, 128, 43, 181, 137, 48, 186, 148, 55, 190, 157, 62, 194, 166, 71, 199, 176, 81, 203, 186, 93, 207, 198, 109, 209, 207, 123, 210, 215, 138, 210, 222, 152, 208, 228, 166, 203, 232, 180, 196, 234, 190, 189, 234, 198, 179, 233, 205, 166, 230, 210, 155, 226, 213, 142, 221, 215, 129, 215, 215, 116, 207, 214, 100, 198, 213, 89, 189, 210, 79, 181, 208, 70, 172, 204, 62, 164, 201, 55, 154, 197, 50, 146, 194, 46, 138, 191, 43, 130, 187, 40, 122, 184, 36, 113, 180, 34, 105, 176, 31, 96, 173, 28, 88, 169, 25, 79, 165, 19, 68, 160, 12, 59, 156, 3, 49, 152], shape(roma50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: romaO = reshape([115, 57, 87, 116, 57, 86, 117, 57, 84, 117, 56, 83, 118, 56, 81, 119, 56, 80, 119, 56, 79, 120, 56, 77, 121, 56, 76, 121, 56, 75, 122, 56, 73, 123, 56, 72, 124, 56, 71, 124, 57, 70, 125, 57, 69, 126, 57, 67, 126, 57, 66, 127, 58, 65, 128, 58, 64, 129, 59, 63, 129, 59, 62, 130, 60, 61, 131, 60, 60, 132, 61, 59, 132, 61, 58, 133, 62, 57, 134, 63, 56, 135, 64, 55, 135, 64, 55, 136, 65, 54, 137, 66, 53, 138, 67, 52, 139, 68, 51, 140, 69, 51, 140, 70, 50, 141, 71, 49, 142, 72, 49, 143, 73, 48, 144, 74, 48, 145, 76, 47, 146, 77, 47, 147, 78, 46, 148, 80, 46, 148, 81, 45, 149, 82, 45, 150, 84, 45, 151, 85, 44, 152, 87, 44, 153, 88, 44, 154, 90, 44, 155, 91, 44, 156, 93, 43, 157, 95, 43, 158, 96, 43, 159, 98, 43, 160, 100, 44, 162, 102, 44, 163, 103, 44, 164, 105, 44, 165, 107, 45, 166, 109, 45, 167, 111, 45, 168, 113, 46, 169, 115, 46, 170, 117, 47, 171, 119, 48, 173, 121, 48, 174, 123, 49, 175, 125, 50, 176, 127, 51, 177, 129, 52, 178, 131, 53, 180, 134, 54, 181, 136, 55, 182, 138, 57, 183, 140, 58, 184, 142, 59, 185, 145, 61, 187, 147, 63, 188, 149, 64, 189, 152, 66, 190, 154, 68, 191, 156, 70, 193, 159, 71, 194, 161, 73, 195, 163, 75, 196, 165, 78, 197, 168, 80, 198, 170, 82, 200, 172, 84, 201, 175, 87, 202, 177, 89, 203, 179, 92, 204, 181, 94, 205, 183, 97, 206, 186, 99, 207, 188, 102, 207, 190, 104, 208, 192, 107, 209, 194, 110, 210, 196, 112, 210, 198, 115, 211, 200, 118, 212, 201, 120, 212, 203, 123, 212, 205, 126, 213, 206, 129, 213, 208, 131, 213, 209, 134, 214, 211, 136, 214, 212, 139, 214, 213, 142, 214, 215, 144, 214, 216, 147, 213, 217, 149, 213, 218, 152, 213, 219, 154, 212, 220, 156, 212, 221, 159, 211, 221, 161, 211, 222, 163, 210, 223, 165, 209, 223, 167, 208, 224, 169, 207, 224, 171, 206, 224, 173, 205, 225, 175, 204, 225, 177, 203, 225, 179, 202, 225, 181, 200, 225, 182, 199, 225, 184, 197, 225, 185, 196, 225, 187, 194, 225, 188, 193, 225, 190, 191, 225, 191, 189, 224, 192, 187, 224, 194, 185, 223, 195, 184, 223, 196, 182, 222, 197, 180, 222, 198, 177, 221, 199, 175, 220, 200, 173, 220, 200, 171, 219, 201, 169, 218, 202, 167, 217, 203, 164, 216, 203, 162, 215, 204, 160, 214, 204, 157, 213, 205, 155, 212, 205, 153, 211, 206, 150, 209, 206, 148, 208, 206, 146, 207, 206, 143, 206, 207, 141, 204, 207, 139, 203, 207, 136, 201, 207, 134, 200, 207, 132, 198, 207, 129, 197, 207, 127, 195, 207, 125, 194, 206, 123, 192, 206, 120, 190, 206, 118, 189, 206, 116, 187, 205, 114, 185, 205, 112, 184, 205, 110, 182, 204, 108, 180, 204, 106, 178, 203, 104, 177, 203, 103, 175, 202, 101, 173, 202, 99, 171, 201, 98, 169, 201, 96, 168, 200, 95, 166, 199, 93, 164, 199, 92, 162, 198, 90, 160, 197, 89, 158, 196, 88, 156, 196, 87, 155, 195, 86, 153, 194, 85, 151, 193, 84, 149, 192, 83, 147, 191, 82, 145, 190, 82, 143, 189, 81, 141, 188, 80, 139, 187, 80, 138, 186, 79, 136, 185, 79, 134, 184, 79, 132, 183, 79, 130, 182, 78, 128, 180, 78, 126, 179, 78, 124, 178, 78, 122, 176, 79, 120, 175, 79, 118, 174, 79, 117, 172, 79, 115, 171, 80, 113, 169, 80, 111, 168, 81, 109, 166, 81, 107, 164, 82, 105, 163, 82, 103, 161, 83, 102, 159, 84, 100, 158, 84, 98, 156, 85, 96, 154, 86, 95, 152, 87, 93, 150, 87, 91, 148, 88, 89, 147, 89, 88, 145, 90, 86, 143, 91, 85, 141, 92, 83, 139, 92, 82, 137, 93, 80, 135, 94, 79, 133, 95, 77, 131, 96, 76, 129, 97, 75, 127, 98, 73, 125, 99, 72, 123, 99, 71, 121, 100, 70, 119, 101, 69, 118, 102, 68, 116, 103, 67, 114, 104, 66, 112, 104, 65, 110, 105, 64, 108, 106, 63, 107, 107, 63, 105, 108, 62, 103, 108, 61, 101, 109, 61, 100, 110, 60, 98, 111, 59, 96, 111, 59, 95, 112, 58, 93, 113, 58, 92, 114, 58, 90, 114, 57, 89], shape(romaO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: romaO10 = reshape([115, 57, 87, 135, 64, 55, 163, 103, 44, 195, 163, 75, 214, 216, 147, 180, 222, 198, 116, 187, 205, 79, 136, 185, 92, 83, 139, 114, 57, 89], shape(romaO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: romaO100 = reshape([115, 57, 87, 117, 56, 83, 119, 56, 80, 121, 56, 76, 122, 56, 73, 124, 57, 70, 126, 57, 67, 128, 58, 64, 130, 60, 61, 132, 61, 59, 134, 63, 56, 135, 64, 55, 138, 67, 52, 140, 69, 51, 142, 72, 49, 145, 76, 47, 147, 78, 46, 149, 82, 45, 151, 85, 44, 154, 90, 44, 157, 95, 43, 159, 98, 43, 163, 103, 44, 165, 107, 45, 168, 113, 46, 170, 117, 47, 174, 123, 49, 177, 129, 52, 180, 134, 54, 183, 140, 58, 185, 145, 61, 189, 152, 66, 191, 156, 70, 195, 163, 75, 198, 170, 82, 201, 175, 87, 204, 181, 94, 206, 186, 99, 208, 192, 107, 210, 196, 112, 212, 201, 120, 213, 206, 129, 213, 209, 134, 214, 213, 142, 214, 216, 147, 213, 219, 154, 212, 221, 159, 210, 223, 165, 207, 224, 171, 205, 225, 175, 202, 225, 181, 199, 225, 184, 194, 225, 188, 189, 224, 192, 185, 223, 195, 180, 222, 198, 175, 220, 200, 169, 218, 202, 164, 216, 203, 157, 213, 205, 150, 209, 206, 146, 207, 206, 139, 203, 207, 134, 200, 207, 127, 195, 207, 123, 192, 206, 116, 187, 205, 110, 182, 204, 106, 178, 203, 101, 173, 202, 98, 169, 201, 93, 164, 199, 90, 160, 197, 87, 155, 195, 84, 149, 192, 82, 145, 190, 80, 139, 187, 79, 136, 185, 79, 130, 182, 78, 126, 179, 79, 120, 175, 79, 115, 171, 80, 111, 168, 82, 105, 163, 83, 102, 159, 85, 96, 154, 87, 91, 148, 89, 88, 145, 92, 83, 139, 93, 80, 135, 96, 76, 129, 98, 73, 125, 100, 70, 119, 103, 67, 114, 104, 65, 110, 107, 63, 105, 108, 61, 101, 111, 59, 96, 112, 58, 93, 114, 57, 89], shape(romaO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: romaO25 = reshape([115, 57, 87, 123, 56, 72, 130, 60, 61, 139, 68, 51, 148, 81, 45, 158, 96, 43, 170, 117, 47, 182, 138, 57, 195, 163, 75, 207, 188, 102, 213, 206, 129, 212, 220, 156, 203, 225, 179, 187, 224, 194, 164, 216, 203, 141, 204, 207, 116, 187, 205, 96, 168, 200, 84, 149, 192, 78, 128, 180, 81, 107, 164, 88, 89, 147, 98, 73, 125, 106, 63, 107, 114, 57, 89], shape(romaO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: romaO50 = reshape([115, 57, 87, 119, 56, 80, 122, 56, 73, 126, 57, 66, 130, 60, 61, 134, 63, 56, 138, 67, 52, 142, 72, 49, 148, 80, 46, 152, 87, 44, 157, 95, 43, 163, 103, 44, 168, 113, 46, 175, 125, 50, 181, 136, 55, 187, 147, 63, 193, 159, 71, 198, 170, 82, 205, 183, 97, 209, 194, 110, 212, 203, 123, 214, 211, 136, 213, 217, 149, 211, 222, 163, 206, 224, 173, 200, 225, 182, 193, 225, 190, 182, 222, 197, 171, 219, 201, 160, 214, 204, 148, 208, 206, 136, 201, 207, 123, 192, 206, 112, 184, 205, 103, 175, 202, 95, 166, 199, 88, 156, 196, 82, 145, 190, 79, 136, 185, 78, 126, 179, 79, 117, 172, 81, 107, 164, 85, 96, 154, 89, 88, 145, 93, 80, 135, 98, 73, 125, 102, 68, 116, 107, 63, 105, 111, 59, 96, 114, 57, 89], shape(romaO50), order=[2, 1]) character(len=*), public, parameter, dimension(*) :: scientific_colour_maps_list = [character(colormap_name_length)::\"acton\", \"acton10\", \"acton100\", \"acton25\", \"acton50\", \"actonS\", \"bam\", \"bam10\", \"bam100\", \"bam25\", \"bam50\", \"bamako\", \"bamako10\", \"bamako100\", \"bamako25\", \"bamako50\", \"bamakoS\", \"bamO\", \"bamO10\", \"bamO100\", \"bamO25\", \"bamO50\", \"batlow\", \"batlow10\", \"batlow100\", \"batlow25\", \"batlow50\", \"batlowK\", \"batlowK10\", \"batlowK100\", \"batlowK25\", \"batlowK50\", \"batlowKS\", \"batlowS\", \"batlowW\", \"batlowW10\", \"batlowW100\", \"batlowW25\", \"batlowW50\", \"batlowWS\", \"berlin\", \"berlin10\", \"berlin100\", \"berlin25\", \"berlin50\", \"bilbao\", \"bilbao10\", \"bilbao100\", \"bilbao25\", \"bilbao50\", \"bilbaoS\", \"broc\", \"broc10\", \"broc100\", \"broc25\", \"broc50\", \"brocO\", \"brocO10\", \"brocO100\", \"brocO25\", \"brocO50\", \"buda\", \"buda10\", \"buda100\", \"buda25\", \"buda50\", \"budaS\", \"bukavu\", \"bukavu10\", \"bukavu100\", \"bukavu25\", \"bukavu50\", \"cork\", \"cork10\", \"cork100\", \"cork25\", \"cork50\", \"corkO\", \"corkO10\", \"corkO100\", \"corkO25\", \"corkO50\", \"davos\", \"davos10\", \"davos100\", \"davos25\", \"davos50\", \"davosS\", \"devon\", \"devon10\", \"devon100\", \"devon25\", \"devon50\", \"devonS\", \"fes\", \"fes10\", \"fes100\", \"fes25\", \"fes50\", \"glasgow\", \"glasgow10\", \"glasgow100\", \"glasgow25\", \"glasgow50\", \"glasgowS\", \"grayC\", \"grayC10\", \"grayC100\", \"grayC25\", \"grayC50\", \"grayCS\", \"hawaii\", \"hawaii10\", \"hawaii100\", \"hawaii25\", \"hawaii50\", \"hawaiiS\", \"imola\", \"imola10\", \"imola100\", \"imola25\", \"imola50\", \"imolaS\", \"lajolla\", \"lajolla10\", \"lajolla100\", \"lajolla25\", \"lajolla50\", \"lajollaS\", \"lapaz\", \"lapaz10\", \"lapaz100\", \"lapaz25\", \"lapaz50\", \"lapazS\", \"lipari\", \"lipari10\", \"lipari100\", \"lipari25\", \"lipari50\", \"lipariS\", \"lisbon\", \"lisbon10\", \"lisbon100\", \"lisbon25\", \"lisbon50\", \"managua\", \"managua10\", \"managua100\", \"managua25\", \"managua50\", \"navia\", \"navia10\", \"navia100\", \"navia25\", \"navia50\", \"naviaS\", \"naviaW\", \"naviaW10\", \"naviaW100\", \"naviaW25\", \"naviaW50\", \"naviaWS\", \"nuuk\", \"nuuk10\", \"nuuk100\", \"nuuk25\", \"nuuk50\", \"nuukS\", \"oleron\", \"oleron10\", \"oleron100\", \"oleron25\", \"oleron50\", \"oslo\", \"oslo10\", \"oslo100\", \"oslo25\", \"oslo50\", \"osloS\", \"roma\", \"roma10\", \"roma100\", \"roma25\", \"roma50\", \"romaO\", \"romaO10\", \"romaO100\", \"romaO25\", \"romaO50\", \"tofino\", \"tofino10\", \"tofino100\", \"tofino25\", \"tofino50\", \"tokyo\", \"tokyo10\", \"tokyo100\", \"tokyo25\", \"tokyo50\", \"tokyoS\", \"turku\", \"turku10\", \"turku100\", \"turku25\", \"turku50\", \"turkuS\", \"vanimo\", \"vanimo10\", \"vanimo100\", \"vanimo25\", \"vanimo50\", \"vik\", \"vik10\", \"vik100\", \"vik25\", \"vik50\", \"vikO\", \"vikO10\", \"vikO100\", \"vikO25\", \"vikO50\"] integer, public, dimension(0:255, 1:3) :: tofino = reshape([222, 217, 255, 219, 215, 254, 217, 213, 253, 214, 211, 251, 211, 209, 250, 208, 207, 249, 206, 205, 248, 203, 203, 247, 200, 202, 246, 198, 200, 244, 195, 198, 243, 192, 196, 242, 190, 194, 241, 187, 192, 240, 184, 190, 239, 182, 188, 237, 179, 187, 236, 176, 185, 235, 174, 183, 234, 171, 181, 233, 168, 179, 232, 166, 177, 230, 163, 175, 229, 160, 173, 228, 158, 172, 227, 155, 170, 226, 152, 168, 225, 150, 166, 223, 147, 164, 222, 144, 162, 221, 142, 160, 220, 139, 159, 219, 136, 157, 217, 134, 155, 216, 131, 153, 215, 128, 151, 213, 126, 149, 212, 123, 147, 211, 121, 145, 209, 118, 143, 208, 115, 141, 206, 113, 139, 205, 110, 137, 203, 107, 135, 202, 105, 133, 200, 102, 131, 198, 100, 129, 197, 97, 127, 195, 95, 125, 193, 92, 123, 191, 90, 121, 189, 87, 119, 186, 85, 117, 184, 83, 115, 182, 81, 113, 180, 79, 111, 177, 76, 109, 175, 74, 107, 172, 73, 105, 170, 71, 103, 167, 69, 101, 165, 67, 99, 162, 66, 98, 160, 64, 96, 157, 62, 94, 154, 61, 92, 152, 60, 90, 149, 58, 89, 147, 57, 87, 144, 56, 85, 141, 55, 84, 139, 53, 82, 136, 52, 80, 134, 51, 79, 131, 50, 77, 128, 49, 76, 126, 48, 74, 123, 47, 73, 121, 46, 71, 118, 45, 69, 116, 44, 68, 113, 43, 66, 111, 42, 65, 108, 41, 63, 106, 40, 62, 103, 39, 60, 101, 38, 59, 98, 37, 58, 96, 36, 56, 93, 35, 55, 91, 34, 53, 89, 34, 52, 86, 33, 50, 84, 32, 49, 81, 31, 48, 79, 30, 46, 77, 29, 45, 74, 28, 43, 72, 28, 42, 70, 27, 41, 67, 26, 40, 65, 25, 38, 63, 25, 37, 61, 24, 36, 59, 23, 35, 56, 22, 33, 54, 22, 32, 52, 21, 31, 50, 21, 30, 48, 20, 29, 46, 19, 28, 44, 19, 27, 42, 18, 26, 40, 18, 25, 38, 17, 24, 36, 17, 24, 35, 17, 23, 33, 16, 22, 32, 16, 22, 30, 15, 21, 29, 15, 21, 27, 14, 21, 26, 14, 21, 25, 13, 21, 24, 13, 21, 23, 13, 21, 22, 13, 21, 21, 13, 21, 20, 13, 22, 19, 13, 22, 19, 13, 23, 18, 13, 23, 18, 13, 24, 18, 14, 25, 18, 14, 26, 17, 15, 27, 18, 15, 28, 18, 16, 28, 18, 16, 30, 18, 17, 31, 18, 17, 32, 19, 17, 33, 19, 18, 34, 20, 18, 35, 20, 19, 37, 21, 19, 38, 21, 20, 39, 22, 20, 41, 22, 21, 42, 23, 21, 44, 24, 22, 45, 24, 22, 47, 25, 23, 48, 26, 24, 50, 26, 24, 51, 27, 25, 53, 28, 26, 54, 28, 26, 56, 29, 27, 57, 30, 28, 59, 31, 29, 61, 32, 29, 62, 32, 30, 64, 33, 31, 66, 34, 32, 67, 35, 32, 69, 36, 33, 71, 37, 34, 72, 37, 35, 74, 38, 35, 76, 39, 36, 77, 40, 37, 79, 41, 38, 81, 42, 39, 83, 43, 39, 84, 44, 40, 86, 44, 41, 88, 45, 42, 90, 46, 43, 91, 47, 44, 93, 48, 44, 95, 49, 45, 97, 50, 46, 98, 51, 47, 100, 52, 48, 102, 53, 49, 104, 54, 50, 106, 55, 51, 108, 56, 52, 109, 57, 53, 111, 58, 54, 113, 59, 55, 115, 60, 56, 117, 61, 57, 119, 62, 58, 121, 63, 59, 123, 64, 61, 125, 65, 62, 127, 66, 63, 129, 68, 65, 131, 69, 66, 133, 70, 68, 135, 71, 70, 137, 73, 72, 139, 74, 74, 141, 75, 76, 143, 77, 78, 145, 78, 80, 147, 80, 82, 149, 81, 85, 151, 83, 87, 154, 84, 90, 156, 86, 92, 158, 87, 95, 160, 89, 98, 162, 90, 100, 164, 92, 103, 166, 94, 106, 168, 95, 109, 169, 97, 112, 171, 99, 115, 173, 100, 118, 175, 102, 121, 177, 103, 124, 179, 105, 127, 180, 107, 130, 182, 108, 133, 184, 110, 136, 185, 112, 139, 187, 113, 142, 189, 115, 145, 190, 116, 148, 192, 118, 151, 194, 120, 154, 195, 121, 157, 197, 123, 160, 198, 124, 163, 200, 126, 166, 202, 127, 169, 203, 129, 172, 205, 131, 175, 206, 132, 178, 208, 134, 181, 209, 135, 183, 211, 137, 186, 212, 138, 189, 214, 140, 192, 216, 141, 195, 217, 143, 198, 219, 145, 201, 220, 146, 204, 222, 148, 207, 223, 149, 210, 225, 151, 213, 226, 152, 216, 228, 154, 219, 230, 155], shape(tofino), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: tofino10 = reshape([222, 217, 255, 147, 164, 222, 74, 107, 172, 39, 60, 101, 18, 25, 38, 18, 34, 20, 36, 77, 40, 63, 129, 68, 136, 185, 112, 219, 230, 155], shape(tofino10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: tofino100 = reshape([222, 217, 255, 214, 211, 251, 208, 207, 249, 200, 202, 246, 195, 198, 243, 187, 192, 240, 182, 188, 237, 174, 183, 234, 166, 177, 230, 160, 173, 228, 152, 168, 225, 147, 164, 222, 139, 159, 219, 134, 155, 216, 126, 149, 212, 118, 143, 208, 113, 139, 205, 105, 133, 200, 100, 129, 197, 92, 123, 191, 85, 117, 184, 81, 113, 180, 74, 107, 172, 71, 103, 167, 66, 98, 160, 62, 94, 154, 58, 89, 147, 55, 84, 139, 52, 80, 134, 49, 76, 126, 47, 73, 121, 44, 68, 113, 42, 65, 108, 39, 60, 101, 36, 56, 93, 34, 53, 89, 32, 49, 81, 30, 46, 77, 28, 42, 70, 26, 40, 65, 24, 36, 59, 22, 32, 52, 21, 30, 48, 19, 27, 42, 18, 25, 38, 17, 23, 33, 16, 22, 30, 14, 21, 26, 13, 21, 23, 13, 21, 21, 13, 22, 19, 13, 23, 18, 14, 26, 17, 16, 28, 18, 17, 31, 18, 18, 34, 20, 19, 37, 21, 20, 41, 22, 21, 44, 24, 23, 48, 26, 25, 53, 28, 26, 56, 29, 29, 61, 32, 30, 64, 33, 32, 69, 36, 34, 72, 37, 36, 77, 40, 39, 83, 43, 40, 86, 44, 43, 91, 47, 44, 95, 49, 47, 100, 52, 49, 104, 54, 52, 109, 57, 55, 115, 60, 57, 119, 62, 61, 125, 65, 63, 129, 68, 68, 135, 71, 72, 139, 74, 78, 145, 78, 85, 151, 83, 90, 156, 86, 98, 162, 90, 103, 166, 94, 112, 171, 99, 121, 177, 103, 127, 180, 107, 136, 185, 112, 142, 189, 115, 151, 194, 120, 157, 197, 123, 166, 202, 127, 175, 206, 132, 181, 209, 135, 189, 214, 140, 195, 217, 143, 204, 222, 148, 210, 225, 151, 219, 230, 155], shape(tofino100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: tofino25 = reshape([222, 217, 255, 192, 196, 242, 166, 177, 230, 136, 157, 217, 107, 135, 202, 83, 115, 182, 62, 94, 154, 50, 77, 128, 39, 60, 101, 29, 45, 74, 22, 32, 52, 16, 22, 32, 13, 22, 19, 16, 30, 18, 21, 44, 24, 28, 59, 31, 36, 77, 40, 45, 97, 50, 55, 115, 60, 70, 137, 73, 95, 160, 89, 124, 179, 105, 157, 197, 123, 186, 212, 138, 219, 230, 155], shape(tofino25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: tofino50 = reshape([222, 217, 255, 208, 207, 249, 195, 198, 243, 179, 187, 236, 166, 177, 230, 152, 168, 225, 139, 159, 219, 126, 149, 212, 110, 137, 203, 97, 127, 195, 85, 117, 184, 74, 107, 172, 66, 98, 160, 57, 87, 144, 51, 79, 131, 46, 71, 118, 41, 63, 106, 36, 56, 93, 31, 48, 79, 27, 41, 67, 23, 35, 56, 20, 29, 46, 17, 24, 36, 15, 21, 27, 13, 21, 22, 13, 23, 18, 15, 27, 18, 17, 33, 19, 20, 39, 22, 22, 47, 25, 26, 54, 28, 29, 62, 32, 34, 72, 37, 38, 81, 42, 42, 90, 46, 46, 98, 51, 51, 108, 56, 57, 119, 62, 63, 129, 68, 72, 139, 74, 82, 149, 81, 95, 160, 89, 112, 171, 99, 127, 180, 107, 142, 189, 115, 157, 197, 123, 172, 205, 131, 189, 214, 140, 204, 222, 148, 219, 230, 155], shape(tofino50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: tokyo = reshape([28, 14, 52, 29, 15, 52, 31, 15, 53, 33, 16, 53, 35, 16, 54, 36, 16, 54, 38, 17, 55, 40, 17, 56, 41, 18, 56, 43, 18, 57, 45, 19, 57, 47, 19, 58, 48, 20, 58, 50, 21, 59, 52, 21, 60, 53, 22, 60, 55, 22, 61, 57, 23, 61, 58, 24, 62, 60, 25, 62, 62, 25, 63, 63, 26, 64, 65, 27, 64, 67, 28, 65, 68, 29, 65, 70, 30, 66, 72, 30, 67, 73, 31, 67, 75, 32, 68, 76, 33, 68, 78, 34, 69, 79, 35, 69, 81, 36, 70, 82, 38, 70, 83, 39, 71, 85, 40, 71, 86, 41, 72, 87, 42, 72, 89, 43, 73, 90, 44, 73, 91, 45, 73, 92, 47, 74, 93, 48, 74, 94, 49, 75, 95, 50, 75, 96, 51, 75, 97, 52, 76, 98, 53, 76, 99, 55, 76, 100, 56, 77, 100, 57, 77, 101, 58, 77, 102, 59, 77, 102, 60, 78, 103, 61, 78, 104, 62, 78, 104, 63, 78, 105, 64, 78, 105, 65, 79, 106, 66, 79, 106, 67, 79, 106, 68, 79, 107, 69, 79, 107, 70, 79, 108, 71, 80, 108, 72, 80, 108, 73, 80, 108, 74, 80, 109, 75, 80, 109, 75, 80, 109, 76, 80, 109, 77, 80, 110, 78, 80, 110, 79, 80, 110, 79, 81, 110, 80, 81, 110, 81, 81, 111, 82, 81, 111, 82, 81, 111, 83, 81, 111, 84, 81, 111, 84, 81, 111, 85, 81, 111, 86, 81, 112, 86, 81, 112, 87, 81, 112, 88, 81, 112, 88, 81, 112, 89, 81, 112, 89, 81, 112, 90, 82, 112, 91, 82, 112, 91, 82, 112, 92, 82, 113, 92, 82, 113, 93, 82, 113, 93, 82, 113, 94, 82, 113, 94, 82, 113, 95, 82, 113, 95, 82, 113, 96, 82, 113, 97, 82, 113, 97, 82, 113, 98, 82, 113, 98, 82, 114, 99, 82, 114, 99, 82, 114, 100, 82, 114, 100, 82, 114, 101, 82, 114, 101, 82, 114, 102, 83, 114, 103, 83, 114, 103, 83, 114, 104, 83, 114, 104, 83, 115, 105, 83, 115, 105, 83, 115, 106, 83, 115, 107, 83, 115, 107, 83, 115, 108, 83, 115, 109, 83, 115, 109, 83, 115, 110, 83, 116, 110, 83, 116, 111, 83, 116, 112, 83, 116, 113, 83, 116, 113, 83, 116, 114, 84, 116, 115, 84, 116, 115, 84, 116, 116, 84, 117, 117, 84, 117, 118, 84, 117, 119, 84, 117, 119, 84, 117, 120, 84, 117, 121, 84, 117, 122, 84, 118, 123, 84, 118, 124, 84, 118, 124, 84, 118, 125, 85, 118, 126, 85, 118, 127, 85, 119, 128, 85, 119, 129, 85, 119, 130, 85, 119, 131, 85, 119, 132, 85, 120, 133, 85, 120, 134, 86, 120, 135, 86, 120, 136, 86, 120, 137, 86, 121, 138, 86, 121, 139, 86, 121, 141, 87, 121, 142, 87, 121, 143, 87, 122, 144, 87, 122, 145, 87, 122, 146, 88, 123, 148, 88, 123, 149, 88, 123, 150, 88, 123, 151, 89, 124, 152, 89, 124, 154, 89, 124, 155, 90, 125, 156, 90, 125, 158, 90, 125, 159, 91, 126, 160, 91, 126, 162, 92, 127, 163, 92, 127, 164, 93, 128, 166, 93, 128, 167, 94, 129, 169, 94, 129, 170, 95, 130, 172, 96, 130, 173, 96, 131, 175, 97, 132, 176, 98, 132, 178, 99, 133, 179, 100, 134, 181, 101, 135, 182, 102, 135, 184, 103, 136, 185, 104, 137, 187, 105, 138, 189, 106, 139, 190, 107, 140, 192, 109, 141, 193, 110, 142, 195, 112, 143, 197, 113, 145, 198, 115, 146, 200, 116, 147, 202, 118, 149, 203, 120, 150, 205, 121, 152, 207, 123, 153, 208, 125, 155, 210, 127, 156, 212, 129, 158, 213, 131, 160, 215, 133, 162, 216, 135, 164, 218, 138, 165, 220, 140, 167, 221, 142, 169, 223, 144, 171, 224, 147, 173, 226, 149, 175, 227, 152, 178, 228, 154, 180, 230, 156, 182, 231, 159, 184, 232, 161, 186, 234, 164, 188, 235, 166, 190, 236, 169, 193, 237, 171, 195, 238, 173, 197, 239, 176, 199, 240, 178, 201, 241, 180, 203, 242, 183, 205, 243, 185, 207, 244, 187, 209, 244, 189, 211, 245, 191, 213, 246, 193, 214, 246, 195, 216, 247, 197, 218, 247, 199, 220, 248, 201, 221, 248, 202, 223, 249, 204, 224, 249, 206, 226, 249, 207, 227, 250, 209, 229, 250, 210, 230, 250, 212, 232, 251, 213, 233, 251, 215, 234, 251, 216, 235, 251, 217, 237, 252, 218, 238, 252, 220, 239, 252, 221], shape(tokyo), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: tokyo10 = reshape([28, 14, 52, 75, 32, 68, 105, 64, 78, 112, 87, 81, 114, 103, 83, 118, 123, 84, 124, 152, 89, 141, 193, 110, 193, 237, 171, 239, 252, 221], shape(tokyo10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: tokyo100 = reshape([28, 14, 52, 33, 16, 53, 36, 16, 54, 41, 18, 56, 45, 19, 57, 50, 21, 59, 53, 22, 60, 58, 24, 62, 63, 26, 64, 67, 28, 65, 72, 30, 67, 75, 32, 68, 79, 35, 69, 82, 38, 70, 86, 41, 72, 90, 44, 73, 92, 47, 74, 95, 50, 75, 97, 52, 76, 100, 56, 77, 102, 59, 77, 103, 61, 78, 105, 64, 78, 106, 66, 79, 107, 69, 79, 108, 71, 80, 108, 74, 80, 109, 76, 80, 110, 78, 80, 110, 80, 81, 111, 82, 81, 111, 84, 81, 111, 85, 81, 112, 87, 81, 112, 89, 81, 112, 90, 82, 112, 92, 82, 113, 93, 82, 113, 94, 82, 113, 95, 82, 113, 97, 82, 114, 99, 82, 114, 100, 82, 114, 101, 82, 114, 103, 83, 114, 104, 83, 115, 105, 83, 115, 107, 83, 115, 109, 83, 116, 110, 83, 116, 113, 83, 116, 114, 84, 116, 116, 84, 117, 119, 84, 117, 120, 84, 118, 123, 84, 118, 124, 84, 118, 127, 85, 119, 129, 85, 119, 132, 85, 120, 135, 86, 120, 137, 86, 121, 141, 87, 121, 143, 87, 122, 146, 88, 123, 149, 88, 124, 152, 89, 125, 156, 90, 125, 159, 91, 127, 163, 92, 128, 166, 93, 129, 170, 95, 130, 173, 96, 132, 178, 99, 135, 182, 102, 136, 185, 104, 139, 190, 107, 141, 193, 110, 145, 198, 115, 147, 202, 118, 152, 207, 123, 156, 212, 129, 160, 215, 133, 165, 220, 140, 169, 223, 144, 175, 227, 152, 182, 231, 159, 186, 234, 164, 193, 237, 171, 197, 239, 176, 203, 242, 183, 207, 244, 187, 213, 246, 193, 218, 247, 199, 221, 248, 202, 226, 249, 207, 229, 250, 210, 233, 251, 215, 235, 251, 217, 239, 252, 221], shape(tokyo100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: tokyo25 = reshape([28, 14, 52, 47, 19, 58, 63, 26, 64, 81, 36, 70, 94, 49, 75, 102, 60, 78, 108, 71, 80, 110, 79, 81, 112, 87, 81, 113, 93, 82, 114, 99, 82, 115, 105, 83, 116, 112, 83, 117, 119, 84, 119, 129, 85, 121, 139, 86, 124, 152, 89, 128, 167, 94, 135, 182, 102, 146, 200, 116, 164, 218, 138, 184, 232, 161, 207, 244, 187, 224, 249, 206, 239, 252, 221], shape(tokyo25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: tokyo50 = reshape([28, 14, 52, 36, 16, 54, 45, 19, 57, 55, 22, 61, 63, 26, 64, 72, 30, 67, 79, 35, 69, 86, 41, 72, 93, 48, 74, 98, 53, 76, 102, 59, 77, 105, 64, 78, 107, 69, 79, 109, 75, 80, 110, 79, 80, 111, 82, 81, 111, 86, 81, 112, 89, 81, 113, 92, 82, 113, 95, 82, 113, 98, 82, 114, 100, 82, 114, 103, 83, 115, 107, 83, 115, 110, 83, 116, 113, 83, 117, 117, 84, 117, 122, 84, 118, 126, 85, 119, 131, 85, 120, 136, 86, 121, 142, 87, 123, 149, 88, 124, 155, 90, 126, 162, 92, 129, 169, 94, 132, 176, 98, 136, 185, 104, 141, 193, 110, 147, 202, 118, 155, 210, 127, 164, 218, 138, 175, 227, 152, 186, 234, 164, 197, 239, 176, 207, 244, 187, 216, 247, 197, 226, 249, 207, 233, 251, 215, 239, 252, 221], shape(tokyo50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: tokyoS = reshape([28, 14, 52, 239, 252, 221, 116, 111, 83, 135, 182, 102, 107, 70, 79, 121, 139, 86, 113, 93, 82, 184, 232, 161, 81, 36, 70, 55, 22, 61, 153, 208, 125, 216, 247, 197, 114, 101, 82, 111, 83, 81, 125, 159, 91, 118, 124, 84, 99, 55, 76, 129, 170, 95, 68, 29, 65, 167, 221, 142, 91, 45, 73, 119, 131, 85, 117, 117, 84, 41, 18, 56, 229, 250, 210, 123, 149, 88, 142, 195, 112, 113, 97, 82, 115, 106, 83, 112, 88, 81, 109, 77, 80, 201, 241, 180, 104, 63, 78, 111, 86, 81, 114, 99, 82, 193, 237, 171, 117, 120, 84, 35, 16, 54, 108, 74, 80, 138, 189, 106, 115, 109, 83, 110, 80, 81, 95, 50, 75, 102, 59, 77, 120, 135, 86, 48, 20, 58, 116, 114, 84, 118, 127, 85, 113, 95, 82, 112, 91, 82, 175, 227, 152, 75, 32, 68, 209, 244, 189, 122, 144, 87, 124, 154, 89, 147, 202, 118, 62, 25, 63, 223, 249, 204, 160, 215, 133, 234, 251, 216, 86, 41, 72, 132, 176, 98, 127, 164, 93, 114, 104, 83, 106, 66, 79, 125, 156, 90, 188, 235, 166, 112, 87, 81, 116, 115, 84, 114, 103, 83, 93, 48, 74, 171, 224, 147, 45, 19, 57, 117, 119, 84, 106, 68, 79, 205, 243, 185, 118, 125, 85, 72, 30, 67, 164, 218, 138, 52, 21, 60, 89, 43, 73, 109, 75, 80, 140, 192, 109, 113, 96, 82, 38, 17, 55, 156, 212, 129, 113, 98, 82, 145, 198, 115, 213, 246, 193, 123, 151, 89, 117, 122, 84, 220, 248, 201, 78, 34, 69, 83, 39, 71, 58, 24, 62, 112, 92, 82, 108, 72, 80, 237, 252, 218, 115, 107, 83, 130, 173, 96], shape(tokyoS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: turku = reshape([0, 0, 0, 2, 2, 2, 4, 4, 3, 6, 6, 5, 7, 7, 7, 9, 9, 8, 11, 11, 10, 13, 13, 12, 14, 14, 13, 16, 16, 14, 17, 17, 16, 18, 18, 17, 20, 19, 18, 21, 21, 19, 22, 22, 20, 23, 23, 21, 24, 24, 22, 25, 25, 23, 26, 26, 24, 27, 27, 25, 28, 28, 25, 29, 29, 26, 30, 30, 27, 31, 31, 28, 32, 32, 29, 33, 33, 30, 34, 34, 31, 35, 35, 31, 36, 36, 32, 37, 37, 33, 38, 38, 34, 39, 39, 35, 40, 40, 35, 41, 41, 36, 42, 42, 37, 43, 43, 38, 44, 44, 39, 45, 45, 39, 46, 46, 40, 47, 47, 41, 48, 48, 42, 50, 49, 42, 51, 50, 43, 52, 51, 44, 53, 52, 45, 54, 54, 45, 55, 55, 46, 56, 56, 47, 57, 57, 48, 58, 58, 48, 59, 59, 49, 60, 60, 50, 61, 61, 50, 62, 62, 51, 63, 63, 52, 64, 64, 52, 65, 65, 53, 66, 66, 53, 67, 67, 54, 68, 68, 55, 69, 69, 55, 70, 70, 56, 71, 71, 56, 72, 72, 57, 73, 73, 58, 75, 74, 58, 76, 75, 59, 77, 76, 59, 78, 77, 60, 79, 78, 60, 80, 79, 61, 81, 80, 61, 82, 81, 62, 83, 82, 62, 84, 83, 63, 85, 84, 63, 86, 86, 64, 87, 87, 64, 88, 88, 65, 89, 89, 65, 90, 90, 66, 91, 91, 66, 92, 92, 67, 93, 93, 67, 94, 94, 68, 95, 95, 68, 96, 96, 69, 97, 97, 69, 98, 98, 70, 99, 99, 70, 100, 100, 71, 101, 101, 71, 102, 102, 71, 103, 103, 72, 104, 104, 72, 106, 105, 73, 107, 106, 73, 108, 107, 74, 109, 108, 74, 110, 109, 75, 111, 110, 75, 112, 111, 76, 113, 112, 76, 114, 113, 77, 115, 114, 77, 117, 115, 78, 118, 116, 78, 119, 117, 79, 120, 118, 79, 121, 119, 80, 123, 121, 80, 124, 122, 81, 125, 123, 81, 126, 124, 82, 127, 125, 82, 129, 126, 83, 130, 127, 83, 131, 128, 84, 133, 129, 84, 134, 130, 85, 135, 131, 86, 137, 132, 86, 138, 133, 87, 139, 134, 88, 141, 135, 88, 142, 136, 89, 144, 138, 89, 145, 139, 90, 147, 140, 91, 148, 141, 91, 150, 142, 92, 151, 143, 93, 153, 144, 94, 154, 145, 94, 156, 146, 95, 157, 147, 96, 159, 148, 97, 161, 148, 97, 162, 149, 98, 164, 150, 99, 165, 151, 100, 167, 152, 100, 169, 153, 101, 170, 154, 102, 172, 154, 103, 173, 155, 104, 175, 156, 104, 176, 157, 105, 178, 157, 106, 179, 158, 107, 181, 159, 108, 182, 159, 108, 184, 160, 109, 185, 160, 110, 187, 161, 111, 188, 161, 112, 190, 162, 112, 191, 162, 113, 192, 162, 114, 194, 163, 115, 195, 163, 116, 196, 164, 116, 198, 164, 117, 199, 164, 118, 200, 164, 119, 201, 165, 120, 203, 165, 120, 204, 165, 121, 205, 165, 122, 206, 166, 123, 207, 166, 124, 208, 166, 124, 209, 166, 125, 210, 166, 126, 211, 166, 127, 212, 167, 128, 214, 167, 128, 215, 167, 129, 216, 167, 130, 217, 167, 131, 218, 167, 132, 219, 168, 133, 219, 168, 134, 220, 168, 135, 221, 168, 136, 222, 168, 137, 223, 169, 138, 224, 169, 139, 225, 169, 140, 226, 169, 141, 227, 170, 142, 228, 170, 143, 229, 170, 144, 230, 171, 146, 231, 171, 147, 232, 172, 148, 233, 172, 149, 233, 173, 151, 234, 173, 152, 235, 174, 153, 236, 174, 155, 237, 175, 156, 238, 176, 158, 239, 176, 159, 239, 177, 161, 240, 178, 162, 241, 179, 163, 242, 179, 165, 242, 180, 167, 243, 181, 168, 244, 182, 170, 244, 183, 171, 245, 184, 173, 246, 185, 174, 246, 186, 176, 247, 187, 177, 247, 188, 179, 248, 189, 180, 248, 190, 182, 249, 191, 183, 249, 192, 185, 250, 193, 186, 250, 194, 188, 251, 195, 189, 251, 196, 191, 251, 197, 192, 252, 198, 193, 252, 199, 195, 252, 200, 196, 253, 201, 198, 253, 203, 199, 253, 204, 200, 253, 205, 202, 253, 206, 203, 254, 207, 204, 254, 208, 206, 254, 209, 207, 254, 210, 208, 254, 211, 209, 254, 212, 211, 254, 214, 212, 254, 215, 213, 255, 216, 214, 255, 217, 215, 255, 218, 217, 255, 219, 218, 255, 220, 219, 255, 221, 220, 255, 222, 221, 255, 223, 223, 255, 224, 224, 255, 226, 225, 255, 227, 226, 255, 228, 227, 255, 229, 229, 255, 230, 230], shape(turku), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: turku10 = reshape([0, 0, 0, 36, 36, 32, 66, 66, 53, 95, 95, 68, 126, 124, 82, 169, 153, 101, 207, 166, 124, 234, 173, 152, 252, 199, 195, 255, 230, 230], shape(turku10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: turku100 = reshape([0, 0, 0, 6, 6, 5, 9, 9, 8, 14, 14, 13, 17, 17, 16, 21, 21, 19, 23, 23, 21, 26, 26, 24, 29, 29, 26, 31, 31, 28, 34, 34, 31, 36, 36, 32, 39, 39, 35, 41, 41, 36, 44, 44, 39, 47, 47, 41, 50, 49, 42, 53, 52, 45, 55, 55, 46, 58, 58, 48, 61, 61, 50, 63, 63, 52, 66, 66, 53, 68, 68, 55, 71, 71, 56, 73, 73, 58, 77, 76, 59, 80, 79, 61, 82, 81, 62, 85, 84, 63, 87, 87, 64, 90, 90, 66, 92, 92, 67, 95, 95, 68, 98, 98, 70, 100, 100, 71, 103, 103, 72, 106, 105, 73, 109, 108, 74, 111, 110, 75, 114, 113, 77, 118, 116, 78, 120, 118, 79, 124, 122, 81, 126, 124, 82, 130, 127, 83, 133, 129, 84, 137, 132, 86, 141, 135, 88, 144, 138, 89, 148, 141, 91, 151, 143, 93, 156, 146, 95, 161, 148, 97, 164, 150, 99, 169, 153, 101, 172, 154, 103, 176, 157, 105, 179, 158, 107, 184, 160, 109, 188, 161, 112, 191, 162, 113, 195, 163, 116, 198, 164, 117, 201, 165, 120, 204, 165, 121, 207, 166, 124, 210, 166, 126, 212, 167, 128, 216, 167, 130, 218, 167, 132, 220, 168, 135, 222, 168, 137, 225, 169, 140, 228, 170, 143, 230, 171, 146, 233, 172, 149, 234, 173, 152, 237, 175, 156, 239, 176, 159, 241, 179, 163, 243, 181, 168, 244, 183, 171, 246, 186, 176, 247, 188, 179, 249, 191, 183, 250, 194, 188, 251, 196, 191, 252, 199, 195, 253, 201, 198, 253, 205, 202, 254, 207, 204, 254, 210, 208, 254, 214, 212, 255, 216, 214, 255, 219, 218, 255, 221, 220, 255, 224, 224, 255, 227, 226, 255, 230, 230], shape(turku100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: turku25 = reshape([0, 0, 0, 18, 18, 17, 29, 29, 26, 40, 40, 35, 52, 51, 44, 62, 62, 51, 73, 73, 58, 84, 83, 63, 95, 95, 68, 107, 106, 73, 118, 116, 78, 131, 128, 84, 147, 140, 91, 162, 149, 98, 179, 158, 107, 194, 163, 115, 207, 166, 124, 219, 168, 133, 228, 170, 143, 238, 176, 158, 246, 185, 174, 251, 195, 189, 254, 207, 204, 255, 218, 217, 255, 230, 230], shape(turku25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: turku50 = reshape([0, 0, 0, 9, 9, 8, 17, 17, 16, 24, 24, 22, 29, 29, 26, 34, 34, 31, 39, 39, 35, 44, 44, 39, 51, 50, 43, 56, 56, 47, 61, 61, 50, 66, 66, 53, 71, 71, 56, 78, 77, 60, 83, 82, 62, 88, 88, 65, 93, 93, 67, 98, 98, 70, 104, 104, 72, 110, 109, 75, 115, 114, 77, 121, 119, 80, 127, 125, 82, 135, 131, 86, 142, 136, 89, 150, 142, 92, 157, 147, 96, 167, 152, 100, 175, 156, 104, 182, 159, 108, 190, 162, 112, 196, 164, 116, 204, 165, 121, 209, 166, 125, 215, 167, 129, 219, 168, 134, 224, 169, 139, 230, 171, 146, 234, 173, 152, 239, 176, 159, 242, 180, 167, 246, 185, 174, 249, 191, 183, 251, 196, 191, 253, 201, 198, 254, 207, 204, 254, 212, 211, 255, 219, 218, 255, 224, 224, 255, 230, 230], shape(turku50), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: turkuS = reshape([7, 7, 7, 255, 230, 230, 150, 142, 92, 77, 76, 59, 229, 170, 144, 44, 44, 39, 109, 108, 74, 196, 164, 116, 251, 195, 189, 28, 28, 25, 254, 212, 211, 127, 125, 82, 92, 92, 67, 214, 167, 128, 242, 179, 165, 175, 156, 104, 60, 60, 50, 253, 204, 200, 20, 19, 18, 118, 116, 78, 100, 100, 71, 162, 149, 98, 68, 68, 55, 255, 221, 220, 36, 36, 32, 247, 187, 177, 138, 133, 87, 221, 168, 136, 205, 165, 122, 187, 161, 111, 235, 174, 153, 85, 84, 63, 52, 51, 44, 225, 169, 140, 244, 183, 171, 156, 146, 95, 14, 14, 13, 24, 24, 22, 255, 226, 225, 72, 72, 57, 249, 191, 183, 104, 104, 72, 133, 129, 84, 40, 40, 35, 239, 176, 159, 123, 121, 80, 96, 96, 69, 113, 112, 76, 169, 153, 101, 144, 138, 89, 218, 167, 132, 252, 199, 195, 32, 32, 29, 56, 56, 47, 181, 159, 108, 254, 208, 206, 255, 217, 215, 81, 80, 61, 64, 64, 52, 209, 166, 125, 201, 165, 120, 232, 172, 148, 192, 162, 114, 89, 89, 65, 48, 48, 42, 255, 223, 223, 153, 144, 94, 248, 189, 180, 253, 201, 198, 254, 210, 208, 120, 118, 79, 223, 169, 138, 253, 206, 203, 233, 173, 151, 251, 197, 192, 107, 106, 73, 237, 175, 156, 255, 228, 227, 87, 87, 64, 42, 42, 37, 219, 168, 134, 147, 140, 91, 254, 215, 213, 115, 114, 77, 62, 62, 51, 178, 157, 106, 243, 181, 168, 141, 135, 88, 70, 70, 56, 111, 110, 75, 83, 82, 62, 22, 22, 20, 159, 148, 97, 240, 178, 162, 130, 127, 83, 58, 58, 48, 246, 185, 174, 207, 166, 124, 199, 164, 118, 125, 123, 81], shape(turkuS), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: vanimo = reshape([255, 205, 253, 253, 202, 251, 252, 199, 249, 250, 196, 247, 249, 193, 244, 247, 190, 242, 246, 187, 240, 244, 185, 238, 243, 182, 236, 241, 179, 234, 240, 176, 232, 238, 173, 230, 236, 171, 228, 235, 168, 226, 233, 165, 224, 232, 162, 222, 230, 160, 220, 229, 157, 218, 227, 154, 216, 226, 152, 214, 224, 149, 212, 222, 147, 210, 221, 144, 208, 219, 142, 206, 218, 139, 204, 216, 137, 202, 215, 134, 200, 213, 132, 198, 211, 129, 196, 210, 127, 194, 208, 125, 192, 207, 122, 191, 205, 120, 189, 203, 118, 187, 202, 115, 185, 200, 113, 183, 199, 111, 181, 197, 109, 179, 195, 107, 178, 194, 105, 176, 192, 103, 174, 190, 101, 172, 189, 99, 170, 187, 97, 168, 185, 95, 167, 184, 93, 165, 182, 91, 163, 180, 90, 161, 178, 88, 159, 177, 86, 158, 175, 85, 156, 173, 83, 154, 171, 81, 152, 169, 80, 150, 167, 78, 148, 165, 76, 146, 163, 75, 144, 161, 73, 142, 159, 72, 140, 157, 70, 138, 155, 68, 136, 153, 67, 134, 150, 65, 132, 148, 64, 130, 146, 62, 128, 144, 61, 126, 141, 60, 123, 139, 58, 121, 136, 57, 119, 134, 55, 117, 131, 54, 114, 129, 53, 112, 126, 51, 110, 124, 50, 107, 121, 49, 105, 118, 48, 103, 116, 46, 100, 113, 45, 98, 110, 44, 96, 108, 43, 93, 105, 42, 91, 102, 41, 89, 100, 39, 86, 97, 38, 84, 94, 37, 81, 92, 36, 79, 89, 35, 77, 86, 34, 74, 84, 33, 72, 81, 33, 70, 79, 32, 68, 76, 31, 65, 73, 30, 63, 71, 29, 61, 69, 28, 59, 66, 28, 57, 64, 27, 55, 62, 26, 53, 59, 26, 51, 57, 25, 49, 55, 25, 47, 53, 24, 45, 51, 23, 44, 49, 23, 42, 47, 23, 40, 46, 22, 39, 44, 22, 37, 42, 21, 36, 41, 21, 35, 40, 21, 33, 38, 21, 32, 37, 20, 31, 36, 20, 30, 35, 20, 29, 34, 20, 28, 33, 20, 27, 32, 20, 26, 31, 20, 25, 30, 20, 24, 29, 20, 24, 29, 20, 23, 28, 20, 22, 28, 20, 22, 27, 20, 21, 27, 20, 21, 26, 20, 20, 26, 21, 20, 26, 21, 19, 26, 21, 19, 25, 22, 19, 25, 22, 18, 25, 22, 18, 25, 23, 18, 25, 23, 18, 25, 24, 17, 25, 24, 17, 26, 25, 17, 26, 26, 17, 26, 26, 17, 26, 27, 17, 27, 28, 17, 27, 29, 17, 27, 30, 17, 28, 31, 17, 28, 32, 17, 29, 33, 18, 29, 34, 18, 30, 36, 18, 31, 37, 18, 31, 38, 18, 32, 39, 19, 33, 41, 19, 34, 42, 19, 35, 44, 20, 35, 45, 20, 36, 47, 20, 37, 48, 20, 38, 50, 21, 39, 52, 21, 41, 53, 22, 42, 55, 22, 43, 57, 22, 44, 59, 23, 45, 60, 23, 46, 62, 24, 47, 64, 24, 49, 66, 24, 50, 68, 25, 51, 70, 25, 52, 71, 26, 54, 73, 26, 55, 75, 27, 56, 77, 27, 58, 79, 28, 59, 81, 28, 60, 83, 29, 61, 85, 29, 63, 86, 30, 64, 88, 31, 65, 90, 31, 67, 92, 32, 68, 94, 32, 69, 96, 33, 71, 98, 33, 72, 99, 34, 73, 101, 35, 75, 103, 35, 76, 105, 36, 77, 107, 36, 78, 108, 37, 80, 110, 37, 81, 112, 38, 82, 114, 39, 84, 116, 39, 85, 117, 40, 86, 119, 41, 87, 121, 41, 89, 123, 42, 90, 124, 42, 91, 126, 43, 92, 128, 44, 94, 129, 45, 95, 131, 45, 96, 133, 46, 98, 135, 47, 99, 136, 47, 100, 138, 48, 101, 140, 49, 103, 142, 50, 104, 144, 51, 106, 146, 52, 107, 147, 53, 108, 149, 54, 110, 151, 55, 111, 153, 56, 113, 155, 57, 114, 157, 59, 116, 159, 60, 117, 161, 61, 119, 163, 63, 121, 166, 64, 122, 168, 66, 124, 170, 67, 126, 172, 69, 127, 174, 71, 129, 176, 73, 131, 179, 75, 133, 181, 77, 135, 183, 79, 136, 186, 81, 138, 188, 83, 140, 190, 85, 142, 193, 88, 144, 195, 90, 146, 198, 93, 148, 200, 96, 150, 203, 98, 152, 205, 101, 154, 208, 104, 156, 210, 107, 158, 213, 110, 160, 215, 114, 162, 218, 117, 164, 221, 120, 166, 223, 124, 169, 226, 127, 171, 228, 131, 173, 231, 134, 175, 234, 138, 177, 236, 142, 179, 239, 146, 181, 242, 149, 183, 245, 153, 186, 247, 157, 188, 250, 161, 190, 253, 165], shape(vanimo), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: vanimo10 = reshape([255, 205, 253, 211, 129, 196, 161, 73, 142, 92, 36, 79, 35, 20, 29, 27, 30, 17, 54, 73, 26, 90, 124, 42, 133, 181, 77, 190, 253, 165], shape(vanimo10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: vanimo100 = reshape([255, 205, 253, 250, 196, 247, 247, 190, 242, 243, 182, 236, 240, 176, 232, 235, 168, 226, 232, 162, 222, 227, 154, 216, 222, 147, 210, 219, 142, 206, 215, 134, 200, 211, 129, 196, 207, 122, 191, 203, 118, 187, 199, 111, 181, 194, 105, 176, 190, 101, 172, 185, 95, 167, 182, 91, 163, 177, 86, 158, 171, 81, 152, 167, 78, 148, 161, 73, 142, 157, 70, 138, 150, 65, 132, 146, 62, 128, 139, 58, 121, 131, 54, 114, 126, 51, 110, 118, 48, 103, 113, 45, 98, 105, 42, 91, 100, 39, 86, 92, 36, 79, 84, 33, 72, 79, 32, 68, 71, 29, 61, 66, 28, 57, 59, 26, 51, 55, 25, 47, 49, 23, 42, 44, 22, 37, 41, 21, 35, 37, 20, 31, 35, 20, 29, 32, 20, 26, 30, 20, 24, 28, 20, 22, 27, 20, 21, 26, 21, 20, 25, 22, 19, 25, 22, 18, 25, 24, 17, 26, 26, 17, 26, 27, 17, 27, 30, 17, 28, 32, 17, 30, 36, 18, 31, 38, 18, 34, 42, 19, 36, 47, 20, 38, 50, 21, 42, 55, 22, 44, 59, 23, 47, 64, 24, 50, 68, 25, 54, 73, 26, 58, 79, 28, 60, 83, 29, 64, 88, 31, 67, 92, 32, 71, 98, 33, 73, 101, 35, 77, 107, 36, 81, 112, 38, 84, 116, 39, 87, 121, 41, 90, 124, 42, 94, 129, 45, 96, 133, 46, 100, 138, 48, 104, 144, 51, 107, 147, 53, 111, 153, 56, 114, 157, 59, 119, 163, 63, 124, 170, 67, 127, 174, 71, 133, 181, 77, 136, 186, 81, 142, 193, 88, 146, 198, 93, 152, 205, 101, 158, 213, 110, 162, 218, 117, 169, 226, 127, 173, 231, 134, 179, 239, 146, 183, 245, 153, 190, 253, 165], shape(vanimo100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: vanimo25 = reshape([255, 205, 253, 238, 173, 230, 222, 147, 210, 205, 120, 189, 187, 97, 168, 169, 80, 150, 146, 62, 128, 121, 49, 105, 92, 36, 79, 64, 27, 55, 44, 22, 37, 31, 20, 25, 26, 21, 19, 26, 26, 17, 31, 38, 18, 41, 53, 22, 54, 73, 26, 68, 94, 32, 81, 112, 38, 95, 131, 45, 110, 151, 55, 126, 172, 69, 146, 198, 93, 166, 223, 124, 190, 253, 165], shape(vanimo25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: vanimo50 = reshape([255, 205, 253, 247, 190, 242, 240, 176, 232, 230, 160, 220, 222, 147, 210, 215, 134, 200, 207, 122, 191, 199, 111, 181, 189, 99, 170, 180, 90, 161, 171, 81, 152, 161, 73, 142, 150, 65, 132, 136, 57, 119, 124, 50, 107, 110, 44, 96, 97, 38, 84, 84, 33, 72, 69, 28, 59, 57, 25, 49, 47, 23, 40, 40, 21, 33, 34, 20, 28, 29, 20, 23, 26, 20, 20, 25, 22, 18, 25, 24, 17, 27, 29, 17, 29, 34, 18, 33, 41, 19, 37, 48, 20, 43, 57, 22, 50, 68, 25, 56, 77, 27, 63, 86, 30, 69, 96, 33, 76, 105, 36, 84, 116, 39, 90, 124, 42, 96, 133, 46, 103, 142, 50, 110, 151, 55, 119, 163, 63, 127, 174, 71, 136, 186, 81, 146, 198, 93, 156, 210, 107, 169, 226, 127, 179, 239, 146, 190, 253, 165], shape(vanimo50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: vik = reshape([0, 18, 97, 1, 20, 98, 1, 21, 99, 1, 23, 100, 1, 24, 101, 1, 26, 102, 2, 28, 103, 2, 29, 104, 2, 31, 105, 2, 32, 106, 2, 34, 107, 2, 35, 108, 2, 37, 109, 2, 39, 110, 2, 40, 111, 2, 42, 112, 2, 43, 113, 2, 45, 114, 2, 46, 115, 2, 48, 116, 2, 49, 117, 2, 51, 118, 2, 52, 119, 2, 54, 120, 2, 55, 121, 2, 57, 122, 2, 58, 123, 3, 60, 124, 3, 62, 125, 3, 63, 126, 3, 65, 127, 3, 66, 128, 3, 68, 129, 3, 69, 130, 3, 71, 131, 3, 73, 132, 3, 74, 133, 4, 76, 134, 4, 77, 135, 4, 79, 136, 5, 81, 137, 5, 82, 138, 6, 84, 139, 6, 86, 140, 7, 87, 141, 8, 89, 143, 9, 91, 144, 11, 93, 145, 12, 94, 146, 14, 96, 147, 16, 98, 148, 17, 100, 150, 19, 102, 151, 21, 103, 152, 23, 105, 153, 25, 107, 154, 28, 109, 156, 30, 111, 157, 32, 113, 158, 35, 115, 160, 37, 117, 161, 40, 119, 162, 43, 121, 164, 45, 123, 165, 48, 125, 166, 51, 127, 168, 54, 129, 169, 57, 131, 171, 60, 133, 172, 63, 135, 173, 66, 137, 175, 69, 139, 176, 72, 141, 178, 75, 144, 179, 78, 146, 180, 81, 148, 182, 84, 150, 183, 87, 152, 185, 90, 154, 186, 93, 156, 187, 97, 158, 189, 100, 160, 190, 103, 162, 192, 106, 164, 193, 109, 166, 194, 113, 168, 196, 116, 170, 197, 119, 172, 198, 122, 174, 200, 125, 176, 201, 128, 178, 202, 132, 180, 204, 135, 182, 205, 138, 184, 206, 141, 186, 208, 144, 188, 209, 148, 190, 210, 151, 192, 212, 154, 194, 213, 157, 196, 214, 160, 197, 216, 163, 199, 217, 167, 201, 218, 170, 203, 220, 173, 205, 221, 176, 207, 222, 179, 209, 223, 182, 211, 225, 186, 213, 226, 189, 214, 227, 192, 216, 228, 195, 218, 229, 198, 219, 230, 201, 221, 231, 204, 223, 232, 207, 224, 232, 210, 225, 233, 213, 227, 233, 216, 228, 233, 219, 229, 233, 222, 230, 233, 224, 230, 233, 226, 231, 232, 229, 231, 232, 231, 231, 231, 232, 231, 229, 234, 230, 228, 235, 230, 226, 236, 229, 224, 237, 228, 222, 238, 227, 220, 238, 225, 218, 238, 224, 216, 238, 222, 213, 238, 221, 211, 238, 219, 208, 238, 217, 205, 237, 215, 203, 237, 213, 200, 236, 211, 197, 236, 209, 195, 235, 208, 192, 234, 206, 189, 233, 204, 186, 233, 202, 184, 232, 200, 181, 231, 198, 178, 230, 196, 176, 229, 193, 173, 228, 191, 170, 228, 190, 168, 227, 188, 165, 226, 186, 162, 225, 184, 160, 224, 182, 157, 223, 180, 154, 223, 178, 152, 222, 176, 149, 221, 174, 147, 220, 172, 144, 219, 170, 141, 219, 168, 139, 218, 166, 136, 217, 164, 134, 216, 162, 131, 215, 160, 129, 214, 159, 126, 214, 157, 124, 213, 155, 121, 212, 153, 119, 211, 151, 116, 211, 149, 114, 210, 148, 112, 209, 146, 109, 208, 144, 107, 207, 142, 104, 207, 140, 102, 206, 139, 100, 205, 137, 97, 204, 135, 95, 204, 133, 93, 203, 131, 90, 202, 130, 88, 201, 128, 86, 201, 126, 83, 200, 124, 81, 199, 123, 79, 198, 121, 76, 198, 119, 74, 197, 117, 72, 196, 116, 69, 195, 114, 67, 194, 112, 65, 194, 110, 63, 193, 109, 60, 192, 107, 58, 191, 105, 56, 190, 103, 54, 190, 101, 51, 189, 100, 49, 188, 98, 47, 187, 96, 45, 186, 94, 42, 184, 92, 40, 183, 90, 38, 182, 88, 36, 181, 85, 33, 179, 83, 31, 178, 81, 29, 176, 79, 27, 175, 76, 24, 173, 74, 22, 171, 72, 20, 169, 69, 18, 167, 67, 16, 165, 64, 15, 163, 62, 13, 161, 60, 11, 159, 57, 10, 156, 55, 9, 154, 53, 8, 152, 51, 7, 150, 49, 7, 148, 47, 6, 145, 45, 6, 143, 43, 6, 141, 41, 6, 139, 39, 6, 137, 38, 6, 135, 36, 6, 133, 34, 6, 131, 33, 6, 129, 31, 6, 127, 30, 6, 126, 29, 6, 124, 27, 6, 122, 26, 6, 120, 24, 6, 118, 23, 6, 116, 21, 6, 115, 20, 6, 113, 19, 7, 111, 17, 7, 109, 16, 7, 108, 14, 7, 106, 13, 7, 104, 12, 7, 103, 10, 7, 101, 9, 7, 99, 7, 7, 98, 6, 7, 96, 4, 8, 94, 3, 8, 93, 2, 8, 91, 1, 8, 89, 0, 8], shape(vik), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: vik10 = reshape([0, 18, 97, 3, 62, 125, 30, 111, 157, 113, 168, 196, 201, 221, 231, 234, 206, 189, 211, 151, 116, 190, 101, 51, 139, 39, 6, 89, 0, 8], shape(vik10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: vik100 = reshape([0, 18, 97, 1, 23, 100, 1, 26, 102, 2, 31, 105, 2, 34, 107, 2, 39, 110, 2, 42, 112, 2, 46, 115, 2, 51, 118, 2, 54, 120, 2, 58, 123, 3, 62, 125, 3, 66, 128, 3, 69, 130, 3, 74, 133, 4, 79, 136, 5, 82, 138, 7, 87, 141, 9, 91, 144, 14, 96, 147, 19, 102, 151, 23, 105, 153, 30, 111, 157, 35, 115, 160, 43, 121, 164, 48, 125, 166, 57, 131, 171, 66, 137, 175, 72, 141, 178, 81, 148, 182, 87, 152, 185, 97, 158, 189, 103, 162, 192, 113, 168, 196, 122, 174, 200, 128, 178, 202, 138, 184, 206, 144, 188, 209, 154, 194, 213, 160, 197, 216, 170, 203, 220, 179, 209, 223, 186, 213, 226, 195, 218, 229, 201, 221, 231, 210, 225, 233, 216, 228, 233, 224, 230, 233, 231, 231, 231, 234, 230, 228, 237, 228, 222, 238, 225, 218, 238, 221, 211, 237, 215, 203, 236, 211, 197, 234, 206, 189, 233, 202, 184, 230, 196, 176, 228, 191, 170, 226, 186, 162, 223, 180, 154, 222, 176, 149, 219, 170, 141, 218, 166, 136, 215, 160, 129, 214, 157, 124, 211, 151, 116, 209, 146, 109, 207, 142, 104, 205, 137, 97, 204, 133, 93, 201, 128, 86, 200, 124, 81, 198, 119, 74, 195, 114, 67, 194, 110, 63, 191, 105, 56, 190, 101, 51, 187, 96, 45, 184, 92, 40, 181, 85, 33, 176, 79, 27, 173, 74, 22, 167, 67, 16, 163, 62, 13, 156, 55, 9, 150, 49, 7, 145, 45, 6, 139, 39, 6, 135, 36, 6, 129, 31, 6, 126, 29, 6, 120, 24, 6, 115, 20, 6, 111, 17, 7, 106, 13, 7, 103, 10, 7, 98, 6, 7, 94, 3, 8, 89, 0, 8], shape(vik100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: vik25 = reshape([0, 18, 97, 2, 35, 108, 2, 51, 118, 3, 68, 129, 6, 86, 140, 21, 103, 152, 48, 125, 166, 78, 146, 180, 113, 168, 196, 148, 190, 210, 179, 209, 223, 213, 227, 233, 236, 229, 224, 237, 213, 200, 228, 191, 170, 220, 172, 144, 211, 151, 116, 203, 131, 90, 195, 114, 67, 186, 94, 42, 169, 69, 18, 148, 47, 6, 126, 29, 6, 108, 14, 7, 89, 0, 8], shape(vik25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: vik50 = reshape([0, 18, 97, 1, 26, 102, 2, 34, 107, 2, 43, 113, 2, 51, 118, 2, 58, 123, 3, 66, 128, 3, 74, 133, 6, 84, 139, 11, 93, 145, 19, 102, 151, 30, 111, 157, 43, 121, 164, 60, 133, 172, 75, 144, 179, 90, 154, 186, 106, 164, 193, 122, 174, 200, 141, 186, 208, 157, 196, 214, 173, 205, 221, 189, 214, 227, 204, 223, 232, 222, 230, 233, 232, 231, 229, 238, 227, 220, 238, 219, 208, 235, 208, 192, 231, 198, 178, 227, 188, 165, 223, 178, 152, 219, 168, 139, 214, 157, 124, 210, 148, 112, 206, 139, 100, 202, 130, 88, 198, 121, 76, 194, 110, 63, 190, 101, 51, 184, 92, 40, 178, 81, 29, 169, 69, 18, 156, 55, 9, 145, 45, 6, 135, 36, 6, 126, 29, 6, 116, 21, 6, 106, 13, 7, 98, 6, 7, 89, 0, 8], shape(vik50), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: vikO = reshape([79, 26, 61, 78, 26, 62, 78, 27, 63, 77, 27, 65, 76, 28, 66, 75, 29, 67, 75, 29, 68, 74, 30, 70, 73, 31, 71, 72, 32, 73, 72, 33, 74, 71, 33, 75, 70, 34, 77, 69, 35, 78, 69, 36, 80, 68, 37, 81, 67, 38, 83, 67, 39, 84, 66, 40, 86, 65, 41, 88, 64, 42, 89, 63, 44, 91, 63, 45, 93, 62, 46, 94, 61, 47, 96, 61, 49, 98, 60, 50, 99, 59, 51, 101, 58, 53, 103, 58, 54, 104, 57, 56, 106, 56, 57, 108, 56, 59, 110, 55, 60, 111, 54, 62, 113, 54, 63, 115, 53, 65, 116, 53, 67, 118, 52, 68, 120, 52, 70, 122, 52, 72, 123, 52, 73, 125, 51, 75, 127, 51, 77, 128, 51, 79, 130, 51, 81, 132, 51, 82, 133, 52, 84, 135, 52, 86, 137, 52, 88, 138, 53, 90, 140, 53, 92, 141, 54, 94, 143, 55, 95, 144, 56, 97, 146, 57, 99, 148, 58, 101, 149, 59, 103, 151, 60, 105, 152, 61, 107, 154, 63, 109, 155, 64, 111, 156, 66, 113, 158, 67, 115, 159, 69, 117, 161, 71, 119, 162, 73, 121, 164, 75, 123, 165, 77, 125, 166, 79, 127, 168, 81, 129, 169, 83, 131, 171, 85, 133, 172, 87, 135, 173, 90, 137, 175, 92, 139, 176, 94, 141, 177, 97, 143, 178, 99, 145, 180, 102, 147, 181, 104, 149, 182, 107, 151, 183, 109, 152, 184, 112, 154, 186, 114, 156, 187, 117, 158, 188, 120, 160, 189, 122, 162, 190, 125, 164, 191, 128, 165, 192, 131, 167, 193, 133, 169, 194, 136, 170, 194, 139, 172, 195, 142, 174, 196, 144, 175, 197, 147, 177, 197, 150, 178, 198, 153, 180, 198, 155, 181, 199, 158, 182, 199, 161, 184, 200, 164, 185, 200, 166, 186, 200, 169, 187, 200, 171, 188, 200, 174, 189, 200, 176, 190, 200, 179, 191, 200, 181, 192, 200, 184, 192, 199, 186, 193, 199, 188, 193, 198, 190, 194, 198, 192, 194, 197, 194, 194, 196, 196, 194, 195, 198, 195, 194, 200, 195, 193, 201, 194, 192, 203, 194, 191, 205, 194, 190, 206, 194, 188, 207, 193, 187, 209, 193, 185, 210, 192, 184, 211, 192, 182, 212, 191, 181, 213, 190, 179, 213, 189, 177, 214, 189, 175, 215, 188, 173, 215, 187, 172, 216, 186, 170, 216, 184, 168, 217, 183, 166, 217, 182, 164, 217, 181, 161, 217, 180, 159, 217, 178, 157, 217, 177, 155, 217, 175, 153, 217, 174, 151, 217, 172, 148, 217, 171, 146, 217, 169, 144, 216, 168, 141, 216, 166, 139, 216, 165, 137, 215, 163, 135, 215, 161, 132, 214, 160, 130, 213, 158, 128, 213, 156, 125, 212, 154, 123, 212, 152, 121, 211, 151, 118, 210, 149, 116, 209, 147, 114, 208, 145, 111, 208, 143, 109, 207, 141, 107, 206, 139, 104, 205, 138, 102, 204, 136, 100, 203, 134, 97, 202, 132, 95, 200, 130, 93, 199, 128, 91, 198, 126, 88, 197, 124, 86, 196, 121, 84, 194, 119, 82, 193, 117, 79, 192, 115, 77, 190, 113, 75, 189, 111, 73, 187, 109, 71, 186, 106, 69, 184, 104, 67, 183, 102, 65, 181, 100, 63, 179, 98, 61, 178, 95, 59, 176, 93, 57, 174, 91, 55, 172, 89, 53, 170, 86, 51, 169, 84, 50, 167, 82, 48, 165, 80, 47, 163, 77, 45, 161, 75, 44, 159, 73, 42, 157, 71, 41, 155, 69, 40, 153, 67, 39, 151, 65, 38, 149, 62, 37, 147, 60, 36, 145, 59, 35, 143, 57, 34, 141, 55, 33, 140, 53, 33, 138, 51, 32, 136, 49, 32, 134, 48, 31, 132, 46, 31, 130, 44, 31, 129, 43, 30, 127, 41, 30, 125, 40, 30, 124, 39, 30, 122, 37, 30, 121, 36, 30, 119, 35, 30, 118, 34, 31, 116, 33, 31, 115, 32, 31, 114, 31, 31, 112, 30, 32, 111, 29, 32, 110, 28, 32, 108, 27, 33, 107, 26, 33, 106, 26, 34, 105, 25, 34, 104, 25, 35, 103, 24, 35, 102, 24, 36, 101, 23, 37, 100, 23, 37, 99, 22, 38, 98, 22, 39, 97, 22, 39, 96, 22, 40, 95, 22, 41, 94, 21, 42, 93, 21, 43, 92, 21, 43, 91, 21, 44, 90, 21, 45, 90, 21, 46, 89, 21, 47, 88, 22, 48, 87, 22, 49, 86, 22, 50, 86, 22, 51, 85, 22, 52, 84, 23, 53, 83, 23, 54, 83, 23, 55, 82, 24, 56, 81, 24, 57, 80, 25, 58, 80, 25, 60], shape(vikO), order=[2, 1]) integer, public, dimension(0:9, 1:3) :: vikO10 = reshape([79, 26, 61, 58, 53, 103, 59, 103, 151, 117, 158, 188, 190, 194, 198, 217, 174, 151, 197, 124, 86, 149, 62, 37, 104, 25, 35, 80, 25, 60], shape(vikO10), order=[2, 1]) integer, public, dimension(0:99, 1:3) :: vikO100 = reshape([79, 26, 61, 77, 27, 65, 75, 29, 67, 73, 31, 71, 72, 33, 74, 69, 35, 78, 68, 37, 81, 66, 40, 86, 63, 44, 91, 62, 46, 94, 60, 50, 99, 58, 53, 103, 56, 57, 108, 55, 60, 111, 53, 65, 116, 52, 70, 122, 52, 73, 125, 51, 79, 130, 51, 82, 133, 52, 88, 138, 54, 94, 143, 56, 97, 146, 59, 103, 151, 61, 107, 154, 66, 113, 158, 69, 117, 161, 75, 123, 165, 81, 129, 169, 85, 133, 172, 92, 139, 176, 97, 143, 178, 104, 149, 182, 109, 152, 184, 117, 158, 188, 125, 164, 191, 131, 167, 193, 139, 172, 195, 144, 175, 197, 153, 180, 198, 158, 182, 199, 166, 186, 200, 174, 189, 200, 179, 191, 200, 186, 193, 199, 190, 194, 198, 196, 194, 195, 200, 195, 193, 205, 194, 190, 209, 193, 185, 211, 192, 182, 213, 189, 177, 215, 188, 173, 216, 184, 168, 217, 181, 161, 217, 178, 157, 217, 174, 151, 217, 171, 146, 216, 166, 139, 215, 163, 135, 213, 158, 128, 212, 152, 121, 210, 149, 116, 208, 143, 109, 206, 139, 104, 203, 134, 97, 200, 130, 93, 197, 124, 86, 193, 117, 79, 190, 113, 75, 186, 106, 69, 183, 102, 65, 178, 95, 59, 174, 91, 55, 169, 84, 50, 163, 77, 45, 159, 73, 42, 153, 67, 39, 149, 62, 37, 143, 57, 34, 140, 53, 33, 134, 48, 31, 129, 43, 30, 125, 40, 30, 121, 36, 30, 118, 34, 31, 114, 31, 31, 110, 28, 32, 107, 26, 33, 104, 25, 35, 102, 24, 36, 99, 22, 38, 97, 22, 39, 94, 21, 42, 91, 21, 44, 90, 21, 46, 87, 22, 49, 86, 22, 51, 83, 23, 54, 82, 24, 56, 80, 25, 60], shape(vikO100), order=[2, 1]) integer, public, dimension(0:24, 1:3) :: vikO25 = reshape([79, 26, 61, 71, 33, 75, 63, 44, 91, 56, 59, 110, 51, 77, 128, 55, 95, 144, 69, 117, 161, 90, 137, 175, 117, 158, 188, 147, 177, 197, 174, 189, 200, 198, 195, 194, 213, 190, 179, 217, 180, 159, 215, 163, 135, 208, 145, 111, 197, 124, 86, 181, 100, 63, 163, 77, 45, 141, 55, 33, 122, 37, 30, 108, 27, 33, 97, 22, 39, 88, 22, 48, 80, 25, 60], shape(vikO25), order=[2, 1]) integer, public, dimension(0:49, 1:3) :: vikO50 = reshape([79, 26, 61, 75, 29, 67, 72, 33, 74, 67, 38, 83, 63, 44, 91, 60, 50, 99, 56, 57, 108, 53, 65, 116, 51, 75, 127, 52, 84, 135, 54, 94, 143, 59, 103, 151, 66, 113, 158, 77, 125, 166, 87, 135, 173, 99, 145, 180, 112, 154, 186, 125, 164, 191, 142, 174, 196, 155, 181, 199, 169, 187, 200, 181, 192, 200, 192, 194, 197, 203, 194, 191, 210, 192, 184, 214, 189, 175, 217, 183, 166, 217, 175, 153, 216, 168, 141, 214, 160, 130, 211, 151, 118, 207, 141, 107, 200, 130, 93, 194, 119, 82, 187, 109, 71, 179, 98, 61, 170, 86, 51, 159, 73, 42, 149, 62, 37, 140, 53, 33, 130, 44, 31, 122, 37, 30, 114, 31, 31, 107, 26, 33, 102, 24, 36, 97, 22, 39, 92, 21, 43, 87, 22, 49, 83, 23, 54, 80, 25, 60], shape(vikO50), order=[2, 1])","tags":"","loc":"module/scientific_colour_maps.html"},{"title":"miscellaneous_colormaps – ForColormap","text":"Uses colormap_parameters module~~miscellaneous_colormaps~~UsesGraph module~miscellaneous_colormaps miscellaneous_colormaps module~colormap_parameters colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~miscellaneous_colormaps~~UsedByGraph module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap forcolormap module~forcolormap->module~miscellaneous_colormaps program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, dimension(0:1023, 1:3) :: black_body = reshape([0, 0, 0, 1, 0, 0, 2, 0, 0, 2, 1, 0, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 2, 1, 7, 2, 1, 7, 2, 1, 8, 2, 1, 9, 3, 1, 10, 3, 2, 11, 3, 2, 12, 3, 2, 12, 4, 2, 13, 4, 2, 14, 4, 2, 14, 4, 2, 15, 5, 3, 16, 5, 3, 16, 5, 3, 17, 5, 3, 17, 5, 3, 18, 6, 3, 19, 6, 3, 19, 6, 3, 20, 6, 4, 20, 7, 4, 21, 7, 4, 21, 7, 4, 22, 7, 4, 22, 8, 4, 23, 8, 4, 23, 8, 5, 23, 8, 5, 24, 9, 5, 24, 9, 5, 25, 9, 5, 25, 9, 5, 26, 10, 5, 26, 10, 5, 26, 10, 6, 27, 10, 6, 27, 10, 6, 28, 11, 6, 28, 11, 6, 28, 11, 6, 29, 11, 6, 29, 12, 7, 29, 12, 7, 30, 12, 7, 30, 12, 7, 30, 12, 7, 31, 13, 7, 31, 13, 7, 32, 13, 7, 32, 13, 8, 32, 13, 8, 33, 14, 8, 33, 14, 8, 33, 14, 8, 33, 14, 8, 34, 14, 8, 34, 15, 9, 34, 15, 9, 35, 15, 9, 35, 15, 9, 35, 15, 9, 36, 15, 9, 36, 16, 9, 37, 16, 10, 37, 16, 10, 37, 16, 10, 38, 16, 10, 38, 16, 10, 38, 16, 10, 39, 17, 10, 39, 17, 10, 39, 17, 11, 40, 17, 11, 40, 17, 11, 40, 17, 11, 41, 17, 11, 41, 17, 11, 42, 17, 11, 42, 17, 12, 42, 18, 12, 43, 18, 12, 43, 18, 12, 43, 18, 12, 44, 18, 12, 44, 18, 12, 45, 18, 12, 45, 18, 12, 45, 18, 13, 46, 18, 13, 46, 18, 13, 47, 19, 13, 47, 19, 13, 47, 19, 13, 48, 19, 13, 48, 19, 13, 48, 19, 14, 49, 19, 14, 49, 19, 14, 50, 19, 14, 50, 19, 14, 50, 19, 14, 51, 20, 14, 51, 20, 14, 52, 20, 14, 52, 20, 14, 52, 20, 15, 53, 20, 15, 53, 20, 15, 53, 20, 15, 54, 20, 15, 54, 20, 15, 55, 20, 15, 55, 20, 15, 55, 21, 15, 56, 21, 15, 56, 21, 16, 57, 21, 16, 57, 21, 16, 57, 21, 16, 58, 21, 16, 58, 21, 16, 59, 21, 16, 59, 21, 16, 59, 21, 16, 60, 21, 16, 60, 22, 16, 61, 22, 17, 61, 22, 17, 61, 22, 17, 62, 22, 17, 62, 22, 17, 63, 22, 17, 63, 22, 17, 63, 22, 17, 64, 22, 17, 64, 22, 17, 65, 22, 17, 65, 23, 18, 65, 23, 18, 66, 23, 18, 66, 23, 18, 67, 23, 18, 67, 23, 18, 67, 23, 18, 68, 23, 18, 68, 23, 18, 69, 23, 18, 69, 23, 18, 69, 23, 18, 70, 23, 18, 70, 24, 19, 71, 24, 19, 71, 24, 19, 72, 24, 19, 72, 24, 19, 72, 24, 19, 73, 24, 19, 73, 24, 19, 74, 24, 19, 74, 24, 19, 74, 24, 19, 75, 24, 19, 75, 24, 19, 76, 24, 19, 76, 25, 20, 76, 25, 20, 77, 25, 20, 77, 25, 20, 78, 25, 20, 78, 25, 20, 79, 25, 20, 79, 25, 20, 79, 25, 20, 80, 25, 20, 80, 25, 20, 81, 25, 20, 81, 25, 20, 81, 25, 20, 82, 26, 20, 82, 26, 21, 83, 26, 21, 83, 26, 21, 84, 26, 21, 84, 26, 21, 84, 26, 21, 85, 26, 21, 85, 26, 21, 86, 26, 21, 86, 26, 21, 87, 26, 21, 87, 26, 21, 87, 26, 21, 88, 26, 21, 88, 26, 21, 89, 27, 21, 89, 27, 22, 89, 27, 22, 90, 27, 22, 90, 27, 22, 91, 27, 22, 91, 27, 22, 92, 27, 22, 92, 27, 22, 92, 27, 22, 93, 27, 22, 93, 27, 22, 94, 27, 22, 94, 27, 22, 95, 27, 22, 95, 27, 22, 95, 28, 22, 96, 28, 23, 96, 28, 23, 97, 28, 23, 97, 28, 23, 98, 28, 23, 98, 28, 23, 98, 28, 23, 99, 28, 23, 99, 28, 23, 100, 28, 23, 100, 28, 23, 101, 28, 23, 101, 28, 23, 101, 28, 23, 102, 28, 23, 102, 28, 23, 103, 29, 24, 103, 29, 24, 104, 29, 24, 104, 29, 24, 105, 29, 24, 105, 29, 24, 105, 29, 24, 106, 29, 24, 106, 29, 24, 107, 29, 24, 107, 29, 24, 108, 29, 24, 108, 29, 24, 108, 29, 24, 109, 29, 24, 109, 29, 24, 110, 29, 25, 110, 29, 25, 111, 29, 25, 111, 30, 25, 112, 30, 25, 112, 30, 25, 112, 30, 25, 113, 30, 25, 113, 30, 25, 114, 30, 25, 114, 30, 25, 115, 30, 25, 115, 30, 25, 115, 30, 25, 116, 30, 25, 116, 30, 26, 117, 30, 26, 117, 30, 26, 118, 30, 26, 118, 30, 26, 119, 30, 26, 119, 30, 26, 119, 30, 26, 120, 31, 26, 120, 31, 26, 121, 31, 26, 121, 31, 26, 122, 31, 26, 122, 31, 26, 123, 31, 26, 123, 31, 26, 123, 31, 27, 124, 31, 27, 124, 31, 27, 125, 31, 27, 125, 31, 27, 126, 31, 27, 126, 31, 27, 127, 31, 27, 127, 31, 27, 128, 31, 27, 128, 31, 27, 128, 31, 27, 129, 31, 27, 129, 31, 27, 130, 31, 27, 130, 31, 27, 131, 32, 28, 131, 32, 28, 132, 32, 28, 132, 32, 28, 132, 32, 28, 133, 32, 28, 133, 32, 28, 134, 32, 28, 134, 32, 28, 135, 32, 28, 135, 32, 28, 136, 32, 28, 136, 32, 28, 137, 32, 28, 137, 32, 28, 137, 32, 28, 138, 32, 29, 138, 32, 29, 139, 32, 29, 139, 32, 29, 140, 32, 29, 140, 32, 29, 141, 32, 29, 141, 32, 29, 142, 32, 29, 142, 32, 29, 142, 32, 29, 143, 32, 29, 143, 33, 29, 144, 33, 29, 144, 33, 29, 145, 33, 29, 145, 33, 30, 146, 33, 30, 146, 33, 30, 147, 33, 30, 147, 33, 30, 148, 33, 30, 148, 33, 30, 148, 33, 30, 149, 33, 30, 149, 33, 30, 150, 33, 30, 150, 33, 30, 151, 33, 30, 151, 33, 30, 152, 33, 30, 152, 33, 31, 153, 33, 31, 153, 33, 31, 154, 33, 31, 154, 33, 31, 154, 33, 31, 155, 33, 31, 155, 33, 31, 156, 33, 31, 156, 33, 31, 157, 33, 31, 157, 33, 31, 158, 33, 31, 158, 33, 31, 159, 33, 31, 159, 33, 31, 160, 33, 32, 160, 33, 32, 160, 33, 32, 161, 33, 32, 161, 34, 32, 162, 34, 32, 162, 34, 32, 163, 34, 32, 163, 34, 32, 164, 34, 32, 164, 34, 32, 165, 34, 32, 165, 34, 32, 166, 34, 32, 166, 34, 32, 167, 34, 32, 167, 34, 33, 168, 34, 33, 168, 34, 33, 168, 34, 33, 169, 34, 33, 169, 34, 33, 170, 34, 33, 170, 34, 33, 171, 34, 33, 171, 34, 33, 172, 34, 33, 172, 34, 33, 173, 34, 33, 173, 34, 33, 174, 34, 33, 174, 34, 33, 175, 34, 34, 175, 34, 34, 176, 34, 34, 176, 34, 34, 176, 34, 34, 177, 34, 34, 177, 34, 34, 178, 34, 34, 178, 34, 34, 178, 35, 34, 179, 35, 34, 179, 36, 34, 179, 36, 34, 179, 37, 34, 180, 37, 34, 180, 38, 34, 180, 38, 34, 180, 39, 33, 181, 39, 33, 181, 40, 33, 181, 40, 33, 181, 40, 33, 182, 41, 33, 182, 41, 33, 182, 42, 33, 182, 42, 33, 183, 43, 33, 183, 43, 33, 183, 43, 33, 183, 44, 33, 184, 44, 33, 184, 45, 33, 184, 45, 33, 184, 46, 33, 185, 46, 32, 185, 46, 32, 185, 47, 32, 185, 47, 32, 186, 48, 32, 186, 48, 32, 186, 48, 32, 186, 49, 32, 187, 49, 32, 187, 50, 32, 187, 50, 32, 187, 50, 32, 188, 51, 32, 188, 51, 32, 188, 52, 32, 188, 52, 31, 189, 52, 31, 189, 53, 31, 189, 53, 31, 189, 53, 31, 190, 54, 31, 190, 54, 31, 190, 55, 31, 190, 55, 31, 191, 55, 31, 191, 56, 31, 191, 56, 31, 191, 57, 31, 192, 57, 30, 192, 57, 30, 192, 58, 30, 192, 58, 30, 193, 58, 30, 193, 59, 30, 193, 59, 30, 193, 59, 30, 194, 60, 30, 194, 60, 30, 194, 61, 30, 194, 61, 30, 195, 61, 29, 195, 62, 29, 195, 62, 29, 195, 62, 29, 196, 63, 29, 196, 63, 29, 196, 63, 29, 196, 64, 29, 197, 64, 29, 197, 65, 29, 197, 65, 29, 197, 65, 28, 198, 66, 28, 198, 66, 28, 198, 66, 28, 198, 67, 28, 199, 67, 28, 199, 67, 28, 199, 68, 28, 199, 68, 28, 200, 68, 28, 200, 69, 27, 200, 69, 27, 200, 69, 27, 201, 70, 27, 201, 70, 27, 201, 70, 27, 201, 71, 27, 202, 71, 27, 202, 72, 27, 202, 72, 26, 202, 72, 26, 203, 73, 26, 203, 73, 26, 203, 73, 26, 203, 74, 26, 204, 74, 26, 204, 74, 26, 204, 75, 25, 204, 75, 25, 204, 75, 25, 205, 76, 25, 205, 76, 25, 205, 76, 25, 205, 77, 25, 206, 77, 25, 206, 77, 24, 206, 78, 24, 206, 78, 24, 207, 78, 24, 207, 79, 24, 207, 79, 24, 207, 79, 24, 208, 80, 24, 208, 80, 23, 208, 80, 23, 208, 81, 23, 209, 81, 23, 209, 81, 23, 209, 82, 23, 209, 82, 23, 210, 82, 22, 210, 83, 22, 210, 83, 22, 210, 83, 22, 211, 84, 22, 211, 84, 22, 211, 84, 21, 211, 85, 21, 212, 85, 21, 212, 85, 21, 212, 86, 21, 212, 86, 21, 213, 86, 20, 213, 87, 20, 213, 87, 20, 213, 87, 20, 214, 88, 20, 214, 88, 20, 214, 88, 19, 214, 89, 19, 215, 89, 19, 215, 89, 19, 215, 90, 19, 215, 90, 18, 216, 90, 18, 216, 91, 18, 216, 91, 18, 216, 91, 18, 217, 92, 17, 217, 92, 17, 217, 92, 17, 217, 92, 17, 218, 93, 16, 218, 93, 16, 218, 93, 16, 218, 94, 16, 219, 94, 16, 219, 94, 15, 219, 95, 15, 219, 95, 15, 220, 95, 15, 220, 96, 14, 220, 96, 14, 220, 96, 14, 221, 97, 14, 221, 97, 13, 221, 97, 13, 221, 98, 13, 222, 98, 12, 222, 98, 12, 222, 99, 12, 222, 99, 12, 223, 99, 11, 223, 100, 11, 223, 100, 11, 223, 100, 10, 224, 101, 10, 224, 101, 10, 224, 101, 9, 224, 101, 9, 225, 102, 9, 225, 102, 8, 225, 102, 8, 225, 103, 8, 226, 103, 7, 226, 103, 7, 226, 104, 6, 226, 104, 6, 226, 104, 6, 227, 105, 5, 227, 105, 5, 227, 105, 5, 227, 106, 5, 227, 106, 5, 227, 107, 6, 227, 107, 6, 227, 108, 6, 227, 108, 6, 227, 109, 6, 228, 109, 6, 228, 110, 6, 228, 110, 6, 228, 110, 7, 228, 111, 7, 228, 111, 7, 228, 112, 7, 228, 112, 7, 228, 113, 7, 228, 113, 7, 228, 114, 8, 228, 114, 8, 228, 114, 8, 228, 115, 8, 228, 115, 8, 228, 116, 8, 228, 116, 9, 228, 117, 9, 229, 117, 9, 229, 118, 9, 229, 118, 9, 229, 118, 9, 229, 119, 9, 229, 119, 10, 229, 120, 10, 229, 120, 10, 229, 121, 10, 229, 121, 10, 229, 122, 10, 229, 122, 11, 229, 122, 11, 229, 123, 11, 229, 123, 11, 229, 124, 11, 229, 124, 11, 229, 125, 12, 229, 125, 12, 229, 125, 12, 230, 126, 12, 230, 126, 12, 230, 127, 12, 230, 127, 13, 230, 128, 13, 230, 128, 13, 230, 128, 13, 230, 129, 13, 230, 129, 13, 230, 130, 14, 230, 130, 14, 230, 130, 14, 230, 131, 14, 230, 131, 14, 230, 132, 14, 230, 132, 15, 230, 133, 15, 230, 133, 15, 230, 133, 15, 230, 134, 15, 230, 134, 15, 230, 135, 16, 230, 135, 16, 231, 136, 16, 231, 136, 16, 231, 136, 16, 231, 137, 16, 231, 137, 16, 231, 138, 17, 231, 138, 17, 231, 138, 17, 231, 139, 17, 231, 139, 17, 231, 140, 17, 231, 140, 18, 231, 141, 18, 231, 141, 18, 231, 141, 18, 231, 142, 18, 231, 142, 18, 231, 143, 19, 231, 143, 19, 231, 143, 19, 231, 144, 19, 231, 144, 19, 231, 145, 19, 231, 145, 19, 231, 145, 20, 231, 146, 20, 231, 146, 20, 231, 147, 20, 231, 147, 20, 232, 147, 20, 232, 148, 21, 232, 148, 21, 232, 149, 21, 232, 149, 21, 232, 150, 21, 232, 150, 21, 232, 150, 21, 232, 151, 22, 232, 151, 22, 232, 152, 22, 232, 152, 22, 232, 152, 22, 232, 153, 22, 232, 153, 23, 232, 154, 23, 232, 154, 23, 232, 154, 23, 232, 155, 23, 232, 155, 23, 232, 156, 24, 232, 156, 24, 232, 156, 24, 232, 157, 24, 232, 157, 24, 232, 158, 24, 232, 158, 24, 232, 158, 25, 232, 159, 25, 232, 159, 25, 232, 160, 25, 232, 160, 25, 232, 160, 25, 232, 161, 26, 232, 161, 26, 232, 162, 26, 232, 162, 26, 232, 162, 26, 232, 163, 26, 232, 163, 26, 232, 164, 27, 232, 164, 27, 233, 164, 27, 233, 165, 27, 233, 165, 27, 233, 166, 27, 233, 166, 28, 233, 166, 28, 233, 167, 28, 233, 167, 28, 233, 168, 28, 233, 168, 28, 233, 168, 28, 233, 169, 29, 233, 169, 29, 233, 170, 29, 233, 170, 29, 233, 170, 29, 233, 171, 29, 233, 171, 30, 233, 172, 30, 233, 172, 30, 233, 172, 30, 233, 173, 30, 233, 173, 30, 233, 173, 30, 233, 174, 31, 233, 174, 31, 233, 175, 31, 233, 175, 31, 233, 175, 31, 233, 176, 31, 233, 176, 32, 233, 177, 32, 233, 177, 32, 233, 177, 32, 233, 178, 32, 233, 178, 32, 233, 179, 32, 233, 179, 33, 233, 179, 33, 233, 180, 33, 233, 180, 33, 233, 181, 33, 233, 181, 33, 233, 181, 34, 233, 182, 34, 233, 182, 34, 233, 183, 34, 233, 183, 34, 233, 183, 34, 233, 184, 34, 233, 184, 35, 233, 184, 35, 233, 185, 35, 233, 185, 35, 233, 186, 35, 233, 186, 35, 233, 186, 36, 233, 187, 36, 233, 187, 36, 233, 188, 36, 233, 188, 36, 233, 188, 36, 233, 189, 36, 233, 189, 37, 233, 190, 37, 233, 190, 37, 233, 190, 37, 233, 191, 37, 233, 191, 37, 233, 191, 38, 233, 192, 38, 233, 192, 38, 233, 193, 38, 233, 193, 38, 233, 193, 38, 233, 194, 38, 233, 194, 39, 233, 195, 39, 233, 195, 39, 233, 195, 39, 233, 196, 39, 233, 196, 39, 233, 197, 40, 233, 197, 40, 233, 197, 40, 233, 198, 40, 233, 198, 40, 233, 198, 40, 233, 199, 40, 233, 199, 41, 233, 200, 41, 233, 200, 41, 233, 200, 41, 233, 201, 41, 233, 201, 41, 232, 202, 42, 232, 202, 42, 232, 202, 42, 232, 203, 42, 232, 203, 42, 232, 203, 42, 232, 204, 42, 232, 204, 43, 232, 205, 43, 232, 205, 43, 232, 205, 43, 232, 206, 43, 232, 206, 43, 232, 207, 44, 232, 207, 44, 232, 207, 44, 232, 208, 44, 232, 208, 44, 232, 208, 44, 232, 209, 44, 232, 209, 45, 232, 210, 45, 232, 210, 45, 232, 210, 45, 232, 211, 45, 232, 211, 45, 232, 212, 46, 232, 212, 46, 232, 212, 46, 232, 213, 46, 232, 213, 46, 232, 213, 46, 232, 214, 46, 232, 214, 47, 232, 215, 47, 232, 215, 47, 232, 215, 47, 232, 216, 47, 232, 216, 47, 231, 217, 48, 231, 217, 48, 231, 217, 48, 231, 218, 48, 231, 218, 48, 231, 218, 48, 231, 219, 48, 231, 219, 49, 231, 220, 49, 231, 220, 49, 231, 220, 49, 231, 221, 49, 231, 221, 49, 231, 222, 50, 231, 222, 50, 231, 222, 50, 231, 223, 50, 231, 223, 50, 231, 223, 50, 231, 224, 50, 231, 224, 51, 231, 225, 51, 231, 225, 51, 231, 225, 51, 231, 226, 51, 230, 226, 51, 230, 227, 52, 230, 227, 52, 230, 227, 52, 230, 228, 52, 230, 228, 52, 230, 228, 52, 230, 229, 53, 230, 229, 53, 230, 230, 53, 230, 230, 53, 230, 230, 55, 231, 230, 58, 231, 231, 61, 232, 231, 63, 232, 231, 66, 232, 231, 68, 233, 231, 70, 233, 232, 72, 233, 232, 75, 234, 232, 77, 234, 232, 79, 235, 232, 81, 235, 233, 83, 235, 233, 85, 236, 233, 87, 236, 233, 89, 236, 233, 91, 237, 234, 93, 237, 234, 95, 237, 234, 97, 238, 234, 99, 238, 235, 101, 238, 235, 103, 239, 235, 104, 239, 235, 106, 239, 235, 108, 240, 236, 110, 240, 236, 112, 240, 236, 114, 241, 236, 115, 241, 236, 117, 241, 237, 119, 242, 237, 121, 242, 237, 122, 242, 237, 124, 243, 237, 126, 243, 238, 128, 243, 238, 129, 243, 238, 131, 244, 238, 133, 244, 239, 134, 244, 239, 136, 245, 239, 138, 245, 239, 139, 245, 239, 141, 245, 240, 143, 246, 240, 145, 246, 240, 146, 246, 240, 148, 246, 240, 150, 247, 241, 151, 247, 241, 153, 247, 241, 155, 247, 241, 156, 248, 242, 158, 248, 242, 159, 248, 242, 161, 248, 242, 163, 249, 242, 164, 249, 243, 166, 249, 243, 168, 249, 243, 169, 249, 243, 171, 250, 243, 173, 250, 244, 174, 250, 244, 176, 250, 244, 177, 250, 244, 179, 251, 245, 181, 251, 245, 182, 251, 245, 184, 251, 245, 186, 251, 245, 187, 251, 246, 189, 252, 246, 190, 252, 246, 192, 252, 246, 194, 252, 247, 195, 252, 247, 197, 252, 247, 199, 253, 247, 200, 253, 247, 202, 253, 248, 203, 253, 248, 205, 253, 248, 207, 253, 248, 208, 253, 249, 210, 253, 249, 211, 254, 249, 213, 254, 249, 215, 254, 249, 216, 254, 250, 218, 254, 250, 219, 254, 250, 221, 254, 250, 223, 254, 251, 224, 254, 251, 226, 254, 251, 228, 254, 251, 229, 255, 252, 231, 255, 252, 232, 255, 252, 234, 255, 252, 236, 255, 252, 237, 255, 253, 239, 255, 253, 240, 255, 253, 242, 255, 253, 244, 255, 254, 245, 255, 254, 247, 255, 254, 249, 255, 254, 250, 255, 255, 252, 255, 255, 253, 255, 255, 255], shape(black_body), order=[2, 1]) character(len=*), public, parameter, dimension(*) :: miscellaneous_colormaps_list = [character(colormap_name_length)::\"fire\", \"rainbow\", \"inv_rainbow\", \"zebra\", \"cubehelix\", \"black_body\"] Subroutines public pure subroutine cubehelix_colormap (map, nlev, varargs) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map integer, intent(in) :: nlev real(kind=wp), intent(in), optional, dimension(:) :: varargs public pure subroutine fire_colormap (levels, map) Arguments Type Intent Optional Attributes Name integer, intent(in) :: levels integer, intent(out), dimension(:,:), allocatable :: map public pure subroutine inv_rainbow_colormap (map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map public pure subroutine rainbow_colormap (map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map public pure subroutine zebra_colormap (map) Arguments Type Intent Optional Attributes Name integer, intent(out), dimension(:,:), allocatable :: map","tags":"","loc":"module/miscellaneous_colormaps.html"},{"title":"colormap_parameters – ForColormap","text":"Uses iso_fortran_env module~~colormap_parameters~~UsesGraph module~colormap_parameters colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~colormap_parameters~~UsedByGraph module~colormap_parameters colormap_parameters module~forcolormap forcolormap module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps module~forcolormap_info forcolormap_info module~forcolormap_info->module~colormap_parameters module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters proc~error colormap_class.f90::error proc~error->module~colormap_parameters proc~check forcolormap::Colormap%check proc~check->module~forcolormap_info program~colormaps_list colormaps_list program~colormaps_list->module~forcolormap_info program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap program~write_info write_info program~write_info->module~forcolormap_info Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, parameter :: colormap_name_length = 30 real(kind=wp), public, parameter :: pi = 4*atan(1.0_wp)","tags":"","loc":"module/colormap_parameters.html"},{"title":"forcolormap_info – ForColormap","text":"Uses colormap_parameters module~~forcolormap_info~~UsesGraph module~forcolormap_info forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~forcolormap_info~~UsedByGraph module~forcolormap_info forcolormap_info proc~check forcolormap::Colormap%check proc~check->module~forcolormap_info program~colormaps_list colormaps_list program~colormaps_list->module~forcolormap_info program~write_info write_info program~write_info->module~forcolormap_info Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Derived Types type, public :: Colormaps_info Components Type Visibility Attributes Name Initial type( table ), private :: colormaps (232) Type-Bound Procedures procedure, public :: finalize => deallocate_Colormaps_info procedure, public :: get_levels procedure, public :: get_name procedure, public :: get_ncolormaps procedure, public :: set_all procedure, public :: write type, private :: table Components Type Visibility Attributes Name Initial character(len=:), private, allocatable :: author character(len=:), private, allocatable :: colorbar character(len=:), private, allocatable :: family character(len=:), private, allocatable :: gradient integer, private :: levels character(len=:), private, allocatable :: license character(len=:), private, allocatable :: name character(len=:), private, allocatable :: package character(len=:), private, allocatable :: palette character(len=:), private, allocatable :: url Type-Bound Procedures procedure, public :: finalize => deallocate_table procedure, public :: set_info procedure, public :: write_info Functions private pure function findColumnIntersections (array) result(intersections) Arguments Type Intent Optional Attributes Name integer, intent(in) :: array (:,:) Return Value integer, allocatable, (:) private pure function get_levels (this, index) result(levels) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value integer private pure elemental function get_name (this, index) result(name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this integer, intent(in) :: index Return Value character(len=colormap_name_length) private pure elemental function get_ncolormaps (this) result(ncolormaps) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(in) :: this Return Value integer Subroutines private pure elemental subroutine deallocate_Colormaps_info (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this private pure elemental subroutine deallocate_table (this) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this private pure elemental subroutine set_all (this) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this private pure elemental subroutine set_info (this, package, family, name, gradient, palette, author, license, url, colorbar, levels) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this character(len=*), intent(in) :: package character(len=*), intent(in) :: family character(len=*), intent(in) :: name character(len=*), intent(in) :: gradient character(len=*), intent(in) :: palette character(len=*), intent(in) :: author character(len=*), intent(in) :: license character(len=*), intent(in) :: url character(len=*), intent(in) :: colorbar integer, intent(in) :: levels private impure subroutine write (this, verbose, name, family, gradient, palette, author, license, levels, file_name) Arguments Type Intent Optional Attributes Name class( Colormaps_info ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: name character(len=*), intent(in), optional :: family character(len=*), intent(in), optional :: gradient character(len=*), intent(in), optional :: palette character(len=*), intent(in), optional :: author character(len=*), intent(in), optional :: license integer, intent(in), optional :: levels character(len=*), intent(in), optional :: file_name private impure subroutine write_info (this, verbose, file_name) Arguments Type Intent Optional Attributes Name class( table ), intent(inout) :: this integer, intent(in), optional :: verbose character(len=*), intent(in), optional :: file_name","tags":"","loc":"module/forcolormap_info.html"},{"title":"forcolormap – ForColormap","text":"Uses miscellaneous_colormaps colormap_parameters scientific_colour_maps matplotlib_colormaps module~~forcolormap~~UsesGraph module~forcolormap forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~forcolormap~~UsedByGraph module~forcolormap forcolormap program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial character(len=*), public, parameter, dimension(*) :: colormaps_list = [character(colormap_name_length)::miscellaneous_colormaps_list, scientific_colour_maps_list, matplotlib_colormaps_list] Derived Types type, public :: Colormap Components Type Visibility Attributes Name Initial integer, private :: levels integer, private, dimension(:, :), allocatable :: map character(len=colormap_name_length), private :: name real(kind=wp), private :: zmax real(kind=wp), private :: zmin Type-Bound Procedures procedure, public :: colorbar => write_ppm_colorbar procedure, public :: compute_RGB procedure, public :: create procedure, public :: create_bezier procedure, public :: create_lagrange procedure, public :: extract procedure, public :: get_RGB procedure, public :: get_levels procedure, public :: get_name procedure, public :: get_zmax procedure, public :: get_zmin procedure, public :: load procedure, public :: print procedure, public :: reverse procedure, public :: set procedure, public :: shift procedure, private :: check Functions private pure function bezier (colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable private pure function factorial (n) result(result) Arguments Type Intent Optional Attributes Name integer, intent(in) :: n Return Value integer private pure function get_levels (self) result(levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value integer private pure function get_name (self) result(name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value character(len=colormap_name_length) private pure function get_zmax (self) result(zmax) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) private pure function get_zmin (self) result(zmin) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(in) :: self Return Value real(kind=wp) private pure function lagrange (colors, levels) result(map) Arguments Type Intent Optional Attributes Name integer, intent(in), dimension(:,:) :: colors integer, intent(in), optional :: levels Return Value integer, dimension(:,:), allocatable private pure function lagrange_poly (t, n) result(B) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in) :: t integer, intent(in) :: n order + 1 Return Value real(kind=wp), allocatable, (:) private pure function scale_real_int (real_array, a, b) result(int_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array integer, intent(in) :: a integer, intent(in) :: b Return Value integer, dimension(size(real_array)) private pure function scale_real_real (real_array, a, b) result(real_scaled_array) Arguments Type Intent Optional Attributes Name real(kind=wp), intent(in), dimension(:) :: real_array real(kind=wp), intent(in) :: a real(kind=wp), intent(in) :: b Return Value real(kind=wp), dimension(size(real_array)) Subroutines private pure subroutine check (self, check_name, check_zmin, check_zmax, check_levels) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self logical, intent(in), optional :: check_name logical, intent(in), optional :: check_zmin logical, intent(in), optional :: check_zmax logical, intent(in), optional :: check_levels private pure subroutine compute_RGB (self, z, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self real(kind=wp), intent(in) :: z integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue private pure subroutine create (self, name, zmin, zmax, map, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: map logical, intent(in), optional :: reverse private pure subroutine create_bezier (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse private pure subroutine create_lagrange (self, name, zmin, zmax, colors, levels, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), dimension(:, :) :: colors integer, intent(in) :: levels logical, intent(in), optional :: reverse private pure subroutine extract (self, extractedLevels, name, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: extractedLevels character(len=*), intent(in), optional :: name real(kind=wp), intent(in), optional :: zmin real(kind=wp), intent(in), optional :: zmax logical, intent(in), optional :: reverse private pure subroutine get_RGB (self, level, red, green, blue) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: level integer, intent(out) :: red integer, intent(out) :: green integer, intent(out) :: blue private impure subroutine load (self, filename, zmin, zmax, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax logical, intent(in), optional :: reverse private impure subroutine print (self) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self private pure subroutine reverse (self, name) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in), optional :: name private pure subroutine set (self, name, zmin, zmax, levels, varargs, reverse) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: name real(kind=wp), intent(in) :: zmin real(kind=wp), intent(in) :: zmax integer, intent(in), optional :: levels real(kind=wp), intent(in), optional, dimension(:) :: varargs logical, intent(in), optional :: reverse private pure subroutine shift (self, sh) Apply a circular shift to the colormap (left is +, right is -) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self integer, intent(in) :: sh The shift private impure subroutine write_ppm_colorbar (self, filename, width, height, encoding) Arguments Type Intent Optional Attributes Name class( Colormap ), intent(inout) :: self character(len=*), intent(in) :: filename integer, intent(in), optional :: width integer, intent(in), optional :: height character(len=*), intent(in), optional :: encoding","tags":"","loc":"module/forcolormap.html"},{"title":"matplotlib_colormaps – ForColormap","text":"Uses colormap_parameters module~~matplotlib_colormaps~~UsesGraph module~matplotlib_colormaps matplotlib_colormaps module~colormap_parameters colormap_parameters module~matplotlib_colormaps->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Used by module~~matplotlib_colormaps~~UsedByGraph module~matplotlib_colormaps matplotlib_colormaps module~forcolormap forcolormap module~forcolormap->module~matplotlib_colormaps program~create create program~create->module~forcolormap program~demo demo program~demo->module~forcolormap program~demo_reverse demo_reverse program~demo_reverse->module~forcolormap program~example1 example1 program~example1->module~forcolormap program~extract extract program~extract->module~forcolormap program~modify modify program~modify->module~forcolormap Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Visibility Attributes Name Initial integer, public, dimension(0:255, 1:3) :: inferno = reshape([0, 0, 4, 1, 0, 5, 1, 1, 6, 1, 1, 8, 2, 1, 10, 2, 2, 12, 2, 2, 14, 3, 2, 16, 4, 3, 18, 4, 3, 20, 5, 4, 23, 6, 4, 25, 7, 5, 27, 8, 5, 29, 9, 6, 31, 10, 7, 34, 11, 7, 36, 12, 8, 38, 13, 8, 41, 14, 9, 43, 16, 9, 45, 17, 10, 48, 18, 10, 50, 20, 11, 52, 21, 11, 55, 22, 11, 57, 24, 12, 60, 25, 12, 62, 27, 12, 65, 28, 12, 67, 30, 12, 69, 31, 12, 72, 33, 12, 74, 35, 12, 76, 36, 12, 79, 38, 12, 81, 40, 11, 83, 41, 11, 85, 43, 11, 87, 45, 11, 89, 47, 10, 91, 49, 10, 92, 50, 10, 94, 52, 10, 95, 54, 9, 97, 56, 9, 98, 57, 9, 99, 59, 9, 100, 61, 9, 101, 62, 9, 102, 64, 10, 103, 66, 10, 104, 68, 10, 104, 69, 10, 105, 71, 11, 106, 73, 11, 106, 74, 12, 107, 76, 12, 107, 77, 13, 108, 79, 13, 108, 81, 14, 108, 82, 14, 109, 84, 15, 109, 85, 15, 109, 87, 16, 110, 89, 16, 110, 90, 17, 110, 92, 18, 110, 93, 18, 110, 95, 19, 110, 97, 19, 110, 98, 20, 110, 100, 21, 110, 101, 21, 110, 103, 22, 110, 105, 22, 110, 106, 23, 110, 108, 24, 110, 109, 24, 110, 111, 25, 110, 113, 25, 110, 114, 26, 110, 116, 26, 110, 117, 27, 110, 119, 28, 109, 120, 28, 109, 122, 29, 109, 124, 29, 109, 125, 30, 109, 127, 30, 108, 128, 31, 108, 130, 32, 108, 132, 32, 107, 133, 33, 107, 135, 33, 107, 136, 34, 106, 138, 34, 106, 140, 35, 105, 141, 35, 105, 143, 36, 105, 144, 37, 104, 146, 37, 104, 147, 38, 103, 149, 38, 103, 151, 39, 102, 152, 39, 102, 154, 40, 101, 155, 41, 100, 157, 41, 100, 159, 42, 99, 160, 42, 99, 162, 43, 98, 163, 44, 97, 165, 44, 96, 166, 45, 96, 168, 46, 95, 169, 46, 94, 171, 47, 94, 173, 48, 93, 174, 48, 92, 176, 49, 91, 177, 50, 90, 179, 50, 90, 180, 51, 89, 182, 52, 88, 183, 53, 87, 185, 53, 86, 186, 54, 85, 188, 55, 84, 189, 56, 83, 191, 57, 82, 192, 58, 81, 193, 58, 80, 195, 59, 79, 196, 60, 78, 198, 61, 77, 199, 62, 76, 200, 63, 75, 202, 64, 74, 203, 65, 73, 204, 66, 72, 206, 67, 71, 207, 68, 70, 208, 69, 69, 210, 70, 68, 211, 71, 67, 212, 72, 66, 213, 74, 65, 215, 75, 63, 216, 76, 62, 217, 77, 61, 218, 78, 60, 219, 80, 59, 221, 81, 58, 222, 82, 56, 223, 83, 55, 224, 85, 54, 225, 86, 53, 226, 87, 52, 227, 89, 51, 228, 90, 49, 229, 92, 48, 230, 93, 47, 231, 94, 46, 232, 96, 45, 233, 97, 43, 234, 99, 42, 235, 100, 41, 235, 102, 40, 236, 103, 38, 237, 105, 37, 238, 106, 36, 239, 108, 35, 239, 110, 33, 240, 111, 32, 241, 113, 31, 241, 115, 29, 242, 116, 28, 243, 118, 27, 243, 120, 25, 244, 121, 24, 245, 123, 23, 245, 125, 21, 246, 126, 20, 246, 128, 19, 247, 130, 18, 247, 132, 16, 248, 133, 15, 248, 135, 14, 248, 137, 12, 249, 139, 11, 249, 140, 10, 249, 142, 9, 250, 144, 8, 250, 146, 7, 250, 148, 7, 251, 150, 6, 251, 151, 6, 251, 153, 6, 251, 155, 6, 251, 157, 7, 252, 159, 7, 252, 161, 8, 252, 163, 9, 252, 165, 10, 252, 166, 12, 252, 168, 13, 252, 170, 15, 252, 172, 17, 252, 174, 18, 252, 176, 20, 252, 178, 22, 252, 180, 24, 251, 182, 26, 251, 184, 29, 251, 186, 31, 251, 188, 33, 251, 190, 35, 250, 192, 38, 250, 194, 40, 250, 196, 42, 250, 198, 45, 249, 199, 47, 249, 201, 50, 249, 203, 53, 248, 205, 55, 248, 207, 58, 247, 209, 61, 247, 211, 64, 246, 213, 67, 246, 215, 70, 245, 217, 73, 245, 219, 76, 244, 221, 79, 244, 223, 83, 244, 225, 86, 243, 227, 90, 243, 229, 93, 242, 230, 97, 242, 232, 101, 242, 234, 105, 241, 236, 109, 241, 237, 113, 241, 239, 117, 241, 241, 121, 242, 242, 125, 242, 244, 130, 243, 245, 134, 243, 246, 138, 244, 248, 142, 245, 249, 146, 246, 250, 150, 248, 251, 154, 249, 252, 157, 250, 253, 161, 252, 255, 164], shape(inferno), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: magma = reshape([0, 0, 4, 1, 0, 5, 1, 1, 6, 1, 1, 8, 2, 1, 9, 2, 2, 11, 2, 2, 13, 3, 3, 15, 3, 3, 18, 4, 4, 20, 5, 4, 22, 6, 5, 24, 6, 5, 26, 7, 6, 28, 8, 7, 30, 9, 7, 32, 10, 8, 34, 11, 9, 36, 12, 9, 38, 13, 10, 41, 14, 11, 43, 16, 11, 45, 17, 12, 47, 18, 13, 49, 19, 13, 52, 20, 14, 54, 21, 14, 56, 22, 15, 59, 24, 15, 61, 25, 16, 63, 26, 16, 66, 28, 16, 68, 29, 17, 71, 30, 17, 73, 32, 17, 75, 33, 17, 78, 34, 17, 80, 36, 18, 83, 37, 18, 85, 39, 18, 88, 41, 17, 90, 42, 17, 92, 44, 17, 95, 45, 17, 97, 47, 17, 99, 49, 17, 101, 51, 16, 103, 52, 16, 105, 54, 16, 107, 56, 16, 108, 57, 15, 110, 59, 15, 112, 61, 15, 113, 63, 15, 114, 64, 15, 116, 66, 15, 117, 68, 15, 118, 69, 16, 119, 71, 16, 120, 73, 16, 120, 74, 16, 121, 76, 17, 122, 78, 17, 123, 79, 18, 123, 81, 18, 124, 82, 19, 124, 84, 19, 125, 86, 20, 125, 87, 21, 126, 89, 21, 126, 90, 22, 126, 92, 22, 127, 93, 23, 127, 95, 24, 127, 96, 24, 128, 98, 25, 128, 100, 26, 128, 101, 26, 128, 103, 27, 128, 104, 28, 129, 106, 28, 129, 107, 29, 129, 109, 29, 129, 110, 30, 129, 112, 31, 129, 114, 31, 129, 115, 32, 129, 117, 33, 129, 118, 33, 129, 120, 34, 129, 121, 34, 130, 123, 35, 130, 124, 35, 130, 126, 36, 130, 128, 37, 130, 129, 37, 129, 131, 38, 129, 132, 38, 129, 134, 39, 129, 136, 39, 129, 137, 40, 129, 139, 41, 129, 140, 41, 129, 142, 42, 129, 144, 42, 129, 145, 43, 129, 147, 43, 128, 148, 44, 128, 150, 44, 128, 152, 45, 128, 153, 45, 128, 155, 46, 127, 156, 46, 127, 158, 47, 127, 160, 47, 127, 161, 48, 126, 163, 48, 126, 165, 49, 126, 166, 49, 125, 168, 50, 125, 170, 51, 125, 171, 51, 124, 173, 52, 124, 174, 52, 123, 176, 53, 123, 178, 53, 123, 179, 54, 122, 181, 54, 122, 183, 55, 121, 184, 55, 121, 186, 56, 120, 188, 57, 120, 189, 57, 119, 191, 58, 119, 192, 58, 118, 194, 59, 117, 196, 60, 117, 197, 60, 116, 199, 61, 115, 200, 62, 115, 202, 62, 114, 204, 63, 113, 205, 64, 113, 207, 64, 112, 208, 65, 111, 210, 66, 111, 211, 67, 110, 213, 68, 109, 214, 69, 108, 216, 69, 108, 217, 70, 107, 219, 71, 106, 220, 72, 105, 222, 73, 104, 223, 74, 104, 224, 76, 103, 226, 77, 102, 227, 78, 101, 228, 79, 100, 229, 80, 100, 231, 82, 99, 232, 83, 98, 233, 84, 98, 234, 86, 97, 235, 87, 96, 236, 88, 96, 237, 90, 95, 238, 91, 94, 239, 93, 94, 240, 95, 94, 241, 96, 93, 242, 98, 93, 242, 100, 92, 243, 101, 92, 244, 103, 92, 244, 105, 92, 245, 107, 92, 246, 108, 92, 246, 110, 92, 247, 112, 92, 247, 114, 92, 248, 116, 92, 248, 118, 92, 249, 120, 93, 249, 121, 93, 249, 123, 93, 250, 125, 94, 250, 127, 94, 250, 129, 95, 251, 131, 95, 251, 133, 96, 251, 135, 97, 252, 137, 97, 252, 138, 98, 252, 140, 99, 252, 142, 100, 252, 144, 101, 253, 146, 102, 253, 148, 103, 253, 150, 104, 253, 152, 105, 253, 154, 106, 253, 155, 107, 254, 157, 108, 254, 159, 109, 254, 161, 110, 254, 163, 111, 254, 165, 113, 254, 167, 114, 254, 169, 115, 254, 170, 116, 254, 172, 118, 254, 174, 119, 254, 176, 120, 254, 178, 122, 254, 180, 123, 254, 182, 124, 254, 183, 126, 254, 185, 127, 254, 187, 129, 254, 189, 130, 254, 191, 132, 254, 193, 133, 254, 194, 135, 254, 196, 136, 254, 198, 138, 254, 200, 140, 254, 202, 141, 254, 204, 143, 254, 205, 144, 254, 207, 146, 254, 209, 148, 254, 211, 149, 254, 213, 151, 254, 215, 153, 254, 216, 154, 253, 218, 156, 253, 220, 158, 253, 222, 160, 253, 224, 161, 253, 226, 163, 253, 227, 165, 253, 229, 167, 253, 231, 169, 253, 233, 170, 253, 235, 172, 252, 236, 174, 252, 238, 176, 252, 240, 178, 252, 242, 180, 252, 244, 182, 252, 246, 184, 252, 247, 185, 252, 249, 187, 252, 251, 189, 252, 253, 191], shape(magma), order=[2, 1]) character(len=*), public, parameter, dimension(*) :: matplotlib_colormaps_list = [character(colormap_name_length)::\"magma\", \"inferno\", \"plasma\", \"viridis\"] integer, public, dimension(0:255, 1:3) :: plasma = reshape([13, 8, 135, 16, 7, 136, 19, 7, 137, 22, 7, 138, 25, 6, 140, 27, 6, 141, 29, 6, 142, 32, 6, 143, 34, 6, 144, 36, 6, 145, 38, 5, 145, 40, 5, 146, 42, 5, 147, 44, 5, 148, 46, 5, 149, 47, 5, 150, 49, 5, 151, 51, 5, 151, 53, 4, 152, 55, 4, 153, 56, 4, 154, 58, 4, 154, 60, 4, 155, 62, 4, 156, 63, 4, 156, 65, 4, 157, 67, 3, 158, 68, 3, 158, 70, 3, 159, 72, 3, 159, 73, 3, 160, 75, 3, 161, 76, 2, 161, 78, 2, 162, 80, 2, 162, 81, 2, 163, 83, 2, 163, 85, 2, 164, 86, 1, 164, 88, 1, 164, 89, 1, 165, 91, 1, 165, 92, 1, 166, 94, 1, 166, 96, 1, 166, 97, 0, 167, 99, 0, 167, 100, 0, 167, 102, 0, 167, 103, 0, 168, 105, 0, 168, 106, 0, 168, 108, 0, 168, 110, 0, 168, 111, 0, 168, 113, 0, 168, 114, 1, 168, 116, 1, 168, 117, 1, 168, 119, 1, 168, 120, 1, 168, 122, 2, 168, 123, 2, 168, 125, 3, 168, 126, 3, 168, 128, 4, 168, 129, 4, 167, 131, 5, 167, 132, 5, 167, 134, 6, 166, 135, 7, 166, 136, 8, 166, 138, 9, 165, 139, 10, 165, 141, 11, 165, 142, 12, 164, 143, 13, 164, 145, 14, 163, 146, 15, 163, 148, 16, 162, 149, 17, 161, 150, 19, 161, 152, 20, 160, 153, 21, 159, 154, 22, 159, 156, 23, 158, 157, 24, 157, 158, 25, 157, 160, 26, 156, 161, 27, 155, 162, 29, 154, 163, 30, 154, 165, 31, 153, 166, 32, 152, 167, 33, 151, 168, 34, 150, 170, 35, 149, 171, 36, 148, 172, 38, 148, 173, 39, 147, 174, 40, 146, 176, 41, 145, 177, 42, 144, 178, 43, 143, 179, 44, 142, 180, 46, 141, 181, 47, 140, 182, 48, 139, 183, 49, 138, 184, 50, 137, 186, 51, 136, 187, 52, 136, 188, 53, 135, 189, 55, 134, 190, 56, 133, 191, 57, 132, 192, 58, 131, 193, 59, 130, 194, 60, 129, 195, 61, 128, 196, 62, 127, 197, 64, 126, 198, 65, 125, 199, 66, 124, 200, 67, 123, 201, 68, 122, 202, 69, 122, 203, 70, 121, 204, 71, 120, 204, 73, 119, 205, 74, 118, 206, 75, 117, 207, 76, 116, 208, 77, 115, 209, 78, 114, 210, 79, 113, 211, 81, 113, 212, 82, 112, 213, 83, 111, 213, 84, 110, 214, 85, 109, 215, 86, 108, 216, 87, 107, 217, 88, 106, 218, 90, 106, 218, 91, 105, 219, 92, 104, 220, 93, 103, 221, 94, 102, 222, 95, 101, 222, 97, 100, 223, 98, 99, 224, 99, 99, 225, 100, 98, 226, 101, 97, 226, 102, 96, 227, 104, 95, 228, 105, 94, 229, 106, 93, 229, 107, 93, 230, 108, 92, 231, 110, 91, 231, 111, 90, 232, 112, 89, 233, 113, 88, 233, 114, 87, 234, 116, 87, 235, 117, 86, 235, 118, 85, 236, 119, 84, 237, 121, 83, 237, 122, 82, 238, 123, 81, 239, 124, 81, 239, 126, 80, 240, 127, 79, 240, 128, 78, 241, 129, 77, 241, 131, 76, 242, 132, 75, 243, 133, 75, 243, 135, 74, 244, 136, 73, 244, 137, 72, 245, 139, 71, 245, 140, 70, 246, 141, 69, 246, 143, 68, 247, 144, 68, 247, 145, 67, 247, 147, 66, 248, 148, 65, 248, 149, 64, 249, 151, 63, 249, 152, 62, 249, 154, 62, 250, 155, 61, 250, 156, 60, 250, 158, 59, 251, 159, 58, 251, 161, 57, 251, 162, 56, 252, 163, 56, 252, 165, 55, 252, 166, 54, 252, 168, 53, 252, 169, 52, 253, 171, 51, 253, 172, 51, 253, 174, 50, 253, 175, 49, 253, 177, 48, 253, 178, 47, 253, 180, 47, 253, 181, 46, 254, 183, 45, 254, 184, 44, 254, 186, 44, 254, 187, 43, 254, 189, 42, 254, 190, 42, 254, 192, 41, 253, 194, 41, 253, 195, 40, 253, 197, 39, 253, 198, 39, 253, 200, 39, 253, 202, 38, 253, 203, 38, 252, 205, 37, 252, 206, 37, 252, 208, 37, 252, 210, 37, 251, 211, 36, 251, 213, 36, 251, 215, 36, 250, 216, 36, 250, 218, 36, 249, 220, 36, 249, 221, 37, 248, 223, 37, 248, 225, 37, 247, 226, 37, 247, 228, 37, 246, 230, 38, 246, 232, 38, 245, 233, 38, 245, 235, 39, 244, 237, 39, 243, 238, 39, 243, 240, 39, 242, 242, 39, 241, 244, 38, 241, 245, 37, 240, 247, 36, 240, 249, 33], shape(plasma), order=[2, 1]) integer, public, dimension(0:255, 1:3) :: viridis = reshape([68, 1, 84, 68, 2, 86, 69, 4, 87, 69, 5, 89, 70, 7, 90, 70, 8, 92, 70, 10, 93, 70, 11, 94, 71, 13, 96, 71, 14, 97, 71, 16, 99, 71, 17, 100, 71, 19, 101, 72, 20, 103, 72, 22, 104, 72, 23, 105, 72, 24, 106, 72, 26, 108, 72, 27, 109, 72, 28, 110, 72, 29, 111, 72, 31, 112, 72, 32, 113, 72, 33, 115, 72, 35, 116, 72, 36, 117, 72, 37, 118, 72, 38, 119, 72, 40, 120, 72, 41, 121, 71, 42, 122, 71, 44, 122, 71, 45, 123, 71, 46, 124, 71, 47, 125, 70, 48, 126, 70, 50, 126, 70, 51, 127, 70, 52, 128, 69, 53, 129, 69, 55, 129, 69, 56, 130, 68, 57, 131, 68, 58, 131, 68, 59, 132, 67, 61, 132, 67, 62, 133, 66, 63, 133, 66, 64, 134, 66, 65, 134, 65, 66, 135, 65, 68, 135, 64, 69, 136, 64, 70, 136, 63, 71, 136, 63, 72, 137, 62, 73, 137, 62, 74, 137, 62, 76, 138, 61, 77, 138, 61, 78, 138, 60, 79, 138, 60, 80, 139, 59, 81, 139, 59, 82, 139, 58, 83, 139, 58, 84, 140, 57, 85, 140, 57, 86, 140, 56, 88, 140, 56, 89, 140, 55, 90, 140, 55, 91, 141, 54, 92, 141, 54, 93, 141, 53, 94, 141, 53, 95, 141, 52, 96, 141, 52, 97, 141, 51, 98, 141, 51, 99, 141, 50, 100, 142, 50, 101, 142, 49, 102, 142, 49, 103, 142, 49, 104, 142, 48, 105, 142, 48, 106, 142, 47, 107, 142, 47, 108, 142, 46, 109, 142, 46, 110, 142, 46, 111, 142, 45, 112, 142, 45, 113, 142, 44, 113, 142, 44, 114, 142, 44, 115, 142, 43, 116, 142, 43, 117, 142, 42, 118, 142, 42, 119, 142, 42, 120, 142, 41, 121, 142, 41, 122, 142, 41, 123, 142, 40, 124, 142, 40, 125, 142, 39, 126, 142, 39, 127, 142, 39, 128, 142, 38, 129, 142, 38, 130, 142, 38, 130, 142, 37, 131, 142, 37, 132, 142, 37, 133, 142, 36, 134, 142, 36, 135, 142, 35, 136, 142, 35, 137, 142, 35, 138, 141, 34, 139, 141, 34, 140, 141, 34, 141, 141, 33, 142, 141, 33, 143, 141, 33, 144, 141, 33, 145, 140, 32, 146, 140, 32, 146, 140, 32, 147, 140, 31, 148, 140, 31, 149, 139, 31, 150, 139, 31, 151, 139, 31, 152, 139, 31, 153, 138, 31, 154, 138, 30, 155, 138, 30, 156, 137, 30, 157, 137, 31, 158, 137, 31, 159, 136, 31, 160, 136, 31, 161, 136, 31, 161, 135, 31, 162, 135, 32, 163, 134, 32, 164, 134, 33, 165, 133, 33, 166, 133, 34, 167, 133, 34, 168, 132, 35, 169, 131, 36, 170, 131, 37, 171, 130, 37, 172, 130, 38, 173, 129, 39, 173, 129, 40, 174, 128, 41, 175, 127, 42, 176, 127, 44, 177, 126, 45, 178, 125, 46, 179, 124, 47, 180, 124, 49, 181, 123, 50, 182, 122, 52, 182, 121, 53, 183, 121, 55, 184, 120, 56, 185, 119, 58, 186, 118, 59, 187, 117, 61, 188, 116, 63, 188, 115, 64, 189, 114, 66, 190, 113, 68, 191, 112, 70, 192, 111, 72, 193, 110, 74, 193, 109, 76, 194, 108, 78, 195, 107, 80, 196, 106, 82, 197, 105, 84, 197, 104, 86, 198, 103, 88, 199, 101, 90, 200, 100, 92, 200, 99, 94, 201, 98, 96, 202, 96, 99, 203, 95, 101, 203, 94, 103, 204, 92, 105, 205, 91, 108, 205, 90, 110, 206, 88, 112, 207, 87, 115, 208, 86, 117, 208, 84, 119, 209, 83, 122, 209, 81, 124, 210, 80, 127, 211, 78, 129, 211, 77, 132, 212, 75, 134, 213, 73, 137, 213, 72, 139, 214, 70, 142, 214, 69, 144, 215, 67, 147, 215, 65, 149, 216, 64, 152, 216, 62, 155, 217, 60, 157, 217, 59, 160, 218, 57, 162, 218, 55, 165, 219, 54, 168, 219, 52, 170, 220, 50, 173, 220, 48, 176, 221, 47, 178, 221, 45, 181, 222, 43, 184, 222, 41, 186, 222, 40, 189, 223, 38, 192, 223, 37, 194, 223, 35, 197, 224, 33, 200, 224, 32, 202, 225, 31, 205, 225, 29, 208, 225, 28, 210, 226, 27, 213, 226, 26, 216, 226, 25, 218, 227, 25, 221, 227, 24, 223, 227, 24, 226, 228, 24, 229, 228, 25, 231, 228, 25, 234, 229, 26, 236, 229, 27, 239, 229, 28, 241, 229, 29, 244, 230, 30, 246, 230, 32, 248, 230, 33, 251, 231, 35, 253, 231, 37], shape(viridis), order=[2, 1])","tags":"","loc":"module/matplotlib_colormaps.html"},{"title":"modify – ForColormap","text":"Uses forcolormap program~~modify~~UsesGraph program~modify modify module~forcolormap forcolormap program~modify->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. This example shows how you can modify a colormap with methods like shift(),\nin concrete cases.\nIn the Scientific colour maps collection, all cyclic colormaps have their\nbright part in the middle. But we can shift the dark part towards the\ncenter.\nIn the Scientific colour maps collection, all categorical colormaps\nbegin with a dark colour, but a shift can be applied to begin with a\nbrighter colour.\nTwo levels towards left\nStarting from a diverging colormap, we can obtain what could be called\na diverging multi-sequential colormap. Calls program~~modify~~CallsGraph program~modify modify proc~get_levels~2 forcolormap::Colormap%get_levels program~modify->proc~get_levels~2 proc~set forcolormap::Colormap%set program~modify->proc~set proc~shift forcolormap::Colormap%shift program~modify->proc~shift proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~modify->proc~write_ppm_colorbar proc~check forcolormap::Colormap%check proc~set->proc~check proc~create forcolormap::Colormap%create proc~set->proc~create proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~reverse forcolormap::Colormap%reverse proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~create->proc~check proc~create->proc~reverse proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap Source Code program modify use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap !> In the Scientific colour maps collection, all cyclic colormaps have their !> bright part in the middle. But we can shift the dark part towards the !> center. call cmap % set ( \"bamO\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bamO\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bamO_shifted\" ) print * , \"See the bamO.ppm and bamO_shifted.ppm colorbars\" !> In the Scientific colour maps collection, all categorical colormaps !> begin with a dark colour, but a shift can be applied to begin with a !> brighter colour. call cmap % set ( \"actonS\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"actonS\" ) call cmap % shift ( + 2 ) !! Two levels towards left call cmap % colorbar ( \"actonS_shifted\" ) print * , \"See the actonS.ppm and actonS_shifted.ppm colorbars\" !> Starting from a diverging colormap, we can obtain what could be called !> a diverging multi-sequential colormap. call cmap % set ( \"bam\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bam\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bam_shifted\" ) print * , \"See the bam.ppm and bam_shifted.ppm colorbars\" end program modify","tags":"","loc":"program/modify.html"},{"title":"create – ForColormap","text":"Uses forcolormap program~~create~~UsesGraph program~create create module~forcolormap forcolormap program~create->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. This example demonstrates creating a custom colormap using methods like\ncreate_lagrange() and create_bezier(). Calls program~~create~~CallsGraph program~create create proc~create_bezier forcolormap::Colormap%create_bezier program~create->proc~create_bezier proc~create_lagrange forcolormap::Colormap%create_lagrange program~create->proc~create_lagrange proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~create->proc~write_ppm_colorbar proc~bezier forcolormap::bezier proc~create_bezier->proc~bezier proc~check forcolormap::Colormap%check proc~create_bezier->proc~check proc~reverse forcolormap::Colormap%reverse proc~create_bezier->proc~reverse proc~create_lagrange->proc~check proc~lagrange forcolormap::lagrange proc~create_lagrange->proc~lagrange proc~create_lagrange->proc~reverse export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~factorial forcolormap::factorial proc~bezier->proc~factorial proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~lagrange_poly forcolormap::lagrange_poly proc~lagrange->proc~lagrange_poly proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial integer :: colors (3,3) type( Colormap ) :: custom_cmap Source Code program create use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: custom_cmap integer :: colors ( 3 , 3 ) ! Define control colors for the colormap. colors ( 1 ,:) = [ 255 , 0 , 0 ] ! Red colors ( 2 ,:) = [ 0 , 255 , 0 ] ! Green colors ( 3 ,:) = [ 0 , 0 , 255 ] ! Blue ! Create a custom colormap using Lagrange interpolation. call custom_cmap % create_lagrange ( 'custom_lagrange' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_lagrange' ) print * , \"See the custom_colorbar_lagrange.ppm colorbar\" ! Create a custom colormap using Bezier interpolation. call custom_cmap % create_bezier ( 'custom_bezier' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_bezier' ) print * , \"See the custom_colorbar_bezier.ppm colorbar\" end program create","tags":"","loc":"program/create.html"},{"title":"example1 – ForColormap","text":"Uses forcolormap forimage forcolormap_utils program~~example1~~UsesGraph program~example1 example1 forcolormap_utils forcolormap_utils program~example1->forcolormap_utils forimage forimage program~example1->forimage module~forcolormap forcolormap program~example1->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. This example demonstrates how ForImage can be used to import/export PPM files. Calls program~~example1~~CallsGraph program~example1 example1 export_pnm export_pnm program~example1->export_pnm finalize finalize program~example1->finalize import_pnm import_pnm program~example1->import_pnm proc~load forcolormap::Colormap%load program~example1->proc~load proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~example1->proc~write_ppm_colorbar test_colormap test_colormap program~example1->test_colormap proc~check forcolormap::Colormap%check proc~load->proc~check proc~reverse forcolormap::Colormap%reverse proc~load->proc~reverse proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: custom_cmap type(format_pnm) :: ex1_colorbar type(format_pnm) :: ex1_colormap Source Code program example1 use forcolormap use forcolormap_utils , only : test_colormap use forimage implicit none type ( Colormap ) :: custom_cmap type ( format_pnm ) :: ex1_colormap , ex1_colorbar ! Create ppm files call custom_cmap % load ( 'test_map_to_load.txt' , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colormap_ascii_test' , encoding = 'ascii' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_ascii_colorbar' , encoding = 'ascii' ) call custom_cmap % print () ! Import ascii ppm files call ex1_colormap % import_pnm ( 'a_loaded_colormap_ascii_test' , 'ppm' , 'ascii' ) call ex1_colorbar % import_pnm ( 'a_loaded_colormap_ascii_colorbar' , 'ppm' , 'ascii' ) ! Change colormap and colorbar colors ex1_colormap % pixels = ex1_colormap % pixels * ( 1.6 ) ex1_colorbar % pixels = ex1_colorbar % pixels * ( 1.6 ) ! Export binary ppm files call ex1_colormap % export_pnm ( 'a_loaded_colormap_binary_test_m' , 'binary' ) call ex1_colorbar % export_pnm ( 'a_loaded_colormap_binary_colorbar_m' , 'binary' ) ! Deallocate call ex1_colormap % finalize () call ex1_colorbar % finalize () end program example1","tags":"","loc":"program/example1.html"},{"title":"demo – ForColormap","text":"Uses forcolormap forcolormap_utils program~~demo~~UsesGraph program~demo demo forcolormap_utils forcolormap_utils program~demo->forcolormap_utils module~forcolormap forcolormap program~demo->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. We create PPM files (binary encoded by default) for each built-in colormap.\nThe built-in z=f(x,y) test function is in the [0, 2] range: Calls program~~demo~~CallsGraph program~demo demo proc~create forcolormap::Colormap%create program~demo->proc~create proc~get_levels~2 forcolormap::Colormap%get_levels program~demo->proc~get_levels~2 proc~get_name~2 forcolormap::Colormap%get_name program~demo->proc~get_name~2 proc~load forcolormap::Colormap%load program~demo->proc~load proc~set forcolormap::Colormap%set program~demo->proc~set proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~demo->proc~write_ppm_colorbar test_colormap test_colormap program~demo->test_colormap proc~check forcolormap::Colormap%check proc~create->proc~check proc~reverse forcolormap::Colormap%reverse proc~create->proc~reverse proc~load->proc~check proc~load->proc~reverse proc~set->proc~create proc~set->proc~check proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap integer, allocatable :: colors (:,:) type( Colormap ) :: custom_cmap integer :: i integer, dimension(0:7, 3) :: my_colormap = reshape([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255], shape(my_colormap), order=[2, 1]) Source Code program demo use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap integer , allocatable :: colors (:,:) ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp ) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ]) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap ) call custom_cmap % colorbar ( 'discrete_colorbar' ) call test_colormap ( custom_cmap , 'discrete_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_test' ) call custom_cmap % print () end program demo","tags":"","loc":"program/demo.html"},{"title":"write_info – ForColormap","text":"Uses forcolormap_info program~~write_info~~UsesGraph program~write_info write_info module~forcolormap_info forcolormap_info program~write_info->module~forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Print all colormap information using default verbosity (level 1) Filter and write colormap information\nAvailable filters: name, family, gradient, palette, author, license, levels Write colormap information to a file Calls program~~write_info~~CallsGraph program~write_info write_info proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info program~write_info->proc~deallocate_colormaps_info proc~set_all forcolormap_info::Colormaps_info%set_all program~write_info->proc~set_all proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info->proc~deallocate_table proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormaps_info ) :: info Source Code program write_info use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Print all colormap information using default verbosity (level 1) ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name call info % write () !! Filter and write colormap information !! Available filters: name, family, gradient, palette, author, license, levels ! Filter by gradient using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by gradient and palette using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by family and palette using verbosity level 2 call info % write ( family = 'vik' , gradient = 'Diverging' , palette = 'Continuous' , verbose = 2 ) !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program write_info","tags":"","loc":"program/write_info.html"},{"title":"demo_reverse – ForColormap","text":"Uses forcolormap forcolormap_utils program~~demo_reverse~~UsesGraph program~demo_reverse demo_reverse forcolormap_utils forcolormap_utils program~demo_reverse->forcolormap_utils module~forcolormap forcolormap program~demo_reverse->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. We create PPM files (binary encoded by default) for each built-in colormap.\nThe built-in z=f(x,y) test function is in the [0, 2] range: Calls program~~demo_reverse~~CallsGraph program~demo_reverse demo_reverse proc~create forcolormap::Colormap%create program~demo_reverse->proc~create proc~get_levels~2 forcolormap::Colormap%get_levels program~demo_reverse->proc~get_levels~2 proc~get_name~2 forcolormap::Colormap%get_name program~demo_reverse->proc~get_name~2 proc~load forcolormap::Colormap%load program~demo_reverse->proc~load proc~set forcolormap::Colormap%set program~demo_reverse->proc~set proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~demo_reverse->proc~write_ppm_colorbar test_colormap test_colormap program~demo_reverse->test_colormap proc~check forcolormap::Colormap%check proc~create->proc~check proc~reverse forcolormap::Colormap%reverse proc~create->proc~reverse proc~load->proc~check proc~load->proc~reverse proc~set->proc~create proc~set->proc~check proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap type( Colormap ) :: custom_cmap integer :: i integer, dimension(0:7, 3) :: my_colormap = reshape([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255], shape(my_colormap), order=[2, 1]) Source Code program demo_reverse use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp , reverse = . true .) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_reverse_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_reverse_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ], reverse = . true .) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_reverse_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_reverse_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap , reverse = . true .) call custom_cmap % colorbar ( 'discrete_reverse_colorbar' ) call test_colormap ( custom_cmap , 'discrete_reverse_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp , reverse = . true .) call custom_cmap % colorbar ( 'a_loaded_reverse_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_reverse_colormap_test' ) call custom_cmap % print () end program demo_reverse","tags":"","loc":"program/demo_reverse.html"},{"title":"extract – ForColormap","text":"Uses forcolormap program~~extract~~UsesGraph program~extract extract module~forcolormap forcolormap program~extract->module~forcolormap module~colormap_parameters colormap_parameters module~forcolormap->module~colormap_parameters module~matplotlib_colormaps matplotlib_colormaps module~forcolormap->module~matplotlib_colormaps module~miscellaneous_colormaps miscellaneous_colormaps module~forcolormap->module~miscellaneous_colormaps module~scientific_colour_maps scientific_colour_maps module~forcolormap->module~scientific_colour_maps iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env module~matplotlib_colormaps->module~colormap_parameters module~miscellaneous_colormaps->module~colormap_parameters module~scientific_colour_maps->module~colormap_parameters Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Calls program~~extract~~CallsGraph program~extract extract proc~extract forcolormap::Colormap%extract program~extract->proc~extract proc~set forcolormap::Colormap%set program~extract->proc~set proc~write_ppm_colorbar forcolormap::Colormap%write_ppm_colorbar program~extract->proc~write_ppm_colorbar proc~create forcolormap::Colormap%create proc~extract->proc~create proc~reverse forcolormap::Colormap%reverse proc~extract->proc~reverse proc~scale_real_int forcolormap::scale_real_int proc~extract->proc~scale_real_int proc~check forcolormap::Colormap%check proc~set->proc~check proc~set->proc~create proc~cubehelix_colormap miscellaneous_colormaps::cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap miscellaneous_colormaps::fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap miscellaneous_colormaps::inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap miscellaneous_colormaps::rainbow_colormap proc~set->proc~rainbow_colormap proc~set->proc~reverse proc~zebra_colormap miscellaneous_colormaps::zebra_colormap proc~set->proc~zebra_colormap export_pnm export_pnm proc~write_ppm_colorbar->export_pnm get_format get_format proc~write_ppm_colorbar->get_format proc~compute_rgb forcolormap::Colormap%compute_RGB proc~write_ppm_colorbar->proc~compute_rgb proc~get_zmax forcolormap::Colormap%get_zmax proc~write_ppm_colorbar->proc~get_zmax proc~get_zmin forcolormap::Colormap%get_zmin proc~write_ppm_colorbar->proc~get_zmin set_format set_format proc~write_ppm_colorbar->set_format set_pnm set_pnm proc~write_ppm_colorbar->set_pnm proc~get_levels forcolormap_info::Colormaps_info%get_levels proc~check->proc~get_levels proc~get_name forcolormap_info::Colormaps_info%get_name proc~check->proc~get_name proc~get_ncolormaps forcolormap_info::Colormaps_info%get_ncolormaps proc~check->proc~get_ncolormaps proc~set_all forcolormap_info::Colormaps_info%set_all proc~check->proc~set_all proc~get_rgb forcolormap::Colormap%get_RGB proc~compute_rgb->proc~get_rgb proc~create->proc~check proc~create->proc~reverse proc~scale_real_real forcolormap::scale_real_real proc~scale_real_int->proc~scale_real_real proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormap ) :: cmap Source Code program extract use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap ! Initialize the colormap call cmap % set ( 'fes' , 0.0_wp , 2.0_wp ) ! Extract 10 colors from the colormap (extractedLevels=10) ! Optional arguments: 'name', 'zmin', 'zmax', and 'reverse' can be provided ! The extracted colormap will overwrite the existing colormap type (cmap) call cmap % extract ( 10 ) ! Generate a color bar for the extracted colormap call cmap % colorbar ( 'fes10_ex_colorbar' ) end program extract","tags":"","loc":"program/extract.html"},{"title":"colormaps_list – ForColormap","text":"Uses forcolormap_info program~~colormaps_list~~UsesGraph program~colormaps_list colormaps_list module~forcolormap_info forcolormap_info program~colormaps_list->module~forcolormap_info module~colormap_parameters colormap_parameters module~forcolormap_info->module~colormap_parameters iso_fortran_env iso_fortran_env module~colormap_parameters->iso_fortran_env Help Graph Key Nodes of different colours represent the following: Graph Key Module Module Submodule Submodule Subroutine Subroutine Function Function Program Program This Page's Entity This Page's Entity Solid arrows point from a submodule to the (sub)module which it is\ndescended from. Dashed arrows point from a module or program unit to \nmodules which it uses. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Write colormap information to a file Calls program~~colormaps_list~~CallsGraph program~colormaps_list colormaps_list proc~deallocate_colormaps_info forcolormap_info::Colormaps_info%deallocate_Colormaps_info program~colormaps_list->proc~deallocate_colormaps_info proc~set_all forcolormap_info::Colormaps_info%set_all program~colormaps_list->proc~set_all proc~deallocate_table forcolormap_info::table%deallocate_table proc~deallocate_colormaps_info->proc~deallocate_table proc~set_info forcolormap_info::table%set_info proc~set_all->proc~set_info Help Graph Key Nodes of different colours represent the following: Graph Key Subroutine Subroutine Function Function Interface Interface Type Bound Procedure Type Bound Procedure Unknown Procedure Type Unknown Procedure Type Program Program This Page's Entity This Page's Entity Solid arrows point from a procedure to one which it calls. Dashed \narrows point from an interface to procedures which implement that interface.\nThis could include the module procedures in a generic interface or the\nimplementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Variables Type Attributes Name Initial type( Colormaps_info ) :: info Source Code program colormaps_list use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_SEQ.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_MSQ.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'colormaps_list/COLORMAPS_LIST_DIV.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'colormaps_list/COLORMAPS_LIST_CAT.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'colormaps_list/COLORMAPS_LIST_CYC.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program colormaps_list","tags":"","loc":"program/colormaps_list.html"},{"title":"modify.f90 – ForColormap","text":"This file depends on sourcefile~~modify.f90~~EfferentGraph sourcefile~modify.f90 modify.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2024 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2024-02-14 ! Last modification: vmagnin 2024-02-15 !------------------------------------------------------------------------------- !> This example shows how you can modify a colormap with methods like shift(), !> in concrete cases. program modify use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap !> In the Scientific colour maps collection, all cyclic colormaps have their !> bright part in the middle. But we can shift the dark part towards the !> center. call cmap % set ( \"bamO\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bamO\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bamO_shifted\" ) print * , \"See the bamO.ppm and bamO_shifted.ppm colorbars\" !> In the Scientific colour maps collection, all categorical colormaps !> begin with a dark colour, but a shift can be applied to begin with a !> brighter colour. call cmap % set ( \"actonS\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"actonS\" ) call cmap % shift ( + 2 ) !! Two levels towards left call cmap % colorbar ( \"actonS_shifted\" ) print * , \"See the actonS.ppm and actonS_shifted.ppm colorbars\" !> Starting from a diverging colormap, we can obtain what could be called !> a diverging multi-sequential colormap. call cmap % set ( \"bam\" , 0.0_wp , 2.0_wp ) call cmap % colorbar ( \"bam\" ) call cmap % shift ( cmap % get_levels () / 2 ) call cmap % colorbar ( \"bam_shifted\" ) print * , \"See the bam.ppm and bam_shifted.ppm colorbars\" end program modify","tags":"","loc":"sourcefile/modify.f90.html"},{"title":"scientific_colour_maps.f90 – ForColormap","text":"This file depends on sourcefile~~scientific_colour_maps.f90~~EfferentGraph sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~scientific_colour_maps.f90~~AfferentGraph sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023, Fabio Crameri for the Scientific coulour maps 8.0.1 ! and Vincent Magnin for the Fortran translation ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- module scientific_colour_maps use colormap_parameters , only : colormap_name_length implicit none private character ( * ), dimension ( * ), parameter , public :: scientific_colour_maps_list = & [ character ( colormap_name_length ) :: & \"acton\" , \"acton10\" , \"acton100\" , \"acton25\" , \"acton50\" , \"actonS\" , & \"bam\" , \"bam10\" , \"bam100\" , \"bam25\" , \"bam50\" , \"bamako\" , & \"bamako10\" , \"bamako100\" , \"bamako25\" , \"bamako50\" , \"bamakoS\" , \"bamO\" , & \"bamO10\" , \"bamO100\" , \"bamO25\" , \"bamO50\" , \"batlow\" , \"batlow10\" , & \"batlow100\" , \"batlow25\" , \"batlow50\" , \"batlowK\" , \"batlowK10\" , \"batlowK100\" , & \"batlowK25\" , \"batlowK50\" , \"batlowKS\" , \"batlowS\" , \"batlowW\" , \"batlowW10\" , & \"batlowW100\" , \"batlowW25\" , \"batlowW50\" , \"batlowWS\" , \"berlin\" , \"berlin10\" , & \"berlin100\" , \"berlin25\" , \"berlin50\" , \"bilbao\" , \"bilbao10\" , \"bilbao100\" , & \"bilbao25\" , \"bilbao50\" , \"bilbaoS\" , \"broc\" , \"broc10\" , \"broc100\" , & \"broc25\" , \"broc50\" , \"brocO\" , \"brocO10\" , \"brocO100\" , \"brocO25\" , & \"brocO50\" , \"buda\" , \"buda10\" , \"buda100\" , \"buda25\" , \"buda50\" , & \"budaS\" , \"bukavu\" , \"bukavu10\" , \"bukavu100\" , \"bukavu25\" , \"bukavu50\" , & \"cork\" , \"cork10\" , \"cork100\" , \"cork25\" , \"cork50\" , \"corkO\" , & \"corkO10\" , \"corkO100\" , \"corkO25\" , \"corkO50\" , \"davos\" , \"davos10\" , & \"davos100\" , \"davos25\" , \"davos50\" , \"davosS\" , \"devon\" , \"devon10\" , & \"devon100\" , \"devon25\" , \"devon50\" , \"devonS\" , \"fes\" , \"fes10\" , & \"fes100\" , \"fes25\" , \"fes50\" , \"glasgow\" , \"glasgow10\" , \"glasgow100\" , & \"glasgow25\" , \"glasgow50\" , \"glasgowS\" , \"grayC\" , \"grayC10\" , \"grayC100\" , & \"grayC25\" , \"grayC50\" , \"grayCS\" , \"hawaii\" , \"hawaii10\" , \"hawaii100\" , & \"hawaii25\" , \"hawaii50\" , \"hawaiiS\" , \"imola\" , \"imola10\" , \"imola100\" , & \"imola25\" , \"imola50\" , \"imolaS\" , \"lajolla\" , \"lajolla10\" , \"lajolla100\" , & \"lajolla25\" , \"lajolla50\" , \"lajollaS\" , \"lapaz\" , \"lapaz10\" , \"lapaz100\" , & \"lapaz25\" , \"lapaz50\" , \"lapazS\" , \"lipari\" , \"lipari10\" , \"lipari100\" , & \"lipari25\" , \"lipari50\" , \"lipariS\" , \"lisbon\" , \"lisbon10\" , \"lisbon100\" , & \"lisbon25\" , \"lisbon50\" , \"managua\" , \"managua10\" , \"managua100\" , \"managua25\" , & \"managua50\" , \"navia\" , \"navia10\" , \"navia100\" , \"navia25\" , \"navia50\" , & \"naviaS\" , \"naviaW\" , \"naviaW10\" , \"naviaW100\" , \"naviaW25\" , \"naviaW50\" , & \"naviaWS\" , \"nuuk\" , \"nuuk10\" , \"nuuk100\" , \"nuuk25\" , \"nuuk50\" , & \"nuukS\" , \"oleron\" , \"oleron10\" , \"oleron100\" , \"oleron25\" , \"oleron50\" , & \"oslo\" , \"oslo10\" , \"oslo100\" , \"oslo25\" , \"oslo50\" , \"osloS\" , & \"roma\" , \"roma10\" , \"roma100\" , \"roma25\" , \"roma50\" , \"romaO\" , & \"romaO10\" , \"romaO100\" , \"romaO25\" , \"romaO50\" , \"tofino\" , \"tofino10\" , & \"tofino100\" , \"tofino25\" , \"tofino50\" , \"tokyo\" , \"tokyo10\" , \"tokyo100\" , & \"tokyo25\" , \"tokyo50\" , \"tokyoS\" , \"turku\" , \"turku10\" , \"turku100\" , & \"turku25\" , \"turku50\" , \"turkuS\" , \"vanimo\" , \"vanimo10\" , \"vanimo100\" , & \"vanimo25\" , \"vanimo50\" , \"vik\" , \"vik10\" , \"vik100\" , \"vik25\" , & \"vik50\" , \"vikO\" , \"vikO10\" , \"vikO100\" , \"vikO25\" , \"vikO50\" ] integer , dimension ( 0 : 255 , 1 : 3 ), public :: acton = reshape ( [ & 38 , 13 , 64 , 39 , 14 , 65 , 40 , 15 , 66 , 41 , 17 , 67 , & 42 , 18 , 68 , 43 , 19 , 69 , 43 , 20 , 70 , 44 , 22 , 72 , & 45 , 23 , 73 , 46 , 24 , 74 , 47 , 25 , 75 , 48 , 27 , 76 , & 49 , 28 , 77 , 50 , 29 , 78 , 50 , 30 , 79 , 51 , 31 , 80 , & 52 , 33 , 82 , 53 , 34 , 83 , 54 , 35 , 84 , 54 , 36 , 85 , & 55 , 37 , 86 , 56 , 38 , 87 , 57 , 39 , 88 , 58 , 41 , 89 , & 59 , 42 , 90 , 59 , 43 , 91 , 60 , 44 , 92 , 61 , 45 , 93 , & 62 , 46 , 94 , 62 , 47 , 95 , 63 , 49 , 96 , 64 , 50 , 97 , & 65 , 51 , 98 , 66 , 52 , 99 , 66 , 53 , 100 , 67 , 54 , 101 , & 68 , 55 , 102 , 69 , 56 , 103 , 69 , 57 , 104 , 70 , 58 , 105 , & 71 , 60 , 106 , 72 , 61 , 107 , 72 , 62 , 108 , 73 , 63 , 109 , & 74 , 64 , 110 , 75 , 65 , 111 , 75 , 66 , 112 , 76 , 67 , 113 , & 77 , 68 , 114 , 78 , 69 , 115 , 78 , 70 , 116 , 79 , 71 , 117 , & 80 , 72 , 118 , 81 , 73 , 119 , 81 , 74 , 120 , 82 , 75 , 121 , & 83 , 76 , 122 , 84 , 77 , 123 , 84 , 78 , 123 , 85 , 79 , 124 , & 86 , 80 , 125 , 87 , 81 , 126 , 87 , 82 , 127 , 88 , 83 , 128 , & 89 , 84 , 129 , 90 , 85 , 130 , 91 , 86 , 131 , 92 , 87 , 131 , & 93 , 88 , 132 , 94 , 89 , 133 , 95 , 90 , 134 , 96 , 91 , 134 , & 97 , 91 , 135 , 98 , 92 , 136 , 99 , 93 , 136 , 101 , 93 , 137 , & 102 , 94 , 138 , 103 , 95 , 138 , 104 , 95 , 138 , 105 , 96 , 139 , & 107 , 96 , 139 , 108 , 96 , 140 , 109 , 97 , 140 , 110 , 97 , 140 , & 111 , 97 , 140 , 113 , 97 , 140 , 114 , 98 , 141 , 115 , 98 , 141 , & 116 , 98 , 141 , 117 , 98 , 141 , 119 , 98 , 141 , 120 , 98 , 141 , & 121 , 99 , 141 , 122 , 99 , 141 , 123 , 99 , 141 , 125 , 99 , 142 , & 126 , 99 , 142 , 127 , 99 , 142 , 128 , 99 , 142 , 129 , 99 , 142 , & 131 , 99 , 142 , 132 , 99 , 142 , 133 , 100 , 142 , 134 , 100 , 142 , & 136 , 100 , 142 , 137 , 100 , 142 , 138 , 100 , 142 , 139 , 100 , 142 , & 141 , 100 , 142 , 142 , 100 , 142 , 143 , 100 , 142 , 145 , 100 , 143 , & 146 , 100 , 143 , 147 , 101 , 143 , 149 , 101 , 143 , 150 , 101 , 143 , & 151 , 101 , 143 , 153 , 101 , 143 , 154 , 101 , 143 , 155 , 101 , 143 , & 157 , 101 , 143 , 158 , 101 , 143 , 160 , 101 , 143 , 161 , 102 , 143 , & 162 , 102 , 143 , 164 , 102 , 143 , 165 , 102 , 144 , 167 , 102 , 144 , & 168 , 102 , 144 , 170 , 102 , 144 , 171 , 102 , 144 , 172 , 103 , 144 , & 174 , 103 , 144 , 175 , 103 , 144 , 177 , 103 , 144 , 178 , 103 , 144 , & 180 , 103 , 145 , 181 , 104 , 145 , 183 , 104 , 145 , 184 , 104 , 145 , & 186 , 104 , 145 , 187 , 105 , 146 , 189 , 105 , 146 , 190 , 106 , 146 , & 191 , 106 , 147 , 193 , 107 , 147 , 194 , 107 , 148 , 195 , 108 , 148 , & 197 , 109 , 149 , 198 , 109 , 150 , 199 , 110 , 150 , 200 , 111 , 151 , & 201 , 112 , 152 , 202 , 113 , 153 , 203 , 114 , 153 , 204 , 115 , 154 , & 205 , 116 , 155 , 206 , 117 , 156 , 206 , 119 , 157 , 207 , 120 , 158 , & 208 , 121 , 159 , 208 , 122 , 160 , 209 , 124 , 161 , 210 , 125 , 163 , & 210 , 126 , 164 , 211 , 127 , 165 , 211 , 129 , 166 , 211 , 130 , 167 , & 212 , 131 , 168 , 212 , 133 , 169 , 213 , 134 , 170 , 213 , 135 , 171 , & 214 , 136 , 172 , 214 , 138 , 173 , 214 , 139 , 175 , 215 , 140 , 176 , & 215 , 142 , 177 , 216 , 143 , 178 , 216 , 144 , 179 , 216 , 146 , 180 , & 217 , 147 , 181 , 217 , 148 , 182 , 217 , 149 , 184 , 218 , 151 , 185 , & 218 , 152 , 186 , 219 , 153 , 187 , 219 , 155 , 188 , 219 , 156 , 189 , & 220 , 157 , 190 , 220 , 159 , 191 , 221 , 160 , 192 , 221 , 161 , 194 , & 221 , 163 , 195 , 222 , 164 , 196 , 222 , 165 , 197 , 222 , 167 , 198 , & 223 , 168 , 199 , 223 , 169 , 200 , 223 , 171 , 201 , 224 , 172 , 202 , & 224 , 173 , 203 , 225 , 174 , 204 , 225 , 176 , 205 , 225 , 177 , 206 , & 226 , 178 , 207 , 226 , 180 , 208 , 226 , 181 , 209 , 227 , 182 , 210 , & 227 , 183 , 211 , 227 , 185 , 212 , 228 , 186 , 213 , 228 , 187 , 214 , & 228 , 188 , 215 , 229 , 190 , 216 , 229 , 191 , 217 , 229 , 192 , 218 , & 229 , 193 , 219 , 230 , 194 , 220 , 230 , 196 , 221 , 230 , 197 , 222 , & 231 , 198 , 222 , 231 , 199 , 223 , 231 , 200 , 224 , 232 , 202 , 225 , & 232 , 203 , 226 , 232 , 204 , 227 , 232 , 205 , 228 , 233 , 206 , 228 , & 233 , 207 , 229 , 233 , 208 , 230 , 233 , 209 , 231 , 234 , 211 , 232 , & 234 , 212 , 233 , 234 , 213 , 233 , 235 , 214 , 234 , 235 , 215 , 235 , & 235 , 216 , 236 , 235 , 217 , 237 , 236 , 218 , 237 , 236 , 219 , 238 , & 236 , 220 , 239 , 236 , 221 , 240 , 237 , 222 , 240 , 237 , 223 , 241 , & 237 , 224 , 242 , 237 , 225 , 243 , 238 , 226 , 243 , 238 , 227 , 244 , & 238 , 228 , 245 , 238 , 229 , 246 , 239 , 230 , 246 , 239 , 231 , 247 , & 239 , 232 , 248 , 239 , 233 , 248 , 239 , 233 , 249 , 240 , 234 , 250 & ], shape ( acton ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: acton10 = reshape ( [ & 38 , 13 , 64 , 62 , 46 , 94 , 84 , 77 , 123 , 113 , 97 , 140 , & 147 , 101 , 143 , 189 , 105 , 146 , 213 , 134 , 170 , 223 , 171 , 201 , & 233 , 206 , 228 , 240 , 234 , 250 & ], shape ( acton10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: acton100 = reshape ( [ & 38 , 13 , 64 , 41 , 17 , 67 , 43 , 19 , 69 , 45 , 23 , 73 , & 47 , 25 , 75 , 50 , 29 , 78 , 51 , 31 , 80 , 54 , 35 , 84 , & 56 , 38 , 87 , 58 , 41 , 89 , 60 , 44 , 92 , 62 , 46 , 94 , & 64 , 50 , 97 , 66 , 52 , 99 , 68 , 55 , 102 , 70 , 58 , 105 , & 72 , 61 , 107 , 74 , 64 , 110 , 75 , 66 , 112 , 78 , 69 , 115 , & 80 , 72 , 118 , 81 , 74 , 120 , 84 , 77 , 123 , 85 , 79 , 124 , & 87 , 82 , 127 , 89 , 84 , 129 , 92 , 87 , 131 , 95 , 90 , 134 , & 97 , 91 , 135 , 101 , 93 , 137 , 103 , 95 , 138 , 107 , 96 , 139 , & 109 , 97 , 140 , 113 , 97 , 140 , 116 , 98 , 141 , 119 , 98 , 141 , & 122 , 99 , 141 , 125 , 99 , 142 , 128 , 99 , 142 , 131 , 99 , 142 , & 134 , 100 , 142 , 138 , 100 , 142 , 141 , 100 , 142 , 145 , 100 , 143 , & 147 , 101 , 143 , 151 , 101 , 143 , 154 , 101 , 143 , 158 , 101 , 143 , & 162 , 102 , 143 , 165 , 102 , 144 , 170 , 102 , 144 , 172 , 103 , 144 , & 177 , 103 , 144 , 181 , 104 , 145 , 184 , 104 , 145 , 189 , 105 , 146 , & 191 , 106 , 147 , 195 , 108 , 148 , 198 , 109 , 150 , 201 , 112 , 152 , & 204 , 115 , 154 , 206 , 117 , 156 , 208 , 121 , 159 , 209 , 124 , 161 , & 211 , 127 , 165 , 211 , 130 , 167 , 213 , 134 , 170 , 214 , 138 , 173 , & 215 , 140 , 176 , 216 , 144 , 179 , 217 , 147 , 181 , 218 , 151 , 185 , & 219 , 153 , 187 , 220 , 157 , 190 , 221 , 161 , 194 , 222 , 164 , 196 , & 223 , 168 , 199 , 223 , 171 , 201 , 225 , 174 , 204 , 225 , 177 , 206 , & 226 , 181 , 209 , 227 , 185 , 212 , 228 , 187 , 214 , 229 , 191 , 217 , & 229 , 193 , 219 , 230 , 197 , 222 , 231 , 200 , 224 , 232 , 203 , 226 , & 233 , 206 , 228 , 233 , 208 , 230 , 234 , 212 , 233 , 235 , 214 , 234 , & 235 , 217 , 237 , 236 , 220 , 239 , 237 , 222 , 240 , 237 , 225 , 243 , & 238 , 227 , 244 , 239 , 230 , 246 , 239 , 232 , 248 , 240 , 234 , 250 & ], shape ( acton100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: acton25 = reshape ( [ & 38 , 13 , 64 , 48 , 27 , 76 , 56 , 38 , 87 , 65 , 51 , 98 , & 73 , 63 , 109 , 81 , 73 , 119 , 89 , 84 , 129 , 99 , 93 , 136 , & 113 , 97 , 140 , 126 , 99 , 142 , 138 , 100 , 142 , 153 , 101 , 143 , & 168 , 102 , 144 , 183 , 104 , 145 , 198 , 109 , 150 , 207 , 120 , 158 , & 213 , 134 , 170 , 217 , 148 , 182 , 221 , 161 , 194 , 225 , 176 , 205 , & 229 , 190 , 216 , 232 , 202 , 225 , 235 , 214 , 234 , 237 , 224 , 242 , & 240 , 234 , 250 & ], shape ( acton25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: acton50 = reshape ( [ & 38 , 13 , 64 , 43 , 19 , 69 , 47 , 25 , 75 , 52 , 33 , 82 , & 56 , 38 , 87 , 60 , 44 , 92 , 64 , 50 , 97 , 68 , 55 , 102 , & 72 , 62 , 108 , 76 , 67 , 113 , 80 , 72 , 118 , 84 , 77 , 123 , & 87 , 82 , 127 , 93 , 88 , 132 , 98 , 92 , 136 , 104 , 95 , 138 , & 110 , 97 , 140 , 116 , 98 , 141 , 123 , 99 , 141 , 129 , 99 , 142 , & 136 , 100 , 142 , 142 , 100 , 142 , 149 , 101 , 143 , 157 , 101 , 143 , & 164 , 102 , 143 , 171 , 102 , 144 , 178 , 103 , 144 , 187 , 105 , 146 , & 194 , 107 , 148 , 200 , 111 , 151 , 205 , 116 , 155 , 208 , 122 , 160 , & 211 , 130 , 167 , 214 , 136 , 172 , 216 , 143 , 178 , 217 , 149 , 184 , & 219 , 156 , 189 , 222 , 164 , 196 , 223 , 171 , 201 , 225 , 177 , 206 , & 227 , 183 , 211 , 229 , 190 , 216 , 230 , 197 , 222 , 232 , 203 , 226 , & 233 , 208 , 230 , 235 , 214 , 234 , 236 , 219 , 238 , 237 , 225 , 243 , & 239 , 230 , 246 , 240 , 234 , 250 & ], shape ( acton50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: actonS = reshape ( [ & 38 , 13 , 64 , 240 , 234 , 250 , 168 , 102 , 144 , 89 , 84 , 129 , & 221 , 163 , 195 , 65 , 51 , 98 , 208 , 121 , 159 , 126 , 99 , 142 , & 232 , 203 , 226 , 146 , 100 , 143 , 52 , 33 , 82 , 215 , 142 , 177 , & 227 , 183 , 211 , 191 , 106 , 147 , 77 , 68 , 114 , 107 , 96 , 139 , & 236 , 220 , 239 , 224 , 173 , 203 , 157 , 101 , 143 , 180 , 103 , 145 , & 97 , 91 , 135 , 201 , 112 , 152 , 45 , 23 , 73 , 218 , 152 , 186 , & 229 , 193 , 219 , 212 , 131 , 168 , 59 , 42 , 90 , 234 , 212 , 233 , & 71 , 60 , 106 , 116 , 98 , 141 , 83 , 76 , 122 , 136 , 100 , 142 , & 238 , 228 , 245 , 74 , 64 , 110 , 86 , 80 , 125 , 217 , 147 , 181 , & 223 , 168 , 199 , 186 , 104 , 145 , 231 , 198 , 222 , 141 , 100 , 142 , & 237 , 224 , 242 , 80 , 72 , 118 , 210 , 126 , 164 , 174 , 103 , 144 , & 93 , 88 , 132 , 102 , 94 , 138 , 214 , 136 , 172 , 226 , 178 , 207 , & 49 , 28 , 77 , 121 , 99 , 141 , 228 , 188 , 215 , 235 , 216 , 236 , & 233 , 207 , 229 , 111 , 97 , 140 , 131 , 99 , 142 , 68 , 55 , 102 , & 151 , 101 , 143 , 205 , 116 , 155 , 197 , 109 , 149 , 220 , 157 , 190 , & 42 , 18 , 68 , 162 , 102 , 143 , 55 , 37 , 86 , 62 , 46 , 94 , & 239 , 231 , 247 , 154 , 101 , 143 , 114 , 98 , 141 , 54 , 35 , 84 , & 177 , 103 , 144 , 95 , 90 , 134 , 199 , 110 , 150 , 43 , 20 , 70 , & 211 , 129 , 166 , 143 , 100 , 142 , 214 , 139 , 175 , 104 , 95 , 138 , & 99 , 93 , 136 , 149 , 101 , 143 , 203 , 114 , 153 , 66 , 53 , 100 , & 69 , 57 , 104 , 84 , 78 , 123 , 60 , 44 , 92 , 63 , 49 , 96 , & 87 , 82 , 127 , 223 , 171 , 201 , 209 , 124 , 161 , 206 , 119 , 157 , & 237 , 222 , 240 , 219 , 155 , 188 , 226 , 181 , 209 , 160 , 101 , 143 , & 91 , 86 , 131 , 236 , 218 , 237 , 230 , 196 , 221 , 228 , 186 , 213 , & 47 , 25 , 75 , 235 , 214 , 234 , 216 , 144 , 179 , 238 , 226 , 243 & ], shape ( actonS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bam = reshape ( [ & 101 , 2 , 75 , 103 , 5 , 78 , 106 , 7 , 80 , 108 , 10 , 82 , & 110 , 13 , 84 , 112 , 16 , 87 , 114 , 18 , 89 , 117 , 20 , 91 , & 119 , 23 , 93 , 121 , 25 , 95 , 123 , 27 , 97 , 125 , 29 , 99 , & 127 , 31 , 102 , 129 , 33 , 104 , 132 , 35 , 106 , 134 , 37 , 108 , & 136 , 39 , 110 , 138 , 40 , 112 , 140 , 42 , 114 , 142 , 44 , 116 , & 144 , 46 , 118 , 146 , 48 , 120 , 147 , 49 , 122 , 149 , 51 , 124 , & 151 , 53 , 126 , 153 , 55 , 127 , 155 , 56 , 129 , 157 , 58 , 131 , & 158 , 60 , 133 , 160 , 62 , 135 , 162 , 63 , 136 , 164 , 65 , 138 , & 165 , 67 , 140 , 167 , 68 , 142 , 169 , 70 , 143 , 170 , 72 , 145 , & 172 , 73 , 147 , 173 , 75 , 148 , 175 , 77 , 150 , 176 , 78 , 151 , & 178 , 80 , 153 , 179 , 82 , 154 , 181 , 84 , 156 , 182 , 85 , 157 , & 184 , 87 , 159 , 185 , 89 , 160 , 186 , 90 , 162 , 188 , 92 , 163 , & 189 , 94 , 165 , 191 , 96 , 166 , 192 , 98 , 168 , 193 , 100 , 169 , & 194 , 102 , 171 , 196 , 104 , 172 , 197 , 106 , 174 , 198 , 108 , 175 , & 200 , 110 , 176 , 201 , 112 , 178 , 202 , 114 , 179 , 203 , 116 , 181 , & 204 , 118 , 182 , 206 , 120 , 183 , 207 , 122 , 185 , 208 , 124 , 186 , & 209 , 127 , 188 , 210 , 129 , 189 , 211 , 131 , 190 , 212 , 133 , 192 , & 213 , 135 , 193 , 214 , 138 , 194 , 215 , 140 , 196 , 216 , 142 , 197 , & 217 , 145 , 198 , 218 , 147 , 200 , 219 , 149 , 201 , 220 , 151 , 202 , & 221 , 154 , 203 , 222 , 156 , 205 , 223 , 158 , 206 , 223 , 161 , 207 , & 224 , 163 , 208 , 225 , 165 , 209 , 226 , 167 , 211 , 227 , 170 , 212 , & 228 , 172 , 213 , 228 , 174 , 214 , 229 , 176 , 215 , 230 , 179 , 216 , & 231 , 181 , 218 , 231 , 183 , 219 , 232 , 185 , 220 , 233 , 187 , 221 , & 234 , 189 , 222 , 234 , 192 , 223 , 235 , 194 , 224 , 236 , 196 , 225 , & 236 , 198 , 226 , 237 , 200 , 227 , 238 , 202 , 228 , 238 , 204 , 229 , & 239 , 206 , 230 , 239 , 208 , 231 , 240 , 209 , 232 , 241 , 211 , 233 , & 241 , 213 , 233 , 242 , 215 , 234 , 242 , 216 , 235 , 243 , 218 , 236 , & 243 , 220 , 236 , 243 , 221 , 237 , 244 , 223 , 238 , 244 , 224 , 238 , & 245 , 226 , 239 , 245 , 227 , 239 , 245 , 228 , 240 , 245 , 230 , 240 , & 246 , 231 , 240 , 246 , 232 , 241 , 246 , 233 , 241 , 246 , 234 , 241 , & 246 , 235 , 241 , 246 , 236 , 241 , 246 , 237 , 241 , 246 , 238 , 241 , & 246 , 239 , 241 , 246 , 239 , 241 , 246 , 240 , 241 , 246 , 241 , 241 , & 246 , 241 , 240 , 246 , 242 , 240 , 245 , 242 , 240 , 245 , 242 , 239 , & 245 , 243 , 239 , 244 , 243 , 238 , 244 , 243 , 237 , 243 , 243 , 237 , & 243 , 243 , 236 , 242 , 243 , 235 , 242 , 243 , 234 , 241 , 243 , 233 , & 240 , 243 , 232 , 239 , 243 , 230 , 239 , 243 , 229 , 238 , 242 , 228 , & 237 , 242 , 226 , 236 , 242 , 224 , 235 , 241 , 223 , 234 , 241 , 221 , & 232 , 240 , 219 , 231 , 240 , 217 , 230 , 239 , 215 , 229 , 239 , 213 , & 227 , 238 , 211 , 226 , 237 , 209 , 224 , 236 , 207 , 223 , 236 , 204 , & 221 , 235 , 202 , 220 , 234 , 199 , 218 , 233 , 197 , 216 , 232 , 194 , & 214 , 231 , 191 , 212 , 230 , 189 , 210 , 228 , 186 , 208 , 227 , 183 , & 206 , 226 , 180 , 204 , 225 , 177 , 202 , 223 , 174 , 200 , 222 , 171 , & 198 , 221 , 168 , 195 , 219 , 165 , 193 , 218 , 162 , 191 , 216 , 159 , & 188 , 215 , 155 , 186 , 213 , 152 , 183 , 211 , 149 , 181 , 210 , 146 , & 178 , 208 , 143 , 176 , 206 , 140 , 173 , 205 , 137 , 171 , 203 , 134 , & 168 , 201 , 131 , 166 , 199 , 128 , 163 , 198 , 125 , 161 , 196 , 122 , & 158 , 194 , 119 , 156 , 192 , 116 , 153 , 190 , 114 , 151 , 188 , 111 , & 148 , 187 , 109 , 146 , 185 , 106 , 143 , 183 , 104 , 141 , 181 , 101 , & 138 , 179 , 99 , 136 , 177 , 97 , 134 , 176 , 94 , 131 , 174 , 92 , & 129 , 172 , 90 , 127 , 170 , 88 , 124 , 168 , 86 , 122 , 167 , 84 , & 120 , 165 , 82 , 118 , 163 , 80 , 116 , 162 , 79 , 114 , 160 , 77 , & 112 , 158 , 75 , 109 , 156 , 73 , 107 , 155 , 72 , 105 , 153 , 70 , & 103 , 152 , 69 , 101 , 150 , 67 , 100 , 148 , 65 , 98 , 147 , 64 , & 96 , 145 , 62 , 94 , 144 , 61 , 92 , 142 , 60 , 90 , 141 , 58 , & 88 , 139 , 57 , 87 , 138 , 55 , 85 , 136 , 54 , 83 , 135 , 53 , & 81 , 133 , 51 , 80 , 132 , 50 , 78 , 130 , 49 , 76 , 129 , 47 , & 75 , 127 , 46 , 73 , 126 , 45 , 71 , 124 , 43 , 69 , 123 , 42 , & 68 , 121 , 41 , 66 , 120 , 39 , 64 , 118 , 38 , 62 , 117 , 37 , & 61 , 115 , 35 , 59 , 113 , 34 , 57 , 112 , 33 , 55 , 110 , 31 , & 53 , 109 , 30 , 51 , 107 , 28 , 50 , 105 , 27 , 48 , 104 , 25 , & 46 , 102 , 24 , 44 , 100 , 22 , 42 , 99 , 21 , 40 , 97 , 19 , & 38 , 95 , 18 , 36 , 93 , 16 , 34 , 92 , 14 , 32 , 90 , 13 , & 30 , 88 , 11 , 27 , 86 , 9 , 25 , 85 , 7 , 23 , 83 , 6 , & 21 , 81 , 4 , 18 , 79 , 3 , 15 , 77 , 1 , 13 , 76 , 0 & ], shape ( bam ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bam10 = reshape ( [ & 101 , 2 , 75 , 158 , 60 , 133 , 201 , 112 , 178 , 228 , 174 , 214 , & 245 , 227 , 239 , 239 , 243 , 229 , 193 , 218 , 162 , 124 , 168 , 86 , & 69 , 123 , 42 , 13 , 76 , 0 & ], shape ( bam10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bam100 = reshape ( [ & 101 , 2 , 75 , 108 , 10 , 82 , 112 , 16 , 87 , 119 , 23 , 93 , & 123 , 27 , 97 , 129 , 33 , 104 , 134 , 37 , 108 , 140 , 42 , 114 , & 146 , 48 , 120 , 149 , 51 , 124 , 155 , 56 , 129 , 158 , 60 , 133 , & 164 , 65 , 138 , 167 , 68 , 142 , 172 , 73 , 147 , 176 , 78 , 151 , & 179 , 82 , 154 , 184 , 87 , 159 , 186 , 90 , 162 , 191 , 96 , 166 , & 194 , 102 , 171 , 197 , 106 , 174 , 201 , 112 , 178 , 203 , 116 , 181 , & 207 , 122 , 185 , 209 , 127 , 188 , 212 , 133 , 192 , 215 , 140 , 196 , & 217 , 145 , 198 , 220 , 151 , 202 , 222 , 156 , 205 , 224 , 163 , 208 , & 226 , 167 , 211 , 228 , 174 , 214 , 231 , 181 , 218 , 232 , 185 , 220 , & 234 , 192 , 223 , 236 , 196 , 225 , 238 , 202 , 228 , 239 , 206 , 230 , & 241 , 211 , 233 , 242 , 216 , 235 , 243 , 220 , 236 , 244 , 224 , 238 , & 245 , 227 , 239 , 246 , 231 , 240 , 246 , 233 , 241 , 246 , 236 , 241 , & 246 , 239 , 241 , 246 , 240 , 241 , 246 , 242 , 240 , 245 , 242 , 239 , & 244 , 243 , 237 , 242 , 243 , 235 , 241 , 243 , 233 , 239 , 243 , 229 , & 237 , 242 , 226 , 234 , 241 , 221 , 231 , 240 , 217 , 227 , 238 , 211 , & 223 , 236 , 204 , 220 , 234 , 199 , 214 , 231 , 191 , 210 , 228 , 186 , & 204 , 225 , 177 , 200 , 222 , 171 , 193 , 218 , 162 , 186 , 213 , 152 , & 181 , 210 , 146 , 173 , 205 , 137 , 168 , 201 , 131 , 161 , 196 , 122 , & 156 , 192 , 116 , 148 , 187 , 109 , 141 , 181 , 101 , 136 , 177 , 97 , & 129 , 172 , 90 , 124 , 168 , 86 , 118 , 163 , 80 , 114 , 160 , 77 , & 107 , 155 , 72 , 101 , 150 , 67 , 98 , 147 , 64 , 92 , 142 , 60 , & 88 , 139 , 57 , 83 , 135 , 53 , 78 , 130 , 49 , 75 , 127 , 46 , & 69 , 123 , 42 , 66 , 120 , 39 , 61 , 115 , 35 , 57 , 112 , 33 , & 51 , 107 , 28 , 46 , 102 , 24 , 42 , 99 , 21 , 36 , 93 , 16 , & 32 , 90 , 13 , 25 , 85 , 7 , 21 , 81 , 4 , 13 , 76 , 0 & ], shape ( bam100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bam25 = reshape ( [ & 101 , 2 , 75 , 125 , 29 , 99 , 146 , 48 , 120 , 165 , 67 , 140 , & 182 , 85 , 157 , 196 , 104 , 172 , 209 , 127 , 188 , 219 , 149 , 201 , & 228 , 174 , 214 , 236 , 198 , 226 , 242 , 216 , 235 , 246 , 232 , 241 , & 246 , 241 , 240 , 242 , 243 , 234 , 231 , 240 , 217 , 216 , 232 , 194 , & 193 , 218 , 162 , 166 , 199 , 128 , 141 , 181 , 101 , 116 , 162 , 79 , & 94 , 144 , 61 , 76 , 129 , 47 , 57 , 112 , 33 , 38 , 95 , 18 , & 13 , 76 , 0 & ], shape ( bam25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bam50 = reshape ( [ & 101 , 2 , 75 , 112 , 16 , 87 , 123 , 27 , 97 , 136 , 39 , 110 , & 146 , 48 , 120 , 155 , 56 , 129 , 164 , 65 , 138 , 172 , 73 , 147 , & 181 , 84 , 156 , 188 , 92 , 163 , 194 , 102 , 171 , 201 , 112 , 178 , & 207 , 122 , 185 , 213 , 135 , 193 , 218 , 147 , 200 , 223 , 158 , 206 , & 227 , 170 , 212 , 231 , 181 , 218 , 235 , 194 , 224 , 238 , 204 , 229 , & 241 , 213 , 233 , 243 , 221 , 237 , 245 , 228 , 240 , 246 , 235 , 241 , & 246 , 239 , 241 , 245 , 242 , 240 , 243 , 243 , 237 , 239 , 243 , 230 , & 235 , 241 , 223 , 229 , 239 , 213 , 221 , 235 , 202 , 212 , 230 , 189 , & 200 , 222 , 171 , 188 , 215 , 155 , 176 , 206 , 140 , 163 , 198 , 125 , & 151 , 188 , 111 , 136 , 177 , 97 , 124 , 168 , 86 , 114 , 160 , 77 , & 103 , 152 , 69 , 94 , 144 , 61 , 83 , 135 , 53 , 75 , 127 , 46 , & 66 , 120 , 39 , 57 , 112 , 33 , 48 , 104 , 25 , 36 , 93 , 16 , & 25 , 85 , 7 , 13 , 76 , 0 & ], shape ( bam50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bamako = reshape ( [ & 0 , 59 , 71 , 0 , 59 , 71 , 1 , 59 , 71 , 1 , 60 , 71 , & 2 , 60 , 70 , 2 , 60 , 70 , 3 , 60 , 70 , 3 , 61 , 69 , & 4 , 61 , 69 , 4 , 61 , 69 , 5 , 62 , 69 , 5 , 62 , 68 , & 6 , 62 , 68 , 6 , 63 , 68 , 7 , 63 , 67 , 7 , 63 , 67 , & 8 , 63 , 67 , 8 , 64 , 66 , 9 , 64 , 66 , 9 , 64 , 66 , & 10 , 65 , 66 , 10 , 65 , 65 , 11 , 65 , 65 , 11 , 66 , 65 , & 12 , 66 , 64 , 12 , 66 , 64 , 13 , 67 , 64 , 13 , 67 , 63 , & 14 , 67 , 63 , 14 , 68 , 63 , 15 , 68 , 62 , 15 , 68 , 62 , & 16 , 69 , 62 , 16 , 69 , 61 , 17 , 69 , 61 , 18 , 70 , 61 , & 18 , 70 , 60 , 19 , 71 , 60 , 19 , 71 , 60 , 20 , 71 , 59 , & 20 , 72 , 59 , 21 , 72 , 58 , 22 , 72 , 58 , 22 , 73 , 58 , & 23 , 73 , 57 , 23 , 74 , 57 , 24 , 74 , 57 , 25 , 74 , 56 , & 25 , 75 , 56 , 26 , 75 , 55 , 27 , 76 , 55 , 27 , 76 , 55 , & 28 , 77 , 54 , 29 , 77 , 54 , 29 , 77 , 53 , 30 , 78 , 53 , & 31 , 78 , 52 , 32 , 79 , 52 , 32 , 79 , 51 , 33 , 80 , 51 , & 34 , 80 , 51 , 34 , 81 , 50 , 35 , 81 , 50 , 36 , 82 , 49 , & 37 , 82 , 49 , 38 , 83 , 48 , 38 , 83 , 48 , 39 , 84 , 47 , & 40 , 84 , 47 , 41 , 85 , 46 , 41 , 85 , 46 , 42 , 86 , 45 , & 43 , 86 , 45 , 44 , 87 , 44 , 45 , 87 , 44 , 46 , 88 , 43 , & 46 , 88 , 43 , 47 , 89 , 42 , 48 , 90 , 42 , 49 , 90 , 41 , & 50 , 91 , 41 , 51 , 91 , 40 , 52 , 92 , 39 , 53 , 92 , 39 , & 53 , 93 , 38 , 54 , 94 , 38 , 55 , 94 , 37 , 56 , 95 , 37 , & 57 , 95 , 36 , 58 , 96 , 35 , 59 , 97 , 35 , 60 , 97 , 34 , & 61 , 98 , 34 , 62 , 98 , 33 , 63 , 99 , 33 , 64 , 100 , 32 , & 65 , 100 , 31 , 66 , 101 , 31 , 67 , 102 , 30 , 68 , 102 , 30 , & 69 , 103 , 29 , 70 , 104 , 28 , 71 , 104 , 28 , 72 , 105 , 27 , & 73 , 105 , 26 , 74 , 106 , 26 , 75 , 107 , 25 , 76 , 107 , 24 , & 77 , 108 , 24 , 78 , 109 , 23 , 79 , 110 , 23 , 80 , 110 , 22 , & 81 , 111 , 21 , 82 , 112 , 21 , 83 , 112 , 20 , 84 , 113 , 19 , & 85 , 114 , 19 , 86 , 114 , 18 , 88 , 115 , 17 , 89 , 116 , 17 , & 90 , 116 , 16 , 91 , 117 , 15 , 92 , 118 , 15 , 93 , 119 , 14 , & 94 , 119 , 13 , 95 , 120 , 13 , 96 , 121 , 12 , 97 , 121 , 11 , & 99 , 122 , 10 , 100 , 123 , 10 , 101 , 124 , 9 , 102 , 124 , 8 , & 103 , 125 , 7 , 104 , 126 , 7 , 105 , 126 , 6 , 106 , 127 , 5 , & 107 , 128 , 5 , 109 , 128 , 4 , 110 , 129 , 4 , 111 , 130 , 3 , & 112 , 130 , 3 , 113 , 131 , 2 , 115 , 131 , 2 , 116 , 132 , 1 , & 117 , 132 , 1 , 119 , 133 , 1 , 120 , 133 , 1 , 121 , 134 , 0 , & 123 , 134 , 0 , 124 , 134 , 0 , 125 , 135 , 0 , 127 , 135 , 0 , & 128 , 135 , 0 , 129 , 136 , 0 , 131 , 136 , 0 , 132 , 136 , 0 , & 133 , 136 , 0 , 135 , 137 , 0 , 136 , 137 , 0 , 137 , 137 , 0 , & 139 , 137 , 0 , 140 , 138 , 0 , 141 , 138 , 0 , 143 , 138 , 0 , & 144 , 139 , 0 , 145 , 139 , 0 , 147 , 139 , 1 , 148 , 140 , 1 , & 149 , 140 , 1 , 151 , 141 , 2 , 152 , 141 , 3 , 153 , 142 , 3 , & 155 , 142 , 4 , 156 , 143 , 5 , 157 , 144 , 6 , 158 , 145 , 8 , & 160 , 146 , 9 , 161 , 146 , 11 , 162 , 147 , 13 , 164 , 148 , 14 , & 165 , 149 , 16 , 166 , 150 , 17 , 168 , 151 , 19 , 169 , 152 , 21 , & 170 , 153 , 22 , 172 , 154 , 24 , 173 , 155 , 26 , 174 , 156 , 27 , & 176 , 157 , 29 , 177 , 158 , 31 , 178 , 159 , 32 , 180 , 160 , 34 , & 181 , 161 , 36 , 183 , 162 , 37 , 184 , 163 , 39 , 185 , 165 , 41 , & 187 , 166 , 43 , 188 , 167 , 44 , 190 , 168 , 46 , 191 , 169 , 48 , & 192 , 170 , 50 , 194 , 171 , 52 , 195 , 172 , 53 , 197 , 173 , 55 , & 198 , 174 , 57 , 199 , 175 , 59 , 201 , 176 , 61 , 202 , 178 , 63 , & 203 , 179 , 65 , 205 , 180 , 68 , 206 , 181 , 70 , 207 , 182 , 72 , & 208 , 183 , 74 , 210 , 184 , 77 , 211 , 185 , 79 , 212 , 187 , 81 , & 213 , 188 , 84 , 214 , 189 , 86 , 215 , 190 , 89 , 217 , 191 , 91 , & 218 , 192 , 93 , 219 , 193 , 96 , 220 , 194 , 98 , 221 , 196 , 100 , & 222 , 197 , 103 , 223 , 198 , 105 , 224 , 199 , 108 , 226 , 200 , 110 , & 227 , 201 , 112 , 228 , 202 , 115 , 229 , 203 , 117 , 230 , 204 , 119 , & 231 , 205 , 122 , 232 , 207 , 124 , 233 , 208 , 126 , 234 , 209 , 129 , & 235 , 210 , 131 , 236 , 211 , 133 , 237 , 212 , 136 , 239 , 213 , 138 , & 240 , 214 , 140 , 241 , 215 , 142 , 242 , 216 , 145 , 243 , 217 , 147 , & 244 , 218 , 149 , 245 , 219 , 151 , 246 , 220 , 154 , 247 , 221 , 156 , & 248 , 222 , 158 , 249 , 223 , 160 , 250 , 224 , 163 , 251 , 225 , 165 , & 252 , 226 , 167 , 253 , 227 , 169 , 254 , 228 , 171 , 255 , 229 , 173 & ], shape ( bamako ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bamako10 = reshape ( [ & 0 , 59 , 71 , 14 , 67 , 63 , 32 , 79 , 52 , 54 , 94 , 38 , & 82 , 112 , 21 , 115 , 131 , 2 , 152 , 141 , 3 , 190 , 168 , 46 , & 226 , 200 , 110 , 255 , 229 , 173 & ], shape ( bamako10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bamako100 = reshape ( [ & 0 , 59 , 71 , 1 , 60 , 71 , 2 , 60 , 70 , 4 , 61 , 69 , & 5 , 62 , 69 , 6 , 63 , 68 , 7 , 63 , 67 , 9 , 64 , 66 , & 10 , 65 , 65 , 11 , 66 , 65 , 13 , 67 , 64 , 14 , 67 , 63 , & 15 , 68 , 62 , 16 , 69 , 61 , 18 , 70 , 60 , 20 , 71 , 59 , & 21 , 72 , 58 , 23 , 73 , 57 , 24 , 74 , 57 , 26 , 75 , 55 , & 28 , 77 , 54 , 29 , 77 , 53 , 32 , 79 , 52 , 33 , 80 , 51 , & 35 , 81 , 50 , 37 , 82 , 49 , 39 , 84 , 47 , 41 , 85 , 46 , & 43 , 86 , 45 , 46 , 88 , 43 , 47 , 89 , 42 , 50 , 91 , 41 , & 52 , 92 , 39 , 54 , 94 , 38 , 57 , 95 , 36 , 59 , 97 , 35 , & 62 , 98 , 33 , 64 , 100 , 32 , 67 , 102 , 30 , 69 , 103 , 29 , & 72 , 105 , 27 , 75 , 107 , 25 , 77 , 108 , 24 , 80 , 110 , 22 , & 82 , 112 , 21 , 85 , 114 , 19 , 88 , 115 , 17 , 91 , 117 , 15 , & 94 , 119 , 13 , 96 , 121 , 12 , 100 , 123 , 10 , 102 , 124 , 8 , & 105 , 126 , 6 , 109 , 128 , 4 , 111 , 130 , 3 , 115 , 131 , 2 , & 117 , 132 , 1 , 121 , 134 , 0 , 124 , 134 , 0 , 128 , 135 , 0 , & 132 , 136 , 0 , 135 , 137 , 0 , 139 , 137 , 0 , 141 , 138 , 0 , & 145 , 139 , 0 , 148 , 140 , 1 , 152 , 141 , 3 , 156 , 143 , 5 , & 158 , 145 , 8 , 162 , 147 , 13 , 165 , 149 , 16 , 169 , 152 , 21 , & 172 , 154 , 24 , 176 , 157 , 29 , 180 , 160 , 34 , 183 , 162 , 37 , & 187 , 166 , 43 , 190 , 168 , 46 , 194 , 171 , 52 , 197 , 173 , 55 , & 201 , 176 , 61 , 205 , 180 , 68 , 207 , 182 , 72 , 211 , 185 , 79 , & 213 , 188 , 84 , 217 , 191 , 91 , 220 , 194 , 98 , 222 , 197 , 103 , & 226 , 200 , 110 , 228 , 202 , 115 , 231 , 205 , 122 , 233 , 208 , 126 , & 236 , 211 , 133 , 240 , 214 , 140 , 242 , 216 , 145 , 245 , 219 , 151 , & 247 , 221 , 156 , 250 , 224 , 163 , 252 , 226 , 167 , 255 , 229 , 173 & ], shape ( bamako100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bamako25 = reshape ( [ & 0 , 59 , 71 , 5 , 62 , 68 , 10 , 65 , 65 , 16 , 69 , 62 , & 22 , 73 , 58 , 29 , 77 , 54 , 37 , 82 , 49 , 45 , 87 , 44 , & 54 , 94 , 38 , 65 , 100 , 31 , 75 , 107 , 25 , 86 , 114 , 18 , & 99 , 122 , 10 , 110 , 129 , 4 , 124 , 134 , 0 , 137 , 137 , 0 , & 152 , 141 , 3 , 166 , 150 , 17 , 180 , 160 , 34 , 195 , 172 , 53 , & 210 , 184 , 77 , 221 , 196 , 100 , 233 , 208 , 126 , 244 , 218 , 149 , & 255 , 229 , 173 & ], shape ( bamako25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bamako50 = reshape ( [ & 0 , 59 , 71 , 2 , 60 , 70 , 5 , 62 , 69 , 8 , 63 , 67 , & 10 , 65 , 65 , 13 , 67 , 64 , 15 , 68 , 62 , 18 , 70 , 60 , & 22 , 72 , 58 , 25 , 74 , 56 , 28 , 77 , 54 , 32 , 79 , 52 , & 35 , 81 , 50 , 40 , 84 , 47 , 44 , 87 , 44 , 48 , 90 , 42 , & 53 , 92 , 39 , 57 , 95 , 36 , 63 , 99 , 33 , 68 , 102 , 30 , & 73 , 105 , 26 , 78 , 109 , 23 , 83 , 112 , 20 , 90 , 116 , 16 , & 95 , 120 , 13 , 101 , 124 , 9 , 106 , 127 , 5 , 113 , 131 , 2 , & 120 , 133 , 1 , 127 , 135 , 0 , 133 , 136 , 0 , 140 , 138 , 0 , & 148 , 140 , 1 , 155 , 142 , 4 , 161 , 146 , 11 , 168 , 151 , 19 , & 174 , 156 , 27 , 183 , 162 , 37 , 190 , 168 , 46 , 197 , 173 , 55 , & 203 , 179 , 65 , 210 , 184 , 77 , 217 , 191 , 91 , 222 , 197 , 103 , & 228 , 202 , 115 , 233 , 208 , 126 , 239 , 213 , 138 , 245 , 219 , 151 , & 250 , 224 , 163 , 255 , 229 , 173 & ], shape ( bamako50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bamakoS = reshape ( [ & 0 , 59 , 71 , 255 , 229 , 173 , 99 , 122 , 10 , 37 , 82 , 49 , & 180 , 160 , 34 , 65 , 100 , 31 , 221 , 196 , 100 , 16 , 69 , 62 , & 139 , 137 , 0 , 8 , 63 , 67 , 25 , 75 , 56 , 239 , 213 , 138 , & 117 , 132 , 1 , 81 , 111 , 21 , 202 , 178 , 63 , 50 , 91 , 41 , & 160 , 146 , 9 , 149 , 140 , 1 , 247 , 221 , 156 , 128 , 135 , 0 , & 73 , 105 , 26 , 43 , 86 , 45 , 107 , 128 , 5 , 20 , 72 , 59 , & 57 , 95 , 36 , 191 , 169 , 48 , 212 , 187 , 81 , 12 , 66 , 64 , & 90 , 116 , 16 , 4 , 61 , 69 , 31 , 78 , 52 , 230 , 204 , 119 , & 170 , 153 , 22 , 243 , 217 , 147 , 123 , 134 , 0 , 85 , 114 , 19 , & 103 , 125 , 7 , 251 , 225 , 165 , 133 , 136 , 0 , 207 , 182 , 72 , & 61 , 98 , 34 , 2 , 60 , 70 , 28 , 77 , 54 , 94 , 119 , 13 , & 14 , 67 , 63 , 77 , 108 , 24 , 23 , 73 , 57 , 46 , 88 , 43 , & 10 , 65 , 66 , 112 , 130 , 3 , 197 , 173 , 55 , 185 , 165 , 41 , & 234 , 209 , 129 , 165 , 149 , 16 , 40 , 84 , 47 , 217 , 191 , 91 , & 69 , 103 , 29 , 18 , 70 , 60 , 34 , 80 , 51 , 6 , 62 , 68 , & 53 , 93 , 38 , 144 , 139 , 0 , 155 , 142 , 4 , 226 , 200 , 110 , & 176 , 157 , 29 , 199 , 175 , 59 , 188 , 167 , 44 , 11 , 65 , 65 , & 24 , 74 , 57 , 125 , 135 , 0 , 52 , 92 , 39 , 41 , 85 , 46 , & 205 , 180 , 68 , 131 , 136 , 0 , 157 , 144 , 6 , 152 , 141 , 3 , & 241 , 215 , 142 , 15 , 68 , 62 , 115 , 131 , 2 , 88 , 115 , 17 , & 96 , 121 , 12 , 29 , 77 , 53 , 183 , 162 , 37 , 35 , 81 , 50 , & 22 , 72 , 58 , 228 , 202 , 115 , 3 , 60 , 70 , 5 , 62 , 69 , & 79 , 110 , 23 , 9 , 64 , 66 , 253 , 227 , 169 , 141 , 138 , 0 , & 147 , 139 , 1 , 59 , 97 , 35 , 92 , 118 , 15 , 1 , 59 , 71 , & 38 , 83 , 48 , 223 , 198 , 105 , 17 , 69 , 61 , 67 , 102 , 30 & ], shape ( bamakoS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bamO = reshape ( [ & 79 , 48 , 67 , 80 , 47 , 69 , 81 , 47 , 70 , 83 , 48 , 71 , & 84 , 48 , 73 , 86 , 48 , 75 , 88 , 48 , 77 , 90 , 49 , 78 , & 92 , 50 , 80 , 94 , 50 , 82 , 96 , 51 , 84 , 98 , 52 , 87 , & 100 , 53 , 89 , 103 , 54 , 91 , 105 , 55 , 93 , 107 , 56 , 95 , & 109 , 57 , 97 , 112 , 58 , 99 , 114 , 59 , 101 , 116 , 61 , 103 , & 118 , 62 , 105 , 121 , 63 , 107 , 123 , 65 , 109 , 125 , 66 , 111 , & 127 , 68 , 113 , 129 , 69 , 115 , 131 , 70 , 117 , 133 , 72 , 119 , & 135 , 73 , 121 , 137 , 75 , 123 , 139 , 76 , 125 , 141 , 78 , 126 , & 143 , 79 , 128 , 145 , 81 , 130 , 147 , 82 , 132 , 148 , 84 , 133 , & 150 , 85 , 135 , 152 , 87 , 137 , 154 , 88 , 138 , 155 , 90 , 140 , & 157 , 91 , 141 , 159 , 93 , 143 , 160 , 94 , 145 , 162 , 96 , 146 , & 163 , 97 , 148 , 165 , 99 , 149 , 167 , 101 , 151 , 168 , 102 , 152 , & 170 , 104 , 154 , 171 , 105 , 155 , 173 , 107 , 157 , 174 , 109 , 158 , & 176 , 110 , 160 , 177 , 112 , 161 , 179 , 114 , 163 , 181 , 116 , 164 , & 182 , 118 , 166 , 184 , 119 , 167 , 185 , 121 , 169 , 187 , 123 , 170 , & 188 , 125 , 172 , 190 , 127 , 173 , 191 , 129 , 175 , 192 , 131 , 176 , & 194 , 133 , 178 , 195 , 135 , 179 , 197 , 137 , 181 , 198 , 139 , 182 , & 199 , 141 , 184 , 201 , 143 , 185 , 202 , 146 , 186 , 203 , 148 , 188 , & 204 , 150 , 189 , 205 , 152 , 190 , 207 , 154 , 191 , 208 , 156 , 193 , & 209 , 158 , 194 , 210 , 160 , 195 , 210 , 163 , 196 , 211 , 165 , 197 , & 212 , 167 , 198 , 213 , 169 , 199 , 214 , 171 , 199 , 214 , 173 , 200 , & 215 , 174 , 201 , 215 , 176 , 201 , 216 , 178 , 202 , 216 , 180 , 202 , & 217 , 181 , 203 , 217 , 183 , 203 , 217 , 184 , 203 , 217 , 186 , 204 , & 218 , 187 , 204 , 218 , 188 , 204 , 218 , 190 , 204 , 218 , 191 , 204 , & 218 , 192 , 204 , 218 , 193 , 204 , 218 , 194 , 204 , 218 , 195 , 204 , & 218 , 196 , 203 , 217 , 197 , 203 , 217 , 197 , 203 , 217 , 198 , 203 , & 217 , 199 , 202 , 217 , 199 , 202 , 216 , 200 , 202 , 216 , 201 , 201 , & 216 , 201 , 201 , 216 , 202 , 200 , 215 , 202 , 200 , 215 , 202 , 199 , & 215 , 203 , 199 , 214 , 203 , 199 , 214 , 203 , 198 , 214 , 204 , 197 , & 213 , 204 , 197 , 213 , 204 , 196 , 212 , 204 , 196 , 212 , 205 , 195 , & 212 , 205 , 194 , 211 , 205 , 194 , 211 , 205 , 193 , 210 , 205 , 192 , & 209 , 205 , 191 , 209 , 205 , 190 , 208 , 205 , 189 , 207 , 205 , 188 , & 206 , 205 , 187 , 205 , 205 , 186 , 204 , 205 , 185 , 203 , 204 , 183 , & 202 , 204 , 182 , 201 , 204 , 180 , 200 , 203 , 178 , 198 , 203 , 177 , & 197 , 202 , 175 , 195 , 201 , 173 , 194 , 200 , 170 , 192 , 199 , 168 , & 190 , 198 , 166 , 188 , 197 , 164 , 186 , 196 , 161 , 184 , 194 , 158 , & 182 , 193 , 156 , 180 , 191 , 153 , 178 , 190 , 151 , 176 , 188 , 148 , & 173 , 186 , 145 , 171 , 184 , 143 , 169 , 182 , 140 , 167 , 181 , 138 , & 164 , 179 , 135 , 162 , 177 , 133 , 160 , 175 , 131 , 158 , 173 , 128 , & 156 , 171 , 126 , 154 , 169 , 124 , 152 , 167 , 122 , 150 , 165 , 120 , & 148 , 163 , 118 , 146 , 161 , 116 , 145 , 159 , 114 , 143 , 158 , 112 , & 141 , 156 , 110 , 139 , 154 , 109 , 138 , 152 , 107 , 136 , 150 , 105 , & 134 , 148 , 104 , 133 , 147 , 102 , 131 , 145 , 101 , 130 , 143 , 99 , & 128 , 141 , 98 , 127 , 140 , 97 , 125 , 138 , 95 , 124 , 136 , 94 , & 123 , 135 , 93 , 121 , 133 , 92 , 120 , 131 , 91 , 119 , 130 , 90 , & 117 , 128 , 88 , 116 , 127 , 87 , 115 , 125 , 86 , 114 , 124 , 85 , & 113 , 122 , 84 , 111 , 121 , 83 , 110 , 119 , 82 , 109 , 117 , 82 , & 108 , 116 , 81 , 107 , 114 , 80 , 106 , 113 , 79 , 105 , 111 , 78 , & 103 , 110 , 77 , 102 , 108 , 76 , 101 , 107 , 76 , 100 , 105 , 75 , & 99 , 104 , 74 , 98 , 102 , 73 , 97 , 101 , 72 , 96 , 99 , 72 , & 95 , 98 , 71 , 94 , 96 , 70 , 93 , 95 , 70 , 92 , 93 , 69 , & 91 , 92 , 68 , 90 , 91 , 68 , 89 , 89 , 67 , 88 , 88 , 66 , & 87 , 86 , 66 , 87 , 85 , 65 , 86 , 84 , 65 , 85 , 83 , 64 , & 84 , 81 , 64 , 84 , 80 , 63 , 83 , 79 , 63 , 82 , 78 , 63 , & 81 , 77 , 62 , 81 , 76 , 62 , 80 , 75 , 61 , 80 , 73 , 61 , & 79 , 72 , 61 , 79 , 72 , 60 , 78 , 71 , 60 , 78 , 70 , 60 , & 77 , 69 , 60 , 77 , 68 , 59 , 76 , 67 , 59 , 76 , 66 , 59 , & 75 , 65 , 59 , 75 , 64 , 59 , 75 , 64 , 59 , 74 , 63 , 58 , & 74 , 62 , 58 , 74 , 61 , 58 , 74 , 60 , 58 , 73 , 60 , 58 , & 73 , 59 , 58 , 73 , 58 , 58 , 73 , 57 , 58 , 73 , 57 , 58 , & 73 , 56 , 58 , 72 , 55 , 58 , 72 , 54 , 59 , 72 , 54 , 59 , & 72 , 53 , 59 , 73 , 52 , 59 , 73 , 52 , 60 , 73 , 51 , 60 , & 73 , 50 , 61 , 74 , 50 , 61 , 74 , 49 , 62 , 75 , 49 , 62 , & 75 , 49 , 63 , 76 , 48 , 64 , 77 , 48 , 65 , 78 , 48 , 66 & ], shape ( bamO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bamO10 = reshape ( [ & 79 , 48 , 67 , 135 , 73 , 121 , 184 , 119 , 167 , 215 , 176 , 201 , & 214 , 203 , 199 , 186 , 196 , 161 , 131 , 145 , 101 , 97 , 101 , 72 , & 76 , 66 , 59 , 78 , 48 , 66 & ], shape ( bamO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bamO100 = reshape ( [ & 79 , 48 , 67 , 83 , 48 , 71 , 86 , 48 , 75 , 92 , 50 , 80 , & 96 , 51 , 84 , 103 , 54 , 91 , 107 , 56 , 95 , 114 , 59 , 101 , & 121 , 63 , 107 , 125 , 66 , 111 , 131 , 70 , 117 , 135 , 73 , 121 , & 141 , 78 , 126 , 145 , 81 , 130 , 150 , 85 , 135 , 155 , 90 , 140 , & 159 , 93 , 143 , 163 , 97 , 148 , 167 , 101 , 151 , 171 , 105 , 155 , & 176 , 110 , 160 , 179 , 114 , 163 , 184 , 119 , 167 , 187 , 123 , 170 , & 191 , 129 , 175 , 194 , 133 , 178 , 198 , 139 , 182 , 202 , 146 , 186 , & 204 , 150 , 189 , 208 , 156 , 193 , 210 , 160 , 195 , 212 , 167 , 198 , & 214 , 171 , 199 , 215 , 176 , 201 , 217 , 181 , 203 , 217 , 184 , 203 , & 218 , 188 , 204 , 218 , 191 , 204 , 218 , 194 , 204 , 218 , 196 , 203 , & 217 , 198 , 203 , 216 , 200 , 202 , 216 , 201 , 201 , 215 , 202 , 199 , & 214 , 203 , 199 , 213 , 204 , 197 , 212 , 204 , 196 , 211 , 205 , 194 , & 209 , 205 , 191 , 208 , 205 , 189 , 205 , 205 , 186 , 203 , 204 , 183 , & 200 , 203 , 178 , 195 , 201 , 173 , 192 , 199 , 168 , 186 , 196 , 161 , & 182 , 193 , 156 , 176 , 188 , 148 , 171 , 184 , 143 , 164 , 179 , 135 , & 158 , 173 , 128 , 154 , 169 , 124 , 148 , 163 , 118 , 145 , 159 , 114 , & 139 , 154 , 109 , 136 , 150 , 105 , 131 , 145 , 101 , 127 , 140 , 97 , & 124 , 136 , 94 , 120 , 131 , 91 , 117 , 128 , 88 , 114 , 124 , 85 , & 111 , 121 , 83 , 108 , 116 , 81 , 105 , 111 , 78 , 102 , 108 , 76 , & 99 , 104 , 74 , 97 , 101 , 72 , 94 , 96 , 70 , 92 , 93 , 69 , & 89 , 89 , 67 , 87 , 85 , 65 , 85 , 83 , 64 , 83 , 79 , 63 , & 81 , 77 , 62 , 80 , 73 , 61 , 78 , 71 , 60 , 77 , 69 , 60 , & 76 , 66 , 59 , 75 , 64 , 59 , 74 , 62 , 58 , 74 , 60 , 58 , & 73 , 58 , 58 , 73 , 56 , 58 , 72 , 54 , 59 , 73 , 52 , 59 , & 73 , 51 , 60 , 74 , 49 , 62 , 75 , 49 , 63 , 78 , 48 , 66 & ], shape ( bamO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bamO25 = reshape ( [ & 79 , 48 , 67 , 98 , 52 , 87 , 121 , 63 , 107 , 143 , 79 , 128 , & 162 , 96 , 146 , 177 , 112 , 161 , 194 , 133 , 178 , 207 , 154 , 191 , & 215 , 176 , 201 , 218 , 192 , 204 , 216 , 200 , 202 , 213 , 204 , 196 , & 206 , 205 , 187 , 194 , 200 , 170 , 171 , 184 , 143 , 150 , 165 , 120 , & 131 , 145 , 101 , 116 , 127 , 87 , 105 , 111 , 78 , 93 , 95 , 70 , & 84 , 80 , 63 , 78 , 70 , 60 , 74 , 60 , 58 , 72 , 53 , 59 , & 78 , 48 , 66 & ], shape ( bamO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bamO50 = reshape ( [ & 79 , 48 , 67 , 86 , 48 , 75 , 96 , 51 , 84 , 109 , 57 , 97 , & 121 , 63 , 107 , 131 , 70 , 117 , 141 , 78 , 126 , 150 , 85 , 135 , & 160 , 94 , 145 , 168 , 102 , 152 , 176 , 110 , 160 , 184 , 119 , 167 , & 191 , 129 , 175 , 199 , 141 , 184 , 205 , 152 , 190 , 210 , 163 , 196 , & 214 , 173 , 200 , 217 , 181 , 203 , 218 , 190 , 204 , 218 , 195 , 204 , & 217 , 199 , 202 , 216 , 202 , 200 , 214 , 203 , 198 , 212 , 205 , 194 , & 209 , 205 , 190 , 204 , 205 , 185 , 198 , 203 , 177 , 188 , 197 , 164 , & 178 , 190 , 151 , 167 , 181 , 138 , 156 , 171 , 126 , 146 , 161 , 116 , & 136 , 150 , 105 , 128 , 141 , 98 , 121 , 133 , 92 , 115 , 125 , 86 , & 109 , 117 , 82 , 102 , 108 , 76 , 97 , 101 , 72 , 92 , 93 , 69 , & 87 , 86 , 66 , 84 , 80 , 63 , 80 , 73 , 61 , 77 , 69 , 60 , & 75 , 64 , 59 , 74 , 60 , 58 , 73 , 57 , 58 , 73 , 52 , 59 , & 74 , 49 , 62 , 78 , 48 , 66 & ], shape ( bamO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: batlow = reshape ( [ & 1 , 25 , 89 , 2 , 27 , 89 , 3 , 28 , 90 , 4 , 30 , 90 , & 5 , 31 , 90 , 6 , 33 , 91 , 7 , 34 , 91 , 7 , 36 , 91 , & 8 , 37 , 91 , 9 , 39 , 92 , 10 , 40 , 92 , 10 , 42 , 92 , & 11 , 43 , 92 , 11 , 45 , 93 , 12 , 46 , 93 , 12 , 47 , 93 , & 13 , 49 , 93 , 13 , 50 , 94 , 13 , 51 , 94 , 14 , 53 , 94 , & 14 , 54 , 94 , 14 , 55 , 94 , 15 , 56 , 95 , 15 , 57 , 95 , & 15 , 59 , 95 , 15 , 60 , 95 , 16 , 61 , 95 , 16 , 62 , 95 , & 16 , 63 , 96 , 16 , 64 , 96 , 17 , 65 , 96 , 17 , 66 , 96 , & 17 , 67 , 96 , 17 , 68 , 96 , 18 , 69 , 97 , 18 , 70 , 97 , & 18 , 71 , 97 , 18 , 72 , 97 , 19 , 73 , 97 , 19 , 74 , 97 , & 19 , 75 , 97 , 20 , 76 , 98 , 20 , 77 , 98 , 20 , 78 , 98 , & 21 , 79 , 98 , 21 , 79 , 98 , 22 , 80 , 98 , 22 , 81 , 98 , & 23 , 82 , 98 , 23 , 83 , 98 , 24 , 84 , 98 , 24 , 85 , 98 , & 25 , 86 , 98 , 25 , 87 , 98 , 26 , 87 , 98 , 27 , 88 , 98 , & 27 , 89 , 98 , 28 , 90 , 98 , 29 , 91 , 98 , 30 , 92 , 98 , & 30 , 93 , 98 , 31 , 93 , 97 , 32 , 94 , 97 , 33 , 95 , 97 , & 34 , 96 , 97 , 35 , 96 , 96 , 36 , 97 , 96 , 37 , 98 , 96 , & 38 , 99 , 95 , 39 , 99 , 95 , 40 , 100 , 95 , 42 , 101 , 94 , & 43 , 101 , 94 , 44 , 102 , 93 , 45 , 103 , 93 , 47 , 103 , 92 , & 48 , 104 , 92 , 49 , 105 , 91 , 51 , 105 , 90 , 52 , 106 , 90 , & 53 , 106 , 89 , 55 , 107 , 88 , 56 , 108 , 88 , 58 , 108 , 87 , & 59 , 109 , 86 , 60 , 109 , 86 , 62 , 110 , 85 , 63 , 110 , 84 , & 65 , 111 , 83 , 66 , 111 , 82 , 68 , 112 , 82 , 69 , 112 , 81 , & 71 , 113 , 80 , 72 , 113 , 79 , 74 , 114 , 78 , 76 , 114 , 77 , & 77 , 115 , 77 , 79 , 115 , 76 , 80 , 116 , 75 , 82 , 116 , 74 , & 83 , 117 , 73 , 85 , 117 , 72 , 87 , 118 , 71 , 88 , 118 , 70 , & 90 , 119 , 69 , 91 , 119 , 69 , 93 , 120 , 68 , 95 , 120 , 67 , & 96 , 121 , 66 , 98 , 121 , 65 , 99 , 122 , 64 , 101 , 122 , 63 , & 103 , 123 , 62 , 104 , 123 , 62 , 106 , 123 , 61 , 108 , 124 , 60 , & 109 , 124 , 59 , 111 , 125 , 58 , 113 , 125 , 57 , 115 , 126 , 56 , & 116 , 126 , 56 , 118 , 127 , 55 , 120 , 127 , 54 , 121 , 128 , 53 , & 123 , 128 , 52 , 125 , 129 , 52 , 127 , 129 , 51 , 129 , 130 , 50 , & 130 , 130 , 49 , 132 , 131 , 49 , 134 , 131 , 48 , 136 , 132 , 47 , & 138 , 132 , 47 , 140 , 133 , 46 , 142 , 133 , 46 , 143 , 134 , 45 , & 145 , 134 , 45 , 147 , 135 , 44 , 149 , 135 , 44 , 151 , 136 , 44 , & 153 , 136 , 44 , 155 , 137 , 43 , 157 , 137 , 43 , 159 , 137 , 43 , & 161 , 138 , 43 , 163 , 138 , 44 , 165 , 139 , 44 , 167 , 139 , 44 , & 169 , 140 , 44 , 171 , 140 , 45 , 173 , 140 , 45 , 175 , 141 , 46 , & 177 , 141 , 47 , 179 , 142 , 47 , 181 , 142 , 48 , 183 , 142 , 49 , & 185 , 143 , 50 , 187 , 143 , 51 , 189 , 143 , 52 , 190 , 144 , 53 , & 192 , 144 , 54 , 194 , 144 , 55 , 196 , 145 , 56 , 198 , 145 , 58 , & 200 , 145 , 59 , 202 , 146 , 60 , 203 , 146 , 62 , 205 , 146 , 63 , & 207 , 147 , 64 , 209 , 147 , 66 , 210 , 147 , 67 , 212 , 148 , 69 , & 214 , 148 , 70 , 216 , 148 , 72 , 217 , 149 , 74 , 219 , 149 , 75 , & 221 , 149 , 77 , 222 , 150 , 79 , 224 , 150 , 81 , 225 , 151 , 82 , & 227 , 151 , 84 , 228 , 151 , 86 , 230 , 152 , 88 , 231 , 152 , 90 , & 233 , 153 , 92 , 234 , 153 , 94 , 235 , 154 , 96 , 237 , 154 , 98 , & 238 , 155 , 100 , 239 , 155 , 103 , 240 , 156 , 105 , 241 , 157 , 107 , & 242 , 157 , 109 , 243 , 158 , 112 , 244 , 159 , 114 , 245 , 159 , 116 , & 246 , 160 , 119 , 247 , 161 , 121 , 248 , 161 , 123 , 248 , 162 , 126 , & 249 , 163 , 128 , 249 , 163 , 130 , 250 , 164 , 133 , 250 , 165 , 135 , & 251 , 166 , 137 , 251 , 166 , 140 , 252 , 167 , 142 , 252 , 168 , 144 , & 252 , 169 , 147 , 252 , 169 , 149 , 253 , 170 , 151 , 253 , 171 , 154 , & 253 , 172 , 156 , 253 , 172 , 158 , 253 , 173 , 160 , 253 , 174 , 162 , & 253 , 175 , 165 , 253 , 175 , 167 , 253 , 176 , 169 , 253 , 177 , 171 , & 253 , 178 , 173 , 253 , 178 , 175 , 253 , 179 , 177 , 253 , 180 , 180 , & 253 , 180 , 182 , 253 , 181 , 184 , 253 , 182 , 186 , 253 , 183 , 188 , & 253 , 183 , 190 , 253 , 184 , 192 , 253 , 185 , 194 , 253 , 186 , 196 , & 253 , 186 , 199 , 253 , 187 , 201 , 253 , 188 , 203 , 253 , 188 , 205 , & 252 , 189 , 207 , 252 , 190 , 209 , 252 , 191 , 211 , 252 , 191 , 214 , & 252 , 192 , 216 , 252 , 193 , 218 , 252 , 194 , 220 , 252 , 195 , 223 , & 252 , 195 , 225 , 252 , 196 , 227 , 252 , 197 , 229 , 251 , 198 , 232 , & 251 , 198 , 234 , 251 , 199 , 236 , 251 , 200 , 239 , 251 , 201 , 241 , & 251 , 202 , 243 , 251 , 202 , 246 , 250 , 203 , 248 , 250 , 204 , 250 & ], shape ( batlow ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: batlow10 = reshape ( [ & 1 , 25 , 89 , 16 , 63 , 96 , 28 , 90 , 98 , 60 , 109 , 86 , & 104 , 123 , 62 , 157 , 137 , 43 , 210 , 147 , 67 , 248 , 161 , 123 , & 253 , 183 , 188 , 250 , 204 , 250 & ], shape ( batlow10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlow100 = reshape ( [ & 1 , 25 , 89 , 4 , 30 , 90 , 6 , 33 , 91 , 8 , 37 , 91 , & 10 , 40 , 92 , 11 , 45 , 93 , 12 , 47 , 93 , 13 , 51 , 94 , & 14 , 55 , 94 , 15 , 57 , 95 , 16 , 61 , 95 , 16 , 63 , 96 , & 17 , 66 , 96 , 17 , 68 , 96 , 18 , 71 , 97 , 19 , 74 , 97 , & 20 , 76 , 98 , 21 , 79 , 98 , 22 , 80 , 98 , 23 , 83 , 98 , & 25 , 86 , 98 , 26 , 87 , 98 , 28 , 90 , 98 , 30 , 92 , 98 , & 32 , 94 , 97 , 34 , 96 , 97 , 37 , 98 , 96 , 40 , 100 , 95 , & 43 , 101 , 94 , 47 , 103 , 92 , 49 , 105 , 91 , 53 , 106 , 89 , & 56 , 108 , 88 , 60 , 109 , 86 , 65 , 111 , 83 , 68 , 112 , 82 , & 72 , 113 , 79 , 76 , 114 , 77 , 80 , 116 , 75 , 83 , 117 , 73 , & 88 , 118 , 70 , 93 , 120 , 68 , 96 , 121 , 66 , 101 , 122 , 63 , & 104 , 123 , 62 , 109 , 124 , 59 , 113 , 125 , 57 , 118 , 127 , 55 , & 123 , 128 , 52 , 127 , 129 , 51 , 132 , 131 , 49 , 136 , 132 , 47 , & 142 , 133 , 46 , 147 , 135 , 44 , 151 , 136 , 44 , 157 , 137 , 43 , & 161 , 138 , 43 , 167 , 139 , 44 , 171 , 140 , 45 , 177 , 141 , 47 , & 183 , 142 , 49 , 187 , 143 , 51 , 192 , 144 , 54 , 196 , 145 , 56 , & 202 , 146 , 60 , 205 , 146 , 63 , 210 , 147 , 67 , 216 , 148 , 72 , & 219 , 149 , 75 , 224 , 150 , 81 , 227 , 151 , 84 , 231 , 152 , 90 , & 234 , 153 , 94 , 238 , 155 , 100 , 241 , 157 , 107 , 243 , 158 , 112 , & 246 , 160 , 119 , 248 , 161 , 123 , 249 , 163 , 130 , 250 , 165 , 135 , & 252 , 167 , 142 , 252 , 169 , 149 , 253 , 171 , 154 , 253 , 173 , 160 , & 253 , 175 , 165 , 253 , 177 , 171 , 253 , 179 , 177 , 253 , 180 , 182 , & 253 , 183 , 188 , 253 , 184 , 192 , 253 , 186 , 199 , 253 , 188 , 203 , & 252 , 190 , 209 , 252 , 192 , 216 , 252 , 194 , 220 , 252 , 196 , 227 , & 251 , 198 , 232 , 251 , 200 , 239 , 251 , 202 , 243 , 250 , 204 , 250 & ], shape ( batlow100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: batlow25 = reshape ( [ & 1 , 25 , 89 , 10 , 42 , 92 , 14 , 55 , 94 , 17 , 67 , 96 , & 20 , 78 , 98 , 25 , 87 , 98 , 34 , 96 , 97 , 45 , 103 , 93 , & 60 , 109 , 86 , 77 , 115 , 77 , 93 , 120 , 68 , 111 , 125 , 58 , & 130 , 130 , 49 , 149 , 135 , 44 , 171 , 140 , 45 , 190 , 144 , 53 , & 210 , 147 , 67 , 228 , 151 , 86 , 241 , 157 , 107 , 250 , 164 , 133 , & 253 , 172 , 158 , 253 , 180 , 180 , 253 , 188 , 203 , 252 , 195 , 225 , & 250 , 204 , 250 & ], shape ( batlow25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: batlow50 = reshape ( [ & 1 , 25 , 89 , 6 , 33 , 91 , 10 , 40 , 92 , 13 , 49 , 93 , & 14 , 55 , 94 , 16 , 61 , 95 , 17 , 66 , 96 , 18 , 71 , 97 , & 20 , 77 , 98 , 22 , 81 , 98 , 25 , 86 , 98 , 28 , 90 , 98 , & 32 , 94 , 97 , 38 , 99 , 95 , 44 , 102 , 93 , 51 , 105 , 90 , & 58 , 108 , 87 , 65 , 111 , 83 , 74 , 114 , 78 , 82 , 116 , 74 , & 90 , 119 , 69 , 98 , 121 , 65 , 106 , 123 , 61 , 116 , 126 , 56 , & 125 , 129 , 52 , 134 , 131 , 48 , 143 , 134 , 45 , 155 , 137 , 43 , & 165 , 139 , 44 , 175 , 141 , 46 , 185 , 143 , 50 , 194 , 144 , 55 , & 205 , 146 , 63 , 214 , 148 , 70 , 222 , 150 , 79 , 230 , 152 , 88 , & 237 , 154 , 98 , 243 , 158 , 112 , 248 , 161 , 123 , 250 , 165 , 135 , & 252 , 169 , 147 , 253 , 172 , 158 , 253 , 177 , 171 , 253 , 180 , 182 , & 253 , 184 , 192 , 253 , 188 , 203 , 252 , 191 , 214 , 252 , 196 , 227 , & 251 , 200 , 239 , 250 , 204 , 250 & ], shape ( batlow50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: batlowK = reshape ( [ & 4 , 5 , 10 , 5 , 7 , 13 , 6 , 8 , 15 , 7 , 10 , 17 , & 9 , 12 , 19 , 10 , 13 , 21 , 11 , 15 , 23 , 12 , 16 , 25 , & 13 , 17 , 26 , 14 , 18 , 28 , 15 , 20 , 30 , 15 , 21 , 31 , & 16 , 22 , 33 , 16 , 23 , 35 , 17 , 24 , 37 , 17 , 26 , 39 , & 18 , 27 , 41 , 18 , 28 , 43 , 19 , 30 , 45 , 20 , 31 , 47 , & 20 , 32 , 49 , 21 , 34 , 51 , 21 , 35 , 53 , 22 , 37 , 55 , & 23 , 38 , 57 , 23 , 39 , 59 , 24 , 41 , 61 , 25 , 43 , 63 , & 26 , 44 , 65 , 26 , 46 , 67 , 27 , 47 , 69 , 28 , 49 , 70 , & 29 , 50 , 72 , 30 , 52 , 74 , 31 , 53 , 75 , 32 , 55 , 77 , & 33 , 56 , 79 , 34 , 58 , 80 , 35 , 59 , 81 , 36 , 61 , 83 , & 37 , 62 , 84 , 38 , 64 , 85 , 39 , 65 , 86 , 40 , 67 , 87 , & 41 , 68 , 88 , 42 , 69 , 89 , 43 , 71 , 90 , 44 , 72 , 91 , & 45 , 73 , 91 , 46 , 74 , 92 , 47 , 75 , 93 , 48 , 77 , 93 , & 49 , 78 , 94 , 50 , 79 , 94 , 51 , 80 , 94 , 52 , 81 , 95 , & 53 , 82 , 95 , 54 , 83 , 95 , 55 , 84 , 95 , 56 , 85 , 95 , & 57 , 85 , 95 , 58 , 86 , 95 , 59 , 87 , 95 , 60 , 88 , 95 , & 61 , 89 , 95 , 62 , 89 , 95 , 62 , 90 , 95 , 63 , 91 , 94 , & 64 , 92 , 94 , 65 , 92 , 94 , 66 , 93 , 94 , 67 , 93 , 93 , & 67 , 94 , 93 , 68 , 95 , 93 , 69 , 95 , 92 , 70 , 96 , 92 , & 71 , 97 , 92 , 72 , 97 , 91 , 73 , 98 , 91 , 73 , 98 , 90 , & 74 , 99 , 90 , 75 , 99 , 89 , 76 , 100 , 89 , 77 , 101 , 88 , & 78 , 101 , 88 , 79 , 102 , 87 , 80 , 102 , 87 , 81 , 103 , 86 , & 82 , 103 , 86 , 83 , 104 , 85 , 84 , 105 , 85 , 85 , 105 , 84 , & 86 , 106 , 83 , 87 , 106 , 83 , 88 , 107 , 82 , 89 , 108 , 81 , & 90 , 108 , 81 , 91 , 109 , 80 , 92 , 110 , 79 , 94 , 110 , 79 , & 95 , 111 , 78 , 96 , 112 , 77 , 97 , 112 , 77 , 98 , 113 , 76 , & 99 , 114 , 75 , 101 , 114 , 75 , 102 , 115 , 74 , 103 , 116 , 73 , & 105 , 116 , 73 , 106 , 117 , 72 , 107 , 118 , 71 , 108 , 118 , 71 , & 110 , 119 , 70 , 111 , 120 , 69 , 113 , 120 , 69 , 114 , 121 , 68 , & 115 , 122 , 67 , 117 , 123 , 67 , 118 , 123 , 66 , 120 , 124 , 65 , & 121 , 125 , 65 , 123 , 126 , 64 , 125 , 126 , 63 , 126 , 127 , 63 , & 128 , 128 , 62 , 129 , 129 , 62 , 131 , 129 , 61 , 133 , 130 , 61 , & 134 , 131 , 60 , 136 , 132 , 60 , 138 , 133 , 59 , 140 , 133 , 59 , & 142 , 134 , 58 , 143 , 135 , 58 , 145 , 136 , 58 , 147 , 136 , 57 , & 149 , 137 , 57 , 151 , 138 , 57 , 153 , 139 , 56 , 155 , 139 , 56 , & 157 , 140 , 56 , 159 , 141 , 56 , 161 , 142 , 56 , 163 , 142 , 56 , & 165 , 143 , 56 , 167 , 144 , 56 , 169 , 145 , 57 , 171 , 145 , 57 , & 173 , 146 , 57 , 175 , 147 , 58 , 177 , 147 , 58 , 179 , 148 , 59 , & 181 , 149 , 59 , 183 , 149 , 60 , 186 , 150 , 61 , 188 , 150 , 61 , & 190 , 151 , 62 , 192 , 152 , 63 , 194 , 152 , 64 , 196 , 153 , 65 , & 198 , 153 , 66 , 200 , 154 , 67 , 201 , 154 , 69 , 203 , 155 , 70 , & 205 , 155 , 71 , 207 , 156 , 73 , 209 , 156 , 74 , 211 , 157 , 76 , & 212 , 157 , 77 , 214 , 157 , 79 , 216 , 158 , 80 , 217 , 158 , 82 , & 219 , 159 , 84 , 220 , 159 , 85 , 222 , 160 , 87 , 223 , 160 , 89 , & 225 , 160 , 91 , 226 , 161 , 93 , 228 , 161 , 95 , 229 , 161 , 96 , & 230 , 162 , 98 , 231 , 162 , 100 , 232 , 163 , 102 , 234 , 163 , 104 , & 235 , 163 , 106 , 236 , 164 , 108 , 237 , 164 , 110 , 238 , 165 , 112 , & 239 , 165 , 114 , 240 , 165 , 116 , 240 , 166 , 118 , 241 , 166 , 120 , & 242 , 167 , 122 , 243 , 167 , 124 , 243 , 167 , 126 , 244 , 168 , 128 , & 245 , 168 , 130 , 245 , 169 , 132 , 246 , 169 , 134 , 246 , 170 , 136 , & 247 , 170 , 139 , 247 , 171 , 141 , 248 , 171 , 143 , 248 , 172 , 145 , & 249 , 172 , 146 , 249 , 173 , 148 , 250 , 173 , 150 , 250 , 174 , 152 , & 250 , 174 , 154 , 251 , 175 , 156 , 251 , 175 , 158 , 251 , 176 , 160 , & 251 , 176 , 162 , 252 , 177 , 164 , 252 , 177 , 166 , 252 , 178 , 168 , & 252 , 178 , 170 , 252 , 179 , 172 , 252 , 179 , 174 , 253 , 180 , 176 , & 253 , 181 , 178 , 253 , 181 , 180 , 253 , 182 , 182 , 253 , 182 , 183 , & 253 , 183 , 185 , 253 , 183 , 187 , 253 , 184 , 189 , 253 , 185 , 191 , & 253 , 185 , 193 , 253 , 186 , 195 , 253 , 187 , 197 , 253 , 187 , 199 , & 253 , 188 , 201 , 253 , 188 , 203 , 253 , 189 , 205 , 253 , 190 , 207 , & 253 , 190 , 209 , 253 , 191 , 211 , 253 , 192 , 214 , 253 , 193 , 216 , & 253 , 193 , 218 , 253 , 194 , 220 , 253 , 195 , 222 , 253 , 195 , 224 , & 252 , 196 , 226 , 252 , 197 , 228 , 252 , 198 , 231 , 252 , 198 , 233 , & 252 , 199 , 235 , 252 , 200 , 237 , 251 , 200 , 239 , 251 , 201 , 241 , & 251 , 202 , 244 , 251 , 203 , 246 , 251 , 203 , 248 , 250 , 204 , 250 & ], shape ( batlowK ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: batlowK10 = reshape ( [ & 4 , 5 , 10 , 26 , 44 , 65 , 54 , 83 , 95 , 79 , 102 , 87 , & 111 , 120 , 69 , 161 , 142 , 56 , 216 , 158 , 80 , 246 , 169 , 134 , & 253 , 185 , 191 , 250 , 204 , 250 & ], shape ( batlowK10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowK100 = reshape ( [ & 4 , 5 , 10 , 7 , 10 , 17 , 10 , 13 , 21 , 13 , 17 , 26 , & 15 , 20 , 30 , 16 , 23 , 35 , 17 , 26 , 39 , 19 , 30 , 45 , & 21 , 34 , 51 , 22 , 37 , 55 , 24 , 41 , 61 , 26 , 44 , 65 , & 28 , 49 , 70 , 30 , 52 , 74 , 33 , 56 , 79 , 36 , 61 , 83 , & 38 , 64 , 85 , 41 , 68 , 88 , 43 , 71 , 90 , 46 , 74 , 92 , & 49 , 78 , 94 , 51 , 80 , 94 , 54 , 83 , 95 , 56 , 85 , 95 , & 59 , 87 , 95 , 61 , 89 , 95 , 63 , 91 , 94 , 66 , 93 , 94 , & 67 , 94 , 93 , 70 , 96 , 92 , 72 , 97 , 91 , 74 , 99 , 90 , & 76 , 100 , 89 , 79 , 102 , 87 , 82 , 103 , 86 , 84 , 105 , 85 , & 87 , 106 , 83 , 89 , 108 , 81 , 92 , 110 , 79 , 95 , 111 , 78 , & 98 , 113 , 76 , 102 , 115 , 74 , 105 , 116 , 73 , 108 , 118 , 71 , & 111 , 120 , 69 , 115 , 122 , 67 , 118 , 123 , 66 , 123 , 126 , 64 , & 128 , 128 , 62 , 131 , 129 , 61 , 136 , 132 , 60 , 140 , 133 , 59 , & 145 , 136 , 58 , 151 , 138 , 57 , 155 , 139 , 56 , 161 , 142 , 56 , & 165 , 143 , 56 , 171 , 145 , 57 , 175 , 147 , 58 , 181 , 149 , 59 , & 188 , 150 , 61 , 192 , 152 , 63 , 198 , 153 , 66 , 201 , 154 , 69 , & 207 , 156 , 73 , 211 , 157 , 76 , 216 , 158 , 80 , 220 , 159 , 85 , & 223 , 160 , 89 , 228 , 161 , 95 , 230 , 162 , 98 , 234 , 163 , 104 , & 236 , 164 , 108 , 239 , 165 , 114 , 241 , 166 , 120 , 243 , 167 , 124 , & 245 , 168 , 130 , 246 , 169 , 134 , 247 , 171 , 141 , 248 , 172 , 145 , & 250 , 173 , 150 , 251 , 175 , 156 , 251 , 176 , 160 , 252 , 177 , 166 , & 252 , 178 , 170 , 253 , 180 , 176 , 253 , 182 , 182 , 253 , 183 , 185 , & 253 , 185 , 191 , 253 , 186 , 195 , 253 , 188 , 201 , 253 , 189 , 205 , & 253 , 191 , 211 , 253 , 193 , 218 , 253 , 195 , 222 , 252 , 197 , 228 , & 252 , 198 , 233 , 251 , 200 , 239 , 251 , 202 , 244 , 250 , 204 , 250 & ], shape ( batlowK100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: batlowK25 = reshape ( [ & 4 , 5 , 10 , 15 , 21 , 31 , 21 , 34 , 51 , 29 , 50 , 72 , & 40 , 67 , 87 , 50 , 79 , 94 , 61 , 89 , 95 , 69 , 95 , 92 , & 79 , 102 , 87 , 90 , 108 , 81 , 102 , 115 , 74 , 117 , 123 , 67 , & 134 , 131 , 60 , 153 , 139 , 56 , 175 , 147 , 58 , 196 , 153 , 65 , & 216 , 158 , 80 , 231 , 162 , 100 , 241 , 166 , 120 , 248 , 171 , 143 , & 252 , 177 , 164 , 253 , 182 , 183 , 253 , 189 , 205 , 252 , 196 , 226 , & 250 , 204 , 250 & ], shape ( batlowK25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: batlowK50 = reshape ( [ & 4 , 5 , 10 , 10 , 13 , 21 , 15 , 20 , 30 , 18 , 27 , 41 , & 21 , 34 , 51 , 24 , 41 , 61 , 28 , 49 , 70 , 33 , 56 , 79 , & 39 , 65 , 86 , 44 , 72 , 91 , 49 , 78 , 94 , 54 , 83 , 95 , & 59 , 87 , 95 , 64 , 92 , 94 , 68 , 95 , 93 , 73 , 98 , 91 , & 77 , 101 , 88 , 82 , 103 , 86 , 88 , 107 , 82 , 94 , 110 , 79 , & 99 , 114 , 75 , 106 , 117 , 72 , 113 , 120 , 69 , 121 , 125 , 65 , & 129 , 129 , 62 , 138 , 133 , 59 , 147 , 136 , 57 , 159 , 141 , 56 , & 169 , 145 , 57 , 179 , 148 , 59 , 190 , 151 , 62 , 200 , 154 , 67 , & 211 , 157 , 76 , 219 , 159 , 84 , 226 , 161 , 93 , 232 , 163 , 102 , & 238 , 165 , 112 , 243 , 167 , 124 , 246 , 169 , 134 , 248 , 172 , 145 , & 250 , 174 , 154 , 252 , 177 , 164 , 253 , 180 , 176 , 253 , 183 , 185 , & 253 , 186 , 195 , 253 , 189 , 205 , 253 , 193 , 216 , 252 , 197 , 228 , & 251 , 200 , 239 , 250 , 204 , 250 & ], shape ( batlowK50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowKS = reshape ( [ & 4 , 5 , 10 , 253 , 192 , 214 , 120 , 124 , 65 , 57 , 85 , 95 , & 229 , 161 , 96 , 27 , 47 , 69 , 175 , 147 , 58 , 84 , 105 , 85 , & 250 , 174 , 154 , 17 , 26 , 39 , 145 , 136 , 58 , 205 , 155 , 71 , & 70 , 96 , 92 , 253 , 182 , 183 , 42 , 69 , 89 , 101 , 114 , 75 , & 243 , 167 , 126 , 50 , 79 , 94 , 253 , 187 , 199 , 252 , 178 , 168 , & 247 , 171 , 141 , 13 , 17 , 26 , 63 , 91 , 94 , 110 , 119 , 70 , & 133 , 130 , 61 , 92 , 110 , 79 , 190 , 151 , 62 , 159 , 141 , 56 , & 219 , 159 , 84 , 77 , 101 , 88 , 35 , 59 , 81 , 21 , 35 , 53 , & 238 , 165 , 112 , 212 , 157 , 77 , 31 , 53 , 75 , 253 , 180 , 176 , & 24 , 41 , 61 , 198 , 153 , 66 , 9 , 12 , 19 , 167 , 144 , 56 , & 46 , 74 , 92 , 253 , 185 , 191 , 67 , 93 , 93 , 73 , 98 , 90 , & 234 , 163 , 104 , 126 , 127 , 63 , 88 , 107 , 82 , 115 , 122 , 67 , & 183 , 149 , 60 , 96 , 112 , 77 , 16 , 22 , 33 , 225 , 160 , 91 , & 54 , 83 , 95 , 241 , 166 , 120 , 105 , 116 , 73 , 249 , 173 , 148 , & 251 , 176 , 162 , 245 , 169 , 132 , 140 , 133 , 59 , 61 , 89 , 95 , & 151 , 138 , 57 , 19 , 30 , 45 , 80 , 102 , 87 , 39 , 65 , 86 , & 253 , 189 , 205 , 216 , 158 , 80 , 251 , 175 , 158 , 222 , 160 , 87 , & 11 , 15 , 23 , 129 , 129 , 62 , 155 , 139 , 56 , 48 , 77 , 93 , & 82 , 103 , 86 , 240 , 165 , 116 , 65 , 92 , 94 , 107 , 118 , 71 , & 236 , 164 , 108 , 90 , 108 , 81 , 248 , 172 , 145 , 179 , 148 , 59 , & 20 , 32 , 49 , 253 , 190 , 209 , 123 , 126 , 64 , 33 , 56 , 79 , & 23 , 38 , 57 , 15 , 20 , 30 , 6 , 8 , 15 , 75 , 99 , 89 , & 163 , 142 , 56 , 252 , 179 , 172 , 194 , 152 , 64 , 136 , 132 , 60 , & 52 , 81 , 95 , 59 , 87 , 95 , 209 , 156 , 74 , 72 , 97 , 91 , & 113 , 120 , 69 , 29 , 50 , 72 , 98 , 113 , 76 , 253 , 186 , 195 & ], shape ( batlowKS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowS = reshape ( [ & 1 , 25 , 89 , 250 , 204 , 250 , 130 , 130 , 49 , 34 , 96 , 97 , & 241 , 157 , 107 , 17 , 67 , 96 , 253 , 180 , 180 , 77 , 115 , 77 , & 192 , 144 , 54 , 103 , 123 , 62 , 252 , 191 , 214 , 161 , 138 , 43 , & 252 , 168 , 144 , 53 , 106 , 89 , 13 , 49 , 93 , 23 , 82 , 98 , & 219 , 149 , 75 , 248 , 162 , 126 , 43 , 101 , 94 , 145 , 134 , 45 , & 90 , 119 , 69 , 27 , 89 , 98 , 253 , 186 , 196 , 177 , 141 , 47 , & 8 , 37 , 91 , 19 , 75 , 97 , 65 , 111 , 83 , 231 , 152 , 90 , & 15 , 59 , 95 , 251 , 198 , 232 , 253 , 174 , 162 , 116 , 126 , 56 , & 207 , 147 , 64 , 169 , 140 , 44 , 252 , 195 , 223 , 48 , 104 , 92 , & 253 , 183 , 188 , 5 , 31 , 90 , 109 , 124 , 59 , 18 , 71 , 97 , & 59 , 109 , 86 , 21 , 79 , 98 , 200 , 145 , 59 , 225 , 151 , 82 , & 71 , 113 , 80 , 14 , 54 , 94 , 11 , 43 , 92 , 16 , 63 , 96 , & 30 , 93 , 98 , 25 , 86 , 98 , 251 , 201 , 241 , 250 , 165 , 135 , & 253 , 171 , 154 , 38 , 99 , 95 , 96 , 121 , 66 , 138 , 132 , 47 , & 253 , 188 , 205 , 253 , 177 , 171 , 245 , 159 , 116 , 123 , 128 , 52 , & 153 , 136 , 44 , 237 , 154 , 98 , 83 , 117 , 73 , 185 , 143 , 50 , & 212 , 148 , 69 , 249 , 163 , 130 , 253 , 178 , 175 , 243 , 158 , 112 , & 93 , 120 , 68 , 56 , 108 , 88 , 12 , 46 , 93 , 252 , 169 , 149 , & 16 , 61 , 95 , 3 , 28 , 90 , 40 , 100 , 95 , 252 , 193 , 218 , & 203 , 146 , 62 , 80 , 116 , 75 , 253 , 175 , 167 , 196 , 145 , 56 , & 165 , 139 , 44 , 99 , 122 , 64 , 251 , 199 , 236 , 251 , 166 , 140 , & 7 , 34 , 91 , 20 , 77 , 98 , 120 , 127 , 54 , 149 , 135 , 44 , & 36 , 97 , 96 , 106 , 123 , 61 , 74 , 114 , 78 , 19 , 73 , 97 , & 252 , 196 , 227 , 62 , 110 , 85 , 253 , 172 , 158 , 13 , 51 , 94 , & 113 , 125 , 57 , 17 , 65 , 96 , 51 , 105 , 90 , 252 , 190 , 209 & ], shape ( batlowS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: batlowW = reshape ( [ & 1 , 25 , 89 , 2 , 27 , 89 , 3 , 28 , 90 , 4 , 30 , 90 , & 5 , 31 , 90 , 6 , 33 , 91 , 7 , 34 , 91 , 7 , 36 , 91 , & 8 , 37 , 91 , 9 , 39 , 92 , 10 , 40 , 92 , 10 , 42 , 92 , & 11 , 43 , 92 , 11 , 45 , 93 , 12 , 46 , 93 , 12 , 47 , 93 , & 13 , 49 , 93 , 13 , 50 , 94 , 13 , 51 , 94 , 14 , 53 , 94 , & 14 , 54 , 94 , 14 , 55 , 94 , 15 , 56 , 95 , 15 , 58 , 95 , & 15 , 59 , 95 , 15 , 60 , 95 , 16 , 61 , 95 , 16 , 62 , 95 , & 16 , 63 , 96 , 16 , 64 , 96 , 16 , 65 , 96 , 17 , 66 , 96 , & 17 , 67 , 96 , 17 , 68 , 96 , 17 , 69 , 97 , 18 , 70 , 97 , & 18 , 71 , 97 , 18 , 71 , 97 , 18 , 72 , 97 , 19 , 73 , 97 , & 19 , 74 , 97 , 19 , 75 , 97 , 20 , 76 , 98 , 20 , 77 , 98 , & 20 , 78 , 98 , 21 , 79 , 98 , 21 , 80 , 98 , 22 , 80 , 98 , & 22 , 81 , 98 , 22 , 82 , 98 , 23 , 83 , 98 , 23 , 84 , 98 , & 24 , 85 , 98 , 24 , 86 , 98 , 25 , 87 , 98 , 26 , 88 , 98 , & 26 , 88 , 98 , 27 , 89 , 98 , 28 , 90 , 98 , 28 , 91 , 98 , & 29 , 92 , 98 , 30 , 93 , 98 , 31 , 93 , 98 , 31 , 94 , 98 , & 32 , 95 , 97 , 33 , 96 , 97 , 34 , 97 , 97 , 35 , 97 , 97 , & 36 , 98 , 97 , 37 , 99 , 96 , 38 , 100 , 96 , 39 , 100 , 96 , & 40 , 101 , 95 , 42 , 102 , 95 , 43 , 103 , 94 , 44 , 103 , 94 , & 45 , 104 , 94 , 46 , 105 , 93 , 48 , 105 , 93 , 49 , 106 , 92 , & 50 , 107 , 92 , 52 , 107 , 91 , 53 , 108 , 90 , 54 , 108 , 90 , & 56 , 109 , 89 , 57 , 110 , 89 , 58 , 110 , 88 , 60 , 111 , 87 , & 61 , 112 , 86 , 63 , 112 , 86 , 64 , 113 , 85 , 66 , 113 , 84 , & 67 , 114 , 84 , 69 , 115 , 83 , 70 , 115 , 82 , 72 , 116 , 81 , & 73 , 116 , 81 , 75 , 117 , 80 , 76 , 117 , 79 , 78 , 118 , 78 , & 79 , 119 , 77 , 81 , 119 , 77 , 83 , 120 , 76 , 84 , 120 , 75 , & 86 , 121 , 74 , 87 , 122 , 73 , 89 , 122 , 73 , 91 , 123 , 72 , & 92 , 123 , 71 , 94 , 124 , 70 , 95 , 124 , 69 , 97 , 125 , 69 , & 99 , 126 , 68 , 100 , 126 , 67 , 102 , 127 , 66 , 104 , 127 , 65 , & 105 , 128 , 64 , 107 , 129 , 64 , 109 , 129 , 63 , 110 , 130 , 62 , & 112 , 130 , 61 , 114 , 131 , 61 , 116 , 132 , 60 , 117 , 132 , 59 , & 119 , 133 , 58 , 121 , 133 , 57 , 123 , 134 , 57 , 124 , 135 , 56 , & 126 , 135 , 55 , 128 , 136 , 55 , 130 , 137 , 54 , 132 , 137 , 53 , & 134 , 138 , 53 , 136 , 139 , 52 , 138 , 139 , 52 , 140 , 140 , 51 , & 142 , 141 , 51 , 144 , 141 , 51 , 146 , 142 , 50 , 148 , 143 , 50 , & 150 , 143 , 50 , 152 , 144 , 50 , 154 , 145 , 50 , 156 , 146 , 50 , & 158 , 146 , 51 , 160 , 147 , 51 , 162 , 148 , 51 , 164 , 148 , 52 , & 167 , 149 , 53 , 169 , 150 , 54 , 171 , 151 , 55 , 173 , 151 , 56 , & 175 , 152 , 57 , 177 , 153 , 58 , 179 , 153 , 59 , 181 , 154 , 61 , & 183 , 155 , 63 , 186 , 155 , 64 , 187 , 156 , 66 , 189 , 157 , 68 , & 191 , 157 , 70 , 193 , 158 , 72 , 195 , 159 , 74 , 197 , 159 , 76 , & 198 , 160 , 78 , 200 , 160 , 80 , 202 , 161 , 82 , 203 , 161 , 84 , & 205 , 162 , 86 , 206 , 162 , 88 , 208 , 163 , 90 , 209 , 163 , 92 , & 211 , 164 , 94 , 212 , 164 , 96 , 213 , 165 , 98 , 215 , 165 , 100 , & 216 , 165 , 102 , 217 , 166 , 105 , 218 , 166 , 107 , 219 , 167 , 109 , & 220 , 167 , 111 , 221 , 167 , 112 , 223 , 168 , 114 , 224 , 168 , 116 , & 225 , 169 , 118 , 226 , 169 , 120 , 227 , 169 , 122 , 228 , 170 , 124 , & 229 , 170 , 126 , 229 , 171 , 128 , 230 , 171 , 130 , 231 , 171 , 132 , & 232 , 172 , 134 , 233 , 172 , 136 , 234 , 173 , 137 , 235 , 173 , 139 , & 236 , 174 , 141 , 237 , 175 , 143 , 238 , 175 , 145 , 238 , 176 , 148 , & 239 , 177 , 150 , 240 , 177 , 152 , 241 , 178 , 154 , 242 , 179 , 156 , & 243 , 180 , 158 , 243 , 181 , 161 , 244 , 182 , 163 , 245 , 183 , 166 , & 246 , 185 , 168 , 247 , 186 , 170 , 247 , 187 , 173 , 248 , 189 , 175 , & 249 , 190 , 178 , 249 , 192 , 181 , 250 , 193 , 183 , 250 , 195 , 186 , & 251 , 197 , 188 , 252 , 198 , 191 , 252 , 200 , 193 , 252 , 202 , 196 , & 253 , 204 , 198 , 253 , 205 , 201 , 253 , 207 , 203 , 254 , 209 , 205 , & 254 , 211 , 207 , 254 , 213 , 210 , 254 , 214 , 212 , 254 , 216 , 214 , & 255 , 218 , 216 , 255 , 219 , 218 , 255 , 221 , 219 , 255 , 223 , 221 , & 255 , 224 , 223 , 255 , 226 , 225 , 255 , 227 , 226 , 255 , 229 , 228 , & 255 , 230 , 230 , 255 , 232 , 231 , 255 , 233 , 233 , 255 , 234 , 234 , & 255 , 236 , 235 , 255 , 237 , 237 , 255 , 239 , 238 , 255 , 240 , 240 , & 255 , 241 , 241 , 255 , 242 , 242 , 255 , 244 , 243 , 255 , 245 , 245 , & 255 , 246 , 246 , 255 , 247 , 247 , 255 , 248 , 248 , 255 , 250 , 249 , & 255 , 251 , 251 , 255 , 252 , 252 , 255 , 253 , 253 , 255 , 254 , 254 & ], shape ( batlowW ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: batlowW10 = reshape ( [ & 1 , 25 , 89 , 16 , 63 , 96 , 27 , 89 , 98 , 57 , 110 , 89 , & 100 , 126 , 67 , 154 , 145 , 50 , 208 , 163 , 90 , 238 , 175 , 145 , & 254 , 216 , 214 , 255 , 254 , 254 & ], shape ( batlowW10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowW100 = reshape ( [ & 1 , 25 , 89 , 4 , 30 , 90 , 6 , 33 , 91 , 8 , 37 , 91 , & 10 , 40 , 92 , 11 , 45 , 93 , 12 , 47 , 93 , 13 , 51 , 94 , & 14 , 55 , 94 , 15 , 58 , 95 , 16 , 61 , 95 , 16 , 63 , 96 , & 17 , 66 , 96 , 17 , 68 , 96 , 18 , 71 , 97 , 19 , 73 , 97 , & 19 , 75 , 97 , 20 , 78 , 98 , 21 , 80 , 98 , 22 , 82 , 98 , & 24 , 85 , 98 , 25 , 87 , 98 , 27 , 89 , 98 , 28 , 91 , 98 , & 31 , 93 , 98 , 32 , 95 , 97 , 35 , 97 , 97 , 38 , 100 , 96 , & 40 , 101 , 95 , 44 , 103 , 94 , 46 , 105 , 93 , 50 , 107 , 92 , & 53 , 108 , 90 , 57 , 110 , 89 , 61 , 112 , 86 , 64 , 113 , 85 , & 69 , 115 , 83 , 72 , 116 , 81 , 76 , 117 , 79 , 79 , 119 , 77 , & 84 , 120 , 75 , 89 , 122 , 73 , 92 , 123 , 71 , 97 , 125 , 69 , & 100 , 126 , 67 , 105 , 128 , 64 , 109 , 129 , 63 , 114 , 131 , 61 , & 119 , 133 , 58 , 123 , 134 , 57 , 128 , 136 , 55 , 132 , 137 , 53 , & 138 , 139 , 52 , 144 , 141 , 51 , 148 , 143 , 50 , 154 , 145 , 50 , & 158 , 146 , 51 , 164 , 148 , 52 , 169 , 150 , 54 , 175 , 152 , 57 , & 181 , 154 , 61 , 186 , 155 , 64 , 191 , 157 , 70 , 195 , 159 , 74 , & 200 , 160 , 80 , 203 , 161 , 84 , 208 , 163 , 90 , 212 , 164 , 96 , & 215 , 165 , 100 , 218 , 166 , 107 , 220 , 167 , 111 , 224 , 168 , 116 , & 226 , 169 , 120 , 229 , 170 , 126 , 231 , 171 , 132 , 233 , 172 , 136 , & 236 , 174 , 141 , 238 , 175 , 145 , 240 , 177 , 152 , 242 , 179 , 156 , & 244 , 182 , 163 , 247 , 186 , 170 , 248 , 189 , 175 , 250 , 193 , 183 , & 251 , 197 , 188 , 252 , 202 , 196 , 253 , 207 , 203 , 254 , 211 , 207 , & 254 , 216 , 214 , 255 , 219 , 218 , 255 , 224 , 223 , 255 , 227 , 226 , & 255 , 232 , 231 , 255 , 236 , 235 , 255 , 239 , 238 , 255 , 242 , 242 , & 255 , 245 , 245 , 255 , 248 , 248 , 255 , 251 , 251 , 255 , 254 , 254 & ], shape ( batlowW100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: batlowW25 = reshape ( [ & 1 , 25 , 89 , 10 , 42 , 92 , 14 , 55 , 94 , 17 , 67 , 96 , & 20 , 77 , 98 , 24 , 86 , 98 , 32 , 95 , 97 , 43 , 103 , 94 , & 57 , 110 , 89 , 73 , 116 , 81 , 89 , 122 , 73 , 107 , 129 , 64 , & 126 , 135 , 55 , 146 , 142 , 50 , 169 , 150 , 54 , 189 , 157 , 68 , & 208 , 163 , 90 , 221 , 167 , 112 , 231 , 171 , 132 , 241 , 178 , 154 , & 249 , 192 , 181 , 254 , 209 , 205 , 255 , 227 , 226 , 255 , 241 , 241 , & 255 , 254 , 254 & ], shape ( batlowW25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: batlowW50 = reshape ( [ & 1 , 25 , 89 , 6 , 33 , 91 , 10 , 40 , 92 , 13 , 49 , 93 , & 14 , 55 , 94 , 16 , 61 , 95 , 17 , 66 , 96 , 18 , 71 , 97 , & 20 , 76 , 98 , 22 , 80 , 98 , 24 , 85 , 98 , 27 , 89 , 98 , & 31 , 93 , 98 , 36 , 98 , 97 , 42 , 102 , 95 , 48 , 105 , 93 , & 54 , 108 , 90 , 61 , 112 , 86 , 70 , 115 , 82 , 78 , 118 , 78 , & 86 , 121 , 74 , 94 , 124 , 70 , 102 , 127 , 66 , 112 , 130 , 61 , & 121 , 133 , 57 , 130 , 137 , 54 , 140 , 140 , 51 , 152 , 144 , 50 , & 162 , 148 , 51 , 173 , 151 , 56 , 183 , 155 , 63 , 193 , 158 , 72 , & 203 , 161 , 84 , 211 , 164 , 94 , 217 , 166 , 105 , 223 , 168 , 114 , & 228 , 170 , 124 , 233 , 172 , 136 , 238 , 175 , 145 , 242 , 179 , 156 , & 246 , 185 , 168 , 249 , 192 , 181 , 252 , 202 , 196 , 254 , 211 , 207 , & 255 , 219 , 218 , 255 , 227 , 226 , 255 , 234 , 234 , 255 , 242 , 242 , & 255 , 248 , 248 , 255 , 254 , 254 & ], shape ( batlowW50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: batlowWS = reshape ( [ & 255 , 254 , 254 , 1 , 25 , 89 , 124 , 135 , 56 , 231 , 171 , 132 , & 32 , 95 , 97 , 189 , 157 , 68 , 254 , 209 , 205 , 17 , 67 , 96 , & 73 , 116 , 81 , 13 , 49 , 93 , 156 , 146 , 50 , 50 , 107 , 92 , & 22 , 81 , 98 , 245 , 183 , 166 , 255 , 234 , 234 , 215 , 165 , 100 , & 99 , 126 , 68 , 19 , 74 , 97 , 173 , 151 , 56 , 203 , 161 , 84 , & 8 , 37 , 91 , 255 , 245 , 245 , 224 , 168 , 116 , 86 , 121 , 74 , & 61 , 112 , 86 , 255 , 223 , 221 , 250 , 195 , 186 , 26 , 88 , 98 , & 238 , 176 , 148 , 140 , 140 , 51 , 15 , 59 , 95 , 40 , 101 , 95 , & 110 , 130 , 62 , 255 , 229 , 228 , 45 , 104 , 94 , 148 , 143 , 50 , & 132 , 137 , 53 , 219 , 167 , 109 , 209 , 163 , 92 , 14 , 54 , 94 , & 164 , 148 , 52 , 24 , 85 , 98 , 248 , 189 , 175 , 255 , 240 , 240 , & 235 , 173 , 139 , 67 , 114 , 84 , 36 , 98 , 97 , 11 , 43 , 92 , & 255 , 250 , 249 , 242 , 179 , 156 , 92 , 123 , 71 , 181 , 154 , 61 , & 252 , 202 , 196 , 18 , 71 , 97 , 117 , 132 , 59 , 29 , 92 , 98 , & 56 , 109 , 89 , 254 , 216 , 214 , 20 , 78 , 98 , 197 , 159 , 76 , & 79 , 119 , 77 , 16 , 63 , 96 , 5 , 31 , 90 , 228 , 170 , 124 , & 104 , 127 , 65 , 21 , 80 , 98 , 53 , 108 , 90 , 89 , 122 , 73 , & 193 , 158 , 72 , 255 , 237 , 237 , 3 , 28 , 90 , 64 , 113 , 85 , & 240 , 177 , 152 , 255 , 219 , 218 , 229 , 171 , 128 , 16 , 61 , 95 , & 237 , 175 , 143 , 136 , 139 , 52 , 15 , 56 , 95 , 247 , 186 , 170 , & 152 , 144 , 50 , 70 , 115 , 82 , 83 , 120 , 76 , 48 , 105 , 93 , & 226 , 169 , 120 , 169 , 150 , 54 , 23 , 83 , 98 , 12 , 46 , 93 , & 160 , 147 , 51 , 221 , 167 , 112 , 177 , 153 , 58 , 217 , 166 , 105 , & 243 , 181 , 161 , 255 , 226 , 225 , 253 , 205 , 201 , 107 , 129 , 64 , & 255 , 242 , 242 , 13 , 51 , 94 , 252 , 198 , 191 , 249 , 192 , 181 & ], shape ( batlowWS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: berlin = reshape ( [ & 158 , 176 , 255 , 156 , 176 , 254 , 154 , 176 , 253 , 152 , 175 , 252 , & 149 , 175 , 251 , 147 , 175 , 250 , 145 , 174 , 249 , 142 , 174 , 247 , & 140 , 174 , 246 , 138 , 174 , 245 , 135 , 173 , 244 , 133 , 173 , 243 , & 130 , 173 , 242 , 128 , 172 , 241 , 126 , 172 , 240 , 123 , 172 , 238 , & 121 , 171 , 237 , 118 , 171 , 236 , 116 , 170 , 235 , 113 , 170 , 233 , & 111 , 169 , 232 , 108 , 169 , 230 , 106 , 168 , 229 , 103 , 168 , 227 , & 101 , 167 , 226 , 98 , 166 , 224 , 96 , 165 , 223 , 93 , 165 , 221 , & 91 , 164 , 219 , 88 , 163 , 217 , 86 , 162 , 215 , 84 , 160 , 213 , & 81 , 159 , 211 , 79 , 158 , 209 , 77 , 157 , 207 , 75 , 155 , 205 , & 72 , 154 , 202 , 70 , 152 , 200 , 68 , 151 , 198 , 67 , 149 , 195 , & 65 , 148 , 193 , 63 , 146 , 190 , 62 , 144 , 188 , 60 , 142 , 185 , & 59 , 141 , 183 , 57 , 139 , 180 , 56 , 137 , 178 , 55 , 135 , 175 , & 54 , 133 , 173 , 53 , 132 , 170 , 51 , 130 , 168 , 50 , 128 , 166 , & 50 , 126 , 163 , 49 , 124 , 161 , 48 , 122 , 158 , 47 , 120 , 156 , & 46 , 118 , 153 , 45 , 117 , 151 , 44 , 115 , 148 , 44 , 113 , 146 , & 43 , 111 , 143 , 42 , 109 , 141 , 41 , 107 , 139 , 41 , 105 , 136 , & 40 , 104 , 134 , 39 , 102 , 131 , 39 , 100 , 129 , 38 , 98 , 127 , & 37 , 96 , 124 , 36 , 94 , 122 , 36 , 93 , 120 , 35 , 91 , 117 , & 34 , 89 , 115 , 34 , 87 , 113 , 33 , 85 , 110 , 32 , 84 , 108 , & 32 , 82 , 106 , 31 , 80 , 104 , 30 , 78 , 101 , 30 , 77 , 99 , & 29 , 75 , 97 , 28 , 73 , 95 , 28 , 71 , 92 , 27 , 70 , 90 , & 26 , 68 , 88 , 26 , 66 , 86 , 25 , 65 , 83 , 25 , 63 , 81 , & 24 , 61 , 79 , 23 , 60 , 77 , 23 , 58 , 75 , 22 , 56 , 73 , & 22 , 55 , 71 , 21 , 53 , 68 , 21 , 51 , 66 , 20 , 50 , 64 , & 20 , 48 , 62 , 19 , 47 , 60 , 19 , 45 , 58 , 18 , 44 , 56 , & 18 , 42 , 54 , 18 , 41 , 52 , 17 , 39 , 50 , 17 , 38 , 48 , & 17 , 36 , 46 , 17 , 35 , 44 , 17 , 33 , 42 , 17 , 32 , 40 , & 16 , 31 , 38 , 16 , 29 , 37 , 16 , 28 , 35 , 17 , 27 , 33 , & 17 , 26 , 32 , 17 , 25 , 30 , 17 , 24 , 28 , 17 , 22 , 27 , & 17 , 21 , 25 , 17 , 20 , 24 , 17 , 19 , 23 , 18 , 18 , 21 , & 18 , 18 , 20 , 19 , 17 , 18 , 20 , 16 , 17 , 20 , 15 , 16 , & 21 , 14 , 14 , 22 , 14 , 13 , 23 , 13 , 11 , 24 , 12 , 10 , & 25 , 12 , 9 , 26 , 12 , 8 , 27 , 11 , 7 , 28 , 11 , 6 , & 29 , 11 , 5 , 30 , 11 , 4 , 32 , 11 , 4 , 33 , 11 , 3 , & 34 , 12 , 2 , 35 , 12 , 2 , 36 , 12 , 2 , 37 , 12 , 1 , & 38 , 13 , 1 , 39 , 13 , 1 , 40 , 13 , 1 , 42 , 14 , 1 , & 43 , 14 , 1 , 44 , 14 , 0 , 45 , 14 , 0 , 47 , 14 , 0 , & 48 , 15 , 0 , 49 , 15 , 0 , 51 , 15 , 0 , 52 , 15 , 0 , & 53 , 16 , 0 , 55 , 16 , 0 , 56 , 16 , 0 , 57 , 17 , 0 , & 59 , 17 , 0 , 60 , 17 , 1 , 62 , 18 , 1 , 63 , 18 , 1 , & 65 , 18 , 1 , 66 , 19 , 1 , 68 , 19 , 1 , 69 , 20 , 1 , & 71 , 20 , 1 , 72 , 21 , 2 , 74 , 21 , 2 , 75 , 22 , 2 , & 77 , 22 , 2 , 79 , 23 , 3 , 80 , 24 , 3 , 82 , 24 , 4 , & 84 , 25 , 5 , 86 , 26 , 5 , 87 , 27 , 6 , 89 , 28 , 7 , & 91 , 29 , 8 , 93 , 30 , 9 , 95 , 31 , 10 , 97 , 32 , 11 , & 99 , 33 , 12 , 101 , 35 , 14 , 104 , 36 , 15 , 106 , 37 , 16 , & 108 , 39 , 17 , 110 , 40 , 19 , 112 , 42 , 20 , 115 , 43 , 22 , & 117 , 45 , 23 , 119 , 47 , 25 , 121 , 48 , 27 , 123 , 50 , 28 , & 125 , 52 , 30 , 128 , 54 , 32 , 130 , 55 , 34 , 132 , 57 , 36 , & 134 , 59 , 38 , 136 , 61 , 40 , 138 , 63 , 42 , 140 , 64 , 44 , & 142 , 66 , 46 , 144 , 68 , 48 , 146 , 70 , 50 , 148 , 72 , 52 , & 150 , 74 , 54 , 152 , 76 , 57 , 154 , 77 , 59 , 156 , 79 , 61 , & 158 , 81 , 63 , 160 , 83 , 65 , 162 , 85 , 68 , 164 , 87 , 70 , & 166 , 89 , 72 , 168 , 90 , 74 , 170 , 92 , 76 , 172 , 94 , 79 , & 174 , 96 , 81 , 176 , 98 , 83 , 178 , 100 , 85 , 180 , 102 , 88 , & 182 , 104 , 90 , 184 , 106 , 92 , 186 , 107 , 95 , 188 , 109 , 97 , & 190 , 111 , 99 , 192 , 113 , 101 , 194 , 115 , 104 , 196 , 117 , 106 , & 198 , 119 , 108 , 200 , 121 , 111 , 202 , 123 , 113 , 204 , 125 , 115 , & 206 , 127 , 118 , 208 , 129 , 120 , 210 , 131 , 122 , 213 , 133 , 125 , & 215 , 135 , 127 , 217 , 137 , 130 , 219 , 139 , 132 , 221 , 141 , 134 , & 223 , 143 , 137 , 225 , 145 , 139 , 227 , 147 , 142 , 229 , 149 , 144 , & 231 , 151 , 146 , 234 , 153 , 149 , 236 , 155 , 151 , 238 , 157 , 154 , & 240 , 159 , 156 , 242 , 161 , 159 , 244 , 163 , 161 , 246 , 165 , 163 , & 249 , 167 , 166 , 251 , 169 , 168 , 253 , 171 , 171 , 255 , 173 , 173 & ], shape ( berlin ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: berlin10 = reshape ( [ & 158 , 176 , 255 , 91 , 164 , 219 , 45 , 117 , 151 , 26 , 66 , 86 , & 17 , 25 , 30 , 40 , 13 , 1 , 80 , 24 , 3 , 138 , 63 , 42 , & 196 , 117 , 106 , 255 , 173 , 173 & ], shape ( berlin10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: berlin100 = reshape ( [ & 158 , 176 , 255 , 152 , 175 , 252 , 147 , 175 , 250 , 140 , 174 , 246 , & 135 , 173 , 244 , 128 , 172 , 241 , 123 , 172 , 238 , 116 , 170 , 235 , & 108 , 169 , 230 , 103 , 168 , 227 , 96 , 165 , 223 , 91 , 164 , 219 , & 84 , 160 , 213 , 79 , 158 , 209 , 72 , 154 , 202 , 67 , 149 , 195 , & 63 , 146 , 190 , 59 , 141 , 183 , 56 , 137 , 178 , 53 , 132 , 170 , & 50 , 126 , 163 , 48 , 122 , 158 , 45 , 117 , 151 , 44 , 113 , 146 , & 41 , 107 , 139 , 40 , 104 , 134 , 38 , 98 , 127 , 36 , 93 , 120 , & 34 , 89 , 115 , 32 , 84 , 108 , 31 , 80 , 104 , 29 , 75 , 97 , & 28 , 71 , 92 , 26 , 66 , 86 , 24 , 61 , 79 , 23 , 58 , 75 , & 21 , 53 , 68 , 20 , 50 , 64 , 19 , 45 , 58 , 18 , 42 , 54 , & 17 , 38 , 48 , 17 , 33 , 42 , 16 , 31 , 38 , 17 , 27 , 33 , & 17 , 25 , 30 , 17 , 21 , 25 , 17 , 19 , 23 , 19 , 17 , 18 , & 21 , 14 , 14 , 23 , 13 , 11 , 26 , 12 , 8 , 28 , 11 , 6 , & 32 , 11 , 4 , 35 , 12 , 2 , 37 , 12 , 1 , 40 , 13 , 1 , & 43 , 14 , 1 , 47 , 14 , 0 , 49 , 15 , 0 , 53 , 16 , 0 , & 57 , 17 , 0 , 60 , 17 , 1 , 65 , 18 , 1 , 68 , 19 , 1 , & 72 , 21 , 2 , 75 , 22 , 2 , 80 , 24 , 3 , 86 , 26 , 5 , & 89 , 28 , 7 , 95 , 31 , 10 , 99 , 33 , 12 , 106 , 37 , 16 , & 110 , 40 , 19 , 117 , 45 , 23 , 123 , 50 , 28 , 128 , 54 , 32 , & 134 , 59 , 38 , 138 , 63 , 42 , 144 , 68 , 48 , 148 , 72 , 52 , & 154 , 77 , 59 , 160 , 83 , 65 , 164 , 87 , 70 , 170 , 92 , 76 , & 174 , 96 , 81 , 180 , 102 , 88 , 186 , 107 , 95 , 190 , 111 , 99 , & 196 , 117 , 106 , 200 , 121 , 111 , 206 , 127 , 118 , 210 , 131 , 122 , & 217 , 137 , 130 , 223 , 143 , 137 , 227 , 147 , 142 , 234 , 153 , 149 , & 238 , 157 , 154 , 244 , 163 , 161 , 249 , 167 , 166 , 255 , 173 , 173 & ], shape ( berlin100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: berlin25 = reshape ( [ & 158 , 176 , 255 , 133 , 173 , 243 , 108 , 169 , 230 , 81 , 159 , 211 , & 60 , 142 , 185 , 49 , 124 , 161 , 40 , 104 , 134 , 33 , 85 , 110 , & 26 , 66 , 86 , 20 , 48 , 62 , 17 , 33 , 42 , 17 , 20 , 24 , & 25 , 12 , 9 , 36 , 12 , 2 , 49 , 15 , 0 , 63 , 18 , 1 , & 80 , 24 , 3 , 101 , 35 , 14 , 123 , 50 , 28 , 146 , 70 , 50 , & 168 , 90 , 74 , 188 , 109 , 97 , 210 , 131 , 122 , 231 , 151 , 146 , & 255 , 173 , 173 & ], shape ( berlin25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: berlin50 = reshape ( [ & 158 , 176 , 255 , 147 , 175 , 250 , 135 , 173 , 244 , 121 , 171 , 237 , & 108 , 169 , 230 , 96 , 165 , 223 , 84 , 160 , 213 , 72 , 154 , 202 , & 62 , 144 , 188 , 55 , 135 , 175 , 50 , 126 , 163 , 45 , 117 , 151 , & 41 , 107 , 139 , 37 , 96 , 124 , 34 , 87 , 113 , 30 , 78 , 101 , & 27 , 70 , 90 , 24 , 61 , 79 , 21 , 51 , 66 , 18 , 44 , 56 , & 17 , 36 , 46 , 16 , 29 , 37 , 17 , 24 , 28 , 18 , 18 , 20 , & 22 , 14 , 13 , 27 , 11 , 7 , 33 , 11 , 3 , 39 , 13 , 1 , & 45 , 14 , 0 , 52 , 15 , 0 , 59 , 17 , 0 , 66 , 19 , 1 , & 75 , 22 , 2 , 84 , 25 , 5 , 93 , 30 , 9 , 104 , 36 , 15 , & 115 , 43 , 22 , 128 , 54 , 32 , 138 , 63 , 42 , 148 , 72 , 52 , & 158 , 81 , 63 , 168 , 90 , 74 , 180 , 102 , 88 , 190 , 111 , 99 , & 200 , 121 , 111 , 210 , 131 , 122 , 221 , 141 , 134 , 234 , 153 , 149 , & 244 , 163 , 161 , 255 , 173 , 173 & ], shape ( berlin50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bilbao = reshape ( [ & 76 , 0 , 1 , 78 , 1 , 3 , 79 , 2 , 5 , 81 , 4 , 7 , & 82 , 5 , 9 , 84 , 7 , 11 , 85 , 8 , 13 , 87 , 10 , 14 , & 88 , 11 , 16 , 90 , 13 , 17 , 91 , 14 , 19 , 93 , 16 , 20 , & 94 , 17 , 21 , 96 , 19 , 22 , 97 , 20 , 24 , 98 , 21 , 25 , & 100 , 22 , 26 , 101 , 24 , 27 , 103 , 25 , 29 , 104 , 26 , 30 , & 105 , 27 , 31 , 107 , 29 , 32 , 108 , 30 , 34 , 109 , 31 , 35 , & 110 , 32 , 36 , 112 , 33 , 38 , 113 , 34 , 39 , 114 , 35 , 40 , & 115 , 37 , 41 , 117 , 38 , 43 , 118 , 39 , 44 , 119 , 40 , 45 , & 120 , 41 , 47 , 122 , 42 , 48 , 123 , 43 , 49 , 124 , 45 , 50 , & 125 , 46 , 52 , 126 , 47 , 53 , 128 , 48 , 54 , 129 , 49 , 55 , & 130 , 50 , 57 , 131 , 51 , 58 , 132 , 52 , 59 , 133 , 53 , 60 , & 135 , 55 , 62 , 136 , 56 , 63 , 137 , 57 , 64 , 138 , 58 , 65 , & 139 , 59 , 66 , 140 , 60 , 67 , 141 , 61 , 69 , 142 , 63 , 70 , & 143 , 64 , 71 , 144 , 65 , 72 , 145 , 66 , 73 , 146 , 67 , 74 , & 147 , 69 , 75 , 148 , 70 , 75 , 149 , 71 , 76 , 149 , 72 , 77 , & 150 , 73 , 78 , 151 , 74 , 79 , 152 , 76 , 79 , 152 , 77 , 80 , & 153 , 78 , 81 , 153 , 79 , 81 , 154 , 80 , 82 , 154 , 81 , 82 , & 155 , 82 , 83 , 155 , 83 , 83 , 156 , 84 , 83 , 156 , 85 , 84 , & 157 , 86 , 84 , 157 , 87 , 84 , 157 , 88 , 85 , 158 , 89 , 85 , & 158 , 90 , 85 , 158 , 91 , 86 , 158 , 92 , 86 , 159 , 93 , 86 , & 159 , 94 , 86 , 159 , 94 , 86 , 159 , 95 , 87 , 160 , 96 , 87 , & 160 , 97 , 87 , 160 , 98 , 87 , 160 , 99 , 87 , 161 , 99 , 88 , & 161 , 100 , 88 , 161 , 101 , 88 , 161 , 102 , 88 , 161 , 103 , 88 , & 162 , 103 , 89 , 162 , 104 , 89 , 162 , 105 , 89 , 162 , 106 , 89 , & 163 , 107 , 89 , 163 , 107 , 89 , 163 , 108 , 90 , 163 , 109 , 90 , & 163 , 110 , 90 , 164 , 110 , 90 , 164 , 111 , 90 , 164 , 112 , 90 , & 164 , 113 , 91 , 164 , 113 , 91 , 165 , 114 , 91 , 165 , 115 , 91 , & 165 , 116 , 91 , 165 , 116 , 91 , 165 , 117 , 91 , 166 , 118 , 92 , & 166 , 118 , 92 , 166 , 119 , 92 , 166 , 120 , 92 , 166 , 121 , 92 , & 167 , 121 , 92 , 167 , 122 , 93 , 167 , 123 , 93 , 167 , 124 , 93 , & 167 , 124 , 93 , 168 , 125 , 93 , 168 , 126 , 93 , 168 , 126 , 94 , & 168 , 127 , 94 , 168 , 128 , 94 , 169 , 129 , 94 , 169 , 129 , 94 , & 169 , 130 , 94 , 169 , 131 , 94 , 169 , 132 , 95 , 170 , 132 , 95 , & 170 , 133 , 95 , 170 , 134 , 95 , 170 , 134 , 95 , 170 , 135 , 95 , & 171 , 136 , 96 , 171 , 137 , 96 , 171 , 137 , 96 , 171 , 138 , 96 , & 171 , 139 , 96 , 172 , 140 , 96 , 172 , 141 , 97 , 172 , 141 , 97 , & 172 , 142 , 97 , 172 , 143 , 97 , 173 , 144 , 97 , 173 , 145 , 98 , & 173 , 145 , 98 , 173 , 146 , 98 , 174 , 147 , 98 , 174 , 148 , 99 , & 174 , 149 , 99 , 174 , 150 , 99 , 175 , 150 , 100 , 175 , 151 , 100 , & 175 , 152 , 100 , 175 , 153 , 101 , 176 , 154 , 102 , 176 , 155 , 102 , & 177 , 156 , 103 , 177 , 157 , 104 , 177 , 158 , 104 , 178 , 159 , 105 , & 178 , 160 , 106 , 179 , 161 , 107 , 179 , 162 , 109 , 179 , 163 , 110 , & 180 , 164 , 111 , 180 , 165 , 113 , 181 , 167 , 114 , 181 , 168 , 116 , & 182 , 169 , 117 , 182 , 170 , 119 , 183 , 171 , 121 , 183 , 172 , 122 , & 184 , 172 , 124 , 184 , 173 , 126 , 185 , 174 , 128 , 185 , 175 , 130 , & 186 , 176 , 131 , 186 , 177 , 133 , 187 , 178 , 135 , 187 , 178 , 137 , & 188 , 179 , 139 , 188 , 180 , 141 , 189 , 181 , 142 , 189 , 181 , 144 , & 190 , 182 , 146 , 190 , 183 , 148 , 191 , 183 , 149 , 191 , 184 , 151 , & 191 , 185 , 153 , 192 , 185 , 154 , 192 , 186 , 156 , 193 , 187 , 158 , & 193 , 187 , 159 , 193 , 188 , 161 , 194 , 188 , 163 , 194 , 189 , 164 , & 195 , 190 , 166 , 195 , 190 , 167 , 195 , 191 , 169 , 196 , 191 , 170 , & 196 , 192 , 172 , 197 , 193 , 173 , 197 , 193 , 175 , 197 , 194 , 176 , & 198 , 194 , 178 , 198 , 195 , 179 , 199 , 195 , 180 , 199 , 196 , 182 , & 199 , 197 , 183 , 200 , 197 , 185 , 200 , 198 , 186 , 201 , 199 , 188 , & 202 , 199 , 189 , 202 , 200 , 190 , 203 , 201 , 192 , 203 , 202 , 193 , & 204 , 202 , 195 , 205 , 203 , 196 , 206 , 204 , 198 , 206 , 205 , 199 , & 207 , 206 , 201 , 208 , 207 , 203 , 209 , 208 , 204 , 210 , 210 , 206 , & 212 , 211 , 207 , 213 , 212 , 209 , 214 , 213 , 211 , 215 , 215 , 212 , & 217 , 216 , 214 , 218 , 218 , 216 , 219 , 219 , 218 , 221 , 221 , 219 , & 222 , 222 , 221 , 224 , 224 , 223 , 225 , 225 , 225 , 227 , 227 , 226 , & 229 , 229 , 228 , 230 , 230 , 230 , 232 , 232 , 232 , 234 , 234 , 233 , & 235 , 235 , 235 , 237 , 237 , 237 , 239 , 239 , 239 , 241 , 241 , 240 , & 242 , 242 , 242 , 244 , 244 , 244 , 246 , 246 , 246 , 248 , 248 , 248 , & 250 , 250 , 250 , 251 , 251 , 251 , 253 , 253 , 253 , 255 , 255 , 255 & ], shape ( bilbao ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bilbao10 = reshape ( [ & 76 , 0 , 1 , 115 , 37 , 41 , 148 , 70 , 75 , 160 , 98 , 87 , & 166 , 119 , 92 , 172 , 141 , 97 , 181 , 167 , 114 , 194 , 188 , 163 , & 210 , 210 , 206 , 255 , 255 , 255 & ], shape ( bilbao10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bilbao100 = reshape ( [ & 76 , 0 , 1 , 81 , 4 , 7 , 84 , 7 , 11 , 88 , 11 , 16 , & 91 , 14 , 19 , 96 , 19 , 22 , 98 , 21 , 25 , 103 , 25 , 29 , & 107 , 29 , 32 , 109 , 31 , 35 , 113 , 34 , 39 , 115 , 37 , 41 , & 119 , 40 , 45 , 122 , 42 , 48 , 125 , 46 , 52 , 129 , 49 , 55 , & 131 , 51 , 58 , 135 , 55 , 62 , 137 , 57 , 64 , 140 , 60 , 67 , & 143 , 64 , 71 , 145 , 66 , 73 , 148 , 70 , 75 , 149 , 72 , 77 , & 152 , 76 , 79 , 153 , 78 , 81 , 154 , 81 , 82 , 156 , 84 , 83 , & 157 , 86 , 84 , 158 , 89 , 85 , 158 , 91 , 86 , 159 , 94 , 86 , & 159 , 95 , 87 , 160 , 98 , 87 , 161 , 100 , 88 , 161 , 102 , 88 , & 162 , 104 , 89 , 162 , 106 , 89 , 163 , 108 , 90 , 163 , 110 , 90 , & 164 , 112 , 90 , 165 , 114 , 91 , 165 , 116 , 91 , 166 , 118 , 92 , & 166 , 119 , 92 , 167 , 121 , 92 , 167 , 123 , 93 , 168 , 125 , 93 , & 168 , 127 , 94 , 169 , 129 , 94 , 169 , 131 , 94 , 170 , 132 , 95 , & 170 , 134 , 95 , 171 , 137 , 96 , 171 , 138 , 96 , 172 , 141 , 97 , & 172 , 142 , 97 , 173 , 145 , 98 , 173 , 146 , 98 , 174 , 149 , 99 , & 175 , 151 , 100 , 175 , 153 , 101 , 177 , 156 , 103 , 177 , 158 , 104 , & 179 , 161 , 107 , 179 , 163 , 110 , 181 , 167 , 114 , 182 , 170 , 119 , & 183 , 172 , 122 , 185 , 174 , 128 , 186 , 176 , 131 , 187 , 178 , 137 , & 188 , 180 , 141 , 190 , 182 , 146 , 191 , 184 , 151 , 192 , 185 , 154 , & 193 , 187 , 159 , 194 , 188 , 163 , 195 , 190 , 167 , 196 , 191 , 170 , & 197 , 193 , 175 , 198 , 195 , 179 , 199 , 196 , 182 , 200 , 198 , 186 , & 202 , 199 , 189 , 203 , 202 , 193 , 206 , 204 , 198 , 207 , 206 , 201 , & 210 , 210 , 206 , 213 , 212 , 209 , 217 , 216 , 214 , 219 , 219 , 218 , & 224 , 224 , 223 , 229 , 229 , 228 , 232 , 232 , 232 , 237 , 237 , 237 , & 241 , 241 , 240 , 246 , 246 , 246 , 250 , 250 , 250 , 255 , 255 , 255 & ], shape ( bilbao100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bilbao25 = reshape ( [ & 76 , 0 , 1 , 93 , 16 , 20 , 107 , 29 , 32 , 120 , 41 , 47 , & 133 , 53 , 60 , 144 , 65 , 72 , 153 , 78 , 81 , 157 , 88 , 85 , & 160 , 98 , 87 , 163 , 107 , 89 , 165 , 114 , 91 , 167 , 122 , 93 , & 169 , 130 , 94 , 171 , 137 , 96 , 173 , 146 , 98 , 176 , 155 , 102 , & 181 , 167 , 114 , 186 , 177 , 133 , 191 , 184 , 151 , 195 , 191 , 169 , & 200 , 197 , 185 , 206 , 205 , 199 , 219 , 219 , 218 , 235 , 235 , 235 , & 255 , 255 , 255 & ], shape ( bilbao25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bilbao50 = reshape ( [ & 76 , 0 , 1 , 84 , 7 , 11 , 91 , 14 , 19 , 100 , 22 , 26 , & 107 , 29 , 32 , 113 , 34 , 39 , 119 , 40 , 45 , 125 , 46 , 52 , & 132 , 52 , 59 , 138 , 58 , 65 , 143 , 64 , 71 , 148 , 70 , 75 , & 152 , 76 , 79 , 155 , 82 , 83 , 157 , 87 , 84 , 158 , 92 , 86 , & 160 , 96 , 87 , 161 , 100 , 88 , 162 , 105 , 89 , 163 , 109 , 90 , & 164 , 113 , 91 , 165 , 116 , 91 , 166 , 120 , 92 , 167 , 124 , 93 , & 168 , 128 , 94 , 169 , 132 , 95 , 170 , 135 , 95 , 172 , 140 , 96 , & 173 , 144 , 97 , 174 , 148 , 99 , 175 , 152 , 100 , 177 , 157 , 104 , & 179 , 163 , 110 , 182 , 169 , 117 , 184 , 173 , 126 , 187 , 178 , 135 , & 189 , 181 , 144 , 192 , 185 , 154 , 194 , 188 , 163 , 196 , 191 , 170 , & 198 , 194 , 178 , 200 , 197 , 185 , 203 , 202 , 193 , 207 , 206 , 201 , & 213 , 212 , 209 , 219 , 219 , 218 , 227 , 227 , 226 , 237 , 237 , 237 , & 246 , 246 , 246 , 255 , 255 , 255 & ], shape ( bilbao50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bilbaoS = reshape ( [ & 76 , 0 , 1 , 248 , 248 , 248 , 169 , 129 , 94 , 152 , 77 , 80 , & 190 , 183 , 148 , 119 , 40 , 45 , 162 , 106 , 89 , 175 , 153 , 101 , & 204 , 202 , 195 , 159 , 93 , 86 , 138 , 58 , 65 , 182 , 170 , 119 , & 100 , 22 , 26 , 221 , 221 , 219 , 172 , 140 , 96 , 197 , 193 , 173 , & 166 , 118 , 92 , 161 , 99 , 88 , 173 , 146 , 98 , 234 , 234 , 233 , & 129 , 49 , 55 , 88 , 11 , 16 , 164 , 112 , 90 , 179 , 161 , 107 , & 193 , 188 , 161 , 156 , 85 , 84 , 146 , 67 , 74 , 186 , 177 , 133 , & 170 , 134 , 95 , 109 , 31 , 35 , 210 , 210 , 206 , 167 , 123 , 93 , & 200 , 197 , 185 , 161 , 103 , 88 , 174 , 150 , 99 , 198 , 195 , 179 , & 180 , 165 , 113 , 160 , 96 , 87 , 171 , 137 , 96 , 142 , 63 , 70 , & 188 , 180 , 141 , 154 , 81 , 82 , 94 , 17 , 21 , 158 , 89 , 85 , & 149 , 72 , 77 , 82 , 5 , 9 , 133 , 53 , 60 , 227 , 227 , 226 , & 184 , 173 , 126 , 215 , 215 , 212 , 163 , 109 , 90 , 241 , 241 , 240 , & 124 , 45 , 50 , 195 , 190 , 167 , 168 , 126 , 93 , 165 , 115 , 91 , & 192 , 185 , 154 , 172 , 143 , 97 , 177 , 157 , 104 , 114 , 35 , 40 , & 104 , 26 , 30 , 169 , 131 , 94 , 206 , 205 , 199 , 202 , 200 , 190 , & 166 , 121 , 92 , 244 , 244 , 244 , 189 , 181 , 144 , 136 , 56 , 63 , & 168 , 127 , 94 , 176 , 155 , 102 , 199 , 196 , 182 , 172 , 141 , 97 , & 237 , 237 , 237 , 117 , 38 , 43 , 155 , 83 , 83 , 165 , 116 , 91 , & 122 , 42 , 48 , 148 , 70 , 75 , 140 , 60 , 67 , 181 , 168 , 116 , & 160 , 98 , 87 , 193 , 187 , 158 , 170 , 135 , 95 , 151 , 74 , 79 , & 183 , 172 , 122 , 85 , 8 , 13 , 173 , 145 , 98 , 230 , 230 , 230 , & 162 , 104 , 89 , 171 , 138 , 96 , 213 , 212 , 209 , 153 , 79 , 81 , & 196 , 191 , 170 , 126 , 47 , 53 , 201 , 199 , 188 , 158 , 91 , 86 , & 194 , 189 , 164 , 187 , 178 , 137 , 112 , 33 , 38 , 224 , 224 , 223 & ], shape ( bilbaoS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: broc = reshape ( [ & 44 , 26 , 76 , 44 , 27 , 78 , 44 , 29 , 79 , 43 , 30 , 81 , & 43 , 32 , 82 , 43 , 33 , 84 , 43 , 35 , 85 , 43 , 36 , 87 , & 43 , 38 , 88 , 43 , 39 , 90 , 43 , 41 , 91 , 43 , 42 , 93 , & 42 , 44 , 94 , 42 , 45 , 96 , 42 , 46 , 97 , 42 , 48 , 99 , & 42 , 49 , 100 , 42 , 51 , 102 , 41 , 53 , 103 , 41 , 54 , 105 , & 41 , 56 , 106 , 41 , 57 , 108 , 41 , 59 , 109 , 41 , 60 , 111 , & 41 , 62 , 113 , 40 , 63 , 114 , 40 , 65 , 116 , 40 , 67 , 117 , & 40 , 68 , 119 , 40 , 70 , 120 , 40 , 71 , 122 , 41 , 73 , 124 , & 41 , 75 , 125 , 41 , 76 , 127 , 41 , 78 , 128 , 42 , 80 , 130 , & 42 , 81 , 131 , 43 , 83 , 133 , 44 , 85 , 134 , 45 , 87 , 136 , & 46 , 88 , 137 , 47 , 90 , 139 , 48 , 92 , 140 , 49 , 94 , 142 , & 51 , 95 , 143 , 52 , 97 , 145 , 54 , 99 , 146 , 55 , 101 , 147 , & 57 , 102 , 149 , 59 , 104 , 150 , 61 , 106 , 151 , 63 , 107 , 153 , & 65 , 109 , 154 , 67 , 111 , 155 , 69 , 113 , 156 , 71 , 114 , 158 , & 73 , 116 , 159 , 75 , 118 , 160 , 77 , 120 , 161 , 80 , 121 , 163 , & 82 , 123 , 164 , 84 , 125 , 165 , 86 , 127 , 166 , 88 , 128 , 167 , & 91 , 130 , 169 , 93 , 132 , 170 , 95 , 133 , 171 , 97 , 135 , 172 , & 100 , 137 , 173 , 102 , 139 , 175 , 104 , 140 , 176 , 107 , 142 , 177 , & 109 , 144 , 178 , 111 , 146 , 179 , 113 , 147 , 181 , 116 , 149 , 182 , & 118 , 151 , 183 , 120 , 153 , 184 , 123 , 155 , 186 , 125 , 156 , 187 , & 127 , 158 , 188 , 130 , 160 , 189 , 132 , 162 , 190 , 134 , 163 , 192 , & 137 , 165 , 193 , 139 , 167 , 194 , 141 , 169 , 195 , 144 , 170 , 197 , & 146 , 172 , 198 , 148 , 174 , 199 , 151 , 176 , 200 , 153 , 178 , 202 , & 155 , 179 , 203 , 158 , 181 , 204 , 160 , 183 , 205 , 162 , 185 , 206 , & 165 , 187 , 208 , 167 , 188 , 209 , 170 , 190 , 210 , 172 , 192 , 211 , & 174 , 194 , 213 , 177 , 196 , 214 , 179 , 197 , 215 , 181 , 199 , 216 , & 184 , 201 , 218 , 186 , 203 , 219 , 189 , 205 , 220 , 191 , 207 , 221 , & 194 , 208 , 223 , 196 , 210 , 224 , 198 , 212 , 225 , 201 , 214 , 226 , & 203 , 216 , 228 , 206 , 217 , 229 , 208 , 219 , 230 , 210 , 221 , 231 , & 213 , 223 , 232 , 215 , 224 , 233 , 217 , 226 , 234 , 220 , 228 , 235 , & 222 , 229 , 236 , 224 , 231 , 236 , 226 , 232 , 237 , 228 , 234 , 237 , & 230 , 235 , 237 , 231 , 236 , 237 , 233 , 237 , 237 , 234 , 238 , 236 , & 235 , 238 , 236 , 236 , 239 , 235 , 237 , 239 , 233 , 237 , 239 , 232 , & 238 , 239 , 231 , 238 , 239 , 229 , 238 , 239 , 227 , 237 , 238 , 225 , & 237 , 238 , 223 , 236 , 237 , 221 , 236 , 236 , 219 , 235 , 235 , 217 , & 234 , 234 , 214 , 233 , 233 , 212 , 232 , 232 , 210 , 231 , 231 , 207 , & 230 , 230 , 205 , 229 , 229 , 203 , 228 , 228 , 200 , 227 , 226 , 198 , & 225 , 225 , 196 , 224 , 224 , 193 , 223 , 223 , 191 , 222 , 222 , 189 , & 221 , 221 , 186 , 220 , 219 , 184 , 218 , 218 , 181 , 217 , 217 , 179 , & 216 , 216 , 177 , 215 , 215 , 174 , 213 , 213 , 172 , 212 , 212 , 170 , & 211 , 211 , 167 , 210 , 210 , 165 , 208 , 208 , 162 , 207 , 207 , 160 , & 206 , 206 , 158 , 204 , 204 , 155 , 203 , 203 , 153 , 201 , 201 , 150 , & 200 , 200 , 148 , 198 , 198 , 145 , 197 , 197 , 143 , 195 , 195 , 140 , & 193 , 193 , 138 , 192 , 191 , 135 , 190 , 190 , 133 , 188 , 188 , 131 , & 186 , 186 , 128 , 184 , 184 , 126 , 182 , 182 , 124 , 180 , 180 , 121 , & 178 , 178 , 119 , 176 , 176 , 117 , 174 , 174 , 115 , 172 , 172 , 113 , & 170 , 170 , 111 , 168 , 168 , 109 , 166 , 166 , 107 , 163 , 163 , 105 , & 161 , 161 , 103 , 159 , 159 , 101 , 157 , 157 , 99 , 155 , 155 , 98 , & 153 , 153 , 96 , 151 , 151 , 94 , 149 , 149 , 92 , 147 , 147 , 91 , & 145 , 145 , 89 , 143 , 143 , 87 , 141 , 141 , 86 , 139 , 139 , 84 , & 137 , 137 , 82 , 135 , 135 , 81 , 133 , 133 , 79 , 131 , 131 , 77 , & 129 , 129 , 76 , 127 , 127 , 74 , 125 , 125 , 72 , 123 , 123 , 71 , & 121 , 121 , 69 , 119 , 119 , 68 , 117 , 117 , 66 , 116 , 116 , 64 , & 114 , 114 , 63 , 112 , 112 , 61 , 110 , 110 , 60 , 108 , 108 , 58 , & 106 , 106 , 56 , 104 , 104 , 55 , 102 , 102 , 53 , 100 , 100 , 52 , & 98 , 98 , 50 , 97 , 96 , 49 , 95 , 95 , 47 , 93 , 93 , 45 , & 91 , 91 , 44 , 89 , 89 , 42 , 87 , 87 , 41 , 85 , 85 , 39 , & 84 , 84 , 38 , 82 , 82 , 36 , 80 , 80 , 35 , 78 , 78 , 33 , & 76 , 76 , 32 , 75 , 75 , 31 , 73 , 73 , 29 , 71 , 71 , 28 , & 69 , 69 , 26 , 67 , 67 , 25 , 66 , 66 , 24 , 64 , 64 , 22 , & 62 , 62 , 21 , 60 , 61 , 20 , 59 , 59 , 18 , 57 , 57 , 17 , & 55 , 56 , 16 , 54 , 54 , 15 , 52 , 52 , 14 , 50 , 51 , 12 , & 49 , 49 , 11 , 47 , 48 , 10 , 46 , 46 , 8 , 44 , 44 , 7 , & 43 , 43 , 5 , 41 , 41 , 4 , 40 , 40 , 2 , 38 , 38 , 0 & ], shape ( broc ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: broc10 = reshape ( [ & 44 , 26 , 76 , 40 , 68 , 119 , 75 , 118 , 160 , 139 , 167 , 194 , & 206 , 217 , 229 , 232 , 232 , 210 , 197 , 197 , 143 , 141 , 141 , 86 , & 85 , 85 , 39 , 38 , 38 , 0 & ], shape ( broc10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: broc100 = reshape ( [ & 44 , 26 , 76 , 43 , 30 , 81 , 43 , 33 , 84 , 43 , 38 , 88 , & 43 , 41 , 91 , 42 , 45 , 96 , 42 , 48 , 99 , 41 , 53 , 103 , & 41 , 57 , 108 , 41 , 60 , 111 , 40 , 65 , 116 , 40 , 68 , 119 , & 41 , 73 , 124 , 41 , 76 , 127 , 42 , 81 , 131 , 45 , 87 , 136 , & 47 , 90 , 139 , 51 , 95 , 143 , 54 , 99 , 146 , 59 , 104 , 150 , & 65 , 109 , 154 , 69 , 113 , 156 , 75 , 118 , 160 , 80 , 121 , 163 , & 86 , 127 , 166 , 91 , 130 , 169 , 97 , 135 , 172 , 104 , 140 , 176 , & 109 , 144 , 178 , 116 , 149 , 182 , 120 , 153 , 184 , 127 , 158 , 188 , & 132 , 162 , 190 , 139 , 167 , 194 , 146 , 172 , 198 , 151 , 176 , 200 , & 158 , 181 , 204 , 162 , 185 , 206 , 170 , 190 , 210 , 174 , 194 , 213 , & 181 , 199 , 216 , 189 , 205 , 220 , 194 , 208 , 223 , 201 , 214 , 226 , & 206 , 217 , 229 , 213 , 223 , 232 , 217 , 226 , 234 , 224 , 231 , 236 , & 230 , 235 , 237 , 233 , 237 , 237 , 236 , 239 , 235 , 237 , 239 , 232 , & 238 , 239 , 227 , 236 , 237 , 221 , 235 , 235 , 217 , 232 , 232 , 210 , & 230 , 230 , 205 , 227 , 226 , 198 , 224 , 224 , 193 , 221 , 221 , 186 , & 217 , 217 , 179 , 215 , 215 , 174 , 211 , 211 , 167 , 208 , 208 , 162 , & 204 , 204 , 155 , 201 , 201 , 150 , 197 , 197 , 143 , 192 , 191 , 135 , & 188 , 188 , 131 , 182 , 182 , 124 , 178 , 178 , 119 , 172 , 172 , 113 , & 168 , 168 , 109 , 161 , 161 , 103 , 155 , 155 , 98 , 151 , 151 , 94 , & 145 , 145 , 89 , 141 , 141 , 86 , 135 , 135 , 81 , 131 , 131 , 77 , & 125 , 125 , 72 , 119 , 119 , 68 , 116 , 116 , 64 , 110 , 110 , 60 , & 106 , 106 , 56 , 100 , 100 , 52 , 95 , 95 , 47 , 91 , 91 , 44 , & 85 , 85 , 39 , 82 , 82 , 36 , 76 , 76 , 32 , 73 , 73 , 29 , & 67 , 67 , 25 , 62 , 62 , 21 , 59 , 59 , 18 , 54 , 54 , 15 , & 50 , 51 , 12 , 46 , 46 , 8 , 43 , 43 , 5 , 38 , 38 , 0 & ], shape ( broc100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: broc25 = reshape ( [ & 44 , 26 , 76 , 43 , 42 , 93 , 41 , 57 , 108 , 41 , 75 , 125 , & 49 , 94 , 142 , 67 , 111 , 155 , 91 , 130 , 169 , 113 , 147 , 181 , & 139 , 167 , 194 , 165 , 187 , 208 , 189 , 205 , 220 , 215 , 224 , 233 , & 235 , 238 , 236 , 236 , 236 , 219 , 224 , 224 , 193 , 212 , 212 , 170 , & 197 , 197 , 143 , 176 , 176 , 117 , 155 , 155 , 98 , 133 , 133 , 79 , & 112 , 112 , 61 , 93 , 93 , 45 , 73 , 73 , 29 , 55 , 56 , 16 , & 38 , 38 , 0 & ], shape ( broc25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: broc50 = reshape ( [ & 44 , 26 , 76 , 43 , 33 , 84 , 43 , 41 , 91 , 42 , 49 , 100 , & 41 , 57 , 108 , 40 , 65 , 116 , 41 , 73 , 124 , 42 , 81 , 131 , & 48 , 92 , 140 , 55 , 101 , 147 , 65 , 109 , 154 , 75 , 118 , 160 , & 86 , 127 , 166 , 100 , 137 , 173 , 111 , 146 , 179 , 123 , 155 , 186 , & 134 , 163 , 192 , 146 , 172 , 198 , 160 , 183 , 205 , 172 , 192 , 211 , & 184 , 201 , 218 , 196 , 210 , 224 , 208 , 219 , 230 , 222 , 229 , 236 , & 231 , 236 , 237 , 237 , 239 , 233 , 237 , 238 , 225 , 233 , 233 , 212 , & 228 , 228 , 200 , 222 , 222 , 189 , 216 , 216 , 177 , 210 , 210 , 165 , & 201 , 201 , 150 , 193 , 193 , 138 , 184 , 184 , 126 , 174 , 174 , 115 , & 163 , 163 , 105 , 151 , 151 , 94 , 141 , 141 , 86 , 131 , 131 , 77 , & 121 , 121 , 69 , 112 , 112 , 61 , 100 , 100 , 52 , 91 , 91 , 44 , & 82 , 82 , 36 , 73 , 73 , 29 , 64 , 64 , 22 , 54 , 54 , 15 , & 46 , 46 , 8 , 38 , 38 , 0 & ], shape ( broc50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: brocO = reshape ( [ & 55 , 47 , 56 , 54 , 47 , 57 , 54 , 47 , 58 , 54 , 47 , 59 , & 54 , 47 , 60 , 54 , 48 , 61 , 54 , 48 , 63 , 54 , 48 , 64 , & 54 , 48 , 65 , 54 , 49 , 67 , 54 , 49 , 68 , 54 , 50 , 70 , & 54 , 50 , 71 , 54 , 51 , 73 , 54 , 51 , 74 , 54 , 52 , 76 , & 54 , 53 , 78 , 54 , 53 , 80 , 54 , 54 , 81 , 54 , 55 , 83 , & 54 , 56 , 85 , 54 , 57 , 87 , 55 , 58 , 89 , 55 , 59 , 91 , & 55 , 60 , 92 , 55 , 61 , 94 , 55 , 63 , 96 , 56 , 64 , 98 , & 56 , 65 , 100 , 56 , 67 , 102 , 57 , 68 , 104 , 57 , 69 , 106 , & 58 , 71 , 108 , 58 , 72 , 111 , 59 , 74 , 113 , 59 , 76 , 115 , & 60 , 77 , 117 , 61 , 79 , 119 , 62 , 81 , 121 , 62 , 82 , 123 , & 63 , 84 , 124 , 64 , 86 , 126 , 65 , 87 , 128 , 66 , 89 , 130 , & 67 , 91 , 132 , 68 , 93 , 134 , 69 , 94 , 136 , 71 , 96 , 138 , & 72 , 98 , 139 , 73 , 100 , 141 , 74 , 102 , 143 , 76 , 103 , 144 , & 77 , 105 , 146 , 79 , 107 , 148 , 80 , 109 , 149 , 82 , 111 , 151 , & 83 , 112 , 153 , 85 , 114 , 154 , 86 , 116 , 156 , 88 , 118 , 157 , & 90 , 120 , 159 , 91 , 121 , 160 , 93 , 123 , 162 , 95 , 125 , 163 , & 97 , 127 , 165 , 99 , 129 , 166 , 100 , 130 , 167 , 102 , 132 , 169 , & 104 , 134 , 170 , 106 , 136 , 171 , 108 , 137 , 173 , 110 , 139 , 174 , & 112 , 141 , 175 , 114 , 143 , 177 , 116 , 144 , 178 , 118 , 146 , 179 , & 120 , 148 , 180 , 122 , 150 , 182 , 124 , 151 , 183 , 126 , 153 , 184 , & 128 , 155 , 185 , 130 , 157 , 186 , 132 , 158 , 187 , 134 , 160 , 189 , & 136 , 162 , 190 , 138 , 163 , 191 , 140 , 165 , 192 , 142 , 167 , 193 , & 145 , 168 , 194 , 147 , 170 , 195 , 149 , 172 , 196 , 151 , 173 , 197 , & 153 , 175 , 198 , 155 , 177 , 199 , 157 , 178 , 200 , 159 , 180 , 200 , & 161 , 181 , 201 , 163 , 183 , 202 , 165 , 184 , 203 , 167 , 186 , 204 , & 169 , 187 , 204 , 171 , 189 , 205 , 173 , 190 , 205 , 175 , 192 , 206 , & 177 , 193 , 206 , 179 , 194 , 207 , 181 , 196 , 207 , 183 , 197 , 208 , & 184 , 198 , 208 , 186 , 200 , 208 , 188 , 201 , 208 , 189 , 202 , 208 , & 191 , 203 , 208 , 193 , 204 , 208 , 194 , 205 , 208 , 196 , 206 , 208 , & 197 , 207 , 207 , 198 , 207 , 207 , 199 , 208 , 206 , 201 , 209 , 206 , & 202 , 209 , 205 , 203 , 210 , 204 , 203 , 210 , 203 , 204 , 211 , 203 , & 205 , 211 , 202 , 206 , 211 , 200 , 206 , 211 , 199 , 207 , 211 , 198 , & 207 , 211 , 197 , 207 , 211 , 195 , 207 , 211 , 194 , 207 , 211 , 192 , & 207 , 211 , 190 , 207 , 210 , 189 , 207 , 210 , 187 , 207 , 209 , 185 , & 206 , 208 , 183 , 206 , 208 , 181 , 205 , 207 , 179 , 205 , 206 , 177 , & 204 , 205 , 175 , 203 , 204 , 173 , 202 , 203 , 171 , 201 , 202 , 169 , & 200 , 201 , 166 , 199 , 200 , 164 , 198 , 198 , 162 , 197 , 197 , 160 , & 196 , 196 , 157 , 194 , 194 , 155 , 193 , 193 , 153 , 191 , 191 , 150 , & 190 , 190 , 148 , 188 , 188 , 146 , 187 , 187 , 144 , 185 , 185 , 141 , & 184 , 183 , 139 , 182 , 182 , 137 , 180 , 180 , 134 , 179 , 178 , 132 , & 177 , 176 , 130 , 175 , 175 , 127 , 173 , 173 , 125 , 171 , 171 , 123 , & 170 , 169 , 121 , 168 , 167 , 119 , 166 , 165 , 116 , 164 , 164 , 114 , & 162 , 162 , 112 , 160 , 160 , 110 , 158 , 158 , 108 , 157 , 156 , 106 , & 155 , 154 , 104 , 153 , 152 , 102 , 151 , 150 , 100 , 149 , 148 , 98 , & 147 , 146 , 96 , 145 , 145 , 94 , 143 , 143 , 92 , 141 , 141 , 90 , & 139 , 139 , 89 , 137 , 137 , 87 , 136 , 135 , 85 , 134 , 133 , 83 , & 132 , 131 , 81 , 130 , 129 , 80 , 128 , 127 , 78 , 126 , 126 , 76 , & 124 , 124 , 75 , 123 , 122 , 73 , 121 , 120 , 72 , 119 , 118 , 70 , & 117 , 116 , 69 , 115 , 114 , 67 , 114 , 113 , 66 , 112 , 111 , 65 , & 110 , 109 , 63 , 108 , 107 , 62 , 107 , 105 , 61 , 105 , 104 , 59 , & 103 , 102 , 58 , 102 , 100 , 57 , 100 , 98 , 56 , 98 , 97 , 55 , & 97 , 95 , 54 , 95 , 93 , 53 , 94 , 92 , 52 , 92 , 90 , 51 , & 91 , 89 , 50 , 89 , 87 , 49 , 88 , 85 , 48 , 86 , 84 , 47 , & 85 , 82 , 46 , 84 , 81 , 46 , 82 , 79 , 45 , 81 , 78 , 45 , & 80 , 77 , 44 , 79 , 75 , 43 , 77 , 74 , 43 , 76 , 72 , 43 , & 75 , 71 , 42 , 74 , 70 , 42 , 73 , 69 , 42 , 72 , 67 , 41 , & 71 , 66 , 41 , 70 , 65 , 41 , 69 , 64 , 41 , 68 , 63 , 41 , & 67 , 62 , 41 , 66 , 61 , 41 , 66 , 60 , 41 , 65 , 59 , 41 , & 64 , 58 , 41 , 63 , 57 , 41 , 63 , 56 , 41 , 62 , 56 , 42 , & 62 , 55 , 42 , 61 , 54 , 42 , 60 , 53 , 43 , 60 , 53 , 43 , & 59 , 52 , 43 , 59 , 52 , 44 , 59 , 51 , 44 , 58 , 51 , 45 , & 58 , 50 , 46 , 57 , 50 , 46 , 57 , 49 , 47 , 57 , 49 , 48 , & 56 , 48 , 48 , 56 , 48 , 49 , 56 , 48 , 50 , 56 , 48 , 51 , & 55 , 47 , 52 , 55 , 47 , 53 , 55 , 47 , 54 , 55 , 47 , 55 & ], shape ( brocO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: brocO10 = reshape ( [ & 55 , 47 , 56 , 56 , 65 , 100 , 85 , 114 , 154 , 138 , 163 , 191 , & 193 , 204 , 208 , 202 , 203 , 171 , 158 , 158 , 108 , 107 , 105 , 61 , & 68 , 63 , 41 , 55 , 47 , 55 & ], shape ( brocO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: brocO100 = reshape ( [ & 55 , 47 , 56 , 54 , 47 , 59 , 54 , 48 , 61 , 54 , 48 , 65 , & 54 , 49 , 68 , 54 , 51 , 73 , 54 , 52 , 76 , 54 , 54 , 81 , & 54 , 57 , 87 , 55 , 59 , 91 , 55 , 63 , 96 , 56 , 65 , 100 , & 57 , 69 , 106 , 58 , 72 , 111 , 60 , 77 , 117 , 62 , 82 , 123 , & 64 , 86 , 126 , 67 , 91 , 132 , 69 , 94 , 136 , 73 , 100 , 141 , & 77 , 105 , 146 , 80 , 109 , 149 , 85 , 114 , 154 , 88 , 118 , 157 , & 93 , 123 , 162 , 97 , 127 , 165 , 102 , 132 , 169 , 108 , 137 , 173 , & 112 , 141 , 175 , 118 , 146 , 179 , 122 , 150 , 182 , 128 , 155 , 185 , & 132 , 158 , 187 , 138 , 163 , 191 , 145 , 168 , 194 , 149 , 172 , 196 , & 155 , 177 , 199 , 159 , 180 , 200 , 165 , 184 , 203 , 169 , 187 , 204 , & 175 , 192 , 206 , 181 , 196 , 207 , 184 , 198 , 208 , 189 , 202 , 208 , & 193 , 204 , 208 , 197 , 207 , 207 , 199 , 208 , 206 , 203 , 210 , 204 , & 205 , 211 , 202 , 206 , 211 , 199 , 207 , 211 , 195 , 207 , 211 , 192 , & 207 , 210 , 187 , 206 , 208 , 181 , 205 , 206 , 177 , 202 , 203 , 171 , & 200 , 201 , 166 , 197 , 197 , 160 , 194 , 194 , 155 , 190 , 190 , 148 , & 185 , 185 , 141 , 182 , 182 , 137 , 177 , 176 , 130 , 173 , 173 , 125 , & 168 , 167 , 119 , 164 , 164 , 114 , 158 , 158 , 108 , 153 , 152 , 102 , & 149 , 148 , 98 , 143 , 143 , 92 , 139 , 139 , 89 , 134 , 133 , 83 , & 130 , 129 , 80 , 124 , 124 , 75 , 119 , 118 , 70 , 115 , 114 , 67 , & 110 , 109 , 63 , 107 , 105 , 61 , 102 , 100 , 57 , 98 , 97 , 55 , & 94 , 92 , 52 , 89 , 87 , 49 , 86 , 84 , 47 , 82 , 79 , 45 , & 80 , 77 , 44 , 76 , 72 , 43 , 73 , 69 , 42 , 71 , 66 , 41 , & 68 , 63 , 41 , 66 , 61 , 41 , 64 , 58 , 41 , 63 , 56 , 41 , & 61 , 54 , 42 , 59 , 52 , 43 , 59 , 51 , 44 , 57 , 50 , 46 , & 57 , 49 , 48 , 56 , 48 , 50 , 55 , 47 , 52 , 55 , 47 , 55 & ], shape ( brocO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: brocO25 = reshape ( [ & 55 , 47 , 56 , 54 , 50 , 70 , 54 , 57 , 87 , 58 , 71 , 108 , & 66 , 89 , 130 , 79 , 107 , 148 , 97 , 127 , 165 , 116 , 144 , 178 , & 138 , 163 , 191 , 161 , 181 , 201 , 181 , 196 , 207 , 198 , 207 , 207 , & 207 , 211 , 197 , 205 , 207 , 179 , 194 , 194 , 155 , 179 , 178 , 132 , & 158 , 158 , 108 , 137 , 137 , 87 , 119 , 118 , 70 , 100 , 98 , 56 , & 84 , 81 , 46 , 72 , 67 , 41 , 63 , 56 , 41 , 58 , 50 , 46 , & 55 , 47 , 55 & ], shape ( brocO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: brocO50 = reshape ( [ & 55 , 47 , 56 , 54 , 48 , 61 , 54 , 49 , 68 , 54 , 53 , 78 , & 54 , 57 , 87 , 55 , 63 , 96 , 57 , 69 , 106 , 60 , 77 , 117 , & 65 , 87 , 128 , 71 , 96 , 138 , 77 , 105 , 146 , 85 , 114 , 154 , & 93 , 123 , 162 , 104 , 134 , 170 , 114 , 143 , 177 , 124 , 151 , 183 , & 134 , 160 , 189 , 145 , 168 , 194 , 157 , 178 , 200 , 167 , 186 , 204 , & 177 , 193 , 206 , 186 , 200 , 208 , 194 , 205 , 208 , 202 , 209 , 205 , & 206 , 211 , 200 , 207 , 211 , 194 , 207 , 209 , 185 , 203 , 204 , 173 , & 198 , 198 , 162 , 191 , 191 , 150 , 184 , 183 , 139 , 175 , 175 , 127 , & 164 , 164 , 114 , 155 , 154 , 104 , 145 , 145 , 94 , 136 , 135 , 85 , & 126 , 126 , 76 , 115 , 114 , 67 , 107 , 105 , 61 , 98 , 97 , 55 , & 91 , 89 , 50 , 84 , 81 , 46 , 76 , 72 , 43 , 71 , 66 , 41 , & 66 , 61 , 41 , 63 , 56 , 41 , 60 , 53 , 43 , 57 , 50 , 46 , & 56 , 48 , 50 , 55 , 47 , 55 & ], shape ( brocO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: buda = reshape ( [ & 179 , 1 , 179 , 179 , 3 , 178 , 179 , 5 , 177 , 179 , 7 , 176 , & 179 , 9 , 175 , 179 , 11 , 174 , 179 , 13 , 174 , 179 , 15 , 173 , & 179 , 17 , 172 , 179 , 18 , 171 , 179 , 20 , 170 , 179 , 22 , 169 , & 179 , 23 , 169 , 179 , 24 , 168 , 179 , 26 , 167 , 179 , 27 , 166 , & 179 , 28 , 166 , 179 , 30 , 165 , 179 , 31 , 164 , 179 , 32 , 164 , & 179 , 33 , 163 , 179 , 35 , 162 , 179 , 36 , 162 , 179 , 37 , 161 , & 179 , 38 , 160 , 179 , 39 , 160 , 179 , 40 , 159 , 179 , 41 , 159 , & 179 , 43 , 158 , 179 , 44 , 158 , 179 , 45 , 157 , 179 , 46 , 157 , & 179 , 47 , 156 , 179 , 48 , 156 , 180 , 49 , 155 , 180 , 50 , 155 , & 180 , 51 , 154 , 180 , 52 , 154 , 180 , 53 , 153 , 180 , 54 , 153 , & 181 , 55 , 152 , 181 , 56 , 152 , 181 , 57 , 152 , 181 , 58 , 151 , & 182 , 59 , 151 , 182 , 60 , 150 , 182 , 61 , 150 , 182 , 62 , 150 , & 183 , 63 , 149 , 183 , 64 , 149 , 183 , 65 , 149 , 184 , 66 , 148 , & 184 , 67 , 148 , 184 , 68 , 148 , 184 , 69 , 147 , 185 , 70 , 147 , & 185 , 71 , 147 , 185 , 72 , 146 , 186 , 73 , 146 , 186 , 74 , 146 , & 186 , 75 , 145 , 187 , 75 , 145 , 187 , 76 , 145 , 187 , 77 , 144 , & 188 , 78 , 144 , 188 , 79 , 144 , 188 , 80 , 143 , 188 , 81 , 143 , & 189 , 82 , 143 , 189 , 83 , 143 , 189 , 84 , 142 , 190 , 85 , 142 , & 190 , 85 , 142 , 190 , 86 , 141 , 191 , 87 , 141 , 191 , 88 , 141 , & 191 , 89 , 140 , 191 , 90 , 140 , 192 , 91 , 140 , 192 , 92 , 140 , & 192 , 92 , 139 , 193 , 93 , 139 , 193 , 94 , 139 , 193 , 95 , 138 , & 194 , 96 , 138 , 194 , 97 , 138 , 194 , 98 , 138 , 194 , 99 , 137 , & 195 , 99 , 137 , 195 , 100 , 137 , 195 , 101 , 136 , 196 , 102 , 136 , & 196 , 103 , 136 , 196 , 104 , 136 , 196 , 105 , 135 , 197 , 105 , 135 , & 197 , 106 , 135 , 197 , 107 , 134 , 198 , 108 , 134 , 198 , 109 , 134 , & 198 , 110 , 134 , 198 , 110 , 133 , 199 , 111 , 133 , 199 , 112 , 133 , & 199 , 113 , 132 , 199 , 114 , 132 , 200 , 115 , 132 , 200 , 115 , 132 , & 200 , 116 , 131 , 201 , 117 , 131 , 201 , 118 , 131 , 201 , 119 , 131 , & 201 , 120 , 130 , 202 , 121 , 130 , 202 , 121 , 130 , 202 , 122 , 129 , & 202 , 123 , 129 , 203 , 124 , 129 , 203 , 125 , 129 , 203 , 126 , 128 , & 203 , 126 , 128 , 204 , 127 , 128 , 204 , 128 , 128 , 204 , 129 , 127 , & 204 , 130 , 127 , 205 , 131 , 127 , 205 , 132 , 127 , 205 , 132 , 126 , & 205 , 133 , 126 , 206 , 134 , 126 , 206 , 135 , 126 , 206 , 136 , 126 , & 206 , 137 , 125 , 207 , 138 , 125 , 207 , 138 , 125 , 207 , 139 , 125 , & 207 , 140 , 124 , 207 , 141 , 124 , 208 , 142 , 124 , 208 , 143 , 124 , & 208 , 144 , 124 , 208 , 145 , 123 , 209 , 145 , 123 , 209 , 146 , 123 , & 209 , 147 , 123 , 209 , 148 , 122 , 209 , 149 , 122 , 210 , 150 , 122 , & 210 , 151 , 122 , 210 , 151 , 122 , 210 , 152 , 121 , 210 , 153 , 121 , & 211 , 154 , 121 , 211 , 155 , 121 , 211 , 156 , 120 , 211 , 157 , 120 , & 212 , 158 , 120 , 212 , 158 , 120 , 212 , 159 , 120 , 212 , 160 , 119 , & 212 , 161 , 119 , 213 , 162 , 119 , 213 , 163 , 119 , 213 , 164 , 119 , & 213 , 165 , 118 , 214 , 165 , 118 , 214 , 166 , 118 , 214 , 167 , 118 , & 214 , 168 , 117 , 214 , 169 , 117 , 215 , 170 , 117 , 215 , 171 , 117 , & 215 , 172 , 117 , 215 , 173 , 116 , 216 , 173 , 116 , 216 , 174 , 116 , & 216 , 175 , 116 , 216 , 176 , 115 , 216 , 177 , 115 , 217 , 178 , 115 , & 217 , 179 , 115 , 217 , 180 , 115 , 217 , 181 , 114 , 218 , 181 , 114 , & 218 , 182 , 114 , 218 , 183 , 114 , 218 , 184 , 113 , 218 , 185 , 113 , & 219 , 186 , 113 , 219 , 187 , 113 , 219 , 188 , 113 , 219 , 189 , 112 , & 220 , 190 , 112 , 220 , 191 , 112 , 220 , 191 , 112 , 220 , 192 , 111 , & 221 , 193 , 111 , 221 , 194 , 111 , 221 , 195 , 111 , 221 , 196 , 110 , & 221 , 197 , 110 , 222 , 198 , 110 , 222 , 199 , 110 , 222 , 200 , 110 , & 222 , 201 , 109 , 223 , 202 , 109 , 223 , 202 , 109 , 223 , 203 , 109 , & 223 , 204 , 108 , 224 , 205 , 108 , 224 , 206 , 108 , 224 , 207 , 108 , & 224 , 208 , 107 , 224 , 209 , 107 , 225 , 210 , 107 , 225 , 211 , 107 , & 225 , 212 , 107 , 226 , 213 , 106 , 226 , 214 , 106 , 226 , 215 , 106 , & 226 , 216 , 106 , 227 , 217 , 105 , 227 , 218 , 105 , 227 , 219 , 105 , & 228 , 220 , 105 , 228 , 221 , 105 , 229 , 222 , 104 , 229 , 223 , 104 , & 229 , 224 , 104 , 230 , 225 , 104 , 231 , 226 , 104 , 231 , 227 , 104 , & 232 , 228 , 103 , 232 , 229 , 103 , 233 , 230 , 103 , 234 , 231 , 103 , & 235 , 232 , 103 , 235 , 233 , 103 , 236 , 235 , 103 , 237 , 236 , 103 , & 238 , 237 , 103 , 239 , 238 , 102 , 240 , 239 , 102 , 241 , 240 , 102 , & 242 , 242 , 102 , 243 , 243 , 102 , 244 , 244 , 102 , 246 , 245 , 102 , & 247 , 246 , 102 , 248 , 248 , 102 , 249 , 249 , 102 , 250 , 250 , 102 , & 251 , 251 , 102 , 253 , 253 , 102 , 254 , 254 , 102 , 255 , 255 , 102 & ], shape ( buda ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: buda10 = reshape ( [ & 179 , 1 , 179 , 179 , 43 , 158 , 185 , 72 , 146 , 194 , 97 , 138 , & 202 , 121 , 130 , 209 , 145 , 123 , 215 , 170 , 117 , 221 , 195 , 111 , & 229 , 223 , 104 , 255 , 255 , 102 & ], shape ( buda10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: buda100 = reshape ( [ & 179 , 1 , 179 , 179 , 7 , 176 , 179 , 11 , 174 , 179 , 17 , 172 , & 179 , 20 , 170 , 179 , 24 , 168 , 179 , 27 , 166 , 179 , 31 , 164 , & 179 , 35 , 162 , 179 , 37 , 161 , 179 , 40 , 159 , 179 , 43 , 158 , & 179 , 46 , 157 , 179 , 48 , 156 , 180 , 51 , 154 , 180 , 54 , 153 , & 181 , 56 , 152 , 182 , 59 , 151 , 182 , 61 , 150 , 183 , 64 , 149 , & 184 , 67 , 148 , 184 , 69 , 147 , 185 , 72 , 146 , 186 , 74 , 146 , & 187 , 76 , 145 , 188 , 78 , 144 , 188 , 81 , 143 , 189 , 84 , 142 , & 190 , 85 , 142 , 191 , 88 , 141 , 191 , 90 , 140 , 192 , 92 , 139 , & 193 , 94 , 139 , 194 , 97 , 138 , 195 , 99 , 137 , 195 , 101 , 136 , & 196 , 104 , 136 , 197 , 105 , 135 , 198 , 108 , 134 , 198 , 110 , 134 , & 199 , 112 , 133 , 200 , 115 , 132 , 200 , 116 , 131 , 201 , 119 , 131 , & 202 , 121 , 130 , 202 , 123 , 129 , 203 , 125 , 129 , 204 , 127 , 128 , & 204 , 130 , 127 , 205 , 132 , 127 , 206 , 134 , 126 , 206 , 136 , 126 , & 207 , 138 , 125 , 207 , 141 , 124 , 208 , 143 , 124 , 209 , 145 , 123 , & 209 , 147 , 123 , 210 , 150 , 122 , 210 , 151 , 122 , 211 , 154 , 121 , & 211 , 157 , 120 , 212 , 158 , 120 , 212 , 161 , 119 , 213 , 163 , 119 , & 214 , 165 , 118 , 214 , 167 , 118 , 215 , 170 , 117 , 215 , 173 , 116 , & 216 , 174 , 116 , 216 , 177 , 115 , 217 , 179 , 115 , 218 , 181 , 114 , & 218 , 183 , 114 , 219 , 186 , 113 , 219 , 189 , 112 , 220 , 191 , 112 , & 221 , 193 , 111 , 221 , 195 , 111 , 222 , 198 , 110 , 222 , 200 , 110 , & 223 , 202 , 109 , 224 , 205 , 108 , 224 , 207 , 108 , 225 , 210 , 107 , & 225 , 212 , 107 , 226 , 215 , 106 , 227 , 218 , 105 , 228 , 220 , 105 , & 229 , 223 , 104 , 230 , 225 , 104 , 232 , 228 , 103 , 233 , 230 , 103 , & 235 , 233 , 103 , 238 , 237 , 103 , 240 , 239 , 102 , 243 , 243 , 102 , & 246 , 245 , 102 , 249 , 249 , 102 , 251 , 251 , 102 , 255 , 255 , 102 & ], shape ( buda100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: buda25 = reshape ( [ & 179 , 1 , 179 , 179 , 22 , 169 , 179 , 35 , 162 , 179 , 47 , 156 , & 181 , 58 , 151 , 184 , 68 , 148 , 188 , 78 , 144 , 191 , 87 , 141 , & 194 , 97 , 138 , 197 , 106 , 135 , 200 , 115 , 132 , 203 , 124 , 129 , & 205 , 133 , 126 , 208 , 142 , 124 , 210 , 151 , 122 , 212 , 160 , 119 , & 215 , 170 , 117 , 217 , 180 , 115 , 219 , 189 , 112 , 222 , 199 , 110 , & 224 , 209 , 107 , 227 , 219 , 105 , 233 , 230 , 103 , 242 , 242 , 102 , & 255 , 255 , 102 & ], shape ( buda25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: buda50 = reshape ( [ & 179 , 1 , 179 , 179 , 11 , 174 , 179 , 20 , 170 , 179 , 28 , 166 , & 179 , 35 , 162 , 179 , 40 , 159 , 179 , 46 , 157 , 180 , 51 , 154 , & 181 , 57 , 152 , 182 , 62 , 150 , 184 , 67 , 148 , 185 , 72 , 146 , & 187 , 76 , 145 , 189 , 82 , 143 , 190 , 86 , 141 , 192 , 91 , 140 , & 193 , 95 , 138 , 195 , 99 , 137 , 196 , 105 , 135 , 198 , 109 , 134 , & 199 , 113 , 132 , 201 , 117 , 131 , 202 , 121 , 130 , 203 , 126 , 128 , & 205 , 131 , 127 , 206 , 135 , 126 , 207 , 139 , 125 , 208 , 145 , 123 , & 209 , 149 , 122 , 210 , 153 , 121 , 212 , 158 , 120 , 213 , 162 , 119 , & 214 , 167 , 118 , 215 , 172 , 117 , 216 , 176 , 115 , 217 , 181 , 114 , & 218 , 185 , 113 , 220 , 191 , 112 , 221 , 195 , 111 , 222 , 200 , 110 , & 223 , 204 , 108 , 224 , 209 , 107 , 226 , 215 , 106 , 228 , 220 , 105 , & 230 , 225 , 104 , 233 , 230 , 103 , 237 , 236 , 103 , 243 , 243 , 102 , & 249 , 249 , 102 , 255 , 255 , 102 & ], shape ( buda50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: budaS = reshape ( [ & 179 , 1 , 179 , 255 , 255 , 102 , 205 , 133 , 126 , 188 , 78 , 144 , & 220 , 190 , 112 , 179 , 47 , 156 , 212 , 161 , 119 , 197 , 106 , 135 , & 227 , 219 , 105 , 192 , 92 , 139 , 179 , 28 , 166 , 209 , 147 , 123 , & 201 , 120 , 130 , 183 , 63 , 149 , 237 , 236 , 103 , 216 , 175 , 116 , & 223 , 204 , 108 , 181 , 55 , 152 , 218 , 182 , 114 , 179 , 17 , 172 , & 221 , 197 , 110 , 199 , 113 , 132 , 231 , 227 , 104 , 246 , 245 , 102 , & 195 , 99 , 137 , 179 , 38 , 160 , 211 , 154 , 121 , 207 , 140 , 124 , & 203 , 126 , 128 , 185 , 71 , 147 , 190 , 85 , 142 , 214 , 168 , 117 , & 225 , 211 , 107 , 221 , 193 , 111 , 179 , 23 , 169 , 198 , 110 , 134 , & 250 , 250 , 102 , 200 , 116 , 131 , 191 , 89 , 140 , 212 , 158 , 120 , & 226 , 215 , 106 , 219 , 186 , 113 , 204 , 130 , 127 , 215 , 172 , 117 , & 213 , 165 , 118 , 194 , 96 , 138 , 229 , 223 , 104 , 196 , 103 , 136 , & 241 , 240 , 102 , 210 , 151 , 122 , 179 , 33 , 163 , 182 , 59 , 151 , & 179 , 43 , 158 , 202 , 123 , 129 , 179 , 9 , 175 , 206 , 137 , 125 , & 234 , 231 , 103 , 208 , 144 , 124 , 222 , 201 , 109 , 186 , 75 , 145 , & 184 , 67 , 148 , 217 , 179 , 115 , 189 , 82 , 143 , 180 , 51 , 154 , & 224 , 207 , 108 , 179 , 26 , 167 , 179 , 20 , 170 , 192 , 91 , 140 , & 183 , 65 , 149 , 216 , 173 , 116 , 232 , 229 , 103 , 198 , 108 , 134 , & 179 , 45 , 157 , 222 , 199 , 110 , 205 , 132 , 127 , 216 , 177 , 115 , & 215 , 170 , 117 , 201 , 118 , 131 , 213 , 163 , 119 , 212 , 159 , 120 , & 207 , 138 , 125 , 182 , 61 , 150 , 206 , 135 , 126 , 221 , 195 , 111 , & 199 , 111 , 133 , 220 , 191 , 112 , 217 , 181 , 114 , 248 , 248 , 102 , & 189 , 84 , 142 , 193 , 94 , 139 , 195 , 101 , 136 , 179 , 5 , 177 , & 211 , 156 , 120 , 209 , 145 , 123 , 194 , 98 , 138 , 200 , 115 , 132 , & 203 , 125 , 129 , 187 , 76 , 145 , 181 , 57 , 152 , 179 , 40 , 159 & ], shape ( budaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: bukavu = reshape ( [ & 26 , 51 , 51 , 26 , 52 , 53 , 26 , 53 , 55 , 26 , 53 , 57 , & 27 , 54 , 59 , 27 , 55 , 61 , 27 , 56 , 63 , 27 , 57 , 65 , & 27 , 58 , 67 , 28 , 59 , 69 , 28 , 60 , 71 , 28 , 61 , 73 , & 28 , 62 , 76 , 29 , 62 , 78 , 29 , 63 , 80 , 29 , 64 , 82 , & 30 , 66 , 85 , 30 , 67 , 87 , 30 , 68 , 90 , 30 , 69 , 92 , & 31 , 70 , 95 , 31 , 71 , 98 , 31 , 72 , 101 , 32 , 74 , 104 , & 32 , 75 , 107 , 32 , 76 , 110 , 33 , 78 , 113 , 33 , 79 , 117 , & 34 , 81 , 120 , 34 , 82 , 123 , 34 , 84 , 127 , 35 , 85 , 130 , & 35 , 87 , 134 , 36 , 89 , 137 , 36 , 91 , 140 , 37 , 92 , 143 , & 37 , 94 , 146 , 38 , 96 , 149 , 39 , 98 , 151 , 39 , 100 , 154 , & 40 , 102 , 156 , 41 , 104 , 159 , 41 , 105 , 161 , 42 , 107 , 163 , & 42 , 109 , 166 , 43 , 111 , 168 , 44 , 113 , 170 , 44 , 115 , 173 , & 45 , 117 , 175 , 45 , 118 , 177 , 46 , 120 , 180 , 47 , 122 , 182 , & 47 , 124 , 184 , 48 , 126 , 186 , 49 , 127 , 189 , 50 , 129 , 191 , & 50 , 131 , 192 , 52 , 133 , 194 , 53 , 135 , 196 , 54 , 137 , 197 , & 56 , 138 , 198 , 58 , 140 , 198 , 59 , 142 , 199 , 61 , 144 , 199 , & 63 , 146 , 200 , 65 , 147 , 200 , 67 , 149 , 200 , 69 , 151 , 200 , & 71 , 153 , 200 , 73 , 154 , 200 , 75 , 156 , 200 , 76 , 158 , 201 , & 78 , 160 , 201 , 80 , 161 , 201 , 82 , 163 , 201 , 84 , 165 , 201 , & 86 , 166 , 201 , 88 , 168 , 201 , 89 , 170 , 201 , 91 , 171 , 202 , & 93 , 173 , 202 , 95 , 174 , 202 , 97 , 176 , 202 , 98 , 178 , 202 , & 100 , 179 , 202 , 102 , 181 , 202 , 104 , 183 , 202 , 106 , 184 , 203 , & 107 , 186 , 203 , 109 , 187 , 203 , 111 , 189 , 203 , 113 , 191 , 203 , & 114 , 192 , 203 , 116 , 194 , 203 , 118 , 195 , 203 , 120 , 197 , 204 , & 122 , 199 , 204 , 124 , 200 , 204 , 127 , 202 , 204 , 129 , 204 , 205 , & 132 , 205 , 205 , 135 , 207 , 206 , 138 , 209 , 207 , 142 , 211 , 208 , & 146 , 213 , 209 , 149 , 215 , 209 , 153 , 217 , 210 , 157 , 218 , 211 , & 160 , 220 , 212 , 164 , 222 , 213 , 168 , 224 , 214 , 172 , 226 , 215 , & 175 , 228 , 216 , 179 , 230 , 217 , 182 , 231 , 218 , 186 , 233 , 219 , & 190 , 235 , 220 , 193 , 237 , 220 , 197 , 239 , 221 , 200 , 240 , 222 , & 204 , 242 , 223 , 207 , 244 , 224 , 211 , 246 , 225 , 214 , 247 , 226 , & 218 , 249 , 227 , 221 , 251 , 227 , 224 , 252 , 228 , 228 , 254 , 229 , & 1 , 64 , 38 , 2 , 65 , 37 , 3 , 66 , 36 , 4 , 68 , 35 , & 5 , 69 , 34 , 6 , 70 , 33 , 7 , 71 , 32 , 8 , 73 , 31 , & 9 , 74 , 30 , 11 , 75 , 29 , 12 , 77 , 28 , 14 , 78 , 27 , & 15 , 80 , 26 , 17 , 81 , 25 , 19 , 83 , 24 , 21 , 84 , 23 , & 23 , 86 , 22 , 26 , 88 , 21 , 28 , 89 , 20 , 31 , 91 , 19 , & 34 , 93 , 19 , 37 , 94 , 18 , 40 , 96 , 18 , 43 , 98 , 18 , & 47 , 99 , 18 , 50 , 101 , 19 , 54 , 102 , 19 , 57 , 103 , 20 , & 61 , 105 , 21 , 64 , 106 , 22 , 68 , 107 , 23 , 71 , 108 , 25 , & 75 , 109 , 26 , 78 , 110 , 27 , 82 , 111 , 29 , 85 , 111 , 30 , & 88 , 112 , 32 , 91 , 113 , 33 , 94 , 113 , 35 , 97 , 114 , 36 , & 100 , 114 , 37 , 103 , 115 , 39 , 105 , 115 , 40 , 108 , 116 , 41 , & 111 , 116 , 43 , 113 , 117 , 44 , 116 , 117 , 45 , 118 , 118 , 46 , & 120 , 118 , 47 , 123 , 118 , 49 , 125 , 119 , 50 , 127 , 119 , 51 , & 130 , 120 , 52 , 132 , 120 , 53 , 134 , 120 , 54 , 136 , 121 , 56 , & 139 , 121 , 57 , 141 , 122 , 58 , 143 , 122 , 59 , 145 , 123 , 60 , & 147 , 123 , 62 , 150 , 124 , 63 , 152 , 124 , 64 , 154 , 125 , 66 , & 156 , 126 , 67 , 158 , 126 , 69 , 161 , 127 , 71 , 163 , 128 , 73 , & 165 , 130 , 75 , 167 , 131 , 77 , 170 , 132 , 79 , 172 , 134 , 82 , & 174 , 135 , 84 , 176 , 137 , 87 , 178 , 139 , 90 , 180 , 141 , 93 , & 182 , 143 , 96 , 183 , 145 , 99 , 185 , 147 , 102 , 187 , 149 , 105 , & 188 , 151 , 108 , 190 , 153 , 111 , 191 , 156 , 114 , 192 , 158 , 118 , & 194 , 160 , 121 , 195 , 162 , 124 , 196 , 165 , 127 , 197 , 167 , 130 , & 198 , 169 , 133 , 200 , 172 , 137 , 201 , 174 , 140 , 202 , 176 , 143 , & 203 , 178 , 146 , 204 , 181 , 150 , 205 , 183 , 153 , 206 , 185 , 156 , & 207 , 187 , 160 , 208 , 189 , 163 , 210 , 192 , 166 , 211 , 194 , 170 , & 212 , 196 , 173 , 213 , 198 , 176 , 214 , 200 , 180 , 215 , 202 , 183 , & 216 , 204 , 186 , 217 , 205 , 190 , 218 , 207 , 193 , 219 , 209 , 196 , & 220 , 211 , 199 , 221 , 212 , 202 , 222 , 214 , 205 , 223 , 215 , 208 , & 224 , 217 , 210 , 225 , 218 , 213 , 226 , 219 , 216 , 227 , 221 , 219 , & 227 , 222 , 221 , 228 , 223 , 224 , 229 , 225 , 227 , 230 , 226 , 229 , & 231 , 227 , 232 , 232 , 229 , 235 , 233 , 230 , 237 , 233 , 231 , 240 , & 234 , 233 , 243 , 235 , 234 , 246 , 236 , 236 , 249 , 237 , 237 , 252 & ], shape ( bukavu ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: bukavu10 = reshape ( [ & 26 , 51 , 51 , 34 , 81 , 120 , 52 , 133 , 194 , 102 , 181 , 202 , & 179 , 230 , 217 , 19 , 83 , 24 , 105 , 115 , 40 , 170 , 132 , 79 , & 211 , 194 , 170 , 237 , 237 , 252 & ], shape ( bukavu10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: bukavu100 = reshape ( [ & 26 , 51 , 51 , 26 , 53 , 57 , 27 , 55 , 61 , 27 , 58 , 67 , & 28 , 60 , 71 , 29 , 62 , 78 , 29 , 64 , 82 , 30 , 68 , 90 , & 31 , 71 , 98 , 32 , 74 , 104 , 33 , 78 , 113 , 34 , 81 , 120 , & 35 , 85 , 130 , 36 , 89 , 137 , 37 , 94 , 146 , 39 , 100 , 154 , & 41 , 104 , 159 , 42 , 109 , 166 , 44 , 113 , 170 , 45 , 118 , 177 , & 47 , 124 , 184 , 49 , 127 , 189 , 52 , 133 , 194 , 54 , 137 , 197 , & 59 , 142 , 199 , 63 , 146 , 200 , 69 , 151 , 200 , 75 , 156 , 200 , & 78 , 160 , 201 , 84 , 165 , 201 , 88 , 168 , 201 , 93 , 173 , 202 , & 97 , 176 , 202 , 102 , 181 , 202 , 107 , 186 , 203 , 111 , 189 , 203 , & 116 , 194 , 203 , 120 , 197 , 204 , 127 , 202 , 204 , 132 , 205 , 205 , & 142 , 211 , 208 , 153 , 217 , 210 , 160 , 220 , 212 , 172 , 226 , 215 , & 179 , 230 , 217 , 190 , 235 , 220 , 197 , 239 , 221 , 207 , 244 , 224 , & 218 , 249 , 227 , 224 , 252 , 228 , 2 , 65 , 37 , 4 , 68 , 35 , & 7 , 71 , 32 , 11 , 75 , 29 , 14 , 78 , 27 , 19 , 83 , 24 , & 23 , 86 , 22 , 31 , 91 , 19 , 37 , 94 , 18 , 47 , 99 , 18 , & 57 , 103 , 20 , 64 , 106 , 22 , 75 , 109 , 26 , 82 , 111 , 29 , & 91 , 113 , 33 , 97 , 114 , 36 , 105 , 115 , 40 , 113 , 117 , 44 , & 118 , 118 , 46 , 125 , 119 , 50 , 130 , 120 , 52 , 136 , 121 , 56 , & 141 , 122 , 58 , 147 , 123 , 62 , 154 , 125 , 66 , 158 , 126 , 69 , & 165 , 130 , 75 , 170 , 132 , 79 , 176 , 137 , 87 , 180 , 141 , 93 , & 185 , 147 , 102 , 190 , 153 , 111 , 192 , 158 , 118 , 196 , 165 , 127 , & 198 , 169 , 133 , 202 , 176 , 143 , 205 , 183 , 153 , 207 , 187 , 160 , & 211 , 194 , 170 , 213 , 198 , 176 , 216 , 204 , 186 , 218 , 207 , 193 , & 221 , 212 , 202 , 224 , 217 , 210 , 226 , 219 , 216 , 228 , 223 , 224 , & 230 , 226 , 229 , 233 , 230 , 237 , 234 , 233 , 243 , 237 , 237 , 252 & ], shape ( bukavu100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: bukavu25 = reshape ( [ & 26 , 51 , 51 , 28 , 61 , 73 , 31 , 71 , 98 , 35 , 87 , 134 , & 42 , 107 , 163 , 48 , 126 , 186 , 63 , 146 , 200 , 82 , 163 , 201 , & 102 , 181 , 202 , 122 , 199 , 204 , 153 , 217 , 210 , 193 , 237 , 220 , & 1 , 64 , 38 , 12 , 77 , 28 , 37 , 94 , 18 , 71 , 108 , 25 , & 105 , 115 , 40 , 132 , 120 , 53 , 154 , 125 , 66 , 178 , 139 , 90 , & 195 , 162 , 124 , 206 , 185 , 156 , 218 , 207 , 193 , 227 , 222 , 221 , & 237 , 237 , 252 & ], shape ( bukavu25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: bukavu50 = reshape ( [ & 26 , 51 , 51 , 27 , 55 , 61 , 28 , 60 , 71 , 30 , 66 , 85 , & 31 , 71 , 98 , 33 , 78 , 113 , 35 , 85 , 130 , 37 , 94 , 146 , & 41 , 105 , 161 , 44 , 115 , 173 , 47 , 124 , 184 , 52 , 133 , 194 , & 59 , 142 , 199 , 71 , 153 , 200 , 80 , 161 , 201 , 89 , 170 , 201 , & 98 , 178 , 202 , 107 , 186 , 203 , 118 , 195 , 203 , 129 , 204 , 205 , & 146 , 213 , 209 , 164 , 222 , 213 , 182 , 231 , 218 , 204 , 242 , 223 , & 221 , 251 , 227 , 3 , 66 , 36 , 8 , 73 , 31 , 17 , 81 , 25 , & 28 , 89 , 20 , 43 , 98 , 18 , 61 , 105 , 21 , 78 , 110 , 27 , & 97 , 114 , 36 , 111 , 116 , 43 , 123 , 118 , 49 , 134 , 120 , 54 , & 145 , 123 , 60 , 158 , 126 , 69 , 170 , 132 , 79 , 180 , 141 , 93 , & 188 , 151 , 108 , 195 , 162 , 124 , 202 , 176 , 143 , 207 , 187 , 160 , & 213 , 198 , 176 , 218 , 207 , 193 , 223 , 215 , 208 , 228 , 223 , 224 , & 233 , 230 , 237 , 237 , 237 , 252 & ], shape ( bukavu50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: cork = reshape ( [ & 44 , 25 , 76 , 44 , 27 , 78 , 44 , 29 , 79 , 43 , 30 , 81 , & 43 , 32 , 83 , 43 , 34 , 84 , 43 , 35 , 86 , 43 , 37 , 87 , & 43 , 38 , 89 , 43 , 40 , 91 , 43 , 41 , 92 , 42 , 43 , 94 , & 42 , 44 , 95 , 42 , 46 , 97 , 42 , 47 , 98 , 42 , 49 , 100 , & 42 , 50 , 101 , 41 , 52 , 103 , 41 , 54 , 104 , 41 , 55 , 106 , & 41 , 57 , 107 , 41 , 58 , 109 , 40 , 60 , 110 , 40 , 61 , 112 , & 40 , 63 , 114 , 40 , 64 , 115 , 40 , 66 , 117 , 40 , 67 , 118 , & 40 , 69 , 120 , 40 , 70 , 121 , 40 , 72 , 123 , 40 , 74 , 124 , & 40 , 75 , 126 , 40 , 77 , 127 , 41 , 79 , 129 , 41 , 80 , 130 , & 42 , 82 , 132 , 42 , 83 , 133 , 43 , 85 , 135 , 44 , 87 , 136 , & 45 , 89 , 138 , 46 , 90 , 139 , 47 , 92 , 141 , 48 , 94 , 142 , & 50 , 95 , 143 , 51 , 97 , 145 , 53 , 99 , 146 , 54 , 100 , 147 , & 56 , 102 , 149 , 58 , 104 , 150 , 60 , 105 , 151 , 61 , 107 , 152 , & 63 , 108 , 153 , 65 , 110 , 155 , 67 , 112 , 156 , 69 , 113 , 157 , & 71 , 115 , 158 , 73 , 116 , 159 , 75 , 118 , 160 , 76 , 119 , 161 , & 78 , 121 , 162 , 80 , 122 , 163 , 82 , 124 , 164 , 84 , 125 , 165 , & 86 , 127 , 166 , 88 , 128 , 167 , 90 , 130 , 168 , 92 , 131 , 169 , & 94 , 133 , 170 , 96 , 134 , 172 , 98 , 136 , 173 , 100 , 137 , 174 , & 102 , 139 , 175 , 104 , 141 , 176 , 106 , 142 , 177 , 109 , 144 , 178 , & 111 , 146 , 179 , 113 , 147 , 180 , 115 , 149 , 182 , 117 , 151 , 183 , & 119 , 152 , 184 , 122 , 154 , 185 , 124 , 156 , 186 , 126 , 157 , 187 , & 129 , 159 , 189 , 131 , 161 , 190 , 133 , 163 , 191 , 136 , 164 , 192 , & 138 , 166 , 194 , 140 , 168 , 195 , 143 , 170 , 196 , 145 , 172 , 197 , & 148 , 174 , 199 , 150 , 175 , 200 , 153 , 177 , 201 , 155 , 179 , 203 , & 158 , 181 , 204 , 160 , 183 , 205 , 163 , 185 , 207 , 165 , 187 , 208 , & 168 , 189 , 209 , 170 , 191 , 211 , 173 , 193 , 212 , 176 , 195 , 213 , & 178 , 197 , 215 , 181 , 199 , 216 , 184 , 201 , 218 , 186 , 203 , 219 , & 189 , 205 , 220 , 192 , 207 , 222 , 194 , 209 , 223 , 197 , 211 , 225 , & 200 , 213 , 226 , 202 , 215 , 227 , 205 , 217 , 229 , 208 , 219 , 230 , & 210 , 221 , 231 , 213 , 223 , 232 , 215 , 225 , 233 , 218 , 227 , 234 , & 220 , 229 , 235 , 222 , 230 , 236 , 224 , 232 , 237 , 226 , 233 , 237 , & 227 , 235 , 237 , 229 , 236 , 237 , 230 , 237 , 237 , 230 , 237 , 237 , & 230 , 237 , 236 , 230 , 238 , 235 , 230 , 238 , 234 , 229 , 237 , 232 , & 228 , 237 , 231 , 227 , 236 , 229 , 226 , 235 , 227 , 224 , 234 , 225 , & 222 , 233 , 223 , 220 , 232 , 221 , 218 , 231 , 219 , 216 , 229 , 217 , & 214 , 228 , 214 , 212 , 226 , 212 , 210 , 225 , 210 , 207 , 223 , 207 , & 205 , 222 , 205 , 203 , 220 , 203 , 200 , 219 , 200 , 198 , 217 , 198 , & 196 , 215 , 195 , 193 , 214 , 193 , 191 , 212 , 191 , 188 , 211 , 188 , & 186 , 209 , 186 , 183 , 207 , 183 , 181 , 206 , 181 , 178 , 204 , 178 , & 176 , 202 , 176 , 174 , 201 , 173 , 171 , 199 , 171 , 169 , 197 , 168 , & 166 , 196 , 166 , 164 , 194 , 163 , 161 , 192 , 161 , 159 , 191 , 159 , & 156 , 189 , 156 , 154 , 187 , 154 , 151 , 186 , 151 , 149 , 184 , 149 , & 146 , 183 , 146 , 144 , 181 , 144 , 142 , 179 , 141 , 139 , 178 , 139 , & 137 , 176 , 136 , 134 , 174 , 134 , 132 , 173 , 132 , 130 , 171 , 129 , & 127 , 170 , 127 , 125 , 168 , 125 , 123 , 167 , 122 , 120 , 165 , 120 , & 118 , 163 , 118 , 116 , 162 , 115 , 113 , 160 , 113 , 111 , 159 , 111 , & 109 , 157 , 108 , 107 , 156 , 106 , 104 , 154 , 104 , 102 , 153 , 102 , & 100 , 151 , 100 , 98 , 150 , 97 , 96 , 149 , 95 , 93 , 147 , 93 , & 91 , 146 , 91 , 89 , 144 , 89 , 87 , 143 , 87 , 85 , 141 , 85 , & 83 , 140 , 82 , 81 , 139 , 80 , 79 , 137 , 78 , 77 , 136 , 76 , & 75 , 134 , 74 , 73 , 133 , 72 , 71 , 132 , 70 , 69 , 130 , 68 , & 67 , 129 , 66 , 65 , 127 , 64 , 63 , 126 , 62 , 61 , 125 , 60 , & 59 , 123 , 58 , 57 , 122 , 56 , 55 , 120 , 54 , 53 , 119 , 52 , & 51 , 117 , 50 , 49 , 116 , 48 , 47 , 114 , 46 , 45 , 112 , 44 , & 43 , 111 , 42 , 42 , 109 , 40 , 40 , 107 , 38 , 38 , 106 , 37 , & 37 , 104 , 35 , 35 , 102 , 33 , 34 , 100 , 32 , 32 , 99 , 30 , & 31 , 97 , 29 , 30 , 95 , 27 , 29 , 93 , 26 , 28 , 91 , 25 , & 27 , 89 , 23 , 26 , 88 , 22 , 25 , 86 , 21 , 24 , 84 , 20 , & 24 , 82 , 19 , 23 , 80 , 18 , 23 , 78 , 18 , 22 , 76 , 17 , & 22 , 75 , 16 , 21 , 73 , 15 , 21 , 71 , 15 , 20 , 69 , 14 , & 20 , 67 , 13 , 19 , 65 , 13 , 19 , 64 , 12 , 19 , 62 , 12 , & 18 , 60 , 11 , 18 , 58 , 10 , 18 , 56 , 10 , 17 , 55 , 9 , & 17 , 53 , 8 , 17 , 51 , 8 , 16 , 49 , 7 , 16 , 48 , 6 , & 16 , 46 , 5 , 16 , 44 , 5 , 15 , 43 , 4 , 15 , 41 , 3 & ], shape ( cork ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: cork10 = reshape ( [ & 44 , 25 , 76 , 40 , 69 , 120 , 73 , 116 , 159 , 131 , 161 , 190 , & 202 , 215 , 227 , 210 , 225 , 210 , 142 , 179 , 141 , 79 , 137 , 78 , & 28 , 91 , 25 , 15 , 41 , 3 & ], shape ( cork10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: cork100 = reshape ( [ & 44 , 25 , 76 , 43 , 30 , 81 , 43 , 34 , 84 , 43 , 38 , 89 , & 43 , 41 , 92 , 42 , 46 , 97 , 42 , 49 , 100 , 41 , 54 , 104 , & 41 , 58 , 109 , 40 , 61 , 112 , 40 , 66 , 117 , 40 , 69 , 120 , & 40 , 74 , 124 , 40 , 77 , 127 , 42 , 82 , 132 , 44 , 87 , 136 , & 46 , 90 , 139 , 50 , 95 , 143 , 53 , 99 , 146 , 58 , 104 , 150 , & 63 , 108 , 153 , 67 , 112 , 156 , 73 , 116 , 159 , 76 , 119 , 161 , & 82 , 124 , 164 , 86 , 127 , 166 , 92 , 131 , 169 , 98 , 136 , 173 , & 102 , 139 , 175 , 109 , 144 , 178 , 113 , 147 , 180 , 119 , 152 , 184 , & 124 , 156 , 186 , 131 , 161 , 190 , 138 , 166 , 194 , 143 , 170 , 196 , & 150 , 175 , 200 , 155 , 179 , 203 , 163 , 185 , 207 , 168 , 189 , 209 , & 176 , 195 , 213 , 184 , 201 , 218 , 189 , 205 , 220 , 197 , 211 , 225 , & 202 , 215 , 227 , 210 , 221 , 231 , 215 , 225 , 233 , 222 , 230 , 236 , & 227 , 235 , 237 , 230 , 237 , 237 , 230 , 238 , 235 , 229 , 237 , 232 , & 226 , 235 , 227 , 220 , 232 , 221 , 216 , 229 , 217 , 210 , 225 , 210 , & 205 , 222 , 205 , 198 , 217 , 198 , 193 , 214 , 193 , 186 , 209 , 186 , & 178 , 204 , 178 , 174 , 201 , 173 , 166 , 196 , 166 , 161 , 192 , 161 , & 154 , 187 , 154 , 149 , 184 , 149 , 142 , 179 , 141 , 134 , 174 , 134 , & 130 , 171 , 129 , 123 , 167 , 122 , 118 , 163 , 118 , 111 , 159 , 111 , & 107 , 156 , 106 , 100 , 151 , 100 , 93 , 147 , 93 , 89 , 144 , 89 , & 83 , 140 , 82 , 79 , 137 , 78 , 73 , 133 , 72 , 69 , 130 , 68 , & 63 , 126 , 62 , 57 , 122 , 56 , 53 , 119 , 52 , 47 , 114 , 46 , & 43 , 111 , 42 , 38 , 106 , 37 , 34 , 100 , 32 , 31 , 97 , 29 , & 28 , 91 , 25 , 26 , 88 , 22 , 24 , 82 , 19 , 23 , 78 , 18 , & 21 , 73 , 15 , 20 , 67 , 13 , 19 , 64 , 12 , 18 , 58 , 10 , & 17 , 55 , 9 , 16 , 49 , 7 , 16 , 46 , 5 , 15 , 41 , 3 & ], shape ( cork100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: cork25 = reshape ( [ & 44 , 25 , 76 , 42 , 43 , 94 , 41 , 58 , 109 , 40 , 75 , 126 , & 48 , 94 , 142 , 65 , 110 , 155 , 86 , 127 , 166 , 106 , 142 , 177 , & 131 , 161 , 190 , 158 , 181 , 204 , 184 , 201 , 218 , 213 , 223 , 232 , & 230 , 237 , 236 , 218 , 231 , 219 , 193 , 214 , 193 , 169 , 197 , 168 , & 142 , 179 , 141 , 116 , 162 , 115 , 93 , 147 , 93 , 71 , 132 , 70 , & 49 , 116 , 48 , 32 , 99 , 30 , 23 , 78 , 18 , 18 , 60 , 11 , & 15 , 41 , 3 & ], shape ( cork25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: cork50 = reshape ( [ & 44 , 25 , 76 , 43 , 34 , 84 , 43 , 41 , 92 , 42 , 50 , 101 , & 41 , 58 , 109 , 40 , 66 , 117 , 40 , 74 , 124 , 42 , 82 , 132 , & 47 , 92 , 141 , 54 , 100 , 147 , 63 , 108 , 153 , 73 , 116 , 159 , & 82 , 124 , 164 , 94 , 133 , 170 , 104 , 141 , 176 , 115 , 149 , 182 , & 126 , 157 , 187 , 138 , 166 , 194 , 153 , 177 , 201 , 165 , 187 , 208 , & 178 , 197 , 215 , 192 , 207 , 222 , 205 , 217 , 229 , 220 , 229 , 235 , & 229 , 236 , 237 , 230 , 238 , 234 , 224 , 234 , 225 , 212 , 226 , 212 , & 200 , 219 , 200 , 188 , 211 , 188 , 176 , 202 , 176 , 164 , 194 , 163 , & 149 , 184 , 149 , 137 , 176 , 136 , 125 , 168 , 125 , 113 , 160 , 113 , & 102 , 153 , 102 , 89 , 144 , 89 , 79 , 137 , 78 , 69 , 130 , 68 , & 59 , 123 , 58 , 49 , 116 , 48 , 38 , 106 , 37 , 31 , 97 , 29 , & 26 , 88 , 22 , 23 , 78 , 18 , 20 , 69 , 14 , 18 , 58 , 10 , & 16 , 49 , 7 , 15 , 41 , 3 & ], shape ( cork50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: corkO = reshape ( [ & 63 , 62 , 58 , 63 , 62 , 59 , 63 , 62 , 60 , 63 , 61 , 61 , & 62 , 61 , 62 , 62 , 61 , 63 , 62 , 61 , 64 , 62 , 61 , 65 , & 62 , 61 , 66 , 62 , 61 , 67 , 62 , 61 , 68 , 62 , 61 , 69 , & 62 , 61 , 70 , 62 , 61 , 71 , 62 , 61 , 72 , 62 , 61 , 73 , & 62 , 61 , 75 , 62 , 61 , 76 , 62 , 62 , 77 , 62 , 62 , 79 , & 62 , 63 , 80 , 62 , 63 , 82 , 62 , 64 , 83 , 62 , 64 , 85 , & 62 , 65 , 86 , 62 , 65 , 88 , 62 , 66 , 90 , 62 , 67 , 91 , & 62 , 68 , 93 , 62 , 69 , 95 , 63 , 70 , 97 , 63 , 71 , 98 , & 63 , 72 , 100 , 64 , 73 , 102 , 64 , 74 , 104 , 64 , 75 , 106 , & 65 , 76 , 108 , 65 , 78 , 110 , 66 , 79 , 112 , 66 , 80 , 114 , & 67 , 82 , 116 , 68 , 83 , 118 , 68 , 85 , 120 , 69 , 86 , 122 , & 70 , 88 , 124 , 71 , 89 , 126 , 71 , 91 , 128 , 72 , 93 , 130 , & 73 , 94 , 132 , 74 , 96 , 134 , 75 , 98 , 135 , 77 , 99 , 137 , & 78 , 101 , 139 , 79 , 103 , 141 , 80 , 105 , 143 , 81 , 106 , 145 , & 83 , 108 , 146 , 84 , 110 , 148 , 86 , 112 , 150 , 87 , 113 , 151 , & 88 , 115 , 153 , 90 , 117 , 155 , 92 , 119 , 156 , 93 , 120 , 158 , & 95 , 122 , 159 , 96 , 124 , 161 , 98 , 126 , 162 , 100 , 127 , 164 , & 101 , 129 , 165 , 103 , 131 , 166 , 105 , 133 , 168 , 106 , 134 , 169 , & 108 , 136 , 171 , 110 , 138 , 172 , 112 , 140 , 173 , 114 , 141 , 174 , & 115 , 143 , 176 , 117 , 145 , 177 , 119 , 146 , 178 , 121 , 148 , 179 , & 123 , 150 , 180 , 124 , 151 , 182 , 126 , 153 , 183 , 128 , 155 , 184 , & 130 , 156 , 185 , 132 , 158 , 186 , 134 , 160 , 187 , 135 , 161 , 188 , & 137 , 163 , 189 , 139 , 164 , 190 , 141 , 166 , 191 , 143 , 167 , 192 , & 144 , 169 , 192 , 146 , 171 , 193 , 148 , 172 , 194 , 150 , 174 , 195 , & 151 , 175 , 195 , 153 , 177 , 196 , 154 , 178 , 197 , 156 , 179 , 197 , & 158 , 181 , 198 , 159 , 182 , 198 , 161 , 184 , 199 , 162 , 185 , 199 , & 163 , 186 , 199 , 165 , 187 , 200 , 166 , 189 , 200 , 167 , 190 , 200 , & 168 , 191 , 200 , 169 , 192 , 200 , 170 , 193 , 200 , 171 , 194 , 200 , & 172 , 195 , 200 , 173 , 196 , 200 , 174 , 197 , 199 , 174 , 198 , 199 , & 175 , 198 , 199 , 175 , 199 , 198 , 176 , 200 , 197 , 176 , 200 , 197 , & 176 , 201 , 196 , 176 , 201 , 195 , 176 , 202 , 194 , 176 , 202 , 193 , & 176 , 202 , 192 , 176 , 202 , 191 , 176 , 202 , 190 , 175 , 203 , 189 , & 175 , 203 , 188 , 174 , 202 , 187 , 173 , 202 , 185 , 173 , 202 , 184 , & 172 , 202 , 182 , 171 , 202 , 181 , 170 , 201 , 179 , 169 , 201 , 178 , & 168 , 200 , 176 , 167 , 200 , 175 , 166 , 199 , 173 , 165 , 199 , 171 , & 163 , 198 , 170 , 162 , 197 , 168 , 161 , 196 , 166 , 159 , 196 , 164 , & 158 , 195 , 163 , 156 , 194 , 161 , 155 , 193 , 159 , 153 , 192 , 157 , & 152 , 191 , 155 , 150 , 190 , 153 , 149 , 189 , 151 , 147 , 188 , 149 , & 145 , 187 , 147 , 144 , 186 , 145 , 142 , 185 , 143 , 140 , 183 , 141 , & 139 , 182 , 139 , 137 , 181 , 137 , 135 , 180 , 135 , 134 , 178 , 133 , & 132 , 177 , 131 , 130 , 176 , 129 , 128 , 174 , 127 , 127 , 173 , 125 , & 125 , 172 , 123 , 123 , 170 , 121 , 122 , 169 , 119 , 120 , 167 , 117 , & 118 , 166 , 115 , 117 , 164 , 113 , 115 , 163 , 111 , 113 , 161 , 108 , & 112 , 159 , 106 , 110 , 158 , 104 , 108 , 156 , 102 , 107 , 154 , 100 , & 105 , 153 , 98 , 104 , 151 , 96 , 102 , 149 , 94 , 101 , 148 , 92 , & 99 , 146 , 90 , 98 , 144 , 88 , 96 , 142 , 86 , 95 , 141 , 84 , & 94 , 139 , 82 , 92 , 137 , 80 , 91 , 135 , 78 , 90 , 134 , 76 , & 89 , 132 , 74 , 87 , 130 , 73 , 86 , 128 , 71 , 85 , 127 , 69 , & 84 , 125 , 68 , 83 , 123 , 66 , 82 , 121 , 65 , 81 , 120 , 63 , & 80 , 118 , 62 , 79 , 116 , 60 , 79 , 115 , 59 , 78 , 113 , 58 , & 77 , 111 , 56 , 76 , 110 , 55 , 76 , 108 , 54 , 75 , 107 , 53 , & 74 , 105 , 52 , 74 , 104 , 51 , 73 , 102 , 50 , 73 , 101 , 50 , & 72 , 100 , 49 , 72 , 98 , 48 , 71 , 97 , 48 , 71 , 96 , 47 , & 70 , 94 , 47 , 70 , 93 , 46 , 70 , 92 , 46 , 69 , 91 , 45 , & 69 , 89 , 45 , 69 , 88 , 45 , 69 , 87 , 45 , 68 , 86 , 44 , & 68 , 85 , 44 , 68 , 84 , 44 , 68 , 83 , 44 , 67 , 82 , 44 , & 67 , 81 , 44 , 67 , 80 , 44 , 67 , 79 , 44 , 67 , 79 , 44 , & 66 , 78 , 45 , 66 , 77 , 45 , 66 , 76 , 45 , 66 , 75 , 45 , & 66 , 75 , 46 , 66 , 74 , 46 , 66 , 73 , 46 , 65 , 72 , 47 , & 65 , 72 , 47 , 65 , 71 , 47 , 65 , 71 , 48 , 65 , 70 , 48 , & 65 , 69 , 49 , 65 , 69 , 49 , 65 , 68 , 50 , 64 , 68 , 50 , & 64 , 67 , 51 , 64 , 67 , 51 , 64 , 66 , 52 , 64 , 66 , 52 , & 64 , 65 , 53 , 64 , 65 , 54 , 64 , 64 , 54 , 63 , 64 , 55 , & 63 , 63 , 56 , 63 , 63 , 56 , 63 , 63 , 57 , 63 , 62 , 58 & ], shape ( corkO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: corkO10 = reshape ( [ & 63 , 62 , 58 , 62 , 68 , 93 , 84 , 110 , 148 , 132 , 158 , 186 , & 173 , 196 , 200 , 161 , 196 , 166 , 115 , 163 , 111 , 79 , 115 , 59 , & 67 , 79 , 44 , 63 , 62 , 58 & ], shape ( corkO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: corkO100 = reshape ( [ & 63 , 62 , 58 , 63 , 61 , 61 , 62 , 61 , 63 , 62 , 61 , 66 , & 62 , 61 , 68 , 62 , 61 , 71 , 62 , 61 , 73 , 62 , 62 , 77 , & 62 , 63 , 82 , 62 , 64 , 85 , 62 , 66 , 90 , 62 , 68 , 93 , & 63 , 71 , 98 , 64 , 73 , 102 , 65 , 76 , 108 , 66 , 80 , 114 , & 68 , 83 , 118 , 70 , 88 , 124 , 71 , 91 , 128 , 74 , 96 , 134 , & 78 , 101 , 139 , 80 , 105 , 143 , 84 , 110 , 148 , 87 , 113 , 151 , & 92 , 119 , 156 , 95 , 122 , 159 , 100 , 127 , 164 , 105 , 133 , 168 , & 108 , 136 , 171 , 114 , 141 , 174 , 117 , 145 , 177 , 123 , 150 , 180 , & 126 , 153 , 183 , 132 , 158 , 186 , 137 , 163 , 189 , 141 , 166 , 191 , & 146 , 171 , 193 , 150 , 174 , 195 , 154 , 178 , 197 , 158 , 181 , 198 , & 162 , 185 , 199 , 166 , 189 , 200 , 168 , 191 , 200 , 171 , 194 , 200 , & 173 , 196 , 200 , 175 , 198 , 199 , 176 , 200 , 197 , 176 , 201 , 195 , & 176 , 202 , 192 , 176 , 202 , 190 , 174 , 202 , 187 , 173 , 202 , 184 , & 170 , 201 , 179 , 167 , 200 , 175 , 165 , 199 , 171 , 161 , 196 , 166 , & 158 , 195 , 163 , 153 , 192 , 157 , 150 , 190 , 153 , 145 , 187 , 147 , & 140 , 183 , 141 , 137 , 181 , 137 , 132 , 177 , 131 , 128 , 174 , 127 , & 123 , 170 , 121 , 120 , 167 , 117 , 115 , 163 , 111 , 110 , 158 , 104 , & 107 , 154 , 100 , 102 , 149 , 94 , 99 , 146 , 90 , 95 , 141 , 84 , & 92 , 137 , 80 , 89 , 132 , 74 , 85 , 127 , 69 , 83 , 123 , 66 , & 80 , 118 , 62 , 79 , 115 , 59 , 76 , 110 , 55 , 75 , 107 , 53 , & 73 , 102 , 50 , 72 , 98 , 48 , 71 , 96 , 47 , 70 , 92 , 46 , & 69 , 89 , 45 , 68 , 86 , 44 , 68 , 83 , 44 , 67 , 81 , 44 , & 67 , 79 , 44 , 66 , 77 , 45 , 66 , 75 , 46 , 66 , 73 , 46 , & 65 , 71 , 47 , 65 , 69 , 49 , 65 , 68 , 50 , 64 , 67 , 51 , & 64 , 66 , 52 , 64 , 64 , 54 , 63 , 63 , 56 , 63 , 62 , 58 & ], shape ( corkO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: corkO25 = reshape ( [ & 63 , 62 , 58 , 62 , 61 , 69 , 62 , 63 , 82 , 63 , 72 , 100 , & 69 , 86 , 122 , 79 , 103 , 141 , 95 , 122 , 159 , 112 , 140 , 173 , & 132 , 158 , 186 , 151 , 175 , 195 , 166 , 189 , 200 , 175 , 199 , 198 , & 175 , 203 , 188 , 166 , 199 , 173 , 150 , 190 , 153 , 134 , 178 , 133 , & 115 , 163 , 111 , 98 , 144 , 88 , 85 , 127 , 69 , 76 , 108 , 54 , & 70 , 93 , 46 , 67 , 82 , 44 , 66 , 73 , 46 , 64 , 67 , 51 , & 63 , 62 , 58 & ], shape ( corkO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: corkO50 = reshape ( [ & 63 , 62 , 58 , 62 , 61 , 63 , 62 , 61 , 68 , 62 , 61 , 75 , & 62 , 63 , 82 , 62 , 66 , 90 , 63 , 71 , 98 , 65 , 76 , 108 , & 68 , 85 , 120 , 72 , 93 , 130 , 78 , 101 , 139 , 84 , 110 , 148 , & 92 , 119 , 156 , 101 , 129 , 165 , 110 , 138 , 172 , 119 , 146 , 178 , & 128 , 155 , 184 , 137 , 163 , 189 , 148 , 172 , 194 , 156 , 179 , 197 , & 163 , 186 , 199 , 169 , 192 , 200 , 174 , 197 , 199 , 176 , 201 , 196 , & 176 , 202 , 191 , 173 , 202 , 185 , 169 , 201 , 178 , 162 , 197 , 168 , & 155 , 193 , 159 , 147 , 188 , 149 , 139 , 182 , 139 , 130 , 176 , 129 , & 120 , 167 , 117 , 112 , 159 , 106 , 104 , 151 , 96 , 96 , 142 , 86 , & 90 , 134 , 76 , 83 , 123 , 66 , 79 , 115 , 59 , 75 , 107 , 53 , & 72 , 100 , 49 , 70 , 93 , 46 , 68 , 86 , 44 , 67 , 81 , 44 , & 66 , 77 , 45 , 66 , 73 , 46 , 65 , 70 , 48 , 64 , 67 , 51 , & 64 , 64 , 54 , 63 , 62 , 58 & ], shape ( corkO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: davos = reshape ( [ & 0 , 5 , 74 , 0 , 7 , 76 , 0 , 9 , 77 , 0 , 11 , 79 , & 1 , 12 , 80 , 1 , 14 , 81 , 2 , 15 , 83 , 2 , 16 , 84 , & 3 , 18 , 86 , 4 , 19 , 87 , 4 , 20 , 89 , 5 , 22 , 90 , & 5 , 23 , 91 , 6 , 24 , 93 , 7 , 26 , 94 , 7 , 27 , 96 , & 8 , 28 , 97 , 9 , 30 , 98 , 10 , 31 , 100 , 11 , 32 , 101 , & 11 , 34 , 103 , 12 , 35 , 104 , 13 , 36 , 105 , 14 , 38 , 107 , & 14 , 39 , 108 , 15 , 40 , 109 , 16 , 42 , 111 , 17 , 43 , 112 , & 17 , 44 , 113 , 18 , 46 , 115 , 19 , 47 , 116 , 19 , 48 , 117 , & 20 , 50 , 119 , 21 , 51 , 120 , 22 , 52 , 121 , 23 , 54 , 122 , & 23 , 55 , 124 , 24 , 56 , 125 , 25 , 58 , 126 , 26 , 59 , 127 , & 26 , 60 , 128 , 27 , 62 , 130 , 28 , 63 , 131 , 29 , 64 , 132 , & 30 , 65 , 133 , 30 , 67 , 134 , 31 , 68 , 135 , 32 , 69 , 136 , & 33 , 71 , 137 , 34 , 72 , 138 , 35 , 73 , 139 , 35 , 74 , 140 , & 36 , 76 , 141 , 37 , 77 , 142 , 38 , 78 , 143 , 39 , 79 , 144 , & 40 , 81 , 144 , 41 , 82 , 145 , 42 , 83 , 146 , 42 , 84 , 147 , & 43 , 86 , 147 , 44 , 87 , 148 , 45 , 88 , 149 , 46 , 89 , 149 , & 47 , 90 , 150 , 48 , 91 , 151 , 49 , 92 , 151 , 50 , 94 , 152 , & 51 , 95 , 152 , 52 , 96 , 153 , 53 , 97 , 153 , 54 , 98 , 154 , & 55 , 99 , 154 , 56 , 100 , 154 , 57 , 101 , 155 , 58 , 102 , 155 , & 58 , 103 , 155 , 59 , 104 , 156 , 60 , 105 , 156 , 61 , 106 , 156 , & 62 , 107 , 156 , 63 , 108 , 157 , 64 , 109 , 157 , 65 , 110 , 157 , & 66 , 111 , 157 , 67 , 112 , 157 , 68 , 112 , 157 , 69 , 113 , 157 , & 70 , 114 , 157 , 71 , 115 , 157 , 72 , 116 , 157 , 73 , 117 , 157 , & 74 , 118 , 157 , 75 , 118 , 157 , 76 , 119 , 157 , 77 , 120 , 157 , & 78 , 121 , 157 , 79 , 121 , 157 , 80 , 122 , 156 , 81 , 123 , 156 , & 82 , 124 , 156 , 83 , 124 , 156 , 84 , 125 , 156 , 85 , 126 , 155 , & 86 , 127 , 155 , 86 , 127 , 155 , 87 , 128 , 155 , 88 , 129 , 154 , & 89 , 129 , 154 , 90 , 130 , 154 , 91 , 131 , 153 , 92 , 131 , 153 , & 93 , 132 , 153 , 94 , 133 , 152 , 95 , 133 , 152 , 96 , 134 , 152 , & 97 , 134 , 151 , 98 , 135 , 151 , 99 , 136 , 151 , 100 , 136 , 150 , & 101 , 137 , 150 , 101 , 138 , 149 , 102 , 138 , 149 , 103 , 139 , 149 , & 104 , 139 , 148 , 105 , 140 , 148 , 106 , 141 , 147 , 107 , 141 , 147 , & 108 , 142 , 147 , 109 , 142 , 146 , 110 , 143 , 146 , 111 , 144 , 145 , & 112 , 144 , 145 , 113 , 145 , 145 , 114 , 145 , 144 , 115 , 146 , 144 , & 116 , 147 , 143 , 116 , 147 , 143 , 117 , 148 , 143 , 118 , 149 , 142 , & 119 , 149 , 142 , 120 , 150 , 141 , 121 , 150 , 141 , 122 , 151 , 141 , & 123 , 152 , 140 , 124 , 152 , 140 , 125 , 153 , 140 , 126 , 154 , 139 , & 127 , 154 , 139 , 128 , 155 , 139 , 129 , 156 , 138 , 130 , 157 , 138 , & 131 , 157 , 138 , 132 , 158 , 137 , 134 , 159 , 137 , 135 , 160 , 137 , & 136 , 160 , 137 , 137 , 161 , 136 , 138 , 162 , 136 , 139 , 163 , 136 , & 140 , 163 , 136 , 141 , 164 , 136 , 143 , 165 , 136 , 144 , 166 , 135 , & 145 , 167 , 135 , 146 , 168 , 135 , 147 , 169 , 135 , 149 , 170 , 135 , & 150 , 171 , 135 , 151 , 172 , 135 , 153 , 173 , 136 , 154 , 174 , 136 , & 155 , 175 , 136 , 157 , 176 , 136 , 158 , 177 , 136 , 160 , 178 , 137 , & 161 , 179 , 137 , 163 , 180 , 137 , 164 , 182 , 138 , 166 , 183 , 138 , & 168 , 184 , 139 , 169 , 185 , 139 , 171 , 187 , 140 , 173 , 188 , 140 , & 174 , 189 , 141 , 176 , 191 , 142 , 178 , 192 , 143 , 180 , 193 , 144 , & 182 , 195 , 145 , 184 , 196 , 146 , 185 , 198 , 147 , 187 , 199 , 148 , & 189 , 201 , 149 , 191 , 202 , 150 , 193 , 204 , 152 , 195 , 205 , 153 , & 197 , 207 , 155 , 199 , 208 , 156 , 201 , 210 , 158 , 203 , 211 , 159 , & 205 , 213 , 161 , 207 , 214 , 162 , 208 , 216 , 164 , 210 , 217 , 166 , & 212 , 219 , 168 , 214 , 220 , 169 , 216 , 222 , 171 , 217 , 223 , 173 , & 219 , 224 , 175 , 221 , 226 , 177 , 222 , 227 , 179 , 224 , 228 , 181 , & 225 , 229 , 182 , 227 , 231 , 184 , 228 , 232 , 186 , 230 , 233 , 188 , & 231 , 234 , 190 , 232 , 235 , 192 , 234 , 236 , 194 , 235 , 237 , 196 , & 236 , 238 , 198 , 237 , 239 , 199 , 238 , 239 , 201 , 239 , 240 , 203 , & 240 , 241 , 205 , 241 , 242 , 207 , 242 , 242 , 208 , 243 , 243 , 210 , & 243 , 244 , 212 , 244 , 244 , 214 , 245 , 245 , 215 , 245 , 246 , 217 , & 246 , 246 , 219 , 247 , 247 , 221 , 247 , 247 , 222 , 248 , 248 , 224 , & 248 , 248 , 225 , 249 , 249 , 227 , 249 , 249 , 229 , 250 , 249 , 230 , & 250 , 250 , 232 , 251 , 250 , 233 , 251 , 251 , 235 , 251 , 251 , 236 , & 252 , 251 , 238 , 252 , 252 , 240 , 252 , 252 , 241 , 252 , 252 , 243 , & 253 , 253 , 244 , 253 , 253 , 246 , 253 , 253 , 247 , 254 , 253 , 249 , & 254 , 254 , 250 , 254 , 254 , 252 , 254 , 254 , 253 , 254 , 254 , 254 & ], shape ( davos ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: davos10 = reshape ( [ & 0 , 5 , 74 , 17 , 44 , 113 , 41 , 82 , 145 , 67 , 112 , 157 , & 94 , 133 , 152 , 121 , 150 , 141 , 153 , 173 , 136 , 201 , 210 , 158 , & 243 , 243 , 210 , 254 , 254 , 254 & ], shape ( davos10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: davos100 = reshape ( [ & 0 , 5 , 74 , 0 , 11 , 79 , 1 , 14 , 81 , 3 , 18 , 86 , & 4 , 20 , 89 , 6 , 24 , 93 , 7 , 27 , 96 , 10 , 31 , 100 , & 12 , 35 , 104 , 14 , 38 , 107 , 16 , 42 , 111 , 17 , 44 , 113 , & 19 , 48 , 117 , 21 , 51 , 120 , 23 , 55 , 124 , 26 , 59 , 127 , & 27 , 62 , 130 , 30 , 65 , 133 , 31 , 68 , 135 , 34 , 72 , 138 , & 36 , 76 , 141 , 38 , 78 , 143 , 41 , 82 , 145 , 42 , 84 , 147 , & 45 , 88 , 149 , 47 , 90 , 150 , 50 , 94 , 152 , 53 , 97 , 153 , & 55 , 99 , 154 , 58 , 102 , 155 , 59 , 104 , 156 , 62 , 107 , 156 , & 64 , 109 , 157 , 67 , 112 , 157 , 70 , 114 , 157 , 72 , 116 , 157 , & 75 , 118 , 157 , 77 , 120 , 157 , 80 , 122 , 156 , 82 , 124 , 156 , & 85 , 126 , 155 , 87 , 128 , 155 , 89 , 129 , 154 , 92 , 131 , 153 , & 94 , 133 , 152 , 97 , 134 , 151 , 99 , 136 , 151 , 101 , 138 , 149 , & 104 , 139 , 148 , 106 , 141 , 147 , 109 , 142 , 146 , 111 , 144 , 145 , & 114 , 145 , 144 , 116 , 147 , 143 , 118 , 149 , 142 , 121 , 150 , 141 , & 123 , 152 , 140 , 126 , 154 , 139 , 128 , 155 , 139 , 131 , 157 , 138 , & 135 , 160 , 137 , 137 , 161 , 136 , 140 , 163 , 136 , 143 , 165 , 136 , & 146 , 168 , 135 , 149 , 170 , 135 , 153 , 173 , 136 , 157 , 176 , 136 , & 160 , 178 , 137 , 164 , 182 , 138 , 168 , 184 , 139 , 173 , 188 , 140 , & 176 , 191 , 142 , 182 , 195 , 145 , 187 , 199 , 148 , 191 , 202 , 150 , & 197 , 207 , 155 , 201 , 210 , 158 , 207 , 214 , 162 , 210 , 217 , 166 , & 216 , 222 , 171 , 221 , 226 , 177 , 224 , 228 , 181 , 228 , 232 , 186 , & 231 , 234 , 190 , 235 , 237 , 196 , 238 , 239 , 201 , 240 , 241 , 205 , & 243 , 243 , 210 , 244 , 244 , 214 , 246 , 246 , 219 , 247 , 247 , 222 , & 249 , 249 , 227 , 250 , 250 , 232 , 251 , 251 , 235 , 252 , 252 , 240 , & 252 , 252 , 243 , 253 , 253 , 247 , 254 , 254 , 250 , 254 , 254 , 254 & ], shape ( davos100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: davos25 = reshape ( [ & 0 , 5 , 74 , 5 , 22 , 90 , 12 , 35 , 104 , 20 , 50 , 119 , & 29 , 64 , 132 , 37 , 77 , 142 , 47 , 90 , 150 , 57 , 101 , 155 , & 67 , 112 , 157 , 78 , 121 , 157 , 87 , 128 , 155 , 98 , 135 , 151 , & 108 , 142 , 147 , 117 , 148 , 143 , 128 , 155 , 139 , 139 , 163 , 136 , & 153 , 173 , 136 , 169 , 185 , 139 , 187 , 199 , 148 , 208 , 216 , 164 , & 227 , 231 , 184 , 239 , 240 , 203 , 247 , 247 , 222 , 252 , 251 , 238 , & 254 , 254 , 254 & ], shape ( davos25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: davos50 = reshape ( [ & 0 , 5 , 74 , 1 , 14 , 81 , 4 , 20 , 89 , 8 , 28 , 97 , & 12 , 35 , 104 , 16 , 42 , 111 , 19 , 48 , 117 , 23 , 55 , 124 , & 28 , 63 , 131 , 32 , 69 , 136 , 36 , 76 , 141 , 41 , 82 , 145 , & 45 , 88 , 149 , 51 , 95 , 152 , 56 , 100 , 154 , 60 , 105 , 156 , & 65 , 110 , 157 , 70 , 114 , 157 , 76 , 119 , 157 , 81 , 123 , 156 , & 86 , 127 , 155 , 90 , 130 , 154 , 95 , 133 , 152 , 101 , 137 , 150 , & 105 , 140 , 148 , 110 , 143 , 146 , 115 , 146 , 144 , 120 , 150 , 141 , & 125 , 153 , 140 , 130 , 157 , 138 , 136 , 160 , 137 , 141 , 164 , 136 , & 149 , 170 , 135 , 155 , 175 , 136 , 163 , 180 , 137 , 171 , 187 , 140 , & 180 , 193 , 144 , 191 , 202 , 150 , 201 , 210 , 158 , 210 , 217 , 166 , & 219 , 224 , 175 , 227 , 231 , 184 , 235 , 237 , 196 , 240 , 241 , 205 , & 244 , 244 , 214 , 247 , 247 , 222 , 250 , 249 , 230 , 252 , 252 , 240 , & 253 , 253 , 247 , 254 , 254 , 254 & ], shape ( davos50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: davosS = reshape ( [ & 0 , 5 , 74 , 253 , 253 , 244 , 104 , 139 , 148 , 178 , 192 , 143 , & 45 , 88 , 149 , 232 , 235 , 192 , 19 , 48 , 117 , 75 , 118 , 157 , & 135 , 160 , 137 , 154 , 174 , 136 , 90 , 130 , 154 , 118 , 149 , 142 , & 60 , 105 , 156 , 7 , 27 , 96 , 32 , 69 , 136 , 207 , 214 , 162 , & 246 , 246 , 219 , 144 , 166 , 135 , 53 , 97 , 153 , 14 , 38 , 107 , & 221 , 226 , 177 , 126 , 154 , 139 , 26 , 59 , 127 , 83 , 124 , 156 , & 250 , 250 , 232 , 191 , 202 , 150 , 241 , 242 , 207 , 3 , 18 , 86 , & 67 , 112 , 157 , 98 , 135 , 151 , 166 , 183 , 138 , 39 , 79 , 144 , & 111 , 144 , 145 , 252 , 251 , 238 , 237 , 239 , 199 , 130 , 157 , 138 , & 86 , 127 , 155 , 57 , 101 , 155 , 160 , 178 , 137 , 199 , 208 , 156 , & 1 , 12 , 80 , 11 , 32 , 101 , 49 , 92 , 151 , 214 , 220 , 169 , & 122 , 151 , 141 , 248 , 248 , 225 , 23 , 54 , 122 , 115 , 146 , 144 , & 35 , 74 , 140 , 17 , 43 , 112 , 227 , 231 , 184 , 94 , 133 , 152 , & 71 , 115 , 157 , 29 , 64 , 132 , 79 , 121 , 157 , 139 , 163 , 136 , & 149 , 170 , 135 , 63 , 108 , 157 , 101 , 138 , 149 , 5 , 22 , 90 , & 42 , 83 , 146 , 108 , 142 , 147 , 173 , 188 , 140 , 184 , 196 , 146 , & 243 , 244 , 212 , 12 , 35 , 104 , 239 , 240 , 203 , 58 , 103 , 155 , & 128 , 155 , 139 , 77 , 120 , 157 , 249 , 249 , 229 , 169 , 185 , 139 , & 230 , 233 , 188 , 120 , 150 , 141 , 146 , 168 , 135 , 69 , 113 , 157 , & 34 , 72 , 138 , 18 , 46 , 115 , 27 , 62 , 130 , 247 , 247 , 222 , & 2 , 15 , 83 , 224 , 228 , 181 , 106 , 141 , 147 , 195 , 205 , 153 , & 88 , 129 , 154 , 65 , 110 , 157 , 163 , 180 , 137 , 73 , 117 , 157 , & 116 , 147 , 143 , 235 , 237 , 196 , 210 , 217 , 166 , 37 , 77 , 142 , & 85 , 126 , 155 , 203 , 211 , 159 , 21 , 51 , 120 , 151 , 172 , 135 , & 217 , 223 , 173 , 96 , 134 , 152 , 113 , 145 , 145 , 187 , 199 , 148 & ], shape ( davosS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: devon = reshape ( [ & 44 , 26 , 76 , 44 , 27 , 77 , 44 , 28 , 78 , 43 , 28 , 79 , & 43 , 29 , 80 , 43 , 30 , 81 , 43 , 31 , 82 , 43 , 32 , 83 , & 43 , 33 , 84 , 43 , 34 , 85 , 43 , 35 , 86 , 43 , 36 , 87 , & 43 , 37 , 88 , 43 , 38 , 88 , 43 , 39 , 89 , 42 , 40 , 90 , & 42 , 41 , 91 , 42 , 41 , 92 , 42 , 42 , 93 , 42 , 43 , 94 , & 42 , 44 , 95 , 42 , 45 , 96 , 42 , 46 , 97 , 42 , 47 , 98 , & 41 , 48 , 99 , 41 , 49 , 100 , 41 , 50 , 101 , 41 , 51 , 102 , & 41 , 52 , 103 , 41 , 53 , 104 , 41 , 54 , 105 , 41 , 55 , 106 , & 41 , 56 , 106 , 40 , 57 , 107 , 40 , 57 , 108 , 40 , 58 , 109 , & 40 , 59 , 110 , 40 , 60 , 111 , 40 , 61 , 112 , 40 , 62 , 113 , & 40 , 63 , 114 , 40 , 64 , 115 , 39 , 65 , 116 , 39 , 66 , 117 , & 39 , 67 , 118 , 39 , 68 , 120 , 39 , 69 , 121 , 39 , 70 , 122 , & 39 , 71 , 123 , 39 , 72 , 124 , 39 , 73 , 125 , 39 , 74 , 126 , & 39 , 76 , 127 , 39 , 77 , 129 , 39 , 78 , 130 , 39 , 79 , 131 , & 39 , 80 , 132 , 39 , 81 , 134 , 39 , 82 , 135 , 39 , 83 , 136 , & 40 , 84 , 138 , 40 , 85 , 139 , 40 , 86 , 140 , 40 , 87 , 142 , & 41 , 88 , 143 , 41 , 89 , 144 , 41 , 90 , 146 , 42 , 91 , 147 , & 42 , 92 , 149 , 43 , 93 , 150 , 43 , 93 , 152 , 44 , 94 , 153 , & 44 , 95 , 154 , 45 , 96 , 156 , 46 , 97 , 157 , 46 , 98 , 159 , & 47 , 98 , 160 , 48 , 99 , 162 , 48 , 100 , 163 , 49 , 101 , 164 , & 50 , 101 , 166 , 50 , 102 , 167 , 51 , 103 , 169 , 52 , 104 , 170 , & 53 , 104 , 171 , 54 , 105 , 173 , 55 , 106 , 174 , 56 , 106 , 176 , & 57 , 107 , 177 , 58 , 108 , 178 , 59 , 109 , 180 , 60 , 109 , 181 , & 61 , 110 , 183 , 62 , 111 , 184 , 63 , 112 , 185 , 65 , 113 , 187 , & 66 , 114 , 188 , 68 , 114 , 189 , 69 , 115 , 191 , 71 , 116 , 192 , & 72 , 117 , 193 , 74 , 118 , 195 , 76 , 119 , 196 , 77 , 120 , 197 , & 79 , 121 , 198 , 81 , 122 , 200 , 83 , 123 , 201 , 85 , 124 , 202 , & 87 , 124 , 203 , 89 , 125 , 204 , 91 , 126 , 205 , 93 , 127 , 206 , & 95 , 128 , 207 , 97 , 129 , 208 , 99 , 130 , 209 , 101 , 131 , 210 , & 103 , 132 , 211 , 105 , 133 , 212 , 107 , 134 , 213 , 109 , 135 , 214 , & 111 , 136 , 215 , 113 , 136 , 216 , 115 , 137 , 216 , 117 , 138 , 217 , & 119 , 139 , 218 , 121 , 140 , 219 , 123 , 141 , 220 , 125 , 142 , 220 , & 126 , 143 , 221 , 128 , 143 , 222 , 130 , 144 , 223 , 132 , 145 , 223 , & 134 , 146 , 224 , 136 , 147 , 225 , 138 , 148 , 225 , 140 , 149 , 226 , & 141 , 149 , 227 , 143 , 150 , 227 , 145 , 151 , 228 , 147 , 152 , 229 , & 149 , 153 , 229 , 150 , 154 , 230 , 152 , 155 , 231 , 154 , 155 , 231 , & 155 , 156 , 232 , 157 , 157 , 232 , 158 , 158 , 233 , 160 , 159 , 233 , & 162 , 160 , 234 , 163 , 161 , 234 , 164 , 162 , 235 , 166 , 163 , 235 , & 167 , 164 , 236 , 168 , 165 , 236 , 170 , 165 , 237 , 171 , 166 , 237 , & 172 , 167 , 237 , 173 , 168 , 238 , 174 , 169 , 238 , 175 , 170 , 238 , & 176 , 171 , 238 , 177 , 172 , 239 , 178 , 173 , 239 , 179 , 173 , 239 , & 180 , 174 , 239 , 181 , 175 , 240 , 182 , 176 , 240 , 183 , 177 , 240 , & 184 , 178 , 240 , 185 , 179 , 240 , 186 , 179 , 241 , 186 , 180 , 241 , & 187 , 181 , 241 , 188 , 182 , 241 , 189 , 183 , 241 , 190 , 184 , 242 , & 190 , 185 , 242 , 191 , 185 , 242 , 192 , 186 , 242 , 193 , 187 , 242 , & 194 , 188 , 242 , 194 , 189 , 243 , 195 , 190 , 243 , 196 , 191 , 243 , & 197 , 192 , 243 , 198 , 192 , 243 , 198 , 193 , 243 , 199 , 194 , 244 , & 200 , 195 , 244 , 201 , 196 , 244 , 202 , 197 , 244 , 202 , 198 , 244 , & 203 , 198 , 244 , 204 , 199 , 244 , 205 , 200 , 245 , 206 , 201 , 245 , & 206 , 202 , 245 , 207 , 203 , 245 , 208 , 204 , 245 , 209 , 205 , 245 , & 210 , 205 , 246 , 210 , 206 , 246 , 211 , 207 , 246 , 212 , 208 , 246 , & 213 , 209 , 246 , 214 , 210 , 246 , 214 , 211 , 247 , 215 , 212 , 247 , & 216 , 212 , 247 , 217 , 213 , 247 , 218 , 214 , 247 , 218 , 215 , 247 , & 219 , 216 , 248 , 220 , 217 , 248 , 221 , 218 , 248 , 222 , 219 , 248 , & 222 , 220 , 248 , 223 , 220 , 248 , 224 , 221 , 249 , 225 , 222 , 249 , & 226 , 223 , 249 , 227 , 224 , 249 , 227 , 225 , 249 , 228 , 226 , 250 , & 229 , 227 , 250 , 230 , 228 , 250 , 231 , 228 , 250 , 232 , 229 , 250 , & 232 , 230 , 250 , 233 , 231 , 251 , 234 , 232 , 251 , 235 , 233 , 251 , & 236 , 234 , 251 , 237 , 235 , 251 , 237 , 236 , 251 , 238 , 237 , 252 , & 239 , 238 , 252 , 240 , 238 , 252 , 241 , 239 , 252 , 242 , 240 , 252 , & 242 , 241 , 252 , 243 , 242 , 253 , 244 , 243 , 253 , 245 , 244 , 253 , & 246 , 245 , 253 , 247 , 246 , 253 , 247 , 247 , 253 , 248 , 248 , 254 , & 249 , 249 , 254 , 250 , 249 , 254 , 251 , 250 , 254 , 252 , 251 , 254 , & 252 , 252 , 254 , 253 , 253 , 255 , 254 , 254 , 255 , 255 , 255 , 255 & ], shape ( devon ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: devon10 = reshape ( [ & 44 , 26 , 76 , 41 , 52 , 103 , 39 , 81 , 134 , 54 , 105 , 173 , & 97 , 129 , 208 , 152 , 155 , 231 , 186 , 179 , 241 , 208 , 204 , 245 , & 232 , 229 , 250 , 255 , 255 , 255 & ], shape ( devon10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: devon100 = reshape ( [ & 44 , 26 , 76 , 43 , 28 , 79 , 43 , 30 , 81 , 43 , 33 , 84 , & 43 , 35 , 86 , 43 , 38 , 88 , 42 , 40 , 90 , 42 , 42 , 93 , & 42 , 45 , 96 , 42 , 47 , 98 , 41 , 50 , 101 , 41 , 52 , 103 , & 41 , 55 , 106 , 40 , 57 , 107 , 40 , 59 , 110 , 40 , 62 , 113 , & 40 , 64 , 115 , 39 , 67 , 118 , 39 , 69 , 121 , 39 , 72 , 124 , & 39 , 76 , 127 , 39 , 78 , 130 , 39 , 81 , 134 , 39 , 83 , 136 , & 40 , 86 , 140 , 41 , 88 , 143 , 42 , 91 , 147 , 43 , 93 , 152 , & 44 , 95 , 154 , 46 , 98 , 159 , 48 , 99 , 162 , 50 , 101 , 166 , & 51 , 103 , 169 , 54 , 105 , 173 , 57 , 107 , 177 , 59 , 109 , 180 , & 62 , 111 , 184 , 65 , 113 , 187 , 69 , 115 , 191 , 72 , 117 , 193 , & 77 , 120 , 197 , 83 , 123 , 201 , 87 , 124 , 203 , 93 , 127 , 206 , & 97 , 129 , 208 , 103 , 132 , 211 , 107 , 134 , 213 , 113 , 136 , 216 , & 119 , 139 , 218 , 123 , 141 , 220 , 128 , 143 , 222 , 132 , 145 , 223 , & 138 , 148 , 225 , 143 , 150 , 227 , 147 , 152 , 229 , 152 , 155 , 231 , & 155 , 156 , 232 , 160 , 159 , 233 , 163 , 161 , 234 , 167 , 164 , 236 , & 171 , 166 , 237 , 173 , 168 , 238 , 176 , 171 , 238 , 178 , 173 , 239 , & 181 , 175 , 240 , 183 , 177 , 240 , 186 , 179 , 241 , 188 , 182 , 241 , & 190 , 184 , 242 , 192 , 186 , 242 , 194 , 188 , 242 , 196 , 191 , 243 , & 198 , 192 , 243 , 200 , 195 , 244 , 202 , 198 , 244 , 204 , 199 , 244 , & 206 , 202 , 245 , 208 , 204 , 245 , 210 , 206 , 246 , 212 , 208 , 246 , & 214 , 211 , 247 , 217 , 213 , 247 , 218 , 215 , 247 , 221 , 218 , 248 , & 222 , 220 , 248 , 225 , 222 , 249 , 227 , 225 , 249 , 229 , 227 , 250 , & 232 , 229 , 250 , 233 , 231 , 251 , 236 , 234 , 251 , 237 , 236 , 251 , & 240 , 238 , 252 , 242 , 241 , 252 , 244 , 243 , 253 , 247 , 246 , 253 , & 248 , 248 , 254 , 251 , 250 , 254 , 252 , 252 , 254 , 255 , 255 , 255 & ], shape ( devon100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: devon25 = reshape ( [ & 44 , 26 , 76 , 43 , 36 , 87 , 42 , 45 , 96 , 41 , 56 , 106 , & 39 , 66 , 117 , 39 , 77 , 129 , 41 , 88 , 143 , 46 , 97 , 157 , & 54 , 105 , 173 , 66 , 114 , 188 , 83 , 123 , 201 , 105 , 133 , 212 , & 126 , 143 , 221 , 145 , 151 , 228 , 163 , 161 , 234 , 175 , 170 , 238 , & 186 , 179 , 241 , 194 , 189 , 243 , 202 , 198 , 244 , 211 , 207 , 246 , & 220 , 217 , 248 , 228 , 226 , 250 , 237 , 236 , 251 , 246 , 245 , 253 , & 255 , 255 , 255 & ], shape ( devon25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: devon50 = reshape ( [ & 44 , 26 , 76 , 43 , 30 , 81 , 43 , 35 , 86 , 42 , 41 , 91 , & 42 , 45 , 96 , 41 , 50 , 101 , 41 , 55 , 106 , 40 , 59 , 110 , & 39 , 65 , 116 , 39 , 70 , 122 , 39 , 76 , 127 , 39 , 81 , 134 , & 40 , 86 , 140 , 42 , 92 , 149 , 45 , 96 , 156 , 48 , 100 , 163 , & 52 , 104 , 170 , 57 , 107 , 177 , 63 , 112 , 185 , 71 , 116 , 192 , & 79 , 121 , 198 , 89 , 125 , 204 , 99 , 130 , 209 , 111 , 136 , 215 , & 121 , 140 , 219 , 130 , 144 , 223 , 140 , 149 , 226 , 150 , 154 , 230 , & 158 , 158 , 233 , 166 , 163 , 235 , 172 , 167 , 237 , 177 , 172 , 239 , & 183 , 177 , 240 , 187 , 181 , 241 , 191 , 185 , 242 , 195 , 190 , 243 , & 199 , 194 , 244 , 204 , 199 , 244 , 208 , 204 , 245 , 212 , 208 , 246 , & 216 , 212 , 247 , 220 , 217 , 248 , 225 , 222 , 249 , 229 , 227 , 250 , & 233 , 231 , 251 , 237 , 236 , 251 , 242 , 240 , 252 , 247 , 246 , 253 , & 251 , 250 , 254 , 255 , 255 , 255 & ], shape ( devon50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: devonS = reshape ( [ & 44 , 26 , 76 , 248 , 248 , 254 , 119 , 139 , 218 , 40 , 86 , 140 , & 198 , 192 , 243 , 41 , 55 , 106 , 62 , 111 , 184 , 222 , 220 , 248 , & 171 , 166 , 237 , 42 , 41 , 91 , 149 , 153 , 229 , 89 , 125 , 204 , & 235 , 233 , 251 , 186 , 179 , 241 , 39 , 70 , 122 , 48 , 99 , 162 , & 210 , 206 , 246 , 40 , 62 , 113 , 74 , 118 , 195 , 54 , 105 , 173 , & 43 , 33 , 84 , 134 , 146 , 224 , 204 , 199 , 244 , 242 , 240 , 252 , & 42 , 47 , 98 , 192 , 186 , 242 , 162 , 160 , 234 , 178 , 173 , 239 , & 217 , 213 , 247 , 228 , 226 , 250 , 43 , 93 , 150 , 39 , 78 , 130 , & 105 , 133 , 212 , 43 , 37 , 88 , 68 , 114 , 189 , 126 , 143 , 221 , & 207 , 203 , 245 , 40 , 58 , 109 , 97 , 129 , 208 , 41 , 51 , 102 , & 214 , 210 , 246 , 58 , 108 , 178 , 45 , 96 , 156 , 39 , 66 , 117 , & 43 , 29 , 80 , 245 , 244 , 253 , 81 , 122 , 200 , 238 , 237 , 252 , & 141 , 149 , 227 , 232 , 229 , 250 , 155 , 156 , 232 , 39 , 82 , 135 , & 189 , 183 , 241 , 201 , 196 , 244 , 182 , 176 , 240 , 50 , 102 , 167 , & 226 , 223 , 249 , 195 , 190 , 243 , 167 , 164 , 236 , 39 , 73 , 125 , & 42 , 43 , 94 , 41 , 90 , 146 , 175 , 170 , 238 , 111 , 136 , 215 , & 220 , 217 , 248 , 93 , 127 , 206 , 44 , 28 , 78 , 49 , 101 , 164 , & 123 , 141 , 220 , 41 , 88 , 143 , 190 , 185 , 242 , 233 , 231 , 251 , & 152 , 155 , 231 , 40 , 84 , 138 , 237 , 235 , 251 , 43 , 39 , 89 , & 173 , 168 , 238 , 240 , 238 , 252 , 115 , 137 , 216 , 243 , 242 , 253 , & 39 , 80 , 132 , 130 , 144 , 223 , 218 , 215 , 247 , 40 , 64 , 115 , & 206 , 201 , 245 , 41 , 53 , 104 , 71 , 116 , 192 , 212 , 208 , 246 , & 184 , 178 , 240 , 85 , 124 , 202 , 158 , 158 , 233 , 42 , 45 , 96 , & 39 , 76 , 127 , 43 , 31 , 82 , 215 , 212 , 247 , 43 , 35 , 86 , & 145 , 151 , 228 , 40 , 60 , 111 , 164 , 162 , 235 , 187 , 181 , 241 & ], shape ( devonS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: fes = reshape ( [ & 13 , 13 , 13 , 15 , 15 , 15 , 18 , 18 , 18 , 20 , 20 , 20 , & 22 , 22 , 22 , 24 , 24 , 24 , 25 , 25 , 25 , 27 , 27 , 27 , & 29 , 29 , 29 , 31 , 31 , 31 , 33 , 33 , 33 , 34 , 34 , 34 , & 36 , 36 , 36 , 38 , 38 , 38 , 40 , 40 , 40 , 41 , 41 , 41 , & 43 , 43 , 43 , 45 , 45 , 45 , 46 , 46 , 46 , 48 , 48 , 48 , & 50 , 50 , 50 , 52 , 52 , 52 , 53 , 53 , 53 , 55 , 55 , 55 , & 57 , 57 , 57 , 59 , 59 , 59 , 60 , 60 , 60 , 62 , 62 , 62 , & 64 , 64 , 64 , 65 , 65 , 65 , 67 , 67 , 67 , 69 , 69 , 69 , & 70 , 70 , 70 , 72 , 72 , 72 , 73 , 73 , 73 , 75 , 75 , 75 , & 77 , 77 , 77 , 78 , 78 , 78 , 80 , 80 , 80 , 82 , 82 , 82 , & 83 , 83 , 83 , 85 , 85 , 85 , 86 , 86 , 86 , 88 , 88 , 88 , & 89 , 89 , 89 , 91 , 91 , 91 , 92 , 92 , 92 , 94 , 94 , 94 , & 96 , 96 , 96 , 97 , 97 , 97 , 99 , 99 , 99 , 100 , 100 , 100 , & 101 , 101 , 101 , 103 , 103 , 103 , 104 , 104 , 104 , 106 , 106 , 106 , & 107 , 107 , 107 , 109 , 109 , 109 , 110 , 110 , 110 , 112 , 112 , 112 , & 113 , 113 , 113 , 114 , 114 , 114 , 116 , 116 , 116 , 117 , 117 , 117 , & 119 , 119 , 119 , 120 , 120 , 120 , 121 , 121 , 121 , 123 , 123 , 123 , & 124 , 124 , 124 , 126 , 126 , 126 , 127 , 127 , 127 , 129 , 129 , 129 , & 130 , 130 , 130 , 132 , 132 , 132 , 133 , 133 , 133 , 135 , 135 , 135 , & 136 , 136 , 136 , 138 , 138 , 138 , 139 , 139 , 139 , 141 , 141 , 141 , & 142 , 142 , 142 , 144 , 144 , 144 , 146 , 146 , 146 , 147 , 147 , 147 , & 149 , 149 , 149 , 151 , 151 , 151 , 153 , 153 , 153 , 154 , 154 , 154 , & 156 , 156 , 156 , 158 , 158 , 158 , 160 , 160 , 160 , 161 , 161 , 161 , & 163 , 163 , 163 , 165 , 165 , 165 , 167 , 167 , 167 , 169 , 169 , 169 , & 171 , 171 , 171 , 173 , 173 , 173 , 175 , 175 , 175 , 177 , 177 , 177 , & 179 , 179 , 179 , 181 , 181 , 181 , 183 , 183 , 183 , 185 , 185 , 185 , & 187 , 187 , 187 , 189 , 189 , 189 , 191 , 191 , 191 , 193 , 193 , 193 , & 195 , 195 , 195 , 197 , 197 , 197 , 200 , 200 , 200 , 202 , 202 , 202 , & 204 , 204 , 204 , 206 , 206 , 206 , 209 , 209 , 209 , 211 , 211 , 211 , & 213 , 213 , 213 , 216 , 216 , 216 , 218 , 218 , 218 , 221 , 221 , 221 , & 223 , 223 , 223 , 226 , 226 , 226 , 228 , 228 , 228 , 231 , 231 , 231 , & 233 , 233 , 233 , 236 , 236 , 236 , 238 , 238 , 238 , 241 , 241 , 241 , & 2 , 64 , 38 , 5 , 65 , 38 , 9 , 66 , 37 , 12 , 67 , 36 , & 15 , 68 , 35 , 18 , 70 , 35 , 21 , 71 , 34 , 24 , 72 , 34 , & 27 , 73 , 33 , 30 , 74 , 33 , 33 , 75 , 32 , 36 , 76 , 32 , & 39 , 78 , 32 , 43 , 79 , 32 , 46 , 80 , 32 , 49 , 81 , 32 , & 52 , 82 , 32 , 55 , 83 , 32 , 58 , 84 , 32 , 61 , 85 , 32 , & 63 , 85 , 33 , 66 , 86 , 33 , 69 , 87 , 34 , 72 , 88 , 34 , & 74 , 89 , 34 , 77 , 89 , 35 , 80 , 90 , 35 , 82 , 91 , 36 , & 85 , 91 , 36 , 87 , 92 , 37 , 90 , 93 , 37 , 92 , 93 , 38 , & 94 , 94 , 38 , 97 , 94 , 38 , 99 , 95 , 39 , 101 , 96 , 39 , & 104 , 96 , 40 , 106 , 97 , 40 , 108 , 97 , 41 , 111 , 98 , 41 , & 113 , 98 , 41 , 115 , 99 , 42 , 117 , 100 , 42 , 120 , 100 , 43 , & 122 , 101 , 43 , 124 , 101 , 44 , 127 , 102 , 44 , 129 , 103 , 45 , & 131 , 103 , 45 , 134 , 104 , 46 , 136 , 104 , 46 , 139 , 105 , 47 , & 141 , 106 , 47 , 144 , 107 , 48 , 146 , 107 , 48 , 149 , 108 , 49 , & 151 , 109 , 50 , 154 , 110 , 51 , 156 , 111 , 52 , 159 , 112 , 53 , & 161 , 113 , 55 , 164 , 115 , 56 , 166 , 116 , 58 , 168 , 118 , 60 , & 171 , 119 , 62 , 173 , 121 , 64 , 175 , 123 , 66 , 177 , 125 , 69 , & 179 , 127 , 71 , 181 , 129 , 74 , 182 , 131 , 77 , 184 , 133 , 80 , & 185 , 135 , 83 , 186 , 137 , 86 , 188 , 139 , 89 , 189 , 142 , 92 , & 190 , 144 , 95 , 191 , 146 , 98 , 192 , 148 , 101 , 193 , 151 , 105 , & 194 , 153 , 108 , 195 , 155 , 111 , 196 , 157 , 114 , 197 , 159 , 117 , & 198 , 162 , 120 , 198 , 164 , 124 , 199 , 166 , 127 , 200 , 168 , 130 , & 201 , 171 , 133 , 202 , 173 , 137 , 203 , 175 , 140 , 204 , 177 , 143 , & 205 , 179 , 146 , 206 , 182 , 150 , 207 , 184 , 153 , 208 , 186 , 156 , & 209 , 188 , 160 , 210 , 190 , 163 , 210 , 192 , 166 , 211 , 194 , 170 , & 212 , 196 , 173 , 213 , 198 , 176 , 214 , 200 , 180 , 215 , 202 , 183 , & 216 , 204 , 186 , 217 , 206 , 189 , 218 , 207 , 193 , 219 , 209 , 196 , & 220 , 211 , 199 , 221 , 212 , 202 , 222 , 214 , 205 , 223 , 215 , 207 , & 224 , 217 , 210 , 225 , 218 , 213 , 226 , 219 , 216 , 226 , 221 , 218 , & 227 , 222 , 221 , 228 , 223 , 224 , 229 , 224 , 226 , 230 , 226 , 229 , & 231 , 227 , 232 , 232 , 228 , 234 , 232 , 230 , 237 , 233 , 231 , 240 , & 234 , 233 , 243 , 235 , 234 , 246 , 236 , 235 , 249 , 237 , 237 , 252 & ], shape ( fes ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: fes10 = reshape ( [ & 13 , 13 , 13 , 64 , 64 , 64 , 109 , 109 , 109 , 151 , 151 , 151 , & 206 , 206 , 206 , 46 , 80 , 32 , 117 , 100 , 42 , 182 , 131 , 77 , & 211 , 194 , 170 , 237 , 237 , 252 & ], shape ( fes10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: fes100 = reshape ( [ & 13 , 13 , 13 , 20 , 20 , 20 , 24 , 24 , 24 , 29 , 29 , 29 , & 33 , 33 , 33 , 38 , 38 , 38 , 41 , 41 , 41 , 46 , 46 , 46 , & 52 , 52 , 52 , 55 , 55 , 55 , 60 , 60 , 60 , 64 , 64 , 64 , & 69 , 69 , 69 , 72 , 72 , 72 , 77 , 77 , 77 , 82 , 82 , 82 , & 85 , 85 , 85 , 89 , 89 , 89 , 92 , 92 , 92 , 97 , 97 , 97 , & 101 , 101 , 101 , 104 , 104 , 104 , 109 , 109 , 109 , 112 , 112 , 112 , & 116 , 116 , 116 , 119 , 119 , 119 , 123 , 123 , 123 , 127 , 127 , 127 , & 130 , 130 , 130 , 135 , 135 , 135 , 138 , 138 , 138 , 142 , 142 , 142 , & 146 , 146 , 146 , 151 , 151 , 151 , 156 , 156 , 156 , 160 , 160 , 160 , & 165 , 165 , 165 , 169 , 169 , 169 , 175 , 175 , 175 , 179 , 179 , 179 , & 185 , 185 , 185 , 191 , 191 , 191 , 195 , 195 , 195 , 202 , 202 , 202 , & 206 , 206 , 206 , 213 , 213 , 213 , 218 , 218 , 218 , 226 , 226 , 226 , & 233 , 233 , 233 , 238 , 238 , 238 , 5 , 65 , 38 , 12 , 67 , 36 , & 21 , 71 , 34 , 30 , 74 , 33 , 36 , 76 , 32 , 46 , 80 , 32 , & 52 , 82 , 32 , 61 , 85 , 32 , 66 , 86 , 33 , 74 , 89 , 34 , & 82 , 91 , 36 , 87 , 92 , 37 , 94 , 94 , 38 , 99 , 95 , 39 , & 106 , 97 , 40 , 111 , 98 , 41 , 117 , 100 , 42 , 124 , 101 , 44 , & 129 , 103 , 45 , 136 , 104 , 46 , 141 , 106 , 47 , 149 , 108 , 49 , & 154 , 110 , 51 , 161 , 113 , 55 , 168 , 118 , 60 , 173 , 121 , 64 , & 179 , 127 , 71 , 182 , 131 , 77 , 186 , 137 , 86 , 189 , 142 , 92 , & 192 , 148 , 101 , 195 , 155 , 111 , 197 , 159 , 117 , 199 , 166 , 127 , & 201 , 171 , 133 , 204 , 177 , 143 , 207 , 184 , 153 , 209 , 188 , 160 , & 211 , 194 , 170 , 213 , 198 , 176 , 216 , 204 , 186 , 218 , 207 , 193 , & 221 , 212 , 202 , 224 , 217 , 210 , 226 , 219 , 216 , 228 , 223 , 224 , & 230 , 226 , 229 , 232 , 230 , 237 , 234 , 233 , 243 , 237 , 237 , 252 & ], shape ( fes100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: fes25 = reshape ( [ & 13 , 13 , 13 , 34 , 34 , 34 , 52 , 52 , 52 , 70 , 70 , 70 , & 88 , 88 , 88 , 103 , 103 , 103 , 119 , 119 , 119 , 133 , 133 , 133 , & 151 , 151 , 151 , 171 , 171 , 171 , 191 , 191 , 191 , 216 , 216 , 216 , & 2 , 64 , 38 , 33 , 75 , 32 , 66 , 86 , 33 , 92 , 93 , 38 , & 117 , 100 , 42 , 144 , 107 , 48 , 168 , 118 , 60 , 188 , 139 , 89 , & 198 , 164 , 124 , 208 , 186 , 156 , 218 , 207 , 193 , 227 , 222 , 221 , & 237 , 237 , 252 & ], shape ( fes25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: fes50 = reshape ( [ & 13 , 13 , 13 , 24 , 24 , 24 , 33 , 33 , 33 , 43 , 43 , 43 , & 52 , 52 , 52 , 60 , 60 , 60 , 69 , 69 , 69 , 77 , 77 , 77 , & 86 , 86 , 86 , 94 , 94 , 94 , 101 , 101 , 101 , 109 , 109 , 109 , & 116 , 116 , 116 , 124 , 124 , 124 , 132 , 132 , 132 , 139 , 139 , 139 , & 147 , 147 , 147 , 156 , 156 , 156 , 167 , 167 , 167 , 177 , 177 , 177 , & 187 , 187 , 187 , 197 , 197 , 197 , 209 , 209 , 209 , 223 , 223 , 223 , & 236 , 236 , 236 , 9 , 66 , 37 , 24 , 72 , 34 , 43 , 79 , 32 , & 58 , 84 , 32 , 72 , 88 , 34 , 85 , 91 , 36 , 97 , 94 , 38 , & 111 , 98 , 41 , 122 , 101 , 43 , 134 , 104 , 46 , 146 , 107 , 48 , & 159 , 112 , 53 , 173 , 121 , 64 , 182 , 131 , 77 , 189 , 142 , 92 , & 194 , 153 , 108 , 198 , 164 , 124 , 204 , 177 , 143 , 209 , 188 , 160 , & 213 , 198 , 176 , 218 , 207 , 193 , 223 , 215 , 207 , 228 , 223 , 224 , & 232 , 230 , 237 , 237 , 237 , 252 & ], shape ( fes50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: glasgow = reshape ( [ & 54 , 19 , 56 , 55 , 19 , 55 , 56 , 19 , 55 , 57 , 20 , 54 , & 58 , 20 , 53 , 59 , 20 , 52 , 60 , 20 , 51 , 61 , 21 , 51 , & 62 , 21 , 50 , 63 , 21 , 49 , 64 , 21 , 48 , 64 , 22 , 47 , & 65 , 22 , 47 , 66 , 22 , 46 , 67 , 22 , 45 , 68 , 23 , 44 , & 69 , 23 , 44 , 70 , 23 , 43 , 70 , 23 , 42 , 71 , 24 , 41 , & 72 , 24 , 41 , 73 , 24 , 40 , 74 , 24 , 39 , 75 , 25 , 38 , & 75 , 25 , 38 , 76 , 25 , 37 , 77 , 25 , 36 , 78 , 26 , 36 , & 79 , 26 , 35 , 80 , 26 , 34 , 80 , 26 , 33 , 81 , 27 , 33 , & 82 , 27 , 32 , 83 , 27 , 31 , 84 , 27 , 30 , 85 , 28 , 30 , & 86 , 28 , 29 , 87 , 28 , 28 , 87 , 28 , 27 , 88 , 29 , 27 , & 89 , 29 , 26 , 90 , 29 , 25 , 91 , 30 , 24 , 92 , 30 , 24 , & 93 , 30 , 23 , 94 , 31 , 22 , 95 , 31 , 21 , 96 , 32 , 20 , & 97 , 32 , 19 , 98 , 33 , 19 , 99 , 33 , 18 , 101 , 34 , 17 , & 102 , 34 , 16 , 103 , 35 , 15 , 104 , 36 , 14 , 105 , 37 , 13 , & 106 , 37 , 12 , 107 , 38 , 11 , 108 , 39 , 11 , 108 , 40 , 10 , & 109 , 41 , 9 , 110 , 42 , 8 , 111 , 43 , 7 , 112 , 44 , 6 , & 112 , 45 , 6 , 113 , 46 , 5 , 113 , 47 , 4 , 114 , 49 , 4 , & 114 , 50 , 3 , 115 , 51 , 3 , 115 , 52 , 3 , 115 , 53 , 2 , & 116 , 55 , 2 , 116 , 56 , 2 , 116 , 57 , 1 , 116 , 58 , 1 , & 116 , 59 , 1 , 116 , 60 , 1 , 116 , 62 , 1 , 116 , 63 , 1 , & 117 , 64 , 1 , 117 , 65 , 0 , 117 , 66 , 0 , 117 , 67 , 0 , & 117 , 68 , 0 , 116 , 69 , 0 , 116 , 70 , 0 , 116 , 71 , 0 , & 116 , 73 , 0 , 116 , 74 , 0 , 116 , 75 , 0 , 116 , 76 , 0 , & 116 , 77 , 0 , 116 , 78 , 1 , 116 , 79 , 1 , 116 , 80 , 1 , & 116 , 81 , 1 , 116 , 82 , 1 , 116 , 83 , 2 , 116 , 84 , 2 , & 116 , 85 , 3 , 116 , 86 , 3 , 115 , 87 , 4 , 115 , 88 , 4 , & 115 , 89 , 5 , 115 , 90 , 6 , 115 , 91 , 7 , 115 , 92 , 8 , & 114 , 94 , 10 , 114 , 95 , 11 , 114 , 96 , 13 , 114 , 97 , 14 , & 114 , 98 , 16 , 113 , 99 , 17 , 113 , 100 , 19 , 113 , 101 , 21 , & 113 , 102 , 23 , 112 , 102 , 24 , 112 , 103 , 26 , 112 , 104 , 28 , & 112 , 105 , 30 , 111 , 106 , 32 , 111 , 107 , 33 , 111 , 108 , 35 , & 110 , 109 , 37 , 110 , 110 , 39 , 110 , 111 , 41 , 109 , 112 , 43 , & 109 , 112 , 45 , 109 , 113 , 47 , 108 , 114 , 49 , 108 , 115 , 50 , & 108 , 116 , 52 , 107 , 117 , 54 , 107 , 117 , 56 , 107 , 118 , 58 , & 106 , 119 , 60 , 106 , 120 , 62 , 106 , 121 , 64 , 105 , 122 , 66 , & 105 , 122 , 68 , 105 , 123 , 70 , 104 , 124 , 72 , 104 , 125 , 74 , & 104 , 125 , 76 , 103 , 126 , 77 , 103 , 127 , 79 , 103 , 128 , 81 , & 102 , 129 , 83 , 102 , 129 , 85 , 102 , 130 , 87 , 101 , 131 , 89 , & 101 , 132 , 91 , 101 , 132 , 93 , 101 , 133 , 95 , 100 , 134 , 97 , & 100 , 135 , 99 , 100 , 136 , 100 , 99 , 136 , 102 , 99 , 137 , 104 , & 99 , 138 , 106 , 98 , 139 , 108 , 98 , 139 , 110 , 98 , 140 , 112 , & 97 , 141 , 114 , 97 , 142 , 116 , 97 , 142 , 118 , 97 , 143 , 120 , & 96 , 144 , 121 , 96 , 145 , 123 , 96 , 146 , 125 , 96 , 146 , 127 , & 96 , 147 , 129 , 96 , 148 , 131 , 95 , 149 , 133 , 95 , 149 , 135 , & 96 , 150 , 137 , 96 , 151 , 138 , 96 , 152 , 140 , 96 , 153 , 142 , & 96 , 153 , 144 , 97 , 154 , 146 , 97 , 155 , 148 , 98 , 156 , 150 , & 98 , 157 , 152 , 99 , 158 , 154 , 100 , 159 , 155 , 101 , 159 , 157 , & 102 , 160 , 159 , 103 , 161 , 161 , 104 , 162 , 163 , 105 , 163 , 165 , & 107 , 164 , 166 , 108 , 165 , 168 , 110 , 165 , 170 , 111 , 166 , 171 , & 113 , 167 , 173 , 114 , 168 , 175 , 116 , 169 , 176 , 118 , 170 , 178 , & 119 , 170 , 179 , 121 , 171 , 181 , 123 , 172 , 183 , 125 , 173 , 184 , & 126 , 174 , 185 , 128 , 174 , 187 , 130 , 175 , 188 , 132 , 176 , 190 , & 134 , 177 , 191 , 135 , 177 , 193 , 137 , 178 , 194 , 139 , 179 , 195 , & 141 , 180 , 197 , 142 , 180 , 198 , 144 , 181 , 200 , 146 , 182 , 201 , & 148 , 182 , 202 , 149 , 183 , 204 , 151 , 184 , 205 , 153 , 185 , 206 , & 155 , 185 , 207 , 156 , 186 , 209 , 158 , 187 , 210 , 160 , 187 , 211 , & 161 , 188 , 213 , 163 , 189 , 214 , 165 , 189 , 215 , 166 , 190 , 216 , & 168 , 191 , 218 , 170 , 191 , 219 , 171 , 192 , 220 , 173 , 193 , 221 , & 175 , 193 , 223 , 176 , 194 , 224 , 178 , 195 , 225 , 180 , 195 , 226 , & 181 , 196 , 228 , 183 , 197 , 229 , 185 , 198 , 230 , 187 , 198 , 231 , & 188 , 199 , 233 , 190 , 200 , 234 , 192 , 200 , 236 , 194 , 201 , 237 , & 196 , 202 , 238 , 198 , 203 , 240 , 200 , 204 , 241 , 202 , 204 , 243 , & 204 , 205 , 244 , 206 , 206 , 246 , 208 , 207 , 247 , 210 , 208 , 249 , & 212 , 209 , 250 , 215 , 209 , 252 , 217 , 210 , 253 , 219 , 211 , 255 & ], shape ( glasgow ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: glasgow10 = reshape ( [ & 54 , 19 , 56 , 79 , 26 , 35 , 107 , 38 , 11 , 116 , 69 , 0 , & 113 , 99 , 17 , 104 , 124 , 72 , 96 , 146 , 125 , 116 , 169 , 176 , & 166 , 190 , 216 , 219 , 211 , 255 & ], shape ( glasgow10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: glasgow100 = reshape ( [ & 54 , 19 , 56 , 57 , 20 , 54 , 59 , 20 , 52 , 62 , 21 , 50 , & 64 , 21 , 48 , 66 , 22 , 46 , 68 , 23 , 44 , 70 , 23 , 42 , & 73 , 24 , 40 , 75 , 25 , 38 , 77 , 25 , 36 , 79 , 26 , 35 , & 81 , 27 , 33 , 83 , 27 , 31 , 86 , 28 , 29 , 88 , 29 , 27 , & 90 , 29 , 25 , 93 , 30 , 23 , 95 , 31 , 21 , 98 , 33 , 19 , & 102 , 34 , 16 , 104 , 36 , 14 , 107 , 38 , 11 , 108 , 40 , 10 , & 111 , 43 , 7 , 112 , 45 , 6 , 114 , 49 , 4 , 115 , 52 , 3 , & 116 , 55 , 2 , 116 , 58 , 1 , 116 , 60 , 1 , 117 , 64 , 1 , & 117 , 66 , 0 , 116 , 69 , 0 , 116 , 73 , 0 , 116 , 75 , 0 , & 116 , 78 , 1 , 116 , 80 , 1 , 116 , 83 , 2 , 116 , 85 , 3 , & 115 , 88 , 4 , 115 , 91 , 7 , 114 , 94 , 10 , 114 , 97 , 14 , & 113 , 99 , 17 , 113 , 102 , 23 , 112 , 103 , 26 , 111 , 106 , 32 , & 110 , 109 , 37 , 110 , 111 , 41 , 109 , 113 , 47 , 108 , 115 , 50 , & 107 , 117 , 56 , 106 , 120 , 62 , 105 , 122 , 66 , 104 , 124 , 72 , & 104 , 125 , 76 , 103 , 128 , 81 , 102 , 129 , 85 , 101 , 132 , 91 , & 100 , 134 , 97 , 100 , 136 , 100 , 99 , 138 , 106 , 98 , 139 , 110 , & 97 , 142 , 116 , 97 , 143 , 120 , 96 , 146 , 125 , 96 , 148 , 131 , & 95 , 149 , 135 , 96 , 152 , 140 , 96 , 153 , 144 , 98 , 156 , 150 , & 99 , 158 , 154 , 102 , 160 , 159 , 105 , 163 , 165 , 108 , 165 , 168 , & 113 , 167 , 173 , 116 , 169 , 176 , 121 , 171 , 181 , 125 , 173 , 184 , & 130 , 175 , 188 , 135 , 177 , 193 , 139 , 179 , 195 , 144 , 181 , 200 , & 148 , 182 , 202 , 153 , 185 , 206 , 158 , 187 , 210 , 161 , 188 , 213 , & 166 , 190 , 216 , 170 , 191 , 219 , 175 , 193 , 223 , 178 , 195 , 225 , & 183 , 197 , 229 , 188 , 199 , 233 , 192 , 200 , 236 , 198 , 203 , 240 , & 202 , 204 , 243 , 208 , 207 , 247 , 212 , 209 , 250 , 219 , 211 , 255 & ], shape ( glasgow100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: glasgow25 = reshape ( [ & 54 , 19 , 56 , 64 , 22 , 47 , 73 , 24 , 40 , 82 , 27 , 32 , & 92 , 30 , 24 , 103 , 35 , 15 , 112 , 45 , 6 , 116 , 57 , 1 , & 116 , 69 , 0 , 116 , 81 , 1 , 115 , 91 , 7 , 112 , 102 , 24 , & 109 , 112 , 45 , 106 , 121 , 64 , 102 , 129 , 85 , 99 , 137 , 104 , & 96 , 146 , 125 , 97 , 154 , 146 , 105 , 163 , 165 , 123 , 172 , 183 , & 142 , 180 , 198 , 160 , 187 , 211 , 178 , 195 , 225 , 196 , 202 , 238 , & 219 , 211 , 255 & ], shape ( glasgow25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: glasgow50 = reshape ( [ & 54 , 19 , 56 , 59 , 20 , 52 , 64 , 21 , 48 , 69 , 23 , 44 , & 73 , 24 , 40 , 77 , 25 , 36 , 81 , 27 , 33 , 86 , 28 , 29 , & 91 , 30 , 24 , 96 , 32 , 20 , 102 , 34 , 16 , 107 , 38 , 11 , & 111 , 43 , 7 , 114 , 50 , 3 , 116 , 56 , 2 , 116 , 62 , 1 , & 117 , 67 , 0 , 116 , 73 , 0 , 116 , 79 , 1 , 116 , 84 , 2 , & 115 , 89 , 5 , 114 , 95 , 11 , 113 , 100 , 19 , 112 , 105 , 30 , & 110 , 110 , 39 , 108 , 114 , 49 , 107 , 118 , 58 , 105 , 123 , 70 , & 103 , 127 , 79 , 101 , 131 , 89 , 100 , 135 , 99 , 98 , 139 , 108 , & 97 , 143 , 120 , 96 , 147 , 129 , 96 , 151 , 138 , 97 , 155 , 148 , & 101 , 159 , 157 , 108 , 165 , 168 , 116 , 169 , 176 , 125 , 173 , 184 , & 134 , 177 , 191 , 142 , 180 , 198 , 153 , 185 , 206 , 161 , 188 , 213 , & 170 , 191 , 219 , 178 , 195 , 225 , 187 , 198 , 231 , 198 , 203 , 240 , & 208 , 207 , 247 , 219 , 211 , 255 & ], shape ( glasgow50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: glasgowS = reshape ( [ & 54 , 19 , 56 , 219 , 211 , 255 , 109 , 112 , 45 , 112 , 45 , 6 , & 105 , 163 , 165 , 82 , 27 , 32 , 160 , 187 , 211 , 116 , 81 , 1 , & 99 , 138 , 106 , 132 , 176 , 190 , 104 , 125 , 76 , 69 , 23 , 44 , & 97 , 32 , 19 , 114 , 98 , 16 , 187 , 198 , 231 , 117 , 64 , 1 , & 96 , 150 , 137 , 112 , 105 , 30 , 101 , 132 , 91 , 202 , 204 , 243 , & 115 , 89 , 5 , 106 , 37 , 12 , 173 , 193 , 221 , 146 , 182 , 201 , & 118 , 170 , 178 , 106 , 119 , 60 , 116 , 55 , 2 , 116 , 73 , 0 , & 75 , 25 , 38 , 62 , 21 , 50 , 96 , 144 , 121 , 89 , 29 , 26 , & 98 , 156 , 150 , 93 , 30 , 23 , 108 , 116 , 52 , 72 , 24 , 41 , & 58 , 20 , 53 , 86 , 28 , 29 , 97 , 141 , 114 , 79 , 26 , 35 , & 101 , 159 , 157 , 100 , 135 , 99 , 102 , 34 , 16 , 116 , 77 , 0 , & 113 , 102 , 23 , 114 , 50 , 3 , 153 , 185 , 206 , 105 , 122 , 68 , & 65 , 22 , 47 , 139 , 179 , 195 , 194 , 201 , 237 , 116 , 59 , 1 , & 166 , 190 , 216 , 116 , 85 , 3 , 109 , 41 , 9 , 96 , 147 , 129 , & 210 , 208 , 249 , 125 , 173 , 184 , 110 , 109 , 37 , 111 , 166 , 171 , & 114 , 94 , 10 , 180 , 195 , 226 , 102 , 129 , 83 , 117 , 68 , 0 , & 96 , 153 , 142 , 116 , 83 , 2 , 80 , 26 , 33 , 97 , 142 , 118 , & 110 , 111 , 41 , 67 , 22 , 45 , 106 , 121 , 64 , 116 , 62 , 1 , & 156 , 186 , 209 , 56 , 19 , 55 , 104 , 36 , 14 , 170 , 191 , 219 , & 111 , 43 , 7 , 116 , 75 , 0 , 115 , 87 , 4 , 135 , 177 , 193 , & 101 , 133 , 95 , 142 , 180 , 198 , 74 , 24 , 39 , 99 , 33 , 18 , & 96 , 146 , 125 , 70 , 23 , 42 , 114 , 168 , 175 , 99 , 136 , 102 , & 128 , 174 , 187 , 95 , 31 , 21 , 108 , 165 , 168 , 121 , 171 , 181 , & 183 , 197 , 229 , 113 , 100 , 19 , 108 , 39 , 11 , 116 , 70 , 0 , & 116 , 79 , 1 , 111 , 107 , 33 , 115 , 91 , 7 , 95 , 149 , 133 & ], shape ( glasgowS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: grayC = reshape ( [ & 0 , 0 , 0 , 2 , 2 , 2 , 4 , 4 , 4 , 5 , 5 , 5 , & 7 , 7 , 7 , 9 , 9 , 9 , 11 , 11 , 11 , 13 , 13 , 13 , & 14 , 14 , 14 , 15 , 15 , 15 , 17 , 17 , 17 , 18 , 18 , 18 , & 19 , 19 , 19 , 20 , 20 , 20 , 21 , 21 , 21 , 22 , 22 , 22 , & 23 , 23 , 23 , 24 , 24 , 24 , 25 , 25 , 25 , 26 , 26 , 26 , & 27 , 27 , 27 , 28 , 28 , 28 , 29 , 29 , 29 , 30 , 30 , 30 , & 31 , 31 , 31 , 32 , 32 , 32 , 33 , 33 , 33 , 34 , 34 , 34 , & 35 , 35 , 35 , 36 , 36 , 36 , 36 , 36 , 36 , 37 , 37 , 37 , & 38 , 38 , 38 , 39 , 39 , 39 , 40 , 40 , 40 , 41 , 41 , 41 , & 42 , 42 , 42 , 43 , 43 , 43 , 44 , 44 , 44 , 45 , 45 , 45 , & 46 , 46 , 46 , 47 , 47 , 47 , 48 , 48 , 48 , 49 , 49 , 49 , & 49 , 49 , 49 , 50 , 50 , 50 , 51 , 51 , 51 , 52 , 52 , 52 , & 53 , 53 , 53 , 54 , 54 , 54 , 55 , 55 , 55 , 56 , 56 , 56 , & 57 , 57 , 57 , 58 , 58 , 58 , 59 , 59 , 59 , 59 , 59 , 59 , & 60 , 60 , 60 , 61 , 61 , 61 , 62 , 62 , 62 , 63 , 63 , 63 , & 64 , 64 , 64 , 65 , 65 , 65 , 66 , 66 , 66 , 67 , 67 , 67 , & 68 , 68 , 68 , 68 , 68 , 68 , 69 , 69 , 69 , 70 , 70 , 70 , & 71 , 71 , 71 , 72 , 72 , 72 , 73 , 73 , 73 , 74 , 74 , 74 , & 75 , 75 , 75 , 75 , 75 , 75 , 76 , 76 , 76 , 77 , 77 , 77 , & 78 , 78 , 78 , 79 , 79 , 79 , 80 , 80 , 80 , 81 , 81 , 81 , & 81 , 81 , 81 , 82 , 82 , 82 , 83 , 83 , 83 , 84 , 84 , 84 , & 85 , 85 , 85 , 86 , 86 , 86 , 86 , 86 , 86 , 87 , 87 , 87 , & 88 , 88 , 88 , 89 , 89 , 89 , 90 , 90 , 90 , 91 , 91 , 91 , & 91 , 91 , 91 , 92 , 92 , 92 , 93 , 93 , 93 , 94 , 94 , 94 , & 95 , 95 , 95 , 95 , 95 , 95 , 96 , 96 , 96 , 97 , 97 , 97 , & 98 , 98 , 98 , 99 , 99 , 99 , 99 , 99 , 99 , 100 , 100 , 100 , & 101 , 101 , 101 , 102 , 102 , 102 , 103 , 103 , 103 , 103 , 103 , 103 , & 104 , 104 , 104 , 105 , 105 , 105 , 106 , 106 , 106 , 106 , 106 , 106 , & 107 , 107 , 107 , 108 , 108 , 108 , 109 , 109 , 109 , 110 , 110 , 110 , & 110 , 110 , 110 , 111 , 111 , 111 , 112 , 112 , 112 , 113 , 113 , 113 , & 113 , 113 , 113 , 114 , 114 , 114 , 115 , 115 , 115 , 116 , 116 , 116 , & 116 , 116 , 116 , 117 , 117 , 117 , 118 , 118 , 118 , 119 , 119 , 119 , & 119 , 119 , 119 , 120 , 120 , 120 , 121 , 121 , 121 , 122 , 122 , 122 , & 122 , 122 , 122 , 123 , 123 , 123 , 124 , 124 , 124 , 125 , 125 , 125 , & 125 , 125 , 125 , 126 , 126 , 126 , 127 , 127 , 127 , 128 , 128 , 128 , & 128 , 128 , 128 , 129 , 129 , 129 , 130 , 130 , 130 , 131 , 131 , 131 , & 132 , 132 , 132 , 132 , 132 , 132 , 133 , 133 , 133 , 134 , 134 , 134 , & 135 , 135 , 135 , 136 , 136 , 136 , 136 , 136 , 136 , 137 , 137 , 137 , & 138 , 138 , 138 , 139 , 139 , 139 , 140 , 140 , 140 , 141 , 141 , 141 , & 142 , 142 , 142 , 142 , 142 , 142 , 143 , 143 , 143 , 144 , 144 , 144 , & 145 , 145 , 145 , 146 , 146 , 146 , 147 , 147 , 147 , 148 , 148 , 148 , & 149 , 149 , 149 , 149 , 149 , 149 , 150 , 150 , 150 , 151 , 151 , 151 , & 152 , 152 , 152 , 153 , 153 , 153 , 154 , 154 , 154 , 155 , 155 , 155 , & 156 , 156 , 156 , 157 , 157 , 157 , 158 , 158 , 158 , 159 , 159 , 159 , & 160 , 160 , 160 , 161 , 161 , 161 , 162 , 162 , 162 , 163 , 163 , 163 , & 164 , 164 , 164 , 165 , 165 , 165 , 166 , 166 , 166 , 167 , 167 , 167 , & 168 , 168 , 168 , 169 , 169 , 169 , 170 , 170 , 170 , 171 , 171 , 171 , & 172 , 172 , 172 , 173 , 173 , 173 , 174 , 174 , 174 , 175 , 175 , 175 , & 176 , 176 , 176 , 177 , 177 , 177 , 178 , 178 , 178 , 179 , 179 , 179 , & 180 , 180 , 180 , 181 , 181 , 181 , 182 , 182 , 182 , 183 , 183 , 183 , & 184 , 184 , 184 , 185 , 185 , 185 , 187 , 187 , 187 , 188 , 188 , 188 , & 189 , 189 , 189 , 190 , 190 , 190 , 191 , 191 , 191 , 192 , 192 , 192 , & 193 , 193 , 193 , 195 , 195 , 195 , 196 , 196 , 196 , 197 , 197 , 197 , & 198 , 198 , 198 , 199 , 199 , 199 , 200 , 200 , 200 , 202 , 202 , 202 , & 203 , 203 , 203 , 204 , 204 , 204 , 205 , 205 , 205 , 206 , 206 , 206 , & 208 , 208 , 208 , 209 , 209 , 209 , 210 , 210 , 210 , 211 , 211 , 211 , & 213 , 213 , 213 , 214 , 214 , 214 , 215 , 215 , 215 , 216 , 216 , 216 , & 218 , 218 , 218 , 219 , 219 , 219 , 220 , 220 , 220 , 222 , 222 , 222 , & 223 , 223 , 223 , 224 , 224 , 224 , 226 , 226 , 226 , 227 , 227 , 227 , & 228 , 228 , 228 , 230 , 230 , 230 , 231 , 231 , 231 , 232 , 232 , 232 , & 234 , 234 , 234 , 235 , 235 , 235 , 236 , 236 , 236 , 238 , 238 , 238 , & 239 , 239 , 239 , 241 , 241 , 241 , 242 , 242 , 242 , 243 , 243 , 243 , & 245 , 245 , 245 , 246 , 246 , 246 , 248 , 248 , 248 , 249 , 249 , 249 , & 251 , 251 , 251 , 252 , 252 , 252 , 254 , 254 , 254 , 255 , 255 , 255 & ], shape ( grayC ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: grayC10 = reshape ( [ & 0 , 0 , 0 , 35 , 35 , 35 , 61 , 61 , 61 , 86 , 86 , 86 , & 108 , 108 , 108 , 130 , 130 , 130 , 154 , 154 , 154 , 182 , 182 , 182 , & 216 , 216 , 216 , 255 , 255 , 255 & ], shape ( grayC10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: grayC100 = reshape ( [ & 0 , 0 , 0 , 5 , 5 , 5 , 9 , 9 , 9 , 14 , 14 , 14 , & 17 , 17 , 17 , 20 , 20 , 20 , 22 , 22 , 22 , 25 , 25 , 25 , & 28 , 28 , 28 , 30 , 30 , 30 , 33 , 33 , 33 , 35 , 35 , 35 , & 37 , 37 , 37 , 39 , 39 , 39 , 42 , 42 , 42 , 45 , 45 , 45 , & 47 , 47 , 47 , 49 , 49 , 49 , 51 , 51 , 51 , 54 , 54 , 54 , & 57 , 57 , 57 , 59 , 59 , 59 , 61 , 61 , 61 , 63 , 63 , 63 , & 66 , 66 , 66 , 68 , 68 , 68 , 70 , 70 , 70 , 73 , 73 , 73 , & 75 , 75 , 75 , 77 , 77 , 77 , 79 , 79 , 79 , 81 , 81 , 81 , & 83 , 83 , 83 , 86 , 86 , 86 , 88 , 88 , 88 , 90 , 90 , 90 , & 92 , 92 , 92 , 94 , 94 , 94 , 96 , 96 , 96 , 98 , 98 , 98 , & 100 , 100 , 100 , 103 , 103 , 103 , 104 , 104 , 104 , 106 , 106 , 106 , & 108 , 108 , 108 , 110 , 110 , 110 , 112 , 112 , 112 , 114 , 114 , 114 , & 116 , 116 , 116 , 118 , 118 , 118 , 120 , 120 , 120 , 122 , 122 , 122 , & 124 , 124 , 124 , 126 , 126 , 126 , 128 , 128 , 128 , 130 , 130 , 130 , & 132 , 132 , 132 , 134 , 134 , 134 , 136 , 136 , 136 , 138 , 138 , 138 , & 141 , 141 , 141 , 142 , 142 , 142 , 145 , 145 , 145 , 147 , 147 , 147 , & 149 , 149 , 149 , 151 , 151 , 151 , 154 , 154 , 154 , 157 , 157 , 157 , & 159 , 159 , 159 , 162 , 162 , 162 , 164 , 164 , 164 , 167 , 167 , 167 , & 169 , 169 , 169 , 172 , 172 , 172 , 175 , 175 , 175 , 177 , 177 , 177 , & 180 , 180 , 180 , 182 , 182 , 182 , 185 , 185 , 185 , 188 , 188 , 188 , & 191 , 191 , 191 , 195 , 195 , 195 , 197 , 197 , 197 , 200 , 200 , 200 , & 203 , 203 , 203 , 206 , 206 , 206 , 210 , 210 , 210 , 213 , 213 , 213 , & 216 , 216 , 216 , 219 , 219 , 219 , 223 , 223 , 223 , 226 , 226 , 226 , & 230 , 230 , 230 , 234 , 234 , 234 , 236 , 236 , 236 , 241 , 241 , 241 , & 243 , 243 , 243 , 248 , 248 , 248 , 251 , 251 , 251 , 255 , 255 , 255 & ], shape ( grayC100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: grayC25 = reshape ( [ & 0 , 0 , 0 , 18 , 18 , 18 , 28 , 28 , 28 , 38 , 38 , 38 , & 49 , 49 , 49 , 58 , 58 , 58 , 68 , 68 , 68 , 76 , 76 , 76 , & 86 , 86 , 86 , 95 , 95 , 95 , 103 , 103 , 103 , 111 , 111 , 111 , & 119 , 119 , 119 , 127 , 127 , 127 , 136 , 136 , 136 , 144 , 144 , 144 , & 154 , 154 , 154 , 165 , 165 , 165 , 175 , 175 , 175 , 187 , 187 , 187 , & 199 , 199 , 199 , 211 , 211 , 211 , 226 , 226 , 226 , 239 , 239 , 239 , & 255 , 255 , 255 & ], shape ( grayC25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: grayC50 = reshape ( [ & 0 , 0 , 0 , 9 , 9 , 9 , 17 , 17 , 17 , 23 , 23 , 23 , & 28 , 28 , 28 , 33 , 33 , 33 , 37 , 37 , 37 , 42 , 42 , 42 , & 48 , 48 , 48 , 52 , 52 , 52 , 57 , 57 , 57 , 61 , 61 , 61 , & 66 , 66 , 66 , 71 , 71 , 71 , 75 , 75 , 75 , 80 , 80 , 80 , & 84 , 84 , 84 , 88 , 88 , 88 , 93 , 93 , 93 , 97 , 97 , 97 , & 101 , 101 , 101 , 105 , 105 , 105 , 109 , 109 , 109 , 113 , 113 , 113 , & 117 , 117 , 117 , 121 , 121 , 121 , 125 , 125 , 125 , 129 , 129 , 129 , & 133 , 133 , 133 , 137 , 137 , 137 , 142 , 142 , 142 , 146 , 146 , 146 , & 151 , 151 , 151 , 156 , 156 , 156 , 161 , 161 , 161 , 166 , 166 , 166 , & 171 , 171 , 171 , 177 , 177 , 177 , 182 , 182 , 182 , 188 , 188 , 188 , & 193 , 193 , 193 , 199 , 199 , 199 , 206 , 206 , 206 , 213 , 213 , 213 , & 219 , 219 , 219 , 226 , 226 , 226 , 232 , 232 , 232 , 241 , 241 , 241 , & 248 , 248 , 248 , 255 , 255 , 255 & ], shape ( grayC50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: grayCS = reshape ( [ & 7 , 7 , 7 , 249 , 249 , 249 , 119 , 119 , 119 , 69 , 69 , 69 , & 173 , 173 , 173 , 208 , 208 , 208 , 41 , 41 , 41 , 95 , 95 , 95 , & 143 , 143 , 143 , 107 , 107 , 107 , 157 , 157 , 157 , 27 , 27 , 27 , & 189 , 189 , 189 , 55 , 55 , 55 , 82 , 82 , 82 , 227 , 227 , 227 , & 131 , 131 , 131 , 238 , 238 , 238 , 113 , 113 , 113 , 89 , 89 , 89 , & 62 , 62 , 62 , 198 , 198 , 198 , 19 , 19 , 19 , 165 , 165 , 165 , & 136 , 136 , 136 , 101 , 101 , 101 , 216 , 216 , 216 , 76 , 76 , 76 , & 181 , 181 , 181 , 49 , 49 , 49 , 150 , 150 , 150 , 125 , 125 , 125 , & 34 , 34 , 34 , 104 , 104 , 104 , 147 , 147 , 147 , 128 , 128 , 128 , & 59 , 59 , 59 , 140 , 140 , 140 , 222 , 222 , 222 , 14 , 14 , 14 , & 45 , 45 , 45 , 193 , 193 , 193 , 23 , 23 , 23 , 66 , 66 , 66 , & 92 , 92 , 92 , 232 , 232 , 232 , 169 , 169 , 169 , 37 , 37 , 37 , & 110 , 110 , 110 , 86 , 86 , 86 , 116 , 116 , 116 , 73 , 73 , 73 , & 243 , 243 , 243 , 203 , 203 , 203 , 177 , 177 , 177 , 161 , 161 , 161 , & 98 , 98 , 98 , 30 , 30 , 30 , 51 , 51 , 51 , 79 , 79 , 79 , & 122 , 122 , 122 , 134 , 134 , 134 , 185 , 185 , 185 , 154 , 154 , 154 , & 211 , 211 , 211 , 138 , 138 , 138 , 39 , 39 , 39 , 32 , 32 , 32 , & 17 , 17 , 17 , 60 , 60 , 60 , 129 , 129 , 129 , 205 , 205 , 205 , & 87 , 87 , 87 , 64 , 64 , 64 , 25 , 25 , 25 , 235 , 235 , 235 , & 81 , 81 , 81 , 152 , 152 , 152 , 71 , 71 , 71 , 84 , 84 , 84 , & 179 , 179 , 179 , 57 , 57 , 57 , 200 , 200 , 200 , 43 , 43 , 43 , & 246 , 246 , 246 , 159 , 159 , 159 , 99 , 99 , 99 , 214 , 214 , 214 , & 11 , 11 , 11 , 175 , 175 , 175 , 219 , 219 , 219 , 142 , 142 , 142 , & 167 , 167 , 167 , 115 , 115 , 115 , 171 , 171 , 171 , 21 , 21 , 21 , & 75 , 75 , 75 , 53 , 53 , 53 , 91 , 91 , 91 , 230 , 230 , 230 & ], shape ( grayCS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: hawaii = reshape ( [ & 140 , 2 , 115 , 141 , 4 , 114 , 141 , 6 , 113 , 141 , 8 , 112 , & 141 , 10 , 111 , 142 , 13 , 110 , 142 , 14 , 109 , 142 , 16 , 108 , & 142 , 18 , 107 , 142 , 19 , 106 , 143 , 21 , 105 , 143 , 22 , 104 , & 143 , 24 , 103 , 143 , 25 , 102 , 143 , 26 , 101 , 144 , 28 , 100 , & 144 , 29 , 99 , 144 , 30 , 99 , 144 , 31 , 98 , 144 , 32 , 97 , & 144 , 33 , 96 , 145 , 35 , 95 , 145 , 36 , 94 , 145 , 37 , 93 , & 145 , 38 , 92 , 145 , 39 , 91 , 145 , 40 , 90 , 146 , 41 , 90 , & 146 , 42 , 89 , 146 , 43 , 88 , 146 , 44 , 87 , 146 , 45 , 86 , & 146 , 46 , 85 , 146 , 47 , 84 , 147 , 48 , 84 , 147 , 49 , 83 , & 147 , 50 , 82 , 147 , 51 , 81 , 147 , 52 , 80 , 147 , 53 , 80 , & 147 , 54 , 79 , 148 , 55 , 78 , 148 , 56 , 77 , 148 , 57 , 77 , & 148 , 58 , 76 , 148 , 59 , 75 , 148 , 60 , 74 , 148 , 61 , 74 , & 149 , 62 , 73 , 149 , 63 , 72 , 149 , 64 , 71 , 149 , 65 , 71 , & 149 , 66 , 70 , 149 , 67 , 69 , 149 , 68 , 69 , 149 , 69 , 68 , & 150 , 70 , 67 , 150 , 71 , 66 , 150 , 72 , 66 , 150 , 73 , 65 , & 150 , 74 , 64 , 150 , 75 , 64 , 150 , 76 , 63 , 150 , 77 , 62 , & 151 , 78 , 62 , 151 , 79 , 61 , 151 , 80 , 60 , 151 , 81 , 60 , & 151 , 82 , 59 , 151 , 83 , 58 , 151 , 83 , 58 , 151 , 84 , 57 , & 152 , 85 , 56 , 152 , 86 , 56 , 152 , 87 , 55 , 152 , 88 , 54 , & 152 , 89 , 54 , 152 , 90 , 53 , 152 , 92 , 52 , 153 , 93 , 52 , & 153 , 94 , 51 , 153 , 95 , 50 , 153 , 96 , 50 , 153 , 97 , 49 , & 153 , 98 , 48 , 153 , 99 , 48 , 153 , 100 , 47 , 154 , 101 , 46 , & 154 , 102 , 46 , 154 , 103 , 45 , 154 , 104 , 44 , 154 , 105 , 44 , & 154 , 106 , 43 , 154 , 107 , 42 , 155 , 108 , 42 , 155 , 109 , 41 , & 155 , 111 , 40 , 155 , 112 , 40 , 155 , 113 , 39 , 155 , 114 , 38 , & 155 , 115 , 38 , 155 , 116 , 37 , 156 , 117 , 36 , 156 , 119 , 36 , & 156 , 120 , 35 , 156 , 121 , 35 , 156 , 122 , 34 , 156 , 123 , 33 , & 156 , 125 , 33 , 156 , 126 , 32 , 156 , 127 , 32 , 156 , 128 , 31 , & 157 , 129 , 31 , 157 , 131 , 30 , 157 , 132 , 30 , 157 , 133 , 29 , & 157 , 135 , 29 , 157 , 136 , 29 , 157 , 137 , 28 , 157 , 138 , 28 , & 157 , 140 , 28 , 157 , 141 , 28 , 157 , 142 , 28 , 157 , 144 , 28 , & 156 , 145 , 28 , 156 , 146 , 28 , 156 , 148 , 28 , 156 , 149 , 28 , & 156 , 150 , 28 , 156 , 152 , 29 , 155 , 153 , 29 , 155 , 154 , 30 , & 155 , 156 , 31 , 155 , 157 , 31 , 154 , 159 , 32 , 154 , 160 , 33 , & 154 , 161 , 34 , 153 , 163 , 35 , 153 , 164 , 36 , 152 , 165 , 38 , & 152 , 166 , 39 , 151 , 168 , 40 , 151 , 169 , 42 , 150 , 170 , 43 , & 149 , 171 , 45 , 149 , 173 , 46 , 148 , 174 , 48 , 147 , 175 , 50 , & 147 , 176 , 51 , 146 , 177 , 53 , 145 , 179 , 55 , 145 , 180 , 57 , & 144 , 181 , 59 , 143 , 182 , 60 , 142 , 183 , 62 , 141 , 184 , 64 , & 140 , 185 , 66 , 140 , 186 , 68 , 139 , 187 , 70 , 138 , 188 , 72 , & 137 , 189 , 74 , 136 , 190 , 76 , 135 , 190 , 78 , 134 , 191 , 80 , & 133 , 192 , 82 , 132 , 193 , 84 , 131 , 194 , 87 , 130 , 195 , 89 , & 130 , 195 , 91 , 129 , 196 , 93 , 128 , 197 , 95 , 127 , 198 , 97 , & 126 , 198 , 99 , 125 , 199 , 101 , 124 , 200 , 103 , 123 , 201 , 105 , & 122 , 201 , 108 , 121 , 202 , 110 , 120 , 203 , 112 , 119 , 204 , 114 , & 118 , 204 , 116 , 117 , 205 , 118 , 116 , 206 , 121 , 115 , 206 , 123 , & 114 , 207 , 125 , 113 , 208 , 127 , 112 , 208 , 129 , 112 , 209 , 131 , & 111 , 210 , 134 , 110 , 210 , 136 , 109 , 211 , 138 , 108 , 212 , 140 , & 107 , 212 , 142 , 106 , 213 , 145 , 105 , 214 , 147 , 104 , 214 , 149 , & 104 , 215 , 151 , 103 , 216 , 153 , 102 , 216 , 156 , 101 , 217 , 158 , & 100 , 218 , 160 , 100 , 218 , 162 , 99 , 219 , 165 , 98 , 220 , 167 , & 98 , 220 , 169 , 97 , 221 , 171 , 97 , 222 , 174 , 96 , 222 , 176 , & 96 , 223 , 178 , 96 , 224 , 180 , 95 , 224 , 183 , 95 , 225 , 185 , & 95 , 226 , 187 , 95 , 226 , 189 , 95 , 227 , 192 , 95 , 228 , 194 , & 96 , 228 , 196 , 96 , 229 , 198 , 97 , 229 , 200 , 97 , 230 , 202 , & 98 , 231 , 205 , 99 , 231 , 207 , 100 , 232 , 209 , 102 , 232 , 211 , & 103 , 233 , 213 , 104 , 233 , 215 , 106 , 234 , 217 , 108 , 235 , 219 , & 109 , 235 , 220 , 111 , 235 , 222 , 113 , 236 , 224 , 115 , 236 , 226 , & 118 , 237 , 227 , 120 , 237 , 229 , 122 , 238 , 231 , 125 , 238 , 232 , & 127 , 238 , 234 , 130 , 239 , 235 , 132 , 239 , 236 , 135 , 239 , 238 , & 138 , 240 , 239 , 141 , 240 , 240 , 143 , 240 , 241 , 146 , 240 , 243 , & 149 , 241 , 244 , 152 , 241 , 245 , 154 , 241 , 246 , 157 , 241 , 247 , & 160 , 241 , 248 , 163 , 241 , 249 , 166 , 241 , 249 , 168 , 242 , 250 , & 171 , 242 , 251 , 174 , 242 , 252 , 177 , 242 , 253 , 179 , 242 , 253 & ], shape ( hawaii ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: hawaii10 = reshape ( [ & 140 , 2 , 115 , 146 , 42 , 89 , 150 , 71 , 66 , 153 , 99 , 48 , & 157 , 131 , 30 , 151 , 169 , 42 , 128 , 197 , 95 , 102 , 216 , 156 , & 108 , 235 , 219 , 179 , 242 , 253 & ], shape ( hawaii10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: hawaii100 = reshape ( [ & 140 , 2 , 115 , 141 , 8 , 112 , 142 , 13 , 110 , 142 , 18 , 107 , & 143 , 21 , 105 , 143 , 25 , 102 , 144 , 28 , 100 , 144 , 31 , 98 , & 145 , 35 , 95 , 145 , 37 , 93 , 145 , 40 , 90 , 146 , 42 , 89 , & 146 , 45 , 86 , 146 , 47 , 84 , 147 , 50 , 82 , 147 , 53 , 80 , & 148 , 55 , 78 , 148 , 58 , 76 , 148 , 60 , 74 , 149 , 63 , 72 , & 149 , 66 , 70 , 149 , 68 , 69 , 150 , 71 , 66 , 150 , 73 , 65 , & 150 , 76 , 63 , 151 , 78 , 62 , 151 , 81 , 60 , 151 , 83 , 58 , & 152 , 85 , 56 , 152 , 88 , 54 , 152 , 90 , 53 , 153 , 94 , 51 , & 153 , 96 , 50 , 153 , 99 , 48 , 154 , 102 , 46 , 154 , 104 , 44 , & 154 , 107 , 42 , 155 , 109 , 41 , 155 , 113 , 39 , 155 , 115 , 38 , & 156 , 119 , 36 , 156 , 122 , 34 , 156 , 125 , 33 , 156 , 128 , 31 , & 157 , 131 , 30 , 157 , 135 , 29 , 157 , 137 , 28 , 157 , 141 , 28 , & 156 , 145 , 28 , 156 , 148 , 28 , 156 , 152 , 29 , 155 , 154 , 30 , & 154 , 159 , 32 , 153 , 163 , 35 , 152 , 165 , 38 , 151 , 169 , 42 , & 149 , 171 , 45 , 147 , 175 , 50 , 146 , 177 , 53 , 144 , 181 , 59 , & 141 , 184 , 64 , 140 , 186 , 68 , 137 , 189 , 74 , 135 , 190 , 78 , & 132 , 193 , 84 , 130 , 195 , 89 , 128 , 197 , 95 , 125 , 199 , 101 , & 123 , 201 , 105 , 120 , 203 , 112 , 118 , 204 , 116 , 115 , 206 , 123 , & 113 , 208 , 127 , 111 , 210 , 134 , 108 , 212 , 140 , 106 , 213 , 145 , & 104 , 215 , 151 , 102 , 216 , 156 , 100 , 218 , 162 , 98 , 220 , 167 , & 97 , 222 , 174 , 96 , 224 , 180 , 95 , 225 , 185 , 95 , 227 , 192 , & 96 , 228 , 196 , 97 , 230 , 202 , 100 , 232 , 209 , 103 , 233 , 213 , & 108 , 235 , 219 , 111 , 235 , 222 , 118 , 237 , 227 , 122 , 238 , 231 , & 130 , 239 , 235 , 138 , 240 , 239 , 143 , 240 , 241 , 152 , 241 , 245 , & 157 , 241 , 247 , 166 , 241 , 249 , 171 , 242 , 251 , 179 , 242 , 253 & ], shape ( hawaii100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: hawaii25 = reshape ( [ & 140 , 2 , 115 , 143 , 22 , 104 , 145 , 35 , 95 , 146 , 46 , 85 , & 148 , 57 , 77 , 149 , 67 , 69 , 151 , 78 , 62 , 152 , 87 , 55 , & 153 , 99 , 48 , 155 , 111 , 40 , 156 , 122 , 34 , 157 , 136 , 29 , & 156 , 150 , 28 , 153 , 164 , 36 , 146 , 177 , 53 , 138 , 188 , 72 , & 128 , 197 , 95 , 117 , 205 , 118 , 108 , 212 , 140 , 99 , 219 , 165 , & 95 , 226 , 189 , 102 , 232 , 211 , 122 , 238 , 231 , 149 , 241 , 244 , & 179 , 242 , 253 & ], shape ( hawaii25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: hawaii50 = reshape ( [ & 140 , 2 , 115 , 142 , 13 , 110 , 143 , 21 , 105 , 144 , 29 , 99 , & 145 , 35 , 95 , 145 , 40 , 90 , 146 , 45 , 86 , 147 , 50 , 82 , & 148 , 56 , 77 , 148 , 61 , 74 , 149 , 66 , 70 , 150 , 71 , 66 , & 150 , 76 , 63 , 151 , 82 , 59 , 152 , 86 , 56 , 152 , 92 , 52 , & 153 , 97 , 49 , 154 , 102 , 46 , 155 , 108 , 42 , 155 , 114 , 38 , & 156 , 120 , 35 , 156 , 126 , 32 , 157 , 132 , 30 , 157 , 140 , 28 , & 156 , 146 , 28 , 155 , 153 , 29 , 154 , 160 , 33 , 151 , 168 , 40 , & 148 , 174 , 48 , 145 , 180 , 57 , 140 , 185 , 66 , 136 , 190 , 76 , & 130 , 195 , 89 , 126 , 198 , 99 , 121 , 202 , 110 , 116 , 206 , 121 , & 112 , 209 , 131 , 106 , 213 , 145 , 102 , 216 , 156 , 98 , 220 , 167 , & 96 , 223 , 178 , 95 , 226 , 189 , 97 , 230 , 202 , 103 , 233 , 213 , & 111 , 235 , 222 , 122 , 238 , 231 , 135 , 239 , 238 , 152 , 241 , 245 , & 166 , 241 , 249 , 179 , 242 , 253 & ], shape ( hawaii50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: hawaiiS = reshape ( [ & 140 , 2 , 115 , 179 , 242 , 253 , 156 , 150 , 28 , 151 , 78 , 62 , & 107 , 212 , 142 , 146 , 46 , 85 , 137 , 189 , 74 , 155 , 111 , 40 , & 103 , 233 , 213 , 122 , 201 , 108 , 149 , 62 , 73 , 96 , 223 , 178 , & 149 , 171 , 45 , 144 , 29 , 99 , 153 , 94 , 51 , 157 , 129 , 31 , & 135 , 239 , 238 , 147 , 54 , 79 , 96 , 228 , 196 , 157 , 241 , 247 , & 157 , 140 , 28 , 142 , 18 , 107 , 156 , 120 , 35 , 150 , 70 , 67 , & 100 , 218 , 160 , 152 , 85 , 56 , 114 , 207 , 125 , 130 , 195 , 91 , & 144 , 181 , 59 , 145 , 38 , 92 , 154 , 102 , 46 , 154 , 161 , 34 , & 115 , 236 , 226 , 152 , 166 , 39 , 151 , 82 , 59 , 146 , 42 , 89 , & 148 , 58 , 76 , 153 , 98 , 48 , 156 , 145 , 28 , 156 , 125 , 33 , & 155 , 156 , 31 , 118 , 204 , 116 , 157 , 135 , 29 , 141 , 10 , 111 , & 143 , 24 , 103 , 147 , 176 , 51 , 168 , 242 , 250 , 126 , 198 , 99 , & 125 , 238 , 232 , 152 , 89 , 54 , 154 , 106 , 43 , 98 , 231 , 205 , & 98 , 220 , 169 , 155 , 115 , 38 , 95 , 226 , 187 , 150 , 74 , 64 , & 140 , 185 , 66 , 149 , 66 , 70 , 133 , 192 , 82 , 104 , 215 , 151 , & 144 , 33 , 96 , 147 , 50 , 82 , 111 , 210 , 134 , 146 , 240 , 243 , & 108 , 235 , 219 , 143 , 26 , 101 , 149 , 64 , 71 , 135 , 190 , 78 , & 152 , 92 , 52 , 147 , 52 , 80 , 149 , 68 , 69 , 152 , 241 , 245 , & 153 , 100 , 47 , 151 , 83 , 58 , 124 , 200 , 103 , 141 , 6 , 113 , & 145 , 40 , 90 , 155 , 113 , 39 , 152 , 87 , 55 , 109 , 211 , 138 , & 112 , 208 , 129 , 100 , 232 , 209 , 148 , 174 , 48 , 145 , 179 , 55 , & 153 , 164 , 36 , 97 , 229 , 200 , 157 , 137 , 28 , 156 , 122 , 34 , & 139 , 187 , 70 , 153 , 96 , 50 , 145 , 36 , 94 , 156 , 127 , 32 , & 150 , 72 , 66 , 116 , 206 , 121 , 95 , 224 , 183 , 156 , 148 , 28 , & 128 , 197 , 95 , 151 , 80 , 60 , 154 , 159 , 32 , 155 , 108 , 42 & ], shape ( hawaiiS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: imola = reshape ( [ & 26 , 51 , 179 , 26 , 52 , 178 , 27 , 53 , 178 , 27 , 53 , 177 , & 28 , 54 , 177 , 28 , 55 , 177 , 28 , 55 , 176 , 29 , 56 , 176 , & 29 , 57 , 176 , 30 , 57 , 175 , 30 , 58 , 175 , 30 , 59 , 175 , & 31 , 60 , 174 , 31 , 60 , 174 , 31 , 61 , 174 , 32 , 62 , 173 , & 32 , 62 , 173 , 32 , 63 , 173 , 33 , 64 , 172 , 33 , 64 , 172 , & 33 , 65 , 172 , 34 , 66 , 171 , 34 , 66 , 171 , 34 , 67 , 171 , & 35 , 68 , 170 , 35 , 68 , 170 , 35 , 69 , 170 , 36 , 70 , 169 , & 36 , 70 , 169 , 36 , 71 , 169 , 37 , 72 , 168 , 37 , 72 , 168 , & 37 , 73 , 168 , 38 , 74 , 167 , 38 , 74 , 167 , 38 , 75 , 167 , & 39 , 76 , 166 , 39 , 76 , 166 , 39 , 77 , 166 , 40 , 78 , 165 , & 40 , 78 , 165 , 40 , 79 , 165 , 41 , 80 , 164 , 41 , 80 , 164 , & 41 , 81 , 164 , 42 , 82 , 163 , 42 , 82 , 163 , 42 , 83 , 163 , & 43 , 83 , 162 , 43 , 84 , 162 , 43 , 85 , 162 , 44 , 85 , 161 , & 44 , 86 , 161 , 44 , 87 , 161 , 45 , 87 , 160 , 45 , 88 , 160 , & 45 , 89 , 160 , 46 , 89 , 159 , 46 , 90 , 159 , 46 , 91 , 159 , & 47 , 91 , 158 , 47 , 92 , 158 , 47 , 93 , 158 , 48 , 93 , 157 , & 48 , 94 , 157 , 48 , 95 , 156 , 49 , 95 , 156 , 49 , 96 , 156 , & 50 , 96 , 155 , 50 , 97 , 155 , 50 , 98 , 155 , 51 , 98 , 154 , & 51 , 99 , 154 , 52 , 100 , 153 , 52 , 100 , 153 , 52 , 101 , 152 , & 53 , 101 , 152 , 53 , 102 , 152 , 54 , 103 , 151 , 54 , 103 , 151 , & 55 , 104 , 150 , 55 , 104 , 150 , 56 , 105 , 149 , 56 , 106 , 149 , & 57 , 106 , 148 , 57 , 107 , 148 , 58 , 107 , 147 , 58 , 108 , 147 , & 59 , 108 , 146 , 59 , 109 , 146 , 60 , 110 , 145 , 60 , 110 , 145 , & 61 , 111 , 144 , 61 , 111 , 144 , 62 , 112 , 143 , 62 , 112 , 143 , & 63 , 113 , 142 , 64 , 114 , 141 , 64 , 114 , 141 , 65 , 115 , 140 , & 65 , 115 , 140 , 66 , 116 , 139 , 66 , 116 , 139 , 67 , 117 , 138 , & 68 , 118 , 138 , 68 , 118 , 137 , 69 , 119 , 137 , 69 , 119 , 136 , & 70 , 120 , 136 , 70 , 121 , 135 , 71 , 121 , 135 , 72 , 122 , 134 , & 72 , 123 , 134 , 73 , 123 , 133 , 74 , 124 , 133 , 74 , 125 , 132 , & 75 , 125 , 132 , 76 , 126 , 131 , 76 , 127 , 131 , 77 , 127 , 130 , & 78 , 128 , 130 , 78 , 129 , 129 , 79 , 129 , 129 , 80 , 130 , 129 , & 81 , 131 , 128 , 81 , 132 , 128 , 82 , 133 , 128 , 83 , 133 , 127 , & 84 , 134 , 127 , 85 , 135 , 127 , 86 , 136 , 126 , 86 , 137 , 126 , & 87 , 138 , 126 , 88 , 138 , 125 , 89 , 139 , 125 , 90 , 140 , 125 , & 91 , 141 , 125 , 92 , 142 , 124 , 92 , 143 , 124 , 93 , 144 , 124 , & 94 , 145 , 123 , 95 , 146 , 123 , 96 , 146 , 123 , 97 , 147 , 123 , & 98 , 148 , 122 , 99 , 149 , 122 , 100 , 150 , 122 , 101 , 151 , 122 , & 102 , 152 , 122 , 103 , 153 , 121 , 103 , 154 , 121 , 104 , 155 , 121 , & 105 , 156 , 121 , 106 , 157 , 120 , 107 , 158 , 120 , 108 , 159 , 120 , & 109 , 160 , 120 , 110 , 161 , 119 , 111 , 162 , 119 , 112 , 163 , 119 , & 113 , 164 , 119 , 114 , 165 , 118 , 115 , 166 , 118 , 116 , 167 , 118 , & 117 , 168 , 118 , 118 , 169 , 117 , 119 , 170 , 117 , 120 , 171 , 117 , & 121 , 172 , 117 , 122 , 173 , 116 , 123 , 174 , 116 , 124 , 175 , 116 , & 125 , 176 , 116 , 126 , 177 , 115 , 127 , 178 , 115 , 128 , 179 , 115 , & 129 , 180 , 115 , 130 , 181 , 114 , 131 , 182 , 114 , 132 , 183 , 114 , & 133 , 184 , 114 , 134 , 185 , 113 , 135 , 186 , 113 , 136 , 187 , 113 , & 137 , 188 , 113 , 138 , 189 , 112 , 139 , 190 , 112 , 140 , 191 , 112 , & 141 , 192 , 112 , 142 , 193 , 111 , 144 , 194 , 111 , 145 , 195 , 111 , & 146 , 196 , 110 , 147 , 198 , 110 , 148 , 199 , 110 , 149 , 200 , 110 , & 150 , 201 , 109 , 151 , 202 , 109 , 152 , 203 , 109 , 153 , 204 , 109 , & 155 , 205 , 108 , 156 , 206 , 108 , 157 , 207 , 108 , 158 , 208 , 108 , & 159 , 210 , 107 , 161 , 211 , 107 , 162 , 212 , 107 , 163 , 213 , 107 , & 164 , 214 , 106 , 166 , 215 , 106 , 167 , 216 , 106 , 169 , 217 , 106 , & 170 , 218 , 105 , 172 , 219 , 105 , 173 , 221 , 105 , 175 , 222 , 105 , & 176 , 223 , 104 , 178 , 224 , 104 , 180 , 225 , 104 , 181 , 226 , 104 , & 183 , 227 , 104 , 185 , 228 , 104 , 187 , 229 , 103 , 189 , 230 , 103 , & 191 , 231 , 103 , 192 , 232 , 103 , 194 , 233 , 103 , 196 , 234 , 103 , & 198 , 235 , 103 , 200 , 235 , 103 , 202 , 236 , 103 , 205 , 237 , 102 , & 207 , 238 , 102 , 209 , 239 , 102 , 211 , 240 , 102 , 213 , 240 , 102 , & 215 , 241 , 102 , 217 , 242 , 102 , 219 , 243 , 102 , 221 , 244 , 102 , & 223 , 244 , 102 , 226 , 245 , 102 , 228 , 246 , 102 , 230 , 246 , 102 , & 232 , 247 , 102 , 234 , 248 , 102 , 236 , 249 , 102 , 238 , 249 , 102 , & 240 , 250 , 102 , 242 , 251 , 102 , 245 , 251 , 102 , 247 , 252 , 102 , & 249 , 253 , 102 , 251 , 254 , 102 , 253 , 254 , 102 , 255 , 255 , 102 & ], shape ( imola ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: imola10 = reshape ( [ & 26 , 51 , 179 , 36 , 70 , 169 , 46 , 89 , 159 , 57 , 107 , 148 , & 73 , 123 , 133 , 96 , 146 , 123 , 123 , 174 , 116 , 152 , 203 , 109 , & 196 , 234 , 103 , 255 , 255 , 102 & ], shape ( imola10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: imola100 = reshape ( [ & 26 , 51 , 179 , 27 , 53 , 177 , 28 , 55 , 177 , 29 , 57 , 176 , & 30 , 58 , 175 , 31 , 60 , 174 , 32 , 62 , 173 , 33 , 64 , 172 , & 34 , 66 , 171 , 34 , 67 , 171 , 35 , 69 , 170 , 36 , 70 , 169 , & 37 , 72 , 168 , 38 , 74 , 167 , 39 , 76 , 166 , 40 , 78 , 165 , & 40 , 79 , 165 , 41 , 81 , 164 , 42 , 82 , 163 , 43 , 84 , 162 , & 44 , 86 , 161 , 45 , 87 , 160 , 46 , 89 , 159 , 46 , 91 , 159 , & 47 , 93 , 158 , 48 , 94 , 157 , 49 , 96 , 156 , 50 , 98 , 155 , & 51 , 99 , 154 , 52 , 101 , 152 , 53 , 102 , 152 , 55 , 104 , 150 , & 56 , 105 , 149 , 57 , 107 , 148 , 59 , 108 , 146 , 60 , 110 , 145 , & 61 , 111 , 144 , 62 , 112 , 143 , 64 , 114 , 141 , 65 , 115 , 140 , & 67 , 117 , 138 , 69 , 119 , 137 , 70 , 120 , 136 , 72 , 122 , 134 , & 73 , 123 , 133 , 75 , 125 , 132 , 76 , 127 , 131 , 78 , 129 , 129 , & 81 , 131 , 128 , 82 , 133 , 128 , 85 , 135 , 127 , 86 , 137 , 126 , & 89 , 139 , 125 , 92 , 142 , 124 , 93 , 144 , 124 , 96 , 146 , 123 , & 98 , 148 , 122 , 101 , 151 , 122 , 103 , 153 , 121 , 105 , 156 , 121 , & 108 , 159 , 120 , 110 , 161 , 119 , 113 , 164 , 119 , 115 , 166 , 118 , & 118 , 169 , 117 , 120 , 171 , 117 , 123 , 174 , 116 , 126 , 177 , 115 , & 128 , 179 , 115 , 131 , 182 , 114 , 133 , 184 , 114 , 136 , 187 , 113 , & 138 , 189 , 112 , 141 , 192 , 112 , 145 , 195 , 111 , 147 , 198 , 110 , & 150 , 201 , 109 , 152 , 203 , 109 , 156 , 206 , 108 , 158 , 208 , 108 , & 162 , 212 , 107 , 166 , 215 , 106 , 169 , 217 , 106 , 173 , 221 , 105 , & 176 , 223 , 104 , 181 , 226 , 104 , 187 , 229 , 103 , 191 , 231 , 103 , & 196 , 234 , 103 , 200 , 235 , 103 , 207 , 238 , 102 , 211 , 240 , 102 , & 217 , 242 , 102 , 223 , 244 , 102 , 228 , 246 , 102 , 234 , 248 , 102 , & 238 , 249 , 102 , 245 , 251 , 102 , 249 , 253 , 102 , 255 , 255 , 102 & ], shape ( imola100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: imola25 = reshape ( [ & 26 , 51 , 179 , 30 , 59 , 175 , 34 , 66 , 171 , 37 , 73 , 168 , & 41 , 80 , 164 , 44 , 87 , 161 , 48 , 94 , 157 , 52 , 100 , 153 , & 57 , 107 , 148 , 63 , 113 , 142 , 69 , 119 , 137 , 76 , 126 , 131 , & 84 , 134 , 127 , 92 , 143 , 124 , 103 , 153 , 121 , 112 , 163 , 119 , & 123 , 174 , 116 , 134 , 185 , 113 , 145 , 195 , 111 , 157 , 207 , 108 , & 172 , 219 , 105 , 189 , 230 , 103 , 211 , 240 , 102 , 232 , 247 , 102 , & 255 , 255 , 102 & ], shape ( imola25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: imola50 = reshape ( [ & 26 , 51 , 179 , 28 , 55 , 177 , 30 , 58 , 175 , 32 , 62 , 173 , & 34 , 66 , 171 , 35 , 69 , 170 , 37 , 72 , 168 , 39 , 76 , 166 , & 41 , 80 , 164 , 42 , 83 , 163 , 44 , 86 , 161 , 46 , 89 , 159 , & 47 , 93 , 158 , 50 , 96 , 155 , 52 , 100 , 153 , 54 , 103 , 151 , & 56 , 106 , 149 , 59 , 108 , 146 , 62 , 112 , 143 , 65 , 115 , 140 , & 68 , 118 , 138 , 70 , 121 , 135 , 74 , 124 , 133 , 78 , 128 , 130 , & 81 , 132 , 128 , 86 , 136 , 126 , 90 , 140 , 125 , 95 , 146 , 123 , & 100 , 150 , 122 , 104 , 155 , 121 , 109 , 160 , 120 , 114 , 165 , 118 , & 120 , 171 , 117 , 125 , 176 , 116 , 130 , 181 , 114 , 135 , 186 , 113 , & 140 , 191 , 112 , 147 , 198 , 110 , 152 , 203 , 109 , 158 , 208 , 108 , & 164 , 214 , 106 , 172 , 219 , 105 , 181 , 226 , 104 , 191 , 231 , 103 , & 200 , 235 , 103 , 211 , 240 , 102 , 221 , 244 , 102 , 234 , 248 , 102 , & 245 , 251 , 102 , 255 , 255 , 102 & ], shape ( imola50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: imolaS = reshape ( [ & 26 , 51 , 179 , 255 , 255 , 102 , 84 , 134 , 127 , 48 , 94 , 157 , & 145 , 195 , 111 , 63 , 113 , 142 , 189 , 230 , 103 , 37 , 73 , 168 , & 113 , 164 , 119 , 43 , 83 , 162 , 221 , 244 , 102 , 72 , 123 , 134 , & 32 , 62 , 173 , 163 , 213 , 107 , 98 , 148 , 122 , 55 , 104 , 150 , & 128 , 179 , 115 , 175 , 222 , 105 , 45 , 89 , 160 , 136 , 187 , 113 , & 205 , 237 , 102 , 68 , 118 , 138 , 59 , 108 , 146 , 238 , 249 , 102 , & 91 , 141 , 125 , 105 , 156 , 121 , 40 , 78 , 165 , 35 , 68 , 170 , & 51 , 99 , 154 , 29 , 57 , 176 , 78 , 128 , 130 , 153 , 204 , 109 , & 121 , 172 , 117 , 70 , 120 , 136 , 140 , 191 , 112 , 87 , 138 , 126 , & 117 , 168 , 118 , 169 , 217 , 106 , 102 , 152 , 122 , 65 , 115 , 140 , & 61 , 111 , 144 , 33 , 65 , 172 , 230 , 246 , 102 , 57 , 106 , 148 , & 53 , 101 , 152 , 28 , 54 , 177 , 94 , 145 , 123 , 247 , 252 , 102 , & 44 , 86 , 161 , 158 , 208 , 108 , 36 , 70 , 169 , 181 , 226 , 104 , & 149 , 200 , 110 , 75 , 125 , 132 , 39 , 76 , 166 , 213 , 240 , 102 , & 41 , 81 , 164 , 31 , 60 , 174 , 109 , 160 , 120 , 132 , 183 , 114 , & 50 , 96 , 155 , 196 , 234 , 103 , 81 , 131 , 128 , 47 , 91 , 158 , & 124 , 175 , 116 , 92 , 143 , 124 , 37 , 72 , 168 , 33 , 64 , 172 , & 54 , 103 , 151 , 130 , 181 , 114 , 76 , 127 , 131 , 86 , 136 , 126 , & 31 , 61 , 174 , 35 , 69 , 170 , 62 , 112 , 143 , 60 , 110 , 145 , & 251 , 254 , 102 , 156 , 206 , 108 , 126 , 177 , 115 , 200 , 235 , 103 , & 89 , 139 , 125 , 64 , 114 , 141 , 192 , 232 , 103 , 47 , 93 , 158 , & 42 , 82 , 163 , 134 , 185 , 113 , 49 , 95 , 156 , 41 , 80 , 164 , & 56 , 105 , 149 , 58 , 107 , 147 , 27 , 53 , 178 , 50 , 98 , 155 , & 147 , 198 , 110 , 242 , 251 , 102 , 52 , 100 , 153 , 119 , 170 , 117 , & 234 , 248 , 102 , 100 , 150 , 122 , 69 , 119 , 137 , 115 , 166 , 118 & ], shape ( imolaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lajolla = reshape ( [ & 25 , 25 , 0 , 26 , 26 , 1 , 27 , 26 , 1 , 28 , 26 , 1 , & 29 , 27 , 2 , 30 , 27 , 2 , 30 , 27 , 3 , 31 , 28 , 3 , & 32 , 28 , 4 , 33 , 28 , 4 , 34 , 28 , 5 , 35 , 29 , 5 , & 36 , 29 , 6 , 36 , 29 , 7 , 37 , 30 , 7 , 38 , 30 , 8 , & 39 , 30 , 8 , 40 , 31 , 9 , 41 , 31 , 9 , 42 , 31 , 10 , & 43 , 32 , 10 , 44 , 32 , 11 , 45 , 32 , 12 , 46 , 33 , 12 , & 47 , 33 , 13 , 48 , 33 , 13 , 49 , 34 , 14 , 50 , 34 , 15 , & 51 , 34 , 15 , 52 , 35 , 16 , 53 , 35 , 16 , 54 , 36 , 17 , & 55 , 36 , 17 , 57 , 36 , 18 , 58 , 37 , 19 , 59 , 37 , 19 , & 60 , 38 , 20 , 61 , 38 , 20 , 63 , 38 , 21 , 64 , 39 , 22 , & 65 , 39 , 22 , 67 , 40 , 23 , 68 , 40 , 23 , 69 , 41 , 24 , & 71 , 41 , 25 , 72 , 42 , 26 , 74 , 42 , 26 , 75 , 43 , 27 , & 77 , 43 , 28 , 78 , 44 , 29 , 80 , 44 , 29 , 81 , 45 , 30 , & 83 , 45 , 31 , 84 , 46 , 32 , 86 , 46 , 33 , 87 , 47 , 33 , & 89 , 47 , 34 , 91 , 48 , 35 , 92 , 48 , 36 , 94 , 49 , 37 , & 96 , 50 , 38 , 97 , 50 , 39 , 99 , 51 , 40 , 101 , 51 , 41 , & 103 , 52 , 42 , 105 , 53 , 43 , 106 , 53 , 44 , 108 , 54 , 44 , & 110 , 54 , 45 , 112 , 55 , 46 , 114 , 56 , 47 , 116 , 56 , 48 , & 118 , 57 , 49 , 120 , 57 , 50 , 121 , 58 , 51 , 123 , 59 , 52 , & 125 , 59 , 53 , 127 , 60 , 54 , 129 , 60 , 55 , 131 , 61 , 56 , & 133 , 62 , 57 , 135 , 62 , 58 , 137 , 63 , 58 , 139 , 63 , 59 , & 141 , 64 , 60 , 143 , 64 , 61 , 146 , 65 , 62 , 148 , 65 , 62 , & 150 , 66 , 63 , 152 , 66 , 64 , 154 , 67 , 64 , 156 , 67 , 65 , & 158 , 68 , 66 , 160 , 68 , 66 , 162 , 69 , 67 , 164 , 69 , 68 , & 166 , 70 , 68 , 168 , 70 , 69 , 171 , 71 , 69 , 173 , 71 , 70 , & 175 , 72 , 70 , 177 , 72 , 71 , 179 , 73 , 71 , 181 , 73 , 71 , & 183 , 74 , 72 , 185 , 74 , 72 , 187 , 75 , 72 , 188 , 76 , 73 , & 190 , 76 , 73 , 192 , 77 , 73 , 194 , 77 , 74 , 196 , 78 , 74 , & 197 , 79 , 74 , 199 , 80 , 75 , 201 , 81 , 75 , 202 , 81 , 75 , & 204 , 82 , 75 , 205 , 83 , 76 , 207 , 84 , 76 , 208 , 85 , 76 , & 209 , 86 , 76 , 210 , 88 , 76 , 212 , 89 , 77 , 213 , 90 , 77 , & 214 , 91 , 77 , 215 , 92 , 77 , 215 , 94 , 77 , 216 , 95 , 77 , & 217 , 96 , 78 , 218 , 97 , 78 , 219 , 99 , 78 , 219 , 100 , 78 , & 220 , 101 , 78 , 220 , 103 , 78 , 221 , 104 , 78 , 221 , 105 , 79 , & 222 , 107 , 79 , 222 , 108 , 79 , 223 , 109 , 79 , 223 , 110 , 79 , & 224 , 112 , 79 , 224 , 113 , 79 , 224 , 114 , 79 , 225 , 116 , 79 , & 225 , 117 , 80 , 225 , 118 , 80 , 225 , 119 , 80 , 226 , 121 , 80 , & 226 , 122 , 80 , 226 , 123 , 80 , 227 , 124 , 80 , 227 , 125 , 80 , & 227 , 127 , 80 , 227 , 128 , 80 , 228 , 129 , 80 , 228 , 130 , 81 , & 228 , 131 , 81 , 228 , 133 , 81 , 229 , 134 , 81 , 229 , 135 , 81 , & 229 , 136 , 81 , 229 , 137 , 81 , 230 , 139 , 81 , 230 , 140 , 81 , & 230 , 141 , 81 , 230 , 142 , 81 , 230 , 143 , 82 , 231 , 144 , 82 , & 231 , 146 , 82 , 231 , 147 , 82 , 231 , 148 , 82 , 232 , 149 , 82 , & 232 , 150 , 82 , 232 , 151 , 82 , 232 , 152 , 82 , 233 , 154 , 82 , & 233 , 155 , 82 , 233 , 156 , 82 , 233 , 157 , 83 , 234 , 158 , 83 , & 234 , 159 , 83 , 234 , 161 , 83 , 234 , 162 , 83 , 235 , 163 , 83 , & 235 , 164 , 83 , 235 , 165 , 83 , 235 , 166 , 83 , 235 , 168 , 83 , & 236 , 169 , 83 , 236 , 170 , 84 , 236 , 171 , 84 , 236 , 172 , 84 , & 237 , 174 , 84 , 237 , 175 , 84 , 237 , 176 , 84 , 237 , 177 , 84 , & 238 , 179 , 85 , 238 , 180 , 85 , 238 , 181 , 85 , 239 , 182 , 85 , & 239 , 184 , 86 , 239 , 185 , 86 , 239 , 186 , 86 , 240 , 188 , 87 , & 240 , 189 , 87 , 240 , 190 , 88 , 241 , 192 , 88 , 241 , 193 , 89 , & 241 , 194 , 90 , 241 , 196 , 90 , 242 , 197 , 91 , 242 , 199 , 92 , & 242 , 200 , 93 , 243 , 202 , 95 , 243 , 203 , 96 , 244 , 205 , 97 , & 244 , 206 , 99 , 244 , 208 , 101 , 245 , 209 , 103 , 245 , 211 , 105 , & 245 , 212 , 107 , 246 , 214 , 109 , 246 , 215 , 111 , 247 , 217 , 113 , & 247 , 218 , 116 , 247 , 220 , 119 , 248 , 221 , 121 , 248 , 223 , 124 , & 248 , 224 , 127 , 249 , 226 , 130 , 249 , 227 , 132 , 250 , 229 , 135 , & 250 , 230 , 138 , 250 , 231 , 141 , 251 , 232 , 144 , 251 , 234 , 147 , & 251 , 235 , 150 , 251 , 236 , 153 , 252 , 237 , 156 , 252 , 239 , 159 , & 252 , 240 , 162 , 252 , 241 , 165 , 253 , 242 , 168 , 253 , 243 , 171 , & 253 , 244 , 174 , 253 , 245 , 176 , 254 , 246 , 179 , 254 , 247 , 182 , & 254 , 248 , 184 , 254 , 249 , 187 , 254 , 250 , 190 , 254 , 251 , 192 , & 255 , 252 , 195 , 255 , 253 , 198 , 255 , 254 , 200 , 255 , 254 , 203 & ], shape ( lajolla ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lajolla10 = reshape ( [ & 25 , 25 , 0 , 51 , 34 , 15 , 91 , 48 , 35 , 143 , 64 , 61 , & 199 , 80 , 75 , 224 , 114 , 79 , 231 , 148 , 82 , 238 , 181 , 85 , & 248 , 223 , 124 , 255 , 254 , 203 & ], shape ( lajolla10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lajolla100 = reshape ( [ & 25 , 25 , 0 , 28 , 26 , 1 , 30 , 27 , 2 , 32 , 28 , 4 , & 34 , 28 , 5 , 36 , 29 , 7 , 38 , 30 , 8 , 41 , 31 , 9 , & 44 , 32 , 11 , 46 , 33 , 12 , 49 , 34 , 14 , 51 , 34 , 15 , & 54 , 36 , 17 , 57 , 36 , 18 , 60 , 38 , 20 , 64 , 39 , 22 , & 67 , 40 , 23 , 71 , 41 , 25 , 74 , 42 , 26 , 78 , 44 , 29 , & 83 , 45 , 31 , 86 , 46 , 33 , 91 , 48 , 35 , 94 , 49 , 37 , & 99 , 51 , 40 , 103 , 52 , 42 , 108 , 54 , 44 , 114 , 56 , 47 , & 118 , 57 , 49 , 123 , 59 , 52 , 127 , 60 , 54 , 133 , 62 , 57 , & 137 , 63 , 58 , 143 , 64 , 61 , 150 , 66 , 63 , 154 , 67 , 64 , & 160 , 68 , 66 , 164 , 69 , 68 , 171 , 71 , 69 , 175 , 72 , 70 , & 181 , 73 , 71 , 187 , 75 , 72 , 190 , 76 , 73 , 196 , 78 , 74 , & 199 , 80 , 75 , 204 , 82 , 75 , 207 , 84 , 76 , 210 , 88 , 76 , & 214 , 91 , 77 , 215 , 94 , 77 , 218 , 97 , 78 , 219 , 100 , 78 , & 221 , 104 , 78 , 222 , 108 , 79 , 223 , 110 , 79 , 224 , 114 , 79 , & 225 , 117 , 80 , 226 , 121 , 80 , 226 , 123 , 80 , 227 , 127 , 80 , & 228 , 130 , 81 , 228 , 133 , 81 , 229 , 136 , 81 , 230 , 139 , 81 , & 230 , 142 , 81 , 231 , 144 , 82 , 231 , 148 , 82 , 232 , 151 , 82 , & 233 , 154 , 82 , 233 , 157 , 83 , 234 , 159 , 83 , 235 , 163 , 83 , & 235 , 165 , 83 , 236 , 169 , 83 , 236 , 172 , 84 , 237 , 175 , 84 , & 238 , 179 , 85 , 238 , 181 , 85 , 239 , 185 , 86 , 240 , 188 , 87 , & 241 , 192 , 88 , 241 , 196 , 90 , 242 , 199 , 92 , 243 , 203 , 96 , & 244 , 206 , 99 , 245 , 211 , 105 , 246 , 215 , 111 , 247 , 218 , 116 , & 248 , 223 , 124 , 249 , 226 , 130 , 250 , 230 , 138 , 251 , 232 , 144 , & 251 , 236 , 153 , 252 , 240 , 162 , 253 , 242 , 168 , 253 , 245 , 176 , & 254 , 247 , 182 , 254 , 250 , 190 , 255 , 252 , 195 , 255 , 254 , 203 & ], shape ( lajolla100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lajolla25 = reshape ( [ & 25 , 25 , 0 , 35 , 29 , 5 , 44 , 32 , 11 , 55 , 36 , 17 , & 69 , 41 , 24 , 84 , 46 , 32 , 103 , 52 , 42 , 121 , 58 , 51 , & 143 , 64 , 61 , 166 , 70 , 68 , 187 , 75 , 72 , 205 , 83 , 76 , & 217 , 96 , 78 , 223 , 109 , 79 , 226 , 123 , 80 , 229 , 135 , 81 , & 231 , 148 , 82 , 234 , 161 , 83 , 236 , 172 , 84 , 239 , 186 , 86 , & 243 , 202 , 95 , 247 , 217 , 113 , 251 , 232 , 144 , 253 , 244 , 174 , & 255 , 254 , 203 & ], shape ( lajolla25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lajolla50 = reshape ( [ & 25 , 25 , 0 , 30 , 27 , 2 , 34 , 28 , 5 , 39 , 30 , 8 , & 44 , 32 , 11 , 49 , 34 , 14 , 54 , 36 , 17 , 60 , 38 , 20 , & 68 , 40 , 23 , 75 , 43 , 27 , 83 , 45 , 31 , 91 , 48 , 35 , & 99 , 51 , 40 , 110 , 54 , 45 , 120 , 57 , 50 , 129 , 60 , 55 , & 139 , 63 , 59 , 150 , 66 , 63 , 162 , 69 , 67 , 173 , 71 , 70 , & 183 , 74 , 72 , 192 , 77 , 73 , 201 , 81 , 75 , 209 , 86 , 76 , & 215 , 92 , 77 , 219 , 99 , 78 , 221 , 105 , 79 , 224 , 113 , 79 , & 225 , 119 , 80 , 227 , 125 , 80 , 228 , 131 , 81 , 229 , 137 , 81 , & 231 , 144 , 82 , 232 , 150 , 82 , 233 , 156 , 82 , 234 , 162 , 83 , & 235 , 168 , 83 , 237 , 175 , 84 , 238 , 181 , 85 , 240 , 188 , 87 , & 241 , 194 , 90 , 243 , 202 , 95 , 245 , 211 , 105 , 247 , 218 , 116 , & 249 , 226 , 130 , 251 , 232 , 144 , 252 , 239 , 159 , 253 , 245 , 176 , & 254 , 250 , 190 , 255 , 254 , 203 & ], shape ( lajolla50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lajollaS = reshape ( [ & 25 , 25 , 0 , 255 , 254 , 203 , 217 , 96 , 78 , 103 , 52 , 42 , & 237 , 174 , 84 , 55 , 36 , 17 , 229 , 136 , 81 , 166 , 70 , 68 , & 247 , 218 , 116 , 241 , 194 , 90 , 133 , 62 , 57 , 77 , 43 , 28 , & 233 , 155 , 82 , 225 , 117 , 80 , 39 , 30 , 8 , 197 , 79 , 74 , & 252 , 240 , 162 , 150 , 66 , 63 , 235 , 164 , 83 , 183 , 74 , 72 , & 231 , 146 , 82 , 250 , 230 , 138 , 239 , 184 , 86 , 32 , 28 , 4 , & 244 , 206 , 99 , 227 , 127 , 80 , 118 , 57 , 49 , 47 , 33 , 13 , & 222 , 107 , 79 , 89 , 47 , 34 , 209 , 86 , 76 , 65 , 39 , 22 , & 254 , 248 , 184 , 245 , 212 , 107 , 158 , 68 , 66 , 36 , 29 , 6 , & 125 , 59 , 53 , 141 , 64 , 60 , 214 , 91 , 77 , 224 , 112 , 79 , & 234 , 159 , 83 , 175 , 72 , 70 , 251 , 235 , 150 , 83 , 45 , 31 , & 236 , 169 , 83 , 248 , 224 , 127 , 226 , 122 , 80 , 242 , 200 , 93 , & 29 , 27 , 2 , 220 , 101 , 78 , 43 , 32 , 10 , 60 , 38 , 20 , & 190 , 76 , 73 , 96 , 50 , 38 , 230 , 141 , 81 , 110 , 54 , 45 , & 238 , 179 , 85 , 232 , 150 , 82 , 71 , 41 , 25 , 51 , 34 , 15 , & 204 , 82 , 75 , 240 , 189 , 87 , 228 , 131 , 81 , 253 , 244 , 174 , & 254 , 251 , 192 , 179 , 73 , 71 , 114 , 56 , 47 , 230 , 139 , 81 , & 86 , 46 , 33 , 231 , 148 , 82 , 74 , 42 , 26 , 45 , 32 , 12 , & 251 , 232 , 144 , 224 , 114 , 79 , 194 , 77 , 74 , 49 , 34 , 14 , & 225 , 119 , 80 , 53 , 35 , 16 , 106 , 53 , 44 , 63 , 38 , 21 , & 162 , 69 , 67 , 187 , 75 , 72 , 252 , 237 , 156 , 246 , 215 , 111 , & 239 , 186 , 86 , 37 , 30 , 7 , 212 , 89 , 77 , 207 , 84 , 76 , & 215 , 94 , 77 , 254 , 246 , 179 , 121 , 58 , 51 , 58 , 37 , 19 , & 241 , 192 , 88 , 30 , 27 , 3 , 253 , 242 , 168 , 238 , 181 , 85 , & 249 , 227 , 132 , 235 , 166 , 83 , 229 , 134 , 81 , 255 , 253 , 198 & ], shape ( lajollaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lapaz = reshape ( [ & 26 , 12 , 100 , 27 , 14 , 101 , 27 , 15 , 102 , 27 , 16 , 103 , & 28 , 18 , 104 , 28 , 19 , 104 , 28 , 20 , 105 , 29 , 22 , 106 , & 29 , 23 , 107 , 29 , 24 , 108 , 30 , 25 , 109 , 30 , 26 , 109 , & 30 , 28 , 110 , 31 , 29 , 111 , 31 , 30 , 112 , 31 , 31 , 113 , & 32 , 32 , 113 , 32 , 33 , 114 , 32 , 35 , 115 , 32 , 36 , 116 , & 33 , 37 , 117 , 33 , 38 , 117 , 33 , 39 , 118 , 33 , 40 , 119 , & 34 , 41 , 120 , 34 , 42 , 121 , 34 , 43 , 121 , 34 , 44 , 122 , & 35 , 45 , 123 , 35 , 47 , 124 , 35 , 48 , 124 , 35 , 49 , 125 , & 36 , 50 , 126 , 36 , 51 , 127 , 36 , 52 , 127 , 36 , 53 , 128 , & 37 , 54 , 129 , 37 , 55 , 130 , 37 , 56 , 130 , 37 , 57 , 131 , & 38 , 58 , 132 , 38 , 59 , 132 , 38 , 60 , 133 , 38 , 61 , 134 , & 39 , 62 , 135 , 39 , 63 , 135 , 39 , 64 , 136 , 39 , 65 , 137 , & 40 , 66 , 137 , 40 , 67 , 138 , 40 , 69 , 139 , 40 , 70 , 139 , & 41 , 71 , 140 , 41 , 72 , 140 , 41 , 73 , 141 , 42 , 74 , 142 , & 42 , 75 , 142 , 42 , 76 , 143 , 43 , 77 , 144 , 43 , 78 , 144 , & 43 , 79 , 145 , 44 , 80 , 145 , 44 , 81 , 146 , 44 , 82 , 146 , & 45 , 83 , 147 , 45 , 84 , 148 , 45 , 85 , 148 , 46 , 86 , 149 , & 46 , 87 , 149 , 46 , 88 , 150 , 47 , 89 , 150 , 47 , 90 , 151 , & 48 , 91 , 151 , 48 , 92 , 152 , 48 , 93 , 152 , 49 , 94 , 153 , & 49 , 94 , 153 , 50 , 95 , 153 , 50 , 96 , 154 , 51 , 97 , 154 , & 51 , 98 , 155 , 52 , 99 , 155 , 52 , 100 , 156 , 53 , 101 , 156 , & 53 , 102 , 156 , 54 , 103 , 157 , 55 , 104 , 157 , 55 , 105 , 157 , & 56 , 106 , 158 , 56 , 107 , 158 , 57 , 108 , 158 , 58 , 109 , 159 , & 58 , 110 , 159 , 59 , 111 , 159 , 60 , 112 , 160 , 60 , 112 , 160 , & 61 , 113 , 160 , 62 , 114 , 161 , 62 , 115 , 161 , 63 , 116 , 161 , & 64 , 117 , 161 , 65 , 118 , 162 , 66 , 119 , 162 , 66 , 120 , 162 , & 67 , 121 , 162 , 68 , 122 , 162 , 69 , 122 , 162 , 70 , 123 , 163 , & 71 , 124 , 163 , 72 , 125 , 163 , 73 , 126 , 163 , 74 , 127 , 163 , & 75 , 128 , 163 , 76 , 128 , 163 , 77 , 129 , 163 , 78 , 130 , 163 , & 79 , 131 , 164 , 80 , 132 , 164 , 81 , 133 , 164 , 82 , 133 , 164 , & 83 , 134 , 164 , 84 , 135 , 164 , 85 , 136 , 164 , 86 , 136 , 164 , & 87 , 137 , 164 , 88 , 138 , 163 , 90 , 139 , 163 , 91 , 139 , 163 , & 92 , 140 , 163 , 93 , 141 , 163 , 94 , 142 , 163 , 96 , 142 , 163 , & 97 , 143 , 163 , 98 , 144 , 163 , 99 , 144 , 162 , 101 , 145 , 162 , & 102 , 146 , 162 , 103 , 146 , 162 , 104 , 147 , 162 , 106 , 148 , 161 , & 107 , 148 , 161 , 108 , 149 , 161 , 110 , 149 , 161 , 111 , 150 , 161 , & 112 , 151 , 160 , 114 , 151 , 160 , 115 , 152 , 160 , 116 , 152 , 159 , & 118 , 153 , 159 , 119 , 153 , 159 , 120 , 154 , 159 , 122 , 154 , 158 , & 123 , 155 , 158 , 124 , 155 , 158 , 126 , 156 , 157 , 127 , 156 , 157 , & 128 , 157 , 157 , 130 , 157 , 156 , 131 , 158 , 156 , 133 , 158 , 156 , & 134 , 158 , 155 , 135 , 159 , 155 , 137 , 159 , 154 , 138 , 160 , 154 , & 139 , 160 , 154 , 141 , 160 , 153 , 142 , 161 , 153 , 144 , 161 , 153 , & 145 , 162 , 152 , 146 , 162 , 152 , 148 , 162 , 152 , 149 , 163 , 152 , & 151 , 163 , 151 , 152 , 164 , 151 , 153 , 164 , 151 , 155 , 164 , 150 , & 156 , 165 , 150 , 158 , 165 , 150 , 159 , 166 , 150 , 161 , 166 , 150 , & 162 , 166 , 150 , 164 , 167 , 149 , 165 , 167 , 149 , 167 , 168 , 149 , & 168 , 168 , 149 , 170 , 169 , 149 , 171 , 169 , 149 , 173 , 170 , 149 , & 174 , 170 , 149 , 176 , 171 , 149 , 178 , 171 , 150 , 179 , 172 , 150 , & 181 , 173 , 150 , 183 , 173 , 150 , 184 , 174 , 151 , 186 , 175 , 151 , & 188 , 176 , 152 , 190 , 176 , 152 , 191 , 177 , 153 , 193 , 178 , 153 , & 195 , 179 , 154 , 197 , 180 , 155 , 199 , 181 , 156 , 200 , 182 , 156 , & 202 , 183 , 157 , 204 , 184 , 158 , 206 , 185 , 159 , 208 , 186 , 160 , & 210 , 187 , 162 , 211 , 188 , 163 , 213 , 189 , 164 , 215 , 190 , 166 , & 217 , 192 , 167 , 218 , 193 , 168 , 220 , 194 , 170 , 222 , 195 , 171 , & 223 , 197 , 173 , 225 , 198 , 175 , 227 , 199 , 176 , 228 , 201 , 178 , & 230 , 202 , 180 , 231 , 203 , 181 , 232 , 204 , 183 , 234 , 206 , 185 , & 235 , 207 , 187 , 236 , 208 , 189 , 237 , 210 , 190 , 239 , 211 , 192 , & 240 , 212 , 194 , 241 , 213 , 196 , 242 , 215 , 198 , 243 , 216 , 200 , & 244 , 217 , 201 , 244 , 218 , 203 , 245 , 219 , 205 , 246 , 221 , 207 , & 247 , 222 , 209 , 247 , 223 , 211 , 248 , 224 , 212 , 249 , 225 , 214 , & 249 , 226 , 216 , 250 , 227 , 218 , 250 , 229 , 220 , 251 , 230 , 221 , & 251 , 231 , 223 , 251 , 232 , 225 , 252 , 233 , 227 , 252 , 234 , 229 , & 252 , 235 , 230 , 253 , 236 , 232 , 253 , 237 , 234 , 253 , 238 , 236 , & 254 , 239 , 237 , 254 , 240 , 239 , 254 , 241 , 241 , 254 , 242 , 243 & ], shape ( lapaz ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lapaz10 = reshape ( [ & 26 , 12 , 100 , 35 , 45 , 123 , 42 , 76 , 143 , 54 , 103 , 157 , & 76 , 128 , 163 , 110 , 149 , 161 , 148 , 162 , 152 , 191 , 177 , 153 , & 239 , 211 , 192 , 254 , 242 , 243 & ], shape ( lapaz10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lapaz100 = reshape ( [ & 26 , 12 , 100 , 27 , 16 , 103 , 28 , 19 , 104 , 29 , 23 , 107 , & 30 , 25 , 109 , 31 , 29 , 111 , 31 , 31 , 113 , 32 , 35 , 115 , & 33 , 38 , 117 , 33 , 40 , 119 , 34 , 43 , 121 , 35 , 45 , 123 , & 35 , 49 , 125 , 36 , 51 , 127 , 37 , 54 , 129 , 37 , 57 , 131 , & 38 , 59 , 132 , 39 , 62 , 135 , 39 , 64 , 136 , 40 , 67 , 138 , & 41 , 71 , 140 , 41 , 73 , 141 , 42 , 76 , 143 , 43 , 78 , 144 , & 44 , 81 , 146 , 45 , 83 , 147 , 46 , 86 , 149 , 47 , 89 , 150 , & 48 , 91 , 151 , 49 , 94 , 153 , 50 , 95 , 153 , 51 , 98 , 155 , & 52 , 100 , 156 , 54 , 103 , 157 , 56 , 106 , 158 , 57 , 108 , 158 , & 59 , 111 , 159 , 60 , 112 , 160 , 62 , 115 , 161 , 64 , 117 , 161 , & 66 , 120 , 162 , 69 , 122 , 162 , 71 , 124 , 163 , 74 , 127 , 163 , & 76 , 128 , 163 , 79 , 131 , 164 , 81 , 133 , 164 , 84 , 135 , 164 , & 87 , 137 , 164 , 90 , 139 , 163 , 93 , 141 , 163 , 96 , 142 , 163 , & 99 , 144 , 162 , 103 , 146 , 162 , 106 , 148 , 161 , 110 , 149 , 161 , & 112 , 151 , 160 , 116 , 152 , 159 , 119 , 153 , 159 , 123 , 155 , 158 , & 127 , 156 , 157 , 130 , 157 , 156 , 134 , 158 , 155 , 137 , 159 , 154 , & 141 , 160 , 153 , 144 , 161 , 153 , 148 , 162 , 152 , 152 , 164 , 151 , & 155 , 164 , 150 , 159 , 166 , 150 , 162 , 166 , 150 , 167 , 168 , 149 , & 170 , 169 , 149 , 174 , 170 , 149 , 179 , 172 , 150 , 183 , 173 , 150 , & 188 , 176 , 152 , 191 , 177 , 153 , 197 , 180 , 155 , 200 , 182 , 156 , & 206 , 185 , 159 , 211 , 188 , 163 , 215 , 190 , 166 , 220 , 194 , 170 , & 223 , 197 , 173 , 228 , 201 , 178 , 232 , 204 , 183 , 235 , 207 , 187 , & 239 , 211 , 192 , 241 , 213 , 196 , 244 , 217 , 201 , 245 , 219 , 205 , & 247 , 223 , 211 , 249 , 226 , 216 , 250 , 229 , 220 , 251 , 232 , 225 , & 252 , 234 , 229 , 253 , 237 , 234 , 254 , 239 , 237 , 254 , 242 , 243 & ], shape ( lapaz100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lapaz25 = reshape ( [ & 26 , 12 , 100 , 30 , 26 , 109 , 33 , 38 , 117 , 36 , 50 , 126 , & 38 , 61 , 134 , 41 , 72 , 140 , 45 , 83 , 147 , 48 , 93 , 152 , & 54 , 103 , 157 , 61 , 113 , 160 , 69 , 122 , 162 , 80 , 132 , 164 , & 92 , 140 , 163 , 104 , 147 , 162 , 119 , 153 , 159 , 133 , 158 , 156 , & 148 , 162 , 152 , 164 , 167 , 149 , 179 , 172 , 150 , 199 , 181 , 156 , & 218 , 193 , 168 , 234 , 206 , 185 , 245 , 219 , 205 , 251 , 231 , 223 , & 254 , 242 , 243 & ], shape ( lapaz25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lapaz50 = reshape ( [ & 26 , 12 , 100 , 28 , 19 , 104 , 30 , 25 , 109 , 32 , 32 , 113 , & 33 , 38 , 117 , 34 , 43 , 121 , 35 , 49 , 125 , 37 , 54 , 129 , & 38 , 60 , 133 , 39 , 65 , 137 , 41 , 71 , 140 , 42 , 76 , 143 , & 44 , 81 , 146 , 46 , 87 , 149 , 48 , 92 , 152 , 50 , 96 , 154 , & 53 , 101 , 156 , 56 , 106 , 158 , 60 , 112 , 160 , 63 , 116 , 161 , & 67 , 121 , 162 , 72 , 125 , 163 , 77 , 129 , 163 , 83 , 134 , 164 , & 88 , 138 , 163 , 94 , 142 , 163 , 101 , 145 , 162 , 108 , 149 , 161 , & 115 , 152 , 160 , 122 , 154 , 158 , 128 , 157 , 157 , 135 , 159 , 155 , & 144 , 161 , 153 , 151 , 163 , 151 , 158 , 165 , 150 , 165 , 167 , 149 , & 173 , 170 , 149 , 183 , 173 , 150 , 191 , 177 , 153 , 200 , 182 , 156 , & 210 , 187 , 162 , 218 , 193 , 168 , 228 , 201 , 178 , 235 , 207 , 187 , & 241 , 213 , 196 , 245 , 219 , 205 , 249 , 225 , 214 , 251 , 232 , 225 , & 253 , 237 , 234 , 254 , 242 , 243 & ], shape ( lapaz50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lapazS = reshape ( [ & 26 , 12 , 100 , 254 , 242 , 243 , 92 , 140 , 163 , 45 , 83 , 147 , & 179 , 172 , 150 , 61 , 113 , 160 , 234 , 206 , 185 , 36 , 50 , 126 , & 133 , 158 , 156 , 32 , 32 , 113 , 155 , 164 , 150 , 51 , 98 , 155 , & 249 , 225 , 214 , 208 , 186 , 160 , 75 , 128 , 163 , 40 , 66 , 137 , & 111 , 150 , 161 , 34 , 41 , 120 , 48 , 91 , 151 , 144 , 161 , 153 , & 122 , 154 , 158 , 252 , 234 , 229 , 167 , 168 , 149 , 67 , 121 , 162 , & 193 , 178 , 153 , 29 , 23 , 107 , 38 , 58 , 132 , 222 , 195 , 171 , & 56 , 106 , 158 , 243 , 216 , 200 , 42 , 75 , 142 , 83 , 134 , 164 , & 101 , 145 , 162 , 30 , 28 , 110 , 46 , 87 , 149 , 37 , 54 , 129 , & 149 , 163 , 152 , 87 , 137 , 164 , 35 , 45 , 123 , 79 , 131 , 164 , & 246 , 221 , 207 , 138 , 160 , 154 , 200 , 182 , 156 , 253 , 238 , 236 , & 116 , 152 , 159 , 71 , 124 , 163 , 106 , 148 , 161 , 161 , 166 , 150 , & 215 , 190 , 166 , 127 , 156 , 157 , 186 , 175 , 151 , 49 , 94 , 153 , & 64 , 117 , 161 , 33 , 37 , 117 , 239 , 211 , 192 , 41 , 71 , 140 , & 43 , 79 , 145 , 53 , 102 , 156 , 251 , 230 , 221 , 28 , 18 , 104 , & 39 , 62 , 135 , 58 , 110 , 159 , 228 , 201 , 178 , 173 , 170 , 149 , & 97 , 143 , 163 , 231 , 203 , 181 , 146 , 162 , 152 , 190 , 176 , 152 , & 94 , 142 , 163 , 27 , 15 , 102 , 40 , 69 , 139 , 73 , 126 , 163 , & 114 , 151 , 160 , 60 , 112 , 160 , 141 , 160 , 153 , 124 , 155 , 158 , & 197 , 180 , 155 , 37 , 56 , 130 , 85 , 136 , 164 , 55 , 104 , 157 , & 253 , 236 , 232 , 247 , 223 , 211 , 241 , 213 , 196 , 62 , 115 , 161 , & 176 , 171 , 149 , 244 , 218 , 203 , 48 , 93 , 152 , 33 , 39 , 118 , & 90 , 139 , 163 , 47 , 89 , 150 , 218 , 193 , 168 , 36 , 52 , 127 , & 39 , 64 , 136 , 103 , 146 , 162 , 31 , 30 , 112 , 43 , 77 , 144 , & 152 , 164 , 151 , 34 , 43 , 121 , 135 , 159 , 155 , 236 , 208 , 189 & ], shape ( lapazS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lipari = reshape ( [ & 3 , 19 , 38 , 4 , 20 , 40 , 4 , 22 , 41 , 4 , 23 , 43 , & 5 , 24 , 45 , 5 , 25 , 47 , 5 , 27 , 49 , 5 , 28 , 51 , & 6 , 29 , 53 , 6 , 31 , 55 , 6 , 32 , 56 , 7 , 33 , 58 , & 7 , 34 , 60 , 7 , 36 , 62 , 8 , 37 , 64 , 8 , 38 , 66 , & 9 , 40 , 68 , 9 , 41 , 70 , 10 , 42 , 72 , 10 , 44 , 74 , & 11 , 45 , 75 , 12 , 46 , 77 , 13 , 48 , 79 , 13 , 49 , 81 , & 14 , 51 , 83 , 15 , 52 , 85 , 16 , 53 , 87 , 17 , 55 , 88 , & 19 , 56 , 90 , 20 , 57 , 92 , 21 , 59 , 94 , 22 , 60 , 95 , & 24 , 62 , 97 , 25 , 63 , 99 , 27 , 64 , 100 , 29 , 66 , 102 , & 30 , 67 , 104 , 32 , 68 , 105 , 34 , 70 , 107 , 36 , 71 , 108 , & 37 , 72 , 109 , 39 , 73 , 111 , 41 , 75 , 112 , 43 , 76 , 113 , & 45 , 77 , 114 , 47 , 78 , 115 , 49 , 79 , 116 , 52 , 80 , 117 , & 54 , 81 , 118 , 56 , 82 , 119 , 58 , 83 , 119 , 60 , 84 , 120 , & 62 , 85 , 120 , 63 , 86 , 121 , 65 , 86 , 121 , 67 , 87 , 122 , & 69 , 88 , 122 , 71 , 88 , 122 , 72 , 89 , 122 , 74 , 89 , 122 , & 76 , 90 , 122 , 77 , 90 , 123 , 79 , 91 , 123 , 80 , 91 , 122 , & 82 , 91 , 122 , 83 , 92 , 122 , 84 , 92 , 122 , 86 , 92 , 122 , & 87 , 92 , 122 , 88 , 93 , 122 , 90 , 93 , 122 , 91 , 93 , 121 , & 92 , 93 , 121 , 93 , 93 , 121 , 94 , 93 , 121 , 96 , 94 , 120 , & 97 , 94 , 120 , 98 , 94 , 120 , 99 , 94 , 120 , 100 , 94 , 119 , & 101 , 94 , 119 , 102 , 94 , 119 , 104 , 94 , 119 , 105 , 94 , 118 , & 106 , 94 , 118 , 107 , 95 , 118 , 108 , 95 , 117 , 109 , 95 , 117 , & 110 , 95 , 117 , 112 , 95 , 116 , 113 , 95 , 116 , 114 , 95 , 116 , & 115 , 95 , 116 , 116 , 95 , 115 , 118 , 95 , 115 , 119 , 95 , 115 , & 120 , 95 , 114 , 121 , 95 , 114 , 122 , 95 , 114 , 124 , 96 , 113 , & 125 , 96 , 113 , 126 , 96 , 113 , 128 , 96 , 112 , 129 , 96 , 112 , & 130 , 96 , 112 , 131 , 96 , 111 , 133 , 96 , 111 , 134 , 96 , 111 , & 135 , 96 , 110 , 137 , 96 , 110 , 138 , 96 , 110 , 140 , 96 , 109 , & 141 , 97 , 109 , 142 , 97 , 108 , 144 , 97 , 108 , 145 , 97 , 108 , & 147 , 97 , 107 , 148 , 97 , 107 , 150 , 97 , 107 , 151 , 97 , 106 , & 152 , 97 , 106 , 154 , 97 , 105 , 155 , 97 , 105 , 157 , 98 , 105 , & 159 , 98 , 104 , 160 , 98 , 104 , 162 , 98 , 103 , 163 , 98 , 103 , & 165 , 98 , 103 , 166 , 98 , 102 , 168 , 98 , 102 , 170 , 98 , 101 , & 171 , 99 , 101 , 173 , 99 , 101 , 174 , 99 , 100 , 176 , 99 , 100 , & 178 , 99 , 100 , 179 , 99 , 99 , 181 , 99 , 99 , 183 , 100 , 98 , & 184 , 100 , 98 , 186 , 100 , 98 , 188 , 100 , 97 , 190 , 101 , 97 , & 191 , 101 , 97 , 193 , 101 , 96 , 195 , 102 , 96 , 197 , 102 , 96 , & 198 , 102 , 95 , 200 , 103 , 95 , 202 , 103 , 95 , 203 , 104 , 95 , & 205 , 104 , 95 , 207 , 105 , 94 , 208 , 106 , 94 , 210 , 106 , 94 , & 212 , 107 , 94 , 213 , 108 , 94 , 215 , 109 , 94 , 216 , 110 , 94 , & 218 , 111 , 94 , 219 , 112 , 95 , 221 , 113 , 95 , 222 , 114 , 95 , & 223 , 115 , 95 , 224 , 116 , 96 , 225 , 118 , 96 , 226 , 119 , 96 , & 227 , 120 , 97 , 228 , 122 , 97 , 229 , 123 , 98 , 230 , 124 , 99 , & 231 , 126 , 99 , 231 , 127 , 100 , 232 , 129 , 101 , 232 , 130 , 101 , & 233 , 132 , 102 , 233 , 133 , 103 , 233 , 135 , 104 , 233 , 136 , 104 , & 234 , 138 , 105 , 234 , 139 , 106 , 234 , 141 , 107 , 234 , 142 , 108 , & 234 , 144 , 109 , 234 , 145 , 110 , 234 , 146 , 110 , 234 , 148 , 111 , & 233 , 149 , 112 , 233 , 151 , 113 , 233 , 152 , 114 , 233 , 153 , 115 , & 233 , 155 , 116 , 232 , 156 , 117 , 232 , 157 , 118 , 232 , 158 , 119 , & 232 , 160 , 119 , 231 , 161 , 120 , 231 , 162 , 121 , 231 , 163 , 122 , & 231 , 165 , 123 , 230 , 166 , 124 , 230 , 167 , 125 , 230 , 168 , 126 , & 230 , 170 , 127 , 230 , 171 , 128 , 230 , 172 , 129 , 229 , 173 , 130 , & 229 , 175 , 132 , 229 , 176 , 133 , 229 , 177 , 134 , 229 , 178 , 135 , & 229 , 180 , 136 , 229 , 181 , 138 , 229 , 182 , 139 , 229 , 184 , 140 , & 229 , 185 , 142 , 229 , 186 , 143 , 230 , 188 , 144 , 230 , 189 , 146 , & 230 , 190 , 147 , 230 , 192 , 149 , 231 , 193 , 151 , 231 , 195 , 152 , & 231 , 196 , 154 , 232 , 198 , 156 , 232 , 199 , 157 , 233 , 201 , 159 , & 233 , 202 , 161 , 234 , 204 , 163 , 234 , 205 , 165 , 235 , 207 , 167 , & 235 , 208 , 169 , 236 , 210 , 171 , 237 , 211 , 173 , 237 , 213 , 175 , & 238 , 214 , 177 , 239 , 216 , 179 , 239 , 218 , 181 , 240 , 219 , 183 , & 241 , 221 , 185 , 242 , 222 , 187 , 242 , 224 , 190 , 243 , 225 , 192 , & 244 , 227 , 194 , 245 , 229 , 196 , 246 , 230 , 198 , 246 , 232 , 201 , & 247 , 233 , 203 , 248 , 235 , 205 , 249 , 237 , 207 , 250 , 238 , 209 , & 251 , 240 , 212 , 251 , 241 , 214 , 252 , 243 , 216 , 253 , 245 , 218 & ], shape ( lipari ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lipari10 = reshape ( [ & 3 , 19 , 38 , 19 , 56 , 90 , 71 , 88 , 122 , 107 , 95 , 118 , & 142 , 97 , 108 , 188 , 100 , 97 , 229 , 123 , 98 , 231 , 162 , 121 , & 233 , 201 , 159 , 253 , 245 , 218 & ], shape ( lipari10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lipari100 = reshape ( [ & 3 , 19 , 38 , 4 , 23 , 43 , 5 , 25 , 47 , 6 , 29 , 53 , & 6 , 32 , 56 , 7 , 36 , 62 , 8 , 38 , 66 , 10 , 42 , 72 , & 12 , 46 , 77 , 13 , 49 , 81 , 16 , 53 , 87 , 19 , 56 , 90 , & 22 , 60 , 95 , 25 , 63 , 99 , 30 , 67 , 104 , 36 , 71 , 108 , & 39 , 73 , 111 , 45 , 77 , 114 , 49 , 79 , 116 , 56 , 82 , 119 , & 62 , 85 , 120 , 65 , 86 , 121 , 71 , 88 , 122 , 74 , 89 , 122 , & 79 , 91 , 123 , 82 , 91 , 122 , 86 , 92 , 122 , 90 , 93 , 122 , & 92 , 93 , 121 , 96 , 94 , 120 , 98 , 94 , 120 , 101 , 94 , 119 , & 104 , 94 , 119 , 107 , 95 , 118 , 110 , 95 , 117 , 113 , 95 , 116 , & 116 , 95 , 115 , 119 , 95 , 115 , 122 , 95 , 114 , 125 , 96 , 113 , & 129 , 96 , 112 , 133 , 96 , 111 , 135 , 96 , 110 , 140 , 96 , 109 , & 142 , 97 , 108 , 147 , 97 , 107 , 150 , 97 , 107 , 154 , 97 , 105 , & 159 , 98 , 104 , 162 , 98 , 103 , 166 , 98 , 102 , 170 , 98 , 101 , & 174 , 99 , 100 , 179 , 99 , 99 , 183 , 100 , 98 , 188 , 100 , 97 , & 191 , 101 , 97 , 197 , 102 , 96 , 200 , 103 , 95 , 205 , 104 , 95 , & 210 , 106 , 94 , 213 , 108 , 94 , 218 , 111 , 94 , 221 , 113 , 95 , & 224 , 116 , 96 , 226 , 119 , 96 , 229 , 123 , 98 , 231 , 127 , 100 , & 232 , 130 , 101 , 233 , 135 , 104 , 234 , 138 , 105 , 234 , 142 , 108 , & 234 , 145 , 110 , 233 , 149 , 112 , 233 , 153 , 115 , 232 , 156 , 117 , & 232 , 160 , 119 , 231 , 162 , 121 , 230 , 166 , 124 , 230 , 168 , 126 , & 230 , 172 , 129 , 229 , 176 , 133 , 229 , 178 , 135 , 229 , 182 , 139 , & 229 , 185 , 142 , 230 , 189 , 146 , 231 , 193 , 151 , 231 , 196 , 154 , & 233 , 201 , 159 , 234 , 204 , 163 , 235 , 208 , 169 , 237 , 211 , 173 , & 239 , 216 , 179 , 241 , 221 , 185 , 242 , 224 , 190 , 245 , 229 , 196 , & 246 , 232 , 201 , 249 , 237 , 207 , 251 , 240 , 212 , 253 , 245 , 218 & ], shape ( lipari100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lipari25 = reshape ( [ & 3 , 19 , 38 , 7 , 33 , 58 , 12 , 46 , 77 , 24 , 62 , 97 , & 43 , 76 , 113 , 63 , 86 , 121 , 82 , 91 , 122 , 94 , 93 , 121 , & 107 , 95 , 118 , 120 , 95 , 114 , 133 , 96 , 111 , 148 , 97 , 107 , & 165 , 98 , 103 , 181 , 99 , 99 , 200 , 103 , 95 , 216 , 110 , 94 , & 229 , 123 , 98 , 234 , 139 , 106 , 233 , 153 , 115 , 230 , 167 , 125 , & 229 , 181 , 138 , 231 , 195 , 152 , 237 , 211 , 173 , 244 , 227 , 194 , & 253 , 245 , 218 & ], shape ( lipari25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lipari50 = reshape ( [ & 3 , 19 , 38 , 5 , 25 , 47 , 6 , 32 , 56 , 9 , 40 , 68 , & 12 , 46 , 77 , 16 , 53 , 87 , 22 , 60 , 95 , 30 , 67 , 104 , & 41 , 75 , 112 , 52 , 80 , 117 , 62 , 85 , 120 , 71 , 88 , 122 , & 79 , 91 , 123 , 87 , 92 , 122 , 93 , 93 , 121 , 99 , 94 , 120 , & 105 , 94 , 118 , 110 , 95 , 117 , 118 , 95 , 115 , 124 , 96 , 113 , & 130 , 96 , 112 , 137 , 96 , 110 , 144 , 97 , 108 , 152 , 97 , 106 , & 160 , 98 , 104 , 168 , 98 , 102 , 176 , 99 , 100 , 186 , 100 , 98 , & 195 , 102 , 96 , 203 , 104 , 95 , 212 , 107 , 94 , 219 , 112 , 95 , & 226 , 119 , 96 , 231 , 126 , 99 , 233 , 133 , 103 , 234 , 141 , 107 , & 234 , 148 , 111 , 232 , 156 , 117 , 231 , 162 , 121 , 230 , 168 , 126 , & 229 , 175 , 132 , 229 , 181 , 138 , 230 , 189 , 146 , 231 , 196 , 154 , & 234 , 204 , 163 , 237 , 211 , 173 , 240 , 219 , 183 , 245 , 229 , 196 , & 249 , 237 , 207 , 253 , 245 , 218 & ], shape ( lipari50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lipariS = reshape ( [ & 3 , 19 , 38 , 253 , 245 , 218 , 163 , 98 , 103 , 233 , 153 , 115 , & 82 , 91 , 122 , 216 , 110 , 94 , 24 , 62 , 97 , 231 , 195 , 152 , & 119 , 95 , 115 , 240 , 219 , 183 , 232 , 130 , 101 , 190 , 101 , 97 , & 9 , 40 , 68 , 140 , 96 , 109 , 229 , 173 , 130 , 54 , 81 , 118 , & 101 , 94 , 119 , 176 , 99 , 100 , 37 , 72 , 109 , 231 , 163 , 122 , & 229 , 184 , 140 , 92 , 93 , 121 , 203 , 104 , 95 , 69 , 88 , 122 , & 14 , 51 , 83 , 235 , 207 , 167 , 6 , 29 , 53 , 129 , 96 , 112 , & 246 , 232 , 201 , 226 , 119 , 96 , 151 , 97 , 106 , 234 , 142 , 108 , & 110 , 95 , 117 , 45 , 77 , 114 , 230 , 124 , 99 , 62 , 85 , 120 , & 19 , 56 , 90 , 134 , 96 , 111 , 157 , 98 , 105 , 11 , 45 , 75 , & 232 , 158 , 119 , 210 , 106 , 94 , 250 , 238 , 209 , 87 , 92 , 122 , & 237 , 213 , 175 , 233 , 136 , 104 , 230 , 168 , 126 , 124 , 96 , 113 , & 170 , 98 , 101 , 7 , 34 , 60 , 233 , 201 , 159 , 145 , 97 , 108 , & 234 , 148 , 111 , 229 , 178 , 135 , 76 , 90 , 122 , 197 , 102 , 96 , & 97 , 94 , 120 , 230 , 189 , 146 , 5 , 24 , 45 , 243 , 225 , 192 , & 222 , 114 , 95 , 183 , 100 , 98 , 106 , 94 , 118 , 30 , 67 , 104 , & 114 , 95 , 116 , 13 , 48 , 79 , 251 , 241 , 214 , 230 , 192 , 149 , & 4 , 22 , 41 , 231 , 127 , 100 , 219 , 112 , 95 , 131 , 96 , 111 , & 154 , 97 , 105 , 121 , 95 , 114 , 148 , 97 , 107 , 6 , 32 , 56 , & 142 , 97 , 108 , 27 , 64 , 100 , 10 , 42 , 72 , 207 , 105 , 94 , & 228 , 122 , 97 , 231 , 161 , 120 , 84 , 92 , 122 , 232 , 156 , 117 , & 233 , 151 , 113 , 173 , 99 , 101 , 236 , 210 , 171 , 230 , 171 , 128 , & 160 , 98 , 104 , 230 , 166 , 124 , 224 , 116 , 96 , 248 , 235 , 205 , & 34 , 70 , 107 , 232 , 198 , 156 , 179 , 99 , 99 , 21 , 59 , 94 , & 245 , 229 , 196 , 229 , 181 , 138 , 8 , 37 , 64 , 90 , 93 , 122 & ], shape ( lipariS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: lisbon = reshape ( [ & 230 , 229 , 255 , 227 , 227 , 253 , 224 , 226 , 252 , 221 , 224 , 250 , & 219 , 222 , 249 , 216 , 220 , 247 , 213 , 218 , 245 , 211 , 216 , 244 , & 208 , 214 , 242 , 205 , 212 , 241 , 203 , 210 , 239 , 200 , 208 , 237 , & 197 , 206 , 236 , 195 , 204 , 234 , 192 , 202 , 233 , 189 , 200 , 231 , & 187 , 198 , 229 , 184 , 196 , 228 , 181 , 194 , 226 , 179 , 192 , 225 , & 176 , 190 , 223 , 173 , 188 , 222 , 171 , 186 , 220 , 168 , 185 , 218 , & 165 , 183 , 217 , 163 , 181 , 215 , 160 , 179 , 214 , 158 , 177 , 212 , & 155 , 175 , 211 , 152 , 173 , 209 , 150 , 171 , 207 , 147 , 169 , 206 , & 144 , 167 , 204 , 142 , 165 , 203 , 139 , 163 , 201 , 137 , 162 , 200 , & 134 , 160 , 198 , 132 , 158 , 196 , 129 , 156 , 195 , 126 , 154 , 193 , & 124 , 152 , 192 , 121 , 150 , 190 , 119 , 148 , 189 , 116 , 146 , 187 , & 114 , 144 , 185 , 111 , 142 , 184 , 109 , 141 , 182 , 106 , 139 , 181 , & 104 , 137 , 179 , 101 , 135 , 177 , 98 , 133 , 176 , 96 , 131 , 174 , & 94 , 129 , 172 , 91 , 127 , 171 , 89 , 125 , 169 , 86 , 123 , 167 , & 84 , 121 , 166 , 81 , 119 , 164 , 79 , 117 , 162 , 76 , 115 , 160 , & 74 , 114 , 158 , 72 , 112 , 157 , 69 , 110 , 155 , 67 , 108 , 153 , & 65 , 106 , 151 , 63 , 104 , 149 , 61 , 102 , 147 , 58 , 100 , 145 , & 56 , 98 , 143 , 54 , 96 , 140 , 52 , 94 , 138 , 50 , 92 , 136 , & 48 , 90 , 134 , 47 , 89 , 132 , 45 , 87 , 130 , 43 , 85 , 127 , & 42 , 83 , 125 , 40 , 81 , 123 , 39 , 79 , 120 , 37 , 78 , 118 , & 36 , 76 , 116 , 34 , 74 , 113 , 33 , 72 , 111 , 32 , 71 , 109 , & 31 , 69 , 106 , 30 , 67 , 104 , 29 , 66 , 102 , 28 , 64 , 100 , & 27 , 63 , 97 , 26 , 61 , 95 , 25 , 60 , 93 , 25 , 58 , 90 , & 24 , 57 , 88 , 23 , 55 , 86 , 23 , 54 , 83 , 22 , 52 , 81 , & 22 , 51 , 79 , 21 , 49 , 77 , 21 , 48 , 75 , 20 , 46 , 72 , & 20 , 45 , 70 , 19 , 44 , 68 , 19 , 42 , 66 , 19 , 41 , 64 , & 18 , 40 , 62 , 18 , 39 , 60 , 18 , 37 , 58 , 18 , 36 , 55 , & 17 , 35 , 53 , 17 , 34 , 51 , 17 , 33 , 50 , 17 , 32 , 48 , & 17 , 31 , 46 , 17 , 30 , 44 , 17 , 29 , 42 , 17 , 28 , 40 , & 17 , 27 , 39 , 18 , 27 , 37 , 18 , 26 , 36 , 18 , 26 , 34 , & 18 , 25 , 33 , 19 , 25 , 32 , 19 , 25 , 30 , 20 , 24 , 29 , & 20 , 24 , 28 , 21 , 24 , 27 , 21 , 24 , 26 , 22 , 25 , 26 , & 23 , 25 , 25 , 24 , 25 , 25 , 24 , 26 , 24 , 25 , 26 , 24 , & 26 , 27 , 24 , 27 , 28 , 23 , 28 , 28 , 23 , 30 , 29 , 23 , & 31 , 30 , 24 , 32 , 31 , 24 , 33 , 32 , 24 , 35 , 33 , 24 , & 36 , 35 , 25 , 37 , 36 , 25 , 39 , 37 , 26 , 40 , 38 , 26 , & 42 , 40 , 27 , 43 , 41 , 28 , 45 , 43 , 28 , 47 , 44 , 29 , & 48 , 45 , 30 , 50 , 47 , 31 , 51 , 48 , 32 , 53 , 50 , 32 , & 55 , 52 , 33 , 56 , 53 , 34 , 58 , 55 , 35 , 60 , 56 , 36 , & 62 , 58 , 37 , 63 , 60 , 38 , 65 , 61 , 39 , 67 , 63 , 40 , & 69 , 64 , 41 , 70 , 66 , 42 , 72 , 68 , 43 , 74 , 69 , 44 , & 76 , 71 , 45 , 77 , 73 , 46 , 79 , 75 , 47 , 81 , 76 , 49 , & 83 , 78 , 50 , 85 , 80 , 51 , 87 , 81 , 52 , 88 , 83 , 53 , & 90 , 85 , 54 , 92 , 87 , 55 , 94 , 88 , 56 , 96 , 90 , 57 , & 98 , 92 , 58 , 100 , 94 , 60 , 102 , 96 , 61 , 104 , 97 , 62 , & 105 , 99 , 63 , 107 , 101 , 64 , 109 , 103 , 65 , 111 , 105 , 67 , & 113 , 107 , 68 , 115 , 108 , 69 , 117 , 110 , 70 , 119 , 112 , 71 , & 121 , 114 , 73 , 123 , 116 , 74 , 125 , 118 , 75 , 127 , 120 , 76 , & 129 , 122 , 78 , 131 , 123 , 79 , 133 , 125 , 80 , 135 , 127 , 82 , & 137 , 129 , 83 , 139 , 131 , 85 , 141 , 133 , 86 , 143 , 135 , 88 , & 145 , 137 , 89 , 148 , 139 , 91 , 150 , 141 , 92 , 152 , 143 , 94 , & 154 , 145 , 96 , 156 , 147 , 97 , 158 , 150 , 99 , 160 , 152 , 101 , & 162 , 154 , 103 , 164 , 156 , 105 , 166 , 158 , 106 , 168 , 160 , 108 , & 171 , 162 , 110 , 173 , 164 , 112 , 175 , 167 , 114 , 177 , 169 , 117 , & 179 , 171 , 119 , 181 , 173 , 121 , 183 , 175 , 123 , 185 , 177 , 125 , & 187 , 179 , 128 , 189 , 182 , 130 , 191 , 184 , 132 , 193 , 186 , 135 , & 195 , 188 , 137 , 197 , 190 , 139 , 199 , 192 , 142 , 201 , 195 , 144 , & 203 , 197 , 147 , 205 , 199 , 149 , 207 , 201 , 152 , 209 , 203 , 154 , & 211 , 205 , 157 , 213 , 207 , 159 , 215 , 210 , 162 , 217 , 212 , 164 , & 218 , 214 , 167 , 220 , 216 , 169 , 222 , 218 , 172 , 224 , 220 , 175 , & 226 , 222 , 177 , 228 , 225 , 180 , 230 , 227 , 182 , 232 , 229 , 185 , & 234 , 231 , 188 , 236 , 233 , 190 , 238 , 235 , 193 , 240 , 238 , 195 , & 241 , 240 , 198 , 243 , 242 , 201 , 245 , 244 , 203 , 247 , 246 , 206 , & 249 , 248 , 209 , 251 , 251 , 211 , 253 , 253 , 214 , 255 , 255 , 217 & ], shape ( lisbon ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: lisbon10 = reshape ( [ & 230 , 229 , 255 , 155 , 175 , 211 , 81 , 119 , 164 , 30 , 67 , 104 , & 17 , 30 , 44 , 39 , 37 , 26 , 87 , 81 , 52 , 141 , 133 , 86 , & 201 , 195 , 144 , 255 , 255 , 217 & ], shape ( lisbon10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: lisbon100 = reshape ( [ & 230 , 229 , 255 , 221 , 224 , 250 , 216 , 220 , 247 , 208 , 214 , 242 , & 203 , 210 , 239 , 195 , 204 , 234 , 189 , 200 , 231 , 181 , 194 , 226 , & 173 , 188 , 222 , 168 , 185 , 218 , 160 , 179 , 214 , 155 , 175 , 211 , & 147 , 169 , 206 , 142 , 165 , 203 , 134 , 160 , 198 , 126 , 154 , 193 , & 121 , 150 , 190 , 114 , 144 , 185 , 109 , 141 , 182 , 101 , 135 , 177 , & 94 , 129 , 172 , 89 , 125 , 169 , 81 , 119 , 164 , 76 , 115 , 160 , & 69 , 110 , 155 , 65 , 106 , 151 , 58 , 100 , 145 , 52 , 94 , 138 , & 48 , 90 , 134 , 43 , 85 , 127 , 40 , 81 , 123 , 36 , 76 , 116 , & 33 , 72 , 111 , 30 , 67 , 104 , 27 , 63 , 97 , 25 , 60 , 93 , & 23 , 55 , 86 , 22 , 52 , 81 , 21 , 48 , 75 , 20 , 45 , 70 , & 19 , 41 , 64 , 18 , 37 , 58 , 17 , 35 , 53 , 17 , 32 , 48 , & 17 , 30 , 44 , 17 , 27 , 39 , 18 , 26 , 36 , 19 , 25 , 32 , & 20 , 24 , 28 , 21 , 24 , 26 , 24 , 25 , 25 , 25 , 26 , 24 , & 28 , 28 , 23 , 32 , 31 , 24 , 35 , 33 , 24 , 39 , 37 , 26 , & 42 , 40 , 27 , 47 , 44 , 29 , 50 , 47 , 31 , 55 , 52 , 33 , & 60 , 56 , 36 , 63 , 60 , 38 , 69 , 64 , 41 , 72 , 68 , 43 , & 77 , 73 , 46 , 81 , 76 , 49 , 87 , 81 , 52 , 92 , 87 , 55 , & 96 , 90 , 57 , 102 , 96 , 61 , 105 , 99 , 63 , 111 , 105 , 67 , & 115 , 108 , 69 , 121 , 114 , 73 , 127 , 120 , 76 , 131 , 123 , 79 , & 137 , 129 , 83 , 141 , 133 , 86 , 148 , 139 , 91 , 152 , 143 , 94 , & 158 , 150 , 99 , 164 , 156 , 105 , 168 , 160 , 108 , 175 , 167 , 114 , & 179 , 171 , 119 , 185 , 177 , 125 , 191 , 184 , 132 , 195 , 188 , 137 , & 201 , 195 , 144 , 205 , 199 , 149 , 211 , 205 , 157 , 215 , 210 , 162 , & 220 , 216 , 169 , 226 , 222 , 177 , 230 , 227 , 182 , 236 , 233 , 190 , & 240 , 238 , 195 , 245 , 244 , 203 , 249 , 248 , 209 , 255 , 255 , 217 & ], shape ( lisbon100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: lisbon25 = reshape ( [ & 230 , 229 , 255 , 200 , 208 , 237 , 173 , 188 , 222 , 144 , 167 , 204 , & 116 , 146 , 187 , 91 , 127 , 171 , 65 , 106 , 151 , 45 , 87 , 130 , & 30 , 67 , 104 , 22 , 51 , 79 , 18 , 37 , 58 , 18 , 27 , 37 , & 23 , 25 , 25 , 33 , 32 , 24 , 50 , 47 , 31 , 67 , 63 , 40 , & 87 , 81 , 52 , 107 , 101 , 64 , 127 , 120 , 76 , 150 , 141 , 92 , & 173 , 164 , 112 , 193 , 186 , 135 , 215 , 210 , 162 , 234 , 231 , 188 , & 255 , 255 , 217 & ], shape ( lisbon25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: lisbon50 = reshape ( [ & 230 , 229 , 255 , 216 , 220 , 247 , 203 , 210 , 239 , 187 , 198 , 229 , & 173 , 188 , 222 , 160 , 179 , 214 , 147 , 169 , 206 , 134 , 160 , 198 , & 119 , 148 , 189 , 106 , 139 , 181 , 94 , 129 , 172 , 81 , 119 , 164 , & 69 , 110 , 155 , 56 , 98 , 143 , 47 , 89 , 132 , 39 , 79 , 120 , & 32 , 71 , 109 , 27 , 63 , 97 , 23 , 54 , 83 , 20 , 46 , 72 , & 18 , 40 , 62 , 17 , 34 , 51 , 17 , 29 , 42 , 18 , 25 , 33 , & 21 , 24 , 27 , 24 , 26 , 24 , 30 , 29 , 23 , 37 , 36 , 25 , & 45 , 43 , 28 , 53 , 50 , 32 , 62 , 58 , 37 , 70 , 66 , 42 , & 81 , 76 , 49 , 90 , 85 , 54 , 100 , 94 , 60 , 109 , 103 , 65 , & 119 , 112 , 71 , 131 , 123 , 79 , 141 , 133 , 86 , 152 , 143 , 94 , & 162 , 154 , 103 , 173 , 164 , 112 , 185 , 177 , 125 , 195 , 188 , 137 , & 205 , 199 , 149 , 215 , 210 , 162 , 224 , 220 , 175 , 236 , 233 , 190 , & 245 , 244 , 203 , 255 , 255 , 217 & ], shape ( lisbon50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: managua = reshape ( [ & 255 , 207 , 103 , 254 , 205 , 102 , 253 , 203 , 102 , 251 , 201 , 101 , & 250 , 199 , 100 , 249 , 197 , 100 , 248 , 195 , 99 , 246 , 193 , 98 , & 245 , 191 , 98 , 244 , 189 , 97 , 243 , 187 , 96 , 241 , 185 , 96 , & 240 , 183 , 95 , 239 , 181 , 94 , 238 , 179 , 94 , 236 , 177 , 93 , & 235 , 176 , 93 , 234 , 174 , 92 , 233 , 172 , 91 , 232 , 170 , 91 , & 230 , 168 , 90 , 229 , 166 , 89 , 228 , 164 , 89 , 227 , 163 , 88 , & 225 , 161 , 88 , 224 , 159 , 87 , 223 , 157 , 86 , 222 , 156 , 86 , & 221 , 154 , 85 , 219 , 152 , 85 , 218 , 150 , 84 , 217 , 149 , 84 , & 216 , 147 , 83 , 215 , 145 , 82 , 213 , 144 , 82 , 212 , 142 , 81 , & 211 , 140 , 81 , 210 , 139 , 80 , 209 , 137 , 80 , 207 , 135 , 79 , & 206 , 134 , 79 , 205 , 132 , 78 , 204 , 130 , 77 , 203 , 129 , 77 , & 201 , 127 , 76 , 200 , 126 , 76 , 199 , 124 , 75 , 198 , 123 , 75 , & 197 , 121 , 74 , 195 , 119 , 74 , 194 , 118 , 73 , 193 , 116 , 73 , & 192 , 115 , 72 , 190 , 113 , 72 , 189 , 112 , 71 , 188 , 111 , 71 , & 187 , 109 , 70 , 185 , 108 , 70 , 184 , 106 , 69 , 183 , 105 , 69 , & 182 , 103 , 69 , 180 , 102 , 68 , 179 , 100 , 68 , 178 , 99 , 67 , & 177 , 98 , 67 , 175 , 96 , 66 , 174 , 95 , 66 , 173 , 94 , 66 , & 171 , 92 , 65 , 170 , 91 , 65 , 168 , 89 , 64 , 167 , 88 , 64 , & 166 , 87 , 63 , 164 , 85 , 63 , 163 , 84 , 63 , 161 , 83 , 62 , & 160 , 81 , 62 , 158 , 80 , 62 , 157 , 79 , 61 , 156 , 77 , 61 , & 154 , 76 , 61 , 152 , 75 , 60 , 151 , 73 , 60 , 149 , 72 , 60 , & 148 , 71 , 59 , 146 , 70 , 59 , 145 , 68 , 59 , 143 , 67 , 59 , & 142 , 66 , 58 , 140 , 65 , 58 , 138 , 63 , 58 , 137 , 62 , 58 , & 135 , 61 , 57 , 134 , 60 , 57 , 132 , 59 , 57 , 130 , 58 , 57 , & 129 , 57 , 57 , 127 , 56 , 57 , 126 , 55 , 57 , 124 , 54 , 57 , & 122 , 53 , 57 , 121 , 52 , 57 , 119 , 51 , 57 , 118 , 50 , 57 , & 116 , 49 , 57 , 115 , 48 , 57 , 113 , 47 , 58 , 112 , 47 , 58 , & 110 , 46 , 58 , 109 , 45 , 58 , 107 , 45 , 59 , 106 , 44 , 59 , & 105 , 43 , 60 , 103 , 43 , 60 , 102 , 42 , 61 , 101 , 42 , 61 , & 99 , 42 , 62 , 98 , 41 , 63 , 97 , 41 , 63 , 96 , 41 , 64 , & 95 , 41 , 65 , 94 , 41 , 66 , 93 , 40 , 67 , 92 , 40 , 67 , & 91 , 40 , 68 , 90 , 40 , 70 , 89 , 41 , 71 , 88 , 41 , 72 , & 87 , 41 , 73 , 86 , 41 , 74 , 85 , 42 , 76 , 84 , 42 , 77 , & 84 , 42 , 78 , 83 , 43 , 80 , 82 , 43 , 81 , 82 , 44 , 83 , & 81 , 45 , 84 , 81 , 45 , 86 , 80 , 46 , 88 , 80 , 47 , 89 , & 79 , 48 , 91 , 79 , 49 , 93 , 78 , 49 , 94 , 78 , 50 , 96 , & 78 , 51 , 98 , 77 , 52 , 100 , 77 , 53 , 102 , 77 , 54 , 104 , & 77 , 55 , 106 , 76 , 57 , 107 , 76 , 58 , 109 , 76 , 59 , 111 , & 76 , 60 , 113 , 76 , 61 , 115 , 76 , 63 , 117 , 76 , 64 , 119 , & 76 , 65 , 121 , 76 , 67 , 123 , 76 , 68 , 125 , 76 , 69 , 127 , & 76 , 71 , 129 , 76 , 72 , 131 , 76 , 74 , 133 , 76 , 75 , 134 , & 77 , 76 , 136 , 77 , 78 , 138 , 77 , 79 , 140 , 77 , 81 , 142 , & 77 , 82 , 144 , 78 , 84 , 145 , 78 , 85 , 147 , 78 , 87 , 149 , & 79 , 88 , 151 , 79 , 90 , 152 , 79 , 91 , 154 , 80 , 93 , 156 , & 80 , 94 , 157 , 81 , 96 , 159 , 81 , 97 , 161 , 81 , 99 , 162 , & 82 , 100 , 164 , 82 , 102 , 165 , 83 , 103 , 167 , 83 , 105 , 168 , & 84 , 106 , 170 , 84 , 108 , 171 , 85 , 110 , 172 , 85 , 111 , 174 , & 86 , 113 , 175 , 86 , 114 , 177 , 87 , 116 , 178 , 87 , 117 , 179 , & 88 , 119 , 181 , 88 , 120 , 182 , 89 , 122 , 183 , 89 , 123 , 184 , & 90 , 125 , 186 , 91 , 126 , 187 , 91 , 128 , 188 , 92 , 129 , 189 , & 92 , 131 , 191 , 93 , 133 , 192 , 93 , 134 , 193 , 94 , 136 , 194 , & 95 , 137 , 195 , 95 , 139 , 197 , 96 , 141 , 198 , 96 , 142 , 199 , & 97 , 144 , 200 , 98 , 146 , 201 , 98 , 147 , 203 , 99 , 149 , 204 , & 100 , 151 , 205 , 100 , 152 , 206 , 101 , 154 , 207 , 102 , 156 , 208 , & 102 , 158 , 210 , 103 , 159 , 211 , 104 , 161 , 212 , 104 , 163 , 213 , & 105 , 165 , 214 , 105 , 166 , 215 , 106 , 168 , 217 , 107 , 170 , 218 , & 107 , 172 , 219 , 108 , 173 , 220 , 109 , 175 , 221 , 109 , 177 , 222 , & 110 , 179 , 223 , 111 , 181 , 225 , 111 , 182 , 226 , 112 , 184 , 227 , & 113 , 186 , 228 , 114 , 188 , 229 , 114 , 190 , 230 , 115 , 192 , 231 , & 116 , 194 , 233 , 116 , 196 , 234 , 117 , 197 , 235 , 118 , 199 , 236 , & 118 , 201 , 237 , 119 , 203 , 238 , 120 , 205 , 240 , 120 , 207 , 241 , & 121 , 209 , 242 , 122 , 211 , 243 , 122 , 213 , 244 , 123 , 215 , 245 , & 124 , 217 , 247 , 124 , 219 , 248 , 125 , 221 , 249 , 126 , 223 , 250 , & 126 , 225 , 251 , 127 , 227 , 253 , 128 , 229 , 254 , 129 , 231 , 255 & ], shape ( managua ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: managua10 = reshape ( [ & 255 , 207 , 103 , 221 , 154 , 85 , 185 , 108 , 70 , 146 , 70 , 59 , & 103 , 43 , 60 , 78 , 49 , 94 , 78 , 85 , 147 , 91 , 128 , 188 , & 109 , 177 , 222 , 129 , 231 , 255 & ], shape ( managua10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: managua100 = reshape ( [ & 255 , 207 , 103 , 251 , 201 , 101 , 249 , 197 , 100 , 245 , 191 , 98 , & 243 , 187 , 96 , 239 , 181 , 94 , 236 , 177 , 93 , 233 , 172 , 91 , & 229 , 166 , 89 , 227 , 163 , 88 , 223 , 157 , 86 , 221 , 154 , 85 , & 217 , 149 , 84 , 215 , 145 , 82 , 211 , 140 , 81 , 207 , 135 , 79 , & 205 , 132 , 78 , 201 , 127 , 76 , 199 , 124 , 75 , 195 , 119 , 74 , & 192 , 115 , 72 , 189 , 112 , 71 , 185 , 108 , 70 , 183 , 105 , 69 , & 179 , 100 , 68 , 177 , 98 , 67 , 173 , 94 , 66 , 168 , 89 , 64 , & 166 , 87 , 63 , 161 , 83 , 62 , 158 , 80 , 62 , 154 , 76 , 61 , & 151 , 73 , 60 , 146 , 70 , 59 , 142 , 66 , 58 , 138 , 63 , 58 , & 134 , 60 , 57 , 130 , 58 , 57 , 126 , 55 , 57 , 122 , 53 , 57 , & 118 , 50 , 57 , 113 , 47 , 58 , 110 , 46 , 58 , 106 , 44 , 59 , & 103 , 43 , 60 , 99 , 42 , 62 , 97 , 41 , 63 , 94 , 41 , 66 , & 91 , 40 , 68 , 89 , 41 , 71 , 86 , 41 , 74 , 84 , 42 , 77 , & 82 , 43 , 81 , 81 , 45 , 86 , 80 , 47 , 89 , 78 , 49 , 94 , & 78 , 51 , 98 , 77 , 54 , 104 , 76 , 57 , 107 , 76 , 60 , 113 , & 76 , 64 , 119 , 76 , 67 , 123 , 76 , 71 , 129 , 76 , 74 , 133 , & 77 , 78 , 138 , 77 , 81 , 142 , 78 , 85 , 147 , 79 , 90 , 152 , & 80 , 93 , 156 , 81 , 97 , 161 , 82 , 100 , 164 , 83 , 105 , 168 , & 84 , 108 , 171 , 86 , 113 , 175 , 87 , 117 , 179 , 88 , 120 , 182 , & 90 , 125 , 186 , 91 , 128 , 188 , 93 , 133 , 192 , 94 , 136 , 194 , & 96 , 141 , 198 , 98 , 146 , 201 , 99 , 149 , 204 , 101 , 154 , 207 , & 102 , 158 , 210 , 104 , 163 , 213 , 106 , 168 , 217 , 107 , 172 , 219 , & 109 , 177 , 222 , 111 , 181 , 225 , 113 , 186 , 228 , 114 , 190 , 230 , & 116 , 196 , 234 , 118 , 201 , 237 , 120 , 205 , 240 , 122 , 211 , 243 , & 123 , 215 , 245 , 125 , 221 , 249 , 126 , 225 , 251 , 129 , 231 , 255 & ], shape ( managua100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: managua25 = reshape ( [ & 255 , 207 , 103 , 241 , 185 , 96 , 229 , 166 , 89 , 216 , 147 , 83 , & 203 , 129 , 77 , 190 , 113 , 72 , 177 , 98 , 67 , 163 , 84 , 63 , & 146 , 70 , 59 , 129 , 57 , 57 , 113 , 47 , 58 , 98 , 41 , 63 , & 87 , 41 , 73 , 80 , 46 , 88 , 76 , 57 , 107 , 76 , 69 , 127 , & 78 , 85 , 147 , 82 , 102 , 165 , 87 , 117 , 179 , 93 , 134 , 193 , & 100 , 152 , 206 , 107 , 170 , 218 , 114 , 190 , 230 , 121 , 209 , 242 , & 129 , 231 , 255 & ], shape ( managua25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: managua50 = reshape ( [ & 255 , 207 , 103 , 249 , 197 , 100 , 243 , 187 , 96 , 235 , 176 , 93 , & 229 , 166 , 89 , 223 , 157 , 86 , 217 , 149 , 84 , 211 , 140 , 81 , & 204 , 130 , 77 , 198 , 123 , 75 , 192 , 115 , 72 , 185 , 108 , 70 , & 179 , 100 , 68 , 171 , 92 , 65 , 164 , 85 , 63 , 157 , 79 , 61 , & 149 , 72 , 60 , 142 , 66 , 58 , 132 , 59 , 57 , 124 , 54 , 57 , & 116 , 49 , 57 , 109 , 45 , 58 , 102 , 42 , 61 , 95 , 41 , 65 , & 90 , 40 , 70 , 85 , 42 , 76 , 82 , 44 , 83 , 79 , 49 , 93 , & 77 , 53 , 102 , 76 , 59 , 111 , 76 , 65 , 121 , 76 , 72 , 131 , & 77 , 81 , 142 , 79 , 88 , 151 , 81 , 96 , 159 , 83 , 103 , 167 , & 85 , 111 , 174 , 88 , 120 , 182 , 91 , 128 , 188 , 94 , 136 , 194 , & 97 , 144 , 200 , 100 , 152 , 206 , 104 , 163 , 213 , 107 , 172 , 219 , & 111 , 181 , 225 , 114 , 190 , 230 , 118 , 199 , 236 , 122 , 211 , 243 , & 125 , 221 , 249 , 129 , 231 , 255 & ], shape ( managua50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: navia = reshape ( [ & 3 , 19 , 39 , 4 , 21 , 41 , 4 , 22 , 43 , 4 , 23 , 44 , & 4 , 24 , 46 , 4 , 25 , 48 , 5 , 26 , 50 , 5 , 27 , 52 , & 5 , 28 , 54 , 5 , 29 , 56 , 5 , 30 , 58 , 5 , 32 , 60 , & 5 , 33 , 62 , 5 , 34 , 64 , 5 , 35 , 66 , 5 , 36 , 68 , & 5 , 37 , 70 , 5 , 38 , 72 , 6 , 40 , 74 , 6 , 41 , 76 , & 6 , 42 , 78 , 6 , 43 , 80 , 6 , 44 , 82 , 6 , 46 , 84 , & 6 , 47 , 86 , 6 , 48 , 88 , 6 , 49 , 90 , 7 , 50 , 92 , & 7 , 52 , 94 , 7 , 53 , 96 , 7 , 54 , 98 , 7 , 55 , 100 , & 7 , 57 , 102 , 8 , 58 , 104 , 8 , 59 , 106 , 8 , 60 , 107 , & 8 , 62 , 109 , 9 , 63 , 111 , 9 , 64 , 113 , 10 , 65 , 115 , & 10 , 67 , 116 , 11 , 68 , 118 , 11 , 69 , 120 , 11 , 70 , 121 , & 12 , 72 , 123 , 13 , 73 , 125 , 13 , 74 , 126 , 14 , 76 , 128 , & 14 , 77 , 129 , 15 , 78 , 130 , 16 , 79 , 132 , 16 , 81 , 133 , & 17 , 82 , 134 , 18 , 83 , 135 , 19 , 84 , 136 , 19 , 86 , 137 , & 20 , 87 , 138 , 21 , 88 , 139 , 22 , 89 , 140 , 23 , 90 , 141 , & 23 , 92 , 141 , 24 , 93 , 142 , 25 , 94 , 142 , 26 , 95 , 143 , & 27 , 96 , 143 , 27 , 97 , 144 , 28 , 98 , 144 , 29 , 99 , 144 , & 30 , 100 , 145 , 30 , 101 , 145 , 31 , 102 , 145 , 32 , 103 , 145 , & 32 , 104 , 145 , 33 , 105 , 145 , 34 , 106 , 145 , 34 , 107 , 145 , & 35 , 108 , 145 , 36 , 108 , 145 , 36 , 109 , 145 , 37 , 110 , 144 , & 38 , 111 , 144 , 38 , 111 , 144 , 39 , 112 , 144 , 39 , 113 , 143 , & 40 , 113 , 143 , 40 , 114 , 143 , 41 , 115 , 143 , 42 , 115 , 142 , & 42 , 116 , 142 , 43 , 117 , 142 , 43 , 117 , 141 , 44 , 118 , 141 , & 44 , 118 , 141 , 45 , 119 , 140 , 45 , 120 , 140 , 46 , 120 , 140 , & 47 , 121 , 139 , 47 , 121 , 139 , 48 , 122 , 139 , 48 , 122 , 138 , & 49 , 123 , 138 , 49 , 124 , 138 , 50 , 124 , 137 , 50 , 125 , 137 , & 51 , 125 , 137 , 52 , 126 , 136 , 52 , 126 , 136 , 53 , 127 , 136 , & 53 , 127 , 135 , 54 , 128 , 135 , 54 , 128 , 134 , 55 , 129 , 134 , & 55 , 129 , 134 , 56 , 130 , 133 , 57 , 131 , 133 , 57 , 131 , 133 , & 58 , 132 , 132 , 58 , 132 , 132 , 59 , 133 , 132 , 60 , 133 , 131 , & 60 , 134 , 131 , 61 , 134 , 130 , 61 , 135 , 130 , 62 , 136 , 130 , & 63 , 136 , 129 , 63 , 137 , 129 , 64 , 137 , 129 , 64 , 138 , 128 , & 65 , 138 , 128 , 66 , 139 , 127 , 66 , 140 , 127 , 67 , 140 , 127 , & 68 , 141 , 126 , 68 , 141 , 126 , 69 , 142 , 125 , 70 , 143 , 125 , & 71 , 143 , 125 , 71 , 144 , 124 , 72 , 145 , 124 , 73 , 145 , 123 , & 73 , 146 , 123 , 74 , 147 , 122 , 75 , 147 , 122 , 76 , 148 , 122 , & 76 , 149 , 121 , 77 , 149 , 121 , 78 , 150 , 120 , 79 , 151 , 120 , & 80 , 152 , 119 , 80 , 152 , 119 , 81 , 153 , 118 , 82 , 154 , 118 , & 83 , 155 , 117 , 84 , 155 , 117 , 85 , 156 , 116 , 86 , 157 , 116 , & 87 , 158 , 115 , 87 , 159 , 115 , 88 , 160 , 114 , 89 , 160 , 114 , & 90 , 161 , 113 , 91 , 162 , 113 , 92 , 163 , 112 , 93 , 164 , 112 , & 94 , 165 , 111 , 95 , 166 , 111 , 96 , 167 , 110 , 98 , 168 , 110 , & 99 , 169 , 109 , 100 , 170 , 109 , 101 , 171 , 108 , 102 , 172 , 108 , & 103 , 173 , 107 , 105 , 174 , 107 , 106 , 175 , 106 , 107 , 176 , 106 , & 109 , 177 , 105 , 110 , 178 , 105 , 112 , 179 , 105 , 113 , 180 , 105 , & 115 , 181 , 104 , 116 , 182 , 104 , 118 , 183 , 104 , 120 , 185 , 104 , & 121 , 186 , 104 , 123 , 187 , 104 , 125 , 188 , 104 , 127 , 189 , 104 , & 129 , 191 , 104 , 131 , 192 , 104 , 133 , 193 , 105 , 135 , 194 , 105 , & 137 , 195 , 106 , 140 , 197 , 106 , 142 , 198 , 107 , 144 , 199 , 108 , & 147 , 200 , 109 , 149 , 202 , 110 , 152 , 203 , 111 , 154 , 204 , 112 , & 156 , 205 , 114 , 159 , 206 , 115 , 162 , 207 , 116 , 164 , 209 , 118 , & 167 , 210 , 120 , 169 , 211 , 121 , 172 , 212 , 123 , 174 , 213 , 125 , & 177 , 214 , 127 , 179 , 215 , 129 , 181 , 216 , 131 , 184 , 217 , 133 , & 186 , 218 , 135 , 188 , 219 , 137 , 191 , 220 , 139 , 193 , 220 , 141 , & 195 , 221 , 144 , 197 , 222 , 146 , 199 , 223 , 148 , 201 , 224 , 150 , & 203 , 224 , 152 , 205 , 225 , 155 , 207 , 226 , 157 , 209 , 227 , 159 , & 211 , 227 , 161 , 213 , 228 , 163 , 215 , 229 , 165 , 216 , 229 , 168 , & 218 , 230 , 170 , 220 , 231 , 172 , 221 , 231 , 174 , 223 , 232 , 176 , & 224 , 232 , 178 , 226 , 233 , 180 , 227 , 234 , 182 , 229 , 234 , 184 , & 230 , 235 , 186 , 232 , 235 , 188 , 233 , 236 , 190 , 234 , 237 , 191 , & 235 , 237 , 193 , 237 , 238 , 195 , 238 , 238 , 197 , 239 , 239 , 198 , & 240 , 239 , 200 , 241 , 240 , 202 , 243 , 240 , 203 , 244 , 241 , 205 , & 245 , 241 , 207 , 246 , 242 , 208 , 247 , 242 , 210 , 248 , 243 , 211 , & 249 , 243 , 213 , 250 , 243 , 214 , 251 , 244 , 215 , 252 , 244 , 217 & ], shape ( navia ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: navia10 = reshape ( [ & 3 , 19 , 39 , 7 , 52 , 94 , 21 , 88 , 139 , 40 , 114 , 143 , & 56 , 130 , 133 , 75 , 147 , 122 , 101 , 171 , 108 , 152 , 203 , 111 , & 216 , 229 , 168 , 252 , 244 , 217 & ], shape ( navia10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: navia100 = reshape ( [ & 3 , 19 , 39 , 4 , 23 , 44 , 4 , 25 , 48 , 5 , 28 , 54 , & 5 , 30 , 58 , 5 , 34 , 64 , 5 , 36 , 68 , 6 , 40 , 74 , & 6 , 43 , 80 , 6 , 46 , 84 , 6 , 49 , 90 , 7 , 52 , 94 , & 7 , 55 , 100 , 8 , 58 , 104 , 8 , 62 , 109 , 10 , 65 , 115 , & 11 , 68 , 118 , 12 , 72 , 123 , 13 , 74 , 126 , 15 , 78 , 130 , & 17 , 82 , 134 , 19 , 84 , 136 , 21 , 88 , 139 , 23 , 90 , 141 , & 25 , 94 , 142 , 27 , 96 , 143 , 29 , 99 , 144 , 31 , 102 , 145 , & 32 , 104 , 145 , 34 , 107 , 145 , 36 , 108 , 145 , 38 , 111 , 144 , & 39 , 112 , 144 , 40 , 114 , 143 , 42 , 116 , 142 , 43 , 117 , 141 , & 45 , 119 , 140 , 46 , 120 , 140 , 48 , 122 , 139 , 49 , 123 , 138 , & 50 , 125 , 137 , 52 , 126 , 136 , 53 , 127 , 135 , 55 , 129 , 134 , & 56 , 130 , 133 , 58 , 132 , 132 , 59 , 133 , 132 , 61 , 134 , 130 , & 63 , 136 , 129 , 64 , 137 , 129 , 66 , 139 , 127 , 67 , 140 , 127 , & 69 , 142 , 125 , 71 , 144 , 124 , 73 , 145 , 123 , 75 , 147 , 122 , & 76 , 149 , 121 , 79 , 151 , 120 , 80 , 152 , 119 , 83 , 155 , 117 , & 86 , 157 , 116 , 87 , 159 , 115 , 90 , 161 , 113 , 92 , 163 , 112 , & 95 , 166 , 111 , 98 , 168 , 110 , 101 , 171 , 108 , 105 , 174 , 107 , & 107 , 176 , 106 , 112 , 179 , 105 , 115 , 181 , 104 , 120 , 185 , 104 , & 123 , 187 , 104 , 129 , 191 , 104 , 135 , 194 , 105 , 140 , 197 , 106 , & 147 , 200 , 109 , 152 , 203 , 111 , 159 , 206 , 115 , 164 , 209 , 118 , & 172 , 212 , 123 , 179 , 215 , 129 , 184 , 217 , 133 , 191 , 220 , 139 , & 195 , 221 , 144 , 201 , 224 , 150 , 207 , 226 , 157 , 211 , 227 , 161 , & 216 , 229 , 168 , 220 , 231 , 172 , 224 , 232 , 178 , 227 , 234 , 182 , & 232 , 235 , 188 , 235 , 237 , 193 , 238 , 238 , 197 , 241 , 240 , 202 , & 244 , 241 , 205 , 247 , 242 , 210 , 249 , 243 , 213 , 252 , 244 , 217 & ], shape ( navia100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: navia25 = reshape ( [ & 3 , 19 , 39 , 5 , 32 , 60 , 6 , 43 , 80 , 7 , 57 , 102 , & 11 , 70 , 121 , 18 , 83 , 135 , 27 , 96 , 143 , 34 , 106 , 145 , & 40 , 114 , 143 , 47 , 121 , 139 , 52 , 126 , 136 , 58 , 132 , 132 , & 65 , 138 , 128 , 72 , 145 , 124 , 80 , 152 , 119 , 89 , 160 , 114 , & 101 , 171 , 108 , 116 , 182 , 104 , 135 , 194 , 105 , 162 , 207 , 116 , & 188 , 219 , 137 , 209 , 227 , 159 , 227 , 234 , 182 , 240 , 239 , 200 , & 252 , 244 , 217 & ], shape ( navia25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: navia50 = reshape ( [ & 3 , 19 , 39 , 4 , 25 , 48 , 5 , 30 , 58 , 5 , 37 , 70 , & 6 , 43 , 80 , 6 , 49 , 90 , 7 , 55 , 100 , 8 , 62 , 109 , & 11 , 69 , 120 , 14 , 76 , 128 , 17 , 82 , 134 , 21 , 88 , 139 , & 25 , 94 , 142 , 30 , 100 , 145 , 33 , 105 , 145 , 36 , 109 , 145 , & 39 , 113 , 143 , 42 , 116 , 142 , 45 , 120 , 140 , 48 , 122 , 138 , & 51 , 125 , 137 , 54 , 128 , 135 , 57 , 131 , 133 , 60 , 134 , 131 , & 63 , 137 , 129 , 66 , 140 , 127 , 70 , 143 , 125 , 74 , 147 , 122 , & 78 , 150 , 120 , 82 , 154 , 118 , 87 , 158 , 115 , 91 , 162 , 113 , & 98 , 168 , 110 , 103 , 173 , 107 , 110 , 178 , 105 , 118 , 183 , 104 , & 127 , 189 , 104 , 140 , 197 , 106 , 152 , 203 , 111 , 164 , 209 , 118 , & 177 , 214 , 127 , 188 , 219 , 137 , 201 , 224 , 150 , 211 , 227 , 161 , & 220 , 231 , 172 , 227 , 234 , 182 , 234 , 237 , 191 , 241 , 240 , 202 , & 247 , 242 , 210 , 252 , 244 , 217 & ], shape ( navia50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: naviaS = reshape ( [ & 3 , 19 , 39 , 252 , 244 , 217 , 65 , 138 , 128 , 27 , 96 , 143 , & 135 , 194 , 105 , 7 , 57 , 102 , 209 , 227 , 159 , 47 , 121 , 139 , & 89 , 160 , 114 , 234 , 237 , 191 , 5 , 37 , 70 , 14 , 77 , 129 , & 38 , 111 , 144 , 174 , 213 , 125 , 107 , 176 , 106 , 55 , 129 , 134 , & 76 , 149 , 121 , 32 , 104 , 145 , 5 , 28 , 54 , 10 , 67 , 116 , & 6 , 47 , 86 , 51 , 125 , 137 , 193 , 220 , 141 , 244 , 241 , 205 , & 98 , 168 , 110 , 154 , 204 , 112 , 42 , 116 , 142 , 71 , 143 , 125 , & 60 , 134 , 131 , 223 , 232 , 176 , 120 , 185 , 104 , 20 , 87 , 138 , & 83 , 155 , 117 , 23 , 92 , 141 , 239 , 239 , 198 , 4 , 24 , 46 , & 73 , 146 , 123 , 216 , 229 , 168 , 12 , 72 , 123 , 53 , 127 , 135 , & 40 , 113 , 143 , 93 , 164 , 112 , 184 , 217 , 133 , 49 , 123 , 138 , & 102 , 172 , 108 , 248 , 243 , 211 , 144 , 199 , 108 , 127 , 189 , 104 , & 229 , 234 , 184 , 7 , 52 , 94 , 68 , 141 , 126 , 80 , 152 , 119 , & 113 , 180 , 105 , 58 , 132 , 132 , 17 , 82 , 134 , 5 , 33 , 62 , & 6 , 42 , 78 , 30 , 100 , 145 , 201 , 224 , 150 , 164 , 209 , 118 , & 35 , 108 , 145 , 8 , 62 , 109 , 63 , 136 , 129 , 44 , 118 , 141 , & 87 , 158 , 115 , 43 , 117 , 141 , 5 , 35 , 66 , 59 , 133 , 132 , & 57 , 131 , 133 , 39 , 112 , 144 , 232 , 235 , 188 , 69 , 142 , 125 , & 123 , 187 , 104 , 105 , 174 , 107 , 188 , 219 , 137 , 22 , 89 , 140 , & 159 , 206 , 115 , 48 , 122 , 139 , 5 , 30 , 58 , 213 , 228 , 163 , & 246 , 242 , 208 , 7 , 54 , 98 , 66 , 140 , 127 , 140 , 197 , 106 , & 6 , 49 , 90 , 5 , 26 , 50 , 54 , 128 , 134 , 11 , 69 , 120 , & 241 , 240 , 202 , 226 , 233 , 180 , 220 , 231 , 172 , 250 , 243 , 214 , & 91 , 162 , 113 , 95 , 166 , 111 , 36 , 109 , 145 , 6 , 44 , 82 , & 52 , 126 , 136 , 72 , 145 , 124 , 75 , 147 , 122 , 131 , 192 , 104 & ], shape ( naviaS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: naviaW = reshape ( [ & 4 , 20 , 39 , 4 , 21 , 41 , 4 , 22 , 43 , 4 , 23 , 45 , & 5 , 25 , 47 , 5 , 26 , 49 , 5 , 27 , 51 , 5 , 28 , 53 , & 5 , 29 , 55 , 5 , 30 , 57 , 5 , 32 , 59 , 5 , 33 , 61 , & 6 , 34 , 63 , 6 , 35 , 65 , 6 , 36 , 67 , 6 , 38 , 69 , & 6 , 39 , 71 , 6 , 40 , 74 , 6 , 41 , 76 , 7 , 43 , 78 , & 7 , 44 , 80 , 7 , 45 , 82 , 7 , 47 , 84 , 7 , 48 , 86 , & 8 , 49 , 88 , 8 , 50 , 90 , 8 , 52 , 92 , 8 , 53 , 94 , & 9 , 54 , 96 , 9 , 56 , 98 , 9 , 57 , 100 , 10 , 58 , 102 , & 10 , 60 , 104 , 10 , 61 , 106 , 11 , 62 , 107 , 11 , 64 , 109 , & 12 , 65 , 111 , 12 , 66 , 113 , 13 , 68 , 114 , 14 , 69 , 116 , & 14 , 70 , 118 , 15 , 72 , 119 , 15 , 73 , 121 , 16 , 74 , 122 , & 17 , 76 , 124 , 17 , 77 , 125 , 18 , 78 , 127 , 19 , 80 , 128 , & 20 , 81 , 129 , 20 , 82 , 130 , 21 , 84 , 131 , 22 , 85 , 132 , & 23 , 86 , 134 , 24 , 88 , 134 , 24 , 89 , 135 , 25 , 90 , 136 , & 26 , 91 , 137 , 27 , 93 , 138 , 28 , 94 , 139 , 28 , 95 , 139 , & 29 , 96 , 140 , 30 , 97 , 140 , 31 , 98 , 141 , 32 , 100 , 141 , & 32 , 101 , 142 , 33 , 102 , 142 , 34 , 103 , 142 , 35 , 104 , 142 , & 35 , 105 , 143 , 36 , 106 , 143 , 37 , 107 , 143 , 38 , 108 , 143 , & 38 , 109 , 143 , 39 , 109 , 143 , 40 , 110 , 143 , 40 , 111 , 143 , & 41 , 112 , 143 , 42 , 113 , 143 , 42 , 114 , 143 , 43 , 114 , 143 , & 43 , 115 , 142 , 44 , 116 , 142 , 45 , 117 , 142 , 45 , 117 , 142 , & 46 , 118 , 142 , 46 , 119 , 141 , 47 , 119 , 141 , 48 , 120 , 141 , & 48 , 121 , 141 , 49 , 121 , 140 , 49 , 122 , 140 , 50 , 123 , 140 , & 51 , 123 , 140 , 51 , 124 , 139 , 52 , 125 , 139 , 52 , 125 , 139 , & 53 , 126 , 138 , 54 , 126 , 138 , 54 , 127 , 138 , 55 , 128 , 137 , & 55 , 128 , 137 , 56 , 129 , 137 , 56 , 129 , 136 , 57 , 130 , 136 , & 58 , 131 , 136 , 58 , 131 , 135 , 59 , 132 , 135 , 60 , 132 , 135 , & 60 , 133 , 134 , 61 , 134 , 134 , 61 , 134 , 134 , 62 , 135 , 133 , & 63 , 135 , 133 , 63 , 136 , 133 , 64 , 137 , 132 , 65 , 137 , 132 , & 65 , 138 , 131 , 66 , 138 , 131 , 67 , 139 , 131 , 67 , 140 , 130 , & 68 , 140 , 130 , 69 , 141 , 130 , 69 , 142 , 129 , 70 , 142 , 129 , & 71 , 143 , 128 , 72 , 144 , 128 , 72 , 144 , 128 , 73 , 145 , 127 , & 74 , 146 , 127 , 75 , 146 , 126 , 75 , 147 , 126 , 76 , 148 , 126 , & 77 , 149 , 125 , 78 , 149 , 125 , 79 , 150 , 124 , 80 , 151 , 124 , & 80 , 152 , 124 , 81 , 153 , 123 , 82 , 153 , 123 , 83 , 154 , 122 , & 84 , 155 , 122 , 85 , 156 , 121 , 86 , 157 , 121 , 87 , 157 , 120 , & 88 , 158 , 120 , 89 , 159 , 120 , 90 , 160 , 119 , 91 , 161 , 119 , & 92 , 162 , 118 , 93 , 163 , 118 , 94 , 164 , 117 , 95 , 165 , 117 , & 96 , 166 , 117 , 98 , 167 , 116 , 99 , 168 , 116 , 100 , 169 , 115 , & 101 , 170 , 115 , 103 , 171 , 115 , 104 , 172 , 114 , 105 , 173 , 114 , & 107 , 174 , 114 , 108 , 175 , 113 , 110 , 176 , 113 , 111 , 178 , 113 , & 113 , 179 , 113 , 114 , 180 , 113 , 116 , 181 , 113 , 118 , 182 , 113 , & 119 , 184 , 113 , 121 , 185 , 113 , 123 , 186 , 113 , 125 , 188 , 113 , & 127 , 189 , 113 , 129 , 190 , 114 , 131 , 192 , 114 , 133 , 193 , 114 , & 135 , 194 , 115 , 137 , 196 , 116 , 140 , 197 , 116 , 142 , 198 , 117 , & 144 , 200 , 118 , 147 , 201 , 119 , 149 , 203 , 120 , 152 , 204 , 121 , & 154 , 205 , 123 , 157 , 207 , 124 , 159 , 208 , 125 , 162 , 210 , 127 , & 164 , 211 , 129 , 167 , 212 , 130 , 169 , 214 , 132 , 172 , 215 , 134 , & 175 , 216 , 136 , 177 , 217 , 138 , 180 , 219 , 140 , 182 , 220 , 142 , & 185 , 221 , 144 , 187 , 222 , 147 , 190 , 223 , 149 , 192 , 225 , 151 , & 194 , 226 , 154 , 197 , 227 , 156 , 199 , 228 , 158 , 201 , 229 , 161 , & 203 , 230 , 163 , 205 , 231 , 166 , 207 , 232 , 168 , 209 , 232 , 171 , & 211 , 233 , 173 , 213 , 234 , 175 , 215 , 235 , 178 , 216 , 236 , 180 , & 218 , 236 , 182 , 219 , 237 , 185 , 221 , 238 , 187 , 222 , 238 , 189 , & 224 , 239 , 191 , 225 , 240 , 194 , 227 , 240 , 196 , 228 , 241 , 198 , & 229 , 241 , 200 , 230 , 242 , 202 , 231 , 243 , 204 , 232 , 243 , 206 , & 233 , 244 , 208 , 234 , 244 , 210 , 235 , 245 , 212 , 236 , 245 , 213 , & 237 , 245 , 215 , 238 , 246 , 217 , 239 , 246 , 219 , 240 , 247 , 220 , & 241 , 247 , 222 , 241 , 248 , 224 , 242 , 248 , 225 , 243 , 248 , 227 , & 243 , 249 , 228 , 244 , 249 , 230 , 245 , 249 , 231 , 246 , 250 , 233 , & 246 , 250 , 234 , 247 , 250 , 236 , 247 , 251 , 237 , 248 , 251 , 238 , & 249 , 251 , 240 , 249 , 252 , 241 , 250 , 252 , 242 , 250 , 252 , 243 , & 251 , 253 , 245 , 251 , 253 , 246 , 252 , 253 , 247 , 252 , 253 , 248 , & 253 , 254 , 249 , 253 , 254 , 251 , 254 , 254 , 252 , 254 , 254 , 253 & ], shape ( naviaW ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: naviaW10 = reshape ( [ & 4 , 20 , 39 , 9 , 54 , 96 , 27 , 93 , 138 , 46 , 119 , 141 , & 63 , 136 , 133 , 86 , 157 , 121 , 123 , 186 , 113 , 190 , 223 , 149 , & 236 , 245 , 213 , 254 , 254 , 253 & ], shape ( naviaW10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: naviaW100 = reshape ( [ & 4 , 20 , 39 , 4 , 23 , 45 , 5 , 26 , 49 , 5 , 29 , 55 , & 5 , 32 , 59 , 6 , 35 , 65 , 6 , 38 , 69 , 6 , 41 , 76 , & 7 , 45 , 82 , 7 , 48 , 86 , 8 , 52 , 92 , 9 , 54 , 96 , & 10 , 58 , 102 , 10 , 61 , 106 , 12 , 65 , 111 , 14 , 69 , 116 , & 15 , 72 , 119 , 17 , 76 , 124 , 18 , 78 , 127 , 20 , 82 , 130 , & 23 , 86 , 134 , 24 , 89 , 135 , 27 , 93 , 138 , 28 , 95 , 139 , & 31 , 98 , 141 , 32 , 101 , 142 , 35 , 104 , 142 , 37 , 107 , 143 , & 38 , 109 , 143 , 40 , 111 , 143 , 42 , 113 , 143 , 43 , 115 , 142 , & 45 , 117 , 142 , 46 , 119 , 141 , 48 , 121 , 141 , 49 , 122 , 140 , & 51 , 124 , 139 , 52 , 125 , 139 , 54 , 127 , 138 , 55 , 128 , 137 , & 57 , 130 , 136 , 59 , 132 , 135 , 60 , 133 , 134 , 62 , 135 , 133 , & 63 , 136 , 133 , 65 , 138 , 131 , 67 , 139 , 131 , 69 , 141 , 130 , & 71 , 143 , 128 , 72 , 144 , 128 , 75 , 146 , 126 , 76 , 148 , 126 , & 79 , 150 , 124 , 81 , 153 , 123 , 83 , 154 , 122 , 86 , 157 , 121 , & 88 , 158 , 120 , 91 , 161 , 119 , 93 , 163 , 118 , 96 , 166 , 117 , & 100 , 169 , 115 , 103 , 171 , 115 , 107 , 174 , 114 , 110 , 176 , 113 , & 114 , 180 , 113 , 118 , 182 , 113 , 123 , 186 , 113 , 129 , 190 , 114 , & 133 , 193 , 114 , 140 , 197 , 116 , 144 , 200 , 118 , 152 , 204 , 121 , & 157 , 207 , 124 , 164 , 211 , 129 , 172 , 215 , 134 , 177 , 217 , 138 , & 185 , 221 , 144 , 190 , 223 , 149 , 197 , 227 , 156 , 201 , 229 , 161 , & 207 , 232 , 168 , 213 , 234 , 175 , 216 , 236 , 180 , 221 , 238 , 187 , & 224 , 239 , 191 , 228 , 241 , 198 , 231 , 243 , 204 , 233 , 244 , 208 , & 236 , 245 , 213 , 238 , 246 , 217 , 241 , 247 , 222 , 242 , 248 , 225 , & 244 , 249 , 230 , 246 , 250 , 234 , 247 , 251 , 237 , 249 , 252 , 241 , & 250 , 252 , 243 , 252 , 253 , 247 , 253 , 254 , 249 , 254 , 254 , 253 & ], shape ( naviaW100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: naviaW25 = reshape ( [ & 4 , 20 , 39 , 5 , 33 , 61 , 7 , 45 , 82 , 10 , 60 , 104 , & 16 , 74 , 122 , 24 , 88 , 134 , 32 , 101 , 142 , 40 , 110 , 143 , & 46 , 119 , 141 , 53 , 126 , 138 , 59 , 132 , 135 , 66 , 138 , 131 , & 74 , 146 , 127 , 82 , 153 , 123 , 93 , 163 , 118 , 105 , 173 , 114 , & 123 , 186 , 113 , 147 , 201 , 119 , 172 , 215 , 134 , 199 , 228 , 158 , & 219 , 237 , 185 , 232 , 243 , 206 , 242 , 248 , 225 , 249 , 251 , 240 , & 254 , 254 , 253 & ], shape ( naviaW25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: naviaW50 = reshape ( [ & 4 , 20 , 39 , 5 , 26 , 49 , 5 , 32 , 59 , 6 , 39 , 71 , & 7 , 45 , 82 , 8 , 52 , 92 , 10 , 58 , 102 , 12 , 65 , 111 , & 15 , 73 , 121 , 19 , 80 , 128 , 23 , 86 , 134 , 27 , 93 , 138 , & 31 , 98 , 141 , 35 , 105 , 143 , 39 , 109 , 143 , 42 , 114 , 143 , & 45 , 117 , 142 , 48 , 121 , 141 , 52 , 125 , 139 , 55 , 128 , 137 , & 58 , 131 , 136 , 61 , 134 , 134 , 64 , 137 , 132 , 68 , 140 , 130 , & 72 , 144 , 128 , 75 , 147 , 126 , 80 , 151 , 124 , 85 , 156 , 121 , & 90 , 160 , 119 , 95 , 165 , 117 , 101 , 170 , 115 , 108 , 175 , 113 , & 118 , 182 , 113 , 127 , 189 , 113 , 137 , 196 , 116 , 149 , 203 , 120 , & 162 , 210 , 127 , 177 , 217 , 138 , 190 , 223 , 149 , 201 , 229 , 161 , & 211 , 233 , 173 , 219 , 237 , 185 , 228 , 241 , 198 , 233 , 244 , 208 , & 238 , 246 , 217 , 242 , 248 , 225 , 246 , 250 , 233 , 249 , 252 , 241 , & 252 , 253 , 247 , 254 , 254 , 253 & ], shape ( naviaW50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: naviaWS = reshape ( [ & 4 , 20 , 39 , 251 , 253 , 246 , 72 , 144 , 128 , 31 , 98 , 141 , & 162 , 210 , 127 , 227 , 240 , 196 , 10 , 58 , 102 , 52 , 125 , 139 , & 101 , 170 , 115 , 42 , 114 , 143 , 6 , 39 , 71 , 85 , 156 , 121 , & 19 , 80 , 128 , 242 , 248 , 225 , 61 , 134 , 134 , 201 , 229 , 161 , & 127 , 189 , 113 , 47 , 119 , 141 , 37 , 107 , 143 , 182 , 220 , 142 , & 66 , 138 , 131 , 235 , 245 , 212 , 5 , 29 , 55 , 14 , 69 , 116 , & 113 , 179 , 113 , 78 , 149 , 125 , 93 , 163 , 118 , 8 , 49 , 88 , & 247 , 250 , 236 , 142 , 198 , 117 , 56 , 129 , 137 , 215 , 235 , 178 , & 24 , 89 , 135 , 11 , 64 , 109 , 28 , 94 , 139 , 40 , 110 , 143 , & 69 , 141 , 130 , 6 , 34 , 63 , 239 , 246 , 219 , 231 , 243 , 204 , & 75 , 146 , 126 , 81 , 153 , 123 , 49 , 122 , 140 , 221 , 238 , 187 , & 58 , 131 , 135 , 7 , 44 , 80 , 172 , 215 , 134 , 63 , 136 , 133 , & 34 , 103 , 142 , 89 , 159 , 120 , 5 , 25 , 47 , 16 , 74 , 122 , & 249 , 252 , 241 , 192 , 225 , 151 , 119 , 184 , 113 , 45 , 117 , 142 , & 152 , 204 , 121 , 107 , 174 , 114 , 8 , 53 , 94 , 54 , 126 , 138 , & 207 , 232 , 168 , 135 , 194 , 115 , 98 , 167 , 116 , 22 , 85 , 132 , & 244 , 249 , 230 , 17 , 77 , 125 , 123 , 186 , 113 , 20 , 82 , 130 , & 51 , 123 , 140 , 104 , 172 , 114 , 187 , 222 , 147 , 6 , 41 , 76 , & 241 , 247 , 222 , 177 , 217 , 138 , 67 , 140 , 130 , 60 , 132 , 135 , & 62 , 135 , 133 , 38 , 109 , 143 , 76 , 148 , 126 , 73 , 145 , 127 , & 218 , 236 , 182 , 197 , 227 , 156 , 95 , 165 , 117 , 43 , 115 , 142 , & 211 , 233 , 173 , 70 , 142 , 129 , 35 , 105 , 143 , 246 , 250 , 233 , & 229 , 241 , 200 , 80 , 151 , 124 , 87 , 157 , 120 , 83 , 154 , 122 , & 10 , 61 , 106 , 26 , 91 , 137 , 55 , 128 , 137 , 12 , 66 , 113 , & 224 , 239 , 191 , 7 , 47 , 84 , 15 , 72 , 119 , 6 , 36 , 67 & ], shape ( naviaWS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: nuuk = reshape ( [ & 5 , 89 , 140 , 7 , 90 , 140 , 9 , 90 , 140 , 11 , 90 , 139 , & 13 , 91 , 139 , 14 , 91 , 139 , 16 , 91 , 138 , 17 , 91 , 138 , & 19 , 92 , 137 , 20 , 92 , 137 , 21 , 92 , 137 , 23 , 92 , 136 , & 24 , 93 , 136 , 25 , 93 , 136 , 26 , 93 , 135 , 27 , 94 , 135 , & 28 , 94 , 135 , 30 , 94 , 134 , 31 , 95 , 134 , 32 , 95 , 134 , & 33 , 95 , 134 , 34 , 96 , 133 , 35 , 96 , 133 , 36 , 96 , 133 , & 37 , 97 , 133 , 38 , 97 , 132 , 39 , 97 , 132 , 40 , 98 , 132 , & 41 , 98 , 132 , 42 , 99 , 131 , 43 , 99 , 131 , 44 , 99 , 131 , & 45 , 100 , 131 , 46 , 100 , 131 , 47 , 101 , 131 , 48 , 101 , 130 , & 50 , 102 , 130 , 51 , 102 , 130 , 52 , 103 , 130 , 53 , 103 , 130 , & 54 , 104 , 130 , 55 , 104 , 130 , 56 , 105 , 130 , 57 , 105 , 130 , & 59 , 106 , 130 , 60 , 106 , 130 , 61 , 107 , 130 , 62 , 108 , 130 , & 63 , 108 , 130 , 64 , 109 , 130 , 66 , 109 , 130 , 67 , 110 , 130 , & 68 , 111 , 130 , 69 , 111 , 130 , 70 , 112 , 131 , 72 , 113 , 131 , & 73 , 113 , 131 , 74 , 114 , 131 , 75 , 115 , 131 , 77 , 115 , 132 , & 78 , 116 , 132 , 79 , 117 , 132 , 81 , 117 , 132 , 82 , 118 , 133 , & 83 , 119 , 133 , 85 , 120 , 133 , 86 , 120 , 134 , 87 , 121 , 134 , & 88 , 122 , 134 , 90 , 122 , 135 , 91 , 123 , 135 , 92 , 124 , 135 , & 94 , 125 , 136 , 95 , 125 , 136 , 96 , 126 , 136 , 98 , 127 , 137 , & 99 , 128 , 137 , 100 , 129 , 138 , 102 , 129 , 138 , 103 , 130 , 138 , & 104 , 131 , 139 , 106 , 132 , 139 , 107 , 132 , 140 , 108 , 133 , 140 , & 110 , 134 , 140 , 111 , 135 , 141 , 112 , 135 , 141 , 114 , 136 , 142 , & 115 , 137 , 142 , 116 , 138 , 143 , 118 , 139 , 143 , 119 , 139 , 143 , & 120 , 140 , 144 , 121 , 141 , 144 , 123 , 142 , 145 , 124 , 142 , 145 , & 125 , 143 , 145 , 127 , 144 , 146 , 128 , 145 , 146 , 129 , 145 , 146 , & 130 , 146 , 147 , 132 , 147 , 147 , 133 , 148 , 147 , 134 , 148 , 148 , & 135 , 149 , 148 , 137 , 150 , 148 , 138 , 151 , 149 , 139 , 151 , 149 , & 140 , 152 , 149 , 141 , 153 , 150 , 142 , 154 , 150 , 144 , 154 , 150 , & 145 , 155 , 150 , 146 , 156 , 150 , 147 , 156 , 151 , 148 , 157 , 151 , & 149 , 158 , 151 , 150 , 158 , 151 , 151 , 159 , 151 , 152 , 160 , 151 , & 153 , 160 , 151 , 154 , 161 , 152 , 155 , 162 , 152 , 156 , 162 , 152 , & 157 , 163 , 152 , 158 , 164 , 152 , 159 , 164 , 152 , 160 , 165 , 152 , & 161 , 166 , 152 , 162 , 166 , 152 , 162 , 167 , 152 , 163 , 167 , 152 , & 164 , 168 , 151 , 165 , 168 , 151 , 166 , 169 , 151 , 166 , 170 , 151 , & 167 , 170 , 151 , 168 , 171 , 151 , 169 , 171 , 151 , 169 , 172 , 151 , & 170 , 172 , 150 , 171 , 173 , 150 , 171 , 173 , 150 , 172 , 174 , 150 , & 173 , 174 , 149 , 173 , 175 , 149 , 174 , 175 , 149 , 174 , 176 , 149 , & 175 , 176 , 148 , 176 , 177 , 148 , 176 , 177 , 148 , 177 , 177 , 148 , & 177 , 178 , 147 , 178 , 178 , 147 , 178 , 179 , 147 , 179 , 179 , 146 , & 179 , 180 , 146 , 180 , 180 , 146 , 180 , 181 , 145 , 181 , 181 , 145 , & 181 , 181 , 145 , 182 , 182 , 144 , 182 , 182 , 144 , 183 , 183 , 144 , & 183 , 183 , 143 , 183 , 183 , 143 , 184 , 184 , 142 , 184 , 184 , 142 , & 185 , 185 , 142 , 185 , 185 , 141 , 186 , 185 , 141 , 186 , 186 , 141 , & 186 , 186 , 140 , 187 , 187 , 140 , 187 , 187 , 139 , 188 , 187 , 139 , & 188 , 188 , 139 , 189 , 188 , 138 , 189 , 189 , 138 , 189 , 189 , 138 , & 190 , 189 , 137 , 190 , 190 , 137 , 191 , 190 , 136 , 191 , 191 , 136 , & 192 , 191 , 136 , 192 , 192 , 135 , 192 , 192 , 135 , 193 , 193 , 135 , & 193 , 193 , 134 , 194 , 193 , 134 , 194 , 194 , 134 , 195 , 194 , 133 , & 195 , 195 , 133 , 196 , 195 , 133 , 196 , 196 , 133 , 197 , 196 , 132 , & 197 , 197 , 132 , 198 , 198 , 132 , 199 , 198 , 132 , 199 , 199 , 132 , & 200 , 199 , 131 , 200 , 200 , 131 , 201 , 201 , 131 , 202 , 201 , 131 , & 202 , 202 , 131 , 203 , 203 , 131 , 204 , 203 , 131 , 205 , 204 , 131 , & 205 , 205 , 131 , 206 , 206 , 131 , 207 , 207 , 132 , 208 , 207 , 132 , & 209 , 208 , 132 , 210 , 209 , 132 , 210 , 210 , 133 , 211 , 211 , 133 , & 212 , 212 , 134 , 213 , 213 , 134 , 214 , 214 , 135 , 215 , 215 , 135 , & 216 , 216 , 136 , 217 , 217 , 136 , 219 , 218 , 137 , 220 , 219 , 138 , & 221 , 221 , 139 , 222 , 222 , 140 , 223 , 223 , 141 , 224 , 224 , 142 , & 225 , 225 , 143 , 227 , 226 , 144 , 228 , 227 , 145 , 229 , 229 , 146 , & 230 , 230 , 147 , 231 , 231 , 148 , 232 , 232 , 149 , 233 , 233 , 151 , & 235 , 234 , 152 , 236 , 235 , 153 , 237 , 237 , 154 , 238 , 238 , 156 , & 239 , 239 , 157 , 240 , 240 , 158 , 241 , 241 , 160 , 242 , 242 , 161 , & 243 , 243 , 163 , 244 , 244 , 164 , 245 , 245 , 165 , 246 , 246 , 167 , & 247 , 247 , 168 , 248 , 248 , 170 , 249 , 249 , 171 , 250 , 250 , 173 , & 251 , 251 , 174 , 252 , 252 , 175 , 253 , 253 , 177 , 254 , 254 , 178 & ], shape ( nuuk ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: nuuk10 = reshape ( [ & 5 , 89 , 140 , 41 , 98 , 132 , 74 , 114 , 131 , 111 , 135 , 141 , & 146 , 156 , 150 , 171 , 173 , 150 , 186 , 185 , 141 , 199 , 198 , 132 , & 224 , 224 , 142 , 254 , 254 , 178 & ], shape ( nuuk10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: nuuk100 = reshape ( [ & 5 , 89 , 140 , 11 , 90 , 139 , 14 , 91 , 139 , 19 , 92 , 137 , & 21 , 92 , 137 , 25 , 93 , 136 , 27 , 94 , 135 , 31 , 95 , 134 , & 34 , 96 , 133 , 36 , 96 , 133 , 39 , 97 , 132 , 41 , 98 , 132 , & 44 , 99 , 131 , 46 , 100 , 131 , 50 , 102 , 130 , 53 , 103 , 130 , & 55 , 104 , 130 , 59 , 106 , 130 , 61 , 107 , 130 , 64 , 109 , 130 , & 68 , 111 , 130 , 70 , 112 , 131 , 74 , 114 , 131 , 77 , 115 , 132 , & 81 , 117 , 132 , 83 , 119 , 133 , 87 , 121 , 134 , 91 , 123 , 135 , & 94 , 125 , 136 , 98 , 127 , 137 , 100 , 129 , 138 , 104 , 131 , 139 , & 107 , 132 , 140 , 111 , 135 , 141 , 115 , 137 , 142 , 118 , 139 , 143 , & 121 , 141 , 144 , 124 , 142 , 145 , 128 , 145 , 146 , 130 , 146 , 147 , & 134 , 148 , 148 , 138 , 151 , 149 , 140 , 152 , 149 , 144 , 154 , 150 , & 146 , 156 , 150 , 149 , 158 , 151 , 151 , 159 , 151 , 154 , 161 , 152 , & 157 , 163 , 152 , 159 , 164 , 152 , 162 , 166 , 152 , 163 , 167 , 152 , & 166 , 169 , 151 , 168 , 171 , 151 , 169 , 172 , 151 , 171 , 173 , 150 , & 173 , 174 , 149 , 174 , 176 , 149 , 176 , 177 , 148 , 177 , 178 , 147 , & 179 , 179 , 146 , 180 , 180 , 146 , 181 , 181 , 145 , 182 , 182 , 144 , & 183 , 183 , 143 , 184 , 184 , 142 , 186 , 185 , 141 , 187 , 187 , 140 , & 188 , 187 , 139 , 189 , 189 , 138 , 190 , 189 , 137 , 191 , 191 , 136 , & 192 , 192 , 135 , 193 , 193 , 134 , 195 , 194 , 133 , 196 , 195 , 133 , & 197 , 197 , 132 , 199 , 198 , 132 , 200 , 200 , 131 , 202 , 201 , 131 , & 204 , 203 , 131 , 206 , 206 , 131 , 208 , 207 , 132 , 210 , 210 , 133 , & 212 , 212 , 134 , 215 , 215 , 135 , 219 , 218 , 137 , 221 , 221 , 139 , & 224 , 224 , 142 , 227 , 226 , 144 , 230 , 230 , 147 , 232 , 232 , 149 , & 236 , 235 , 153 , 239 , 239 , 157 , 241 , 241 , 160 , 244 , 244 , 164 , & 246 , 246 , 167 , 249 , 249 , 171 , 251 , 251 , 174 , 254 , 254 , 178 & ], shape ( nuuk100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: nuuk25 = reshape ( [ & 5 , 89 , 140 , 23 , 92 , 136 , 34 , 96 , 133 , 45 , 100 , 131 , & 57 , 105 , 130 , 69 , 111 , 130 , 83 , 119 , 133 , 96 , 126 , 136 , & 111 , 135 , 141 , 125 , 143 , 145 , 138 , 151 , 149 , 150 , 158 , 151 , & 161 , 166 , 152 , 169 , 171 , 151 , 176 , 177 , 148 , 181 , 181 , 145 , & 186 , 185 , 141 , 190 , 190 , 137 , 195 , 194 , 133 , 201 , 201 , 131 , & 210 , 209 , 132 , 220 , 219 , 138 , 232 , 232 , 149 , 243 , 243 , 163 , & 254 , 254 , 178 & ], shape ( nuuk25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: nuuk50 = reshape ( [ & 5 , 89 , 140 , 14 , 91 , 139 , 21 , 92 , 137 , 28 , 94 , 135 , & 34 , 96 , 133 , 39 , 97 , 132 , 44 , 99 , 131 , 50 , 102 , 130 , & 56 , 105 , 130 , 62 , 108 , 130 , 68 , 111 , 130 , 74 , 114 , 131 , & 81 , 117 , 132 , 88 , 122 , 134 , 95 , 125 , 136 , 102 , 129 , 138 , & 108 , 133 , 140 , 115 , 137 , 142 , 123 , 142 , 145 , 129 , 145 , 146 , & 135 , 149 , 148 , 141 , 153 , 150 , 147 , 156 , 151 , 153 , 160 , 151 , & 158 , 164 , 152 , 162 , 167 , 152 , 166 , 170 , 151 , 171 , 173 , 150 , & 174 , 175 , 149 , 177 , 177 , 148 , 179 , 180 , 146 , 182 , 182 , 144 , & 184 , 184 , 142 , 186 , 186 , 140 , 189 , 188 , 138 , 191 , 190 , 136 , & 193 , 193 , 135 , 196 , 195 , 133 , 199 , 198 , 132 , 202 , 201 , 131 , & 205 , 205 , 131 , 210 , 209 , 132 , 215 , 215 , 135 , 221 , 221 , 139 , & 227 , 226 , 144 , 232 , 232 , 149 , 238 , 238 , 156 , 244 , 244 , 164 , & 249 , 249 , 171 , 254 , 254 , 178 & ], shape ( nuuk50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: nuukS = reshape ( [ & 5 , 89 , 140 , 254 , 254 , 178 , 161 , 166 , 152 , 83 , 119 , 133 , & 195 , 195 , 133 , 45 , 100 , 131 , 181 , 181 , 145 , 125 , 143 , 145 , & 221 , 221 , 139 , 188 , 188 , 139 , 173 , 174 , 149 , 145 , 155 , 150 , & 104 , 131 , 139 , 63 , 108 , 130 , 28 , 94 , 135 , 205 , 205 , 131 , & 238 , 238 , 156 , 135 , 149 , 148 , 177 , 178 , 147 , 94 , 125 , 136 , & 115 , 137 , 142 , 200 , 199 , 131 , 246 , 246 , 167 , 192 , 191 , 136 , & 153 , 160 , 151 , 212 , 212 , 134 , 73 , 113 , 131 , 167 , 170 , 151 , & 185 , 185 , 142 , 19 , 92 , 137 , 37 , 97 , 133 , 54 , 104 , 130 , & 230 , 230 , 147 , 99 , 128 , 137 , 170 , 172 , 150 , 175 , 176 , 148 , & 183 , 183 , 143 , 179 , 180 , 146 , 50 , 102 , 130 , 130 , 146 , 147 , & 110 , 134 , 140 , 24 , 93 , 136 , 78 , 116 , 132 , 250 , 250 , 173 , & 225 , 225 , 143 , 202 , 202 , 131 , 41 , 98 , 132 , 164 , 168 , 151 , & 13 , 91 , 139 , 193 , 193 , 134 , 209 , 208 , 132 , 216 , 216 , 136 , & 59 , 106 , 130 , 120 , 140 , 144 , 190 , 189 , 137 , 149 , 158 , 151 , & 157 , 163 , 152 , 242 , 242 , 161 , 197 , 197 , 132 , 33 , 95 , 134 , & 88 , 122 , 134 , 186 , 186 , 140 , 140 , 152 , 149 , 68 , 111 , 130 , & 235 , 234 , 152 , 147 , 156 , 151 , 192 , 192 , 135 , 171 , 173 , 150 , & 252 , 252 , 175 , 118 , 139 , 143 , 219 , 218 , 137 , 214 , 214 , 135 , & 112 , 135 , 141 , 189 , 189 , 138 , 228 , 227 , 145 , 210 , 210 , 133 , & 31 , 95 , 134 , 16 , 91 , 138 , 166 , 169 , 151 , 9 , 90 , 140 , & 66 , 109 , 130 , 21 , 92 , 137 , 196 , 196 , 133 , 70 , 112 , 131 , & 240 , 240 , 158 , 191 , 190 , 136 , 199 , 198 , 132 , 133 , 148 , 147 , & 96 , 126 , 136 , 180 , 181 , 145 , 204 , 203 , 131 , 207 , 207 , 132 , & 223 , 223 , 141 , 187 , 187 , 139 , 138 , 151 , 149 , 142 , 154 , 150 , & 39 , 97 , 132 , 128 , 145 , 146 , 162 , 167 , 152 , 47 , 101 , 131 & ], shape ( nuukS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: oleron = reshape ( [ & 26 , 38 , 89 , 27 , 40 , 91 , 29 , 41 , 92 , 30 , 43 , 94 , & 32 , 44 , 95 , 33 , 46 , 97 , 35 , 47 , 98 , 36 , 49 , 100 , & 38 , 50 , 101 , 40 , 52 , 103 , 41 , 53 , 104 , 43 , 55 , 106 , & 44 , 56 , 107 , 46 , 58 , 109 , 47 , 59 , 111 , 49 , 61 , 112 , & 50 , 63 , 114 , 52 , 64 , 115 , 53 , 66 , 117 , 55 , 67 , 118 , & 57 , 69 , 120 , 58 , 71 , 122 , 60 , 72 , 123 , 61 , 74 , 125 , & 63 , 75 , 126 , 65 , 77 , 128 , 66 , 79 , 130 , 68 , 80 , 131 , & 69 , 82 , 133 , 71 , 84 , 135 , 73 , 85 , 136 , 74 , 87 , 138 , & 76 , 89 , 140 , 78 , 90 , 141 , 79 , 92 , 143 , 81 , 94 , 145 , & 83 , 95 , 146 , 84 , 97 , 148 , 86 , 99 , 150 , 88 , 100 , 151 , & 89 , 102 , 153 , 91 , 104 , 155 , 93 , 105 , 156 , 94 , 107 , 158 , & 96 , 109 , 160 , 98 , 111 , 162 , 100 , 112 , 163 , 101 , 114 , 165 , & 103 , 116 , 167 , 105 , 117 , 169 , 107 , 119 , 170 , 108 , 121 , 172 , & 110 , 123 , 174 , 112 , 125 , 176 , 114 , 126 , 177 , 115 , 128 , 179 , & 117 , 130 , 181 , 119 , 132 , 183 , 121 , 133 , 184 , 122 , 135 , 186 , & 124 , 137 , 188 , 126 , 139 , 190 , 128 , 141 , 192 , 130 , 142 , 193 , & 131 , 144 , 195 , 133 , 146 , 197 , 135 , 148 , 199 , 137 , 150 , 201 , & 139 , 151 , 202 , 141 , 153 , 204 , 142 , 155 , 206 , 144 , 157 , 208 , & 146 , 159 , 210 , 148 , 161 , 211 , 150 , 162 , 213 , 152 , 164 , 215 , & 153 , 166 , 217 , 155 , 168 , 219 , 157 , 170 , 220 , 159 , 172 , 222 , & 161 , 173 , 224 , 163 , 175 , 225 , 164 , 177 , 227 , 166 , 179 , 229 , & 168 , 181 , 230 , 170 , 183 , 232 , 172 , 184 , 233 , 173 , 186 , 234 , & 175 , 188 , 236 , 177 , 189 , 237 , 178 , 191 , 238 , 180 , 193 , 239 , & 182 , 194 , 240 , 183 , 196 , 241 , 185 , 198 , 242 , 186 , 199 , 243 , & 188 , 201 , 243 , 189 , 202 , 244 , 191 , 203 , 244 , 192 , 205 , 245 , & 194 , 206 , 245 , 195 , 208 , 246 , 196 , 209 , 246 , 198 , 210 , 247 , & 199 , 212 , 247 , 200 , 213 , 248 , 202 , 214 , 248 , 203 , 216 , 248 , & 204 , 217 , 249 , 206 , 218 , 249 , 207 , 220 , 249 , 208 , 221 , 250 , & 210 , 222 , 250 , 211 , 224 , 250 , 212 , 225 , 251 , 214 , 226 , 251 , & 215 , 228 , 251 , 216 , 229 , 252 , 218 , 230 , 252 , 219 , 232 , 252 , & 220 , 233 , 253 , 222 , 234 , 253 , 223 , 236 , 253 , 224 , 237 , 254 , & 226 , 238 , 254 , 227 , 240 , 254 , 228 , 241 , 255 , 230 , 242 , 255 , & 26 , 76 , 0 , 29 , 77 , 0 , 31 , 78 , 0 , 34 , 79 , 0 , & 37 , 79 , 0 , 39 , 80 , 0 , 42 , 81 , 0 , 44 , 81 , 0 , & 47 , 82 , 0 , 49 , 83 , 0 , 51 , 84 , 0 , 53 , 84 , 0 , & 56 , 85 , 0 , 58 , 86 , 0 , 60 , 86 , 0 , 62 , 87 , 0 , & 64 , 87 , 0 , 66 , 88 , 0 , 68 , 89 , 0 , 70 , 89 , 0 , & 73 , 90 , 1 , 75 , 91 , 1 , 77 , 92 , 1 , 79 , 92 , 2 , & 81 , 93 , 2 , 83 , 94 , 2 , 85 , 95 , 3 , 87 , 96 , 4 , & 90 , 96 , 5 , 92 , 97 , 6 , 94 , 98 , 7 , 96 , 99 , 9 , & 99 , 100 , 10 , 101 , 102 , 12 , 103 , 103 , 14 , 106 , 104 , 16 , & 108 , 105 , 18 , 110 , 106 , 20 , 113 , 108 , 22 , 115 , 109 , 24 , & 117 , 110 , 26 , 120 , 112 , 29 , 122 , 113 , 31 , 124 , 114 , 33 , & 126 , 116 , 35 , 129 , 117 , 37 , 131 , 118 , 40 , 133 , 120 , 42 , & 135 , 121 , 44 , 138 , 123 , 46 , 140 , 124 , 49 , 142 , 125 , 51 , & 144 , 127 , 53 , 146 , 128 , 55 , 148 , 130 , 58 , 151 , 131 , 60 , & 153 , 132 , 62 , 155 , 134 , 64 , 157 , 135 , 67 , 159 , 137 , 69 , & 161 , 138 , 71 , 163 , 140 , 73 , 166 , 141 , 76 , 168 , 143 , 78 , & 170 , 144 , 80 , 172 , 146 , 83 , 174 , 147 , 85 , 177 , 149 , 87 , & 179 , 151 , 89 , 181 , 152 , 92 , 183 , 154 , 94 , 186 , 156 , 96 , & 188 , 157 , 99 , 190 , 159 , 101 , 193 , 161 , 103 , 195 , 163 , 106 , & 197 , 164 , 108 , 199 , 166 , 110 , 202 , 168 , 113 , 204 , 170 , 115 , & 206 , 172 , 117 , 209 , 173 , 120 , 211 , 175 , 122 , 213 , 177 , 124 , & 215 , 179 , 127 , 217 , 181 , 129 , 220 , 182 , 132 , 222 , 184 , 134 , & 224 , 186 , 137 , 226 , 188 , 139 , 228 , 190 , 142 , 229 , 192 , 144 , & 231 , 194 , 147 , 233 , 196 , 149 , 234 , 197 , 152 , 236 , 199 , 154 , & 237 , 201 , 157 , 238 , 203 , 159 , 240 , 205 , 162 , 241 , 206 , 164 , & 242 , 208 , 167 , 242 , 210 , 169 , 243 , 212 , 171 , 244 , 213 , 174 , & 245 , 215 , 176 , 245 , 217 , 178 , 246 , 218 , 181 , 246 , 220 , 183 , & 247 , 222 , 185 , 247 , 223 , 188 , 247 , 225 , 190 , 248 , 226 , 192 , & 248 , 228 , 195 , 248 , 230 , 197 , 249 , 231 , 199 , 249 , 233 , 201 , & 249 , 234 , 204 , 250 , 236 , 206 , 250 , 238 , 208 , 250 , 239 , 211 , & 251 , 241 , 213 , 251 , 243 , 215 , 251 , 244 , 218 , 251 , 246 , 220 , & 252 , 248 , 222 , 252 , 249 , 225 , 252 , 251 , 227 , 253 , 253 , 230 & ], shape ( oleron ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: oleron10 = reshape ( [ & 26 , 38 , 89 , 69 , 82 , 133 , 119 , 132 , 183 , 170 , 183 , 232 , & 211 , 224 , 250 , 60 , 86 , 0 , 122 , 113 , 31 , 183 , 154 , 94 , & 241 , 206 , 164 , 253 , 253 , 230 & ], shape ( oleron10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: oleron100 = reshape ( [ & 26 , 38 , 89 , 30 , 43 , 94 , 33 , 46 , 97 , 38 , 50 , 101 , & 41 , 53 , 104 , 46 , 58 , 109 , 49 , 61 , 112 , 53 , 66 , 117 , & 58 , 71 , 122 , 61 , 74 , 125 , 66 , 79 , 130 , 69 , 82 , 133 , & 74 , 87 , 138 , 78 , 90 , 141 , 83 , 95 , 146 , 88 , 100 , 151 , & 91 , 104 , 155 , 96 , 109 , 160 , 100 , 112 , 163 , 105 , 117 , 169 , & 110 , 123 , 174 , 114 , 126 , 177 , 119 , 132 , 183 , 122 , 135 , 186 , & 128 , 141 , 192 , 131 , 144 , 195 , 137 , 150 , 201 , 142 , 155 , 206 , & 146 , 159 , 210 , 152 , 164 , 215 , 155 , 168 , 219 , 161 , 173 , 224 , & 164 , 177 , 227 , 170 , 183 , 232 , 175 , 188 , 236 , 178 , 191 , 238 , & 183 , 196 , 241 , 186 , 199 , 243 , 191 , 203 , 244 , 194 , 206 , 245 , & 198 , 210 , 247 , 202 , 214 , 248 , 204 , 217 , 249 , 208 , 221 , 250 , & 211 , 224 , 250 , 215 , 228 , 251 , 218 , 230 , 252 , 222 , 234 , 253 , & 226 , 238 , 254 , 228 , 241 , 255 , 29 , 77 , 0 , 34 , 79 , 0 , & 42 , 81 , 0 , 49 , 83 , 0 , 53 , 84 , 0 , 60 , 86 , 0 , & 64 , 87 , 0 , 70 , 89 , 0 , 75 , 91 , 1 , 81 , 93 , 2 , & 87 , 96 , 4 , 92 , 97 , 6 , 99 , 100 , 10 , 103 , 103 , 14 , & 110 , 106 , 20 , 115 , 109 , 24 , 122 , 113 , 31 , 129 , 117 , 37 , & 133 , 120 , 42 , 140 , 124 , 49 , 144 , 127 , 53 , 151 , 131 , 60 , & 155 , 134 , 64 , 161 , 138 , 71 , 168 , 143 , 78 , 172 , 146 , 83 , & 179 , 151 , 89 , 183 , 154 , 94 , 190 , 159 , 101 , 195 , 163 , 106 , & 202 , 168 , 113 , 209 , 173 , 120 , 213 , 177 , 124 , 220 , 182 , 132 , & 224 , 186 , 137 , 229 , 192 , 144 , 234 , 197 , 152 , 237 , 201 , 157 , & 241 , 206 , 164 , 242 , 210 , 169 , 245 , 215 , 176 , 246 , 218 , 181 , & 247 , 223 , 188 , 248 , 228 , 195 , 249 , 231 , 199 , 250 , 236 , 206 , & 250 , 239 , 211 , 251 , 244 , 218 , 252 , 248 , 222 , 253 , 253 , 230 & ], shape ( oleron100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: oleron25 = reshape ( [ & 26 , 38 , 89 , 43 , 55 , 106 , 58 , 71 , 122 , 76 , 89 , 140 , & 94 , 107 , 158 , 112 , 125 , 176 , 131 , 144 , 195 , 150 , 162 , 213 , & 170 , 183 , 232 , 188 , 201 , 243 , 202 , 214 , 248 , 216 , 229 , 252 , & 26 , 76 , 0 , 51 , 84 , 0 , 75 , 91 , 1 , 96 , 99 , 9 , & 122 , 113 , 31 , 146 , 128 , 55 , 168 , 143 , 78 , 193 , 161 , 103 , & 217 , 181 , 129 , 236 , 199 , 154 , 246 , 218 , 181 , 249 , 234 , 204 , & 253 , 253 , 230 & ], shape ( oleron25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: oleron50 = reshape ( [ & 26 , 38 , 89 , 33 , 46 , 97 , 41 , 53 , 104 , 50 , 63 , 114 , & 58 , 71 , 122 , 66 , 79 , 130 , 74 , 87 , 138 , 83 , 95 , 146 , & 93 , 105 , 156 , 101 , 114 , 165 , 110 , 123 , 174 , 119 , 132 , 183 , & 128 , 141 , 192 , 139 , 151 , 202 , 148 , 161 , 211 , 157 , 170 , 220 , & 166 , 179 , 229 , 175 , 188 , 236 , 185 , 198 , 242 , 192 , 205 , 245 , & 199 , 212 , 247 , 206 , 218 , 249 , 212 , 225 , 251 , 220 , 233 , 253 , & 227 , 240 , 254 , 31 , 78 , 0 , 44 , 81 , 0 , 58 , 86 , 0 , & 68 , 89 , 0 , 79 , 92 , 2 , 90 , 96 , 5 , 101 , 102 , 12 , & 115 , 109 , 24 , 126 , 116 , 35 , 138 , 123 , 46 , 148 , 130 , 58 , & 159 , 137 , 69 , 172 , 146 , 83 , 183 , 154 , 94 , 195 , 163 , 106 , & 206 , 172 , 117 , 217 , 181 , 129 , 229 , 192 , 144 , 237 , 201 , 157 , & 242 , 210 , 169 , 246 , 218 , 181 , 248 , 226 , 192 , 250 , 236 , 206 , & 251 , 244 , 218 , 253 , 253 , 230 & ], shape ( oleron50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: oslo = reshape ( [ & 1 , 1 , 1 , 1 , 2 , 3 , 2 , 4 , 5 , 2 , 5 , 7 , & 3 , 6 , 9 , 4 , 7 , 11 , 4 , 8 , 13 , 5 , 9 , 15 , & 5 , 10 , 16 , 6 , 11 , 18 , 6 , 12 , 19 , 7 , 13 , 21 , & 8 , 14 , 22 , 8 , 15 , 23 , 9 , 16 , 24 , 9 , 17 , 25 , & 10 , 18 , 27 , 11 , 19 , 28 , 11 , 19 , 29 , 11 , 20 , 30 , & 12 , 21 , 31 , 12 , 22 , 32 , 13 , 22 , 34 , 13 , 23 , 35 , & 13 , 24 , 36 , 13 , 25 , 37 , 13 , 25 , 39 , 13 , 26 , 40 , & 13 , 27 , 41 , 14 , 27 , 42 , 14 , 28 , 44 , 14 , 29 , 45 , & 14 , 30 , 46 , 14 , 30 , 47 , 14 , 31 , 49 , 14 , 32 , 50 , & 15 , 33 , 51 , 15 , 33 , 53 , 15 , 34 , 54 , 15 , 35 , 55 , & 15 , 36 , 57 , 15 , 37 , 58 , 16 , 38 , 60 , 16 , 38 , 61 , & 16 , 39 , 62 , 16 , 40 , 64 , 16 , 41 , 65 , 17 , 42 , 67 , & 17 , 43 , 68 , 17 , 43 , 69 , 17 , 44 , 71 , 18 , 45 , 72 , & 18 , 46 , 74 , 18 , 47 , 75 , 18 , 48 , 76 , 19 , 49 , 78 , & 19 , 50 , 79 , 19 , 50 , 81 , 20 , 51 , 82 , 20 , 52 , 84 , & 20 , 53 , 85 , 20 , 54 , 87 , 21 , 55 , 88 , 21 , 56 , 90 , & 21 , 57 , 91 , 22 , 58 , 93 , 22 , 59 , 94 , 23 , 59 , 96 , & 23 , 60 , 97 , 23 , 61 , 99 , 24 , 62 , 100 , 24 , 63 , 102 , & 25 , 64 , 103 , 25 , 65 , 105 , 25 , 66 , 106 , 26 , 67 , 108 , & 26 , 68 , 109 , 27 , 69 , 111 , 27 , 70 , 112 , 28 , 71 , 114 , & 28 , 72 , 115 , 29 , 72 , 117 , 29 , 73 , 118 , 30 , 74 , 120 , & 30 , 75 , 122 , 31 , 76 , 123 , 32 , 77 , 125 , 32 , 78 , 126 , & 33 , 79 , 128 , 33 , 80 , 129 , 34 , 81 , 131 , 35 , 82 , 133 , & 35 , 83 , 134 , 36 , 84 , 136 , 37 , 85 , 137 , 38 , 86 , 139 , & 38 , 87 , 140 , 39 , 88 , 142 , 40 , 89 , 144 , 41 , 90 , 145 , & 42 , 91 , 147 , 43 , 92 , 148 , 44 , 93 , 150 , 45 , 94 , 152 , & 46 , 95 , 153 , 47 , 96 , 155 , 48 , 97 , 156 , 49 , 98 , 158 , & 50 , 99 , 160 , 51 , 100 , 161 , 52 , 101 , 163 , 54 , 102 , 164 , & 55 , 103 , 166 , 56 , 105 , 168 , 58 , 106 , 169 , 59 , 107 , 171 , & 61 , 108 , 172 , 62 , 109 , 174 , 64 , 110 , 175 , 65 , 112 , 177 , & 67 , 113 , 178 , 68 , 114 , 179 , 70 , 115 , 181 , 71 , 117 , 182 , & 73 , 118 , 184 , 75 , 119 , 185 , 76 , 120 , 186 , 78 , 122 , 187 , & 80 , 123 , 188 , 81 , 124 , 189 , 83 , 125 , 190 , 84 , 126 , 191 , & 86 , 127 , 192 , 88 , 129 , 193 , 89 , 130 , 194 , 91 , 131 , 195 , & 92 , 132 , 195 , 94 , 133 , 196 , 96 , 134 , 197 , 97 , 135 , 197 , & 99 , 136 , 198 , 100 , 137 , 198 , 101 , 138 , 199 , 103 , 139 , 199 , & 104 , 140 , 199 , 106 , 141 , 200 , 107 , 142 , 200 , 108 , 143 , 200 , & 110 , 144 , 200 , 111 , 144 , 201 , 112 , 145 , 201 , 114 , 146 , 201 , & 115 , 147 , 201 , 116 , 148 , 201 , 117 , 148 , 201 , 119 , 149 , 201 , & 120 , 150 , 201 , 121 , 151 , 202 , 122 , 152 , 202 , 123 , 152 , 202 , & 125 , 153 , 202 , 126 , 154 , 202 , 127 , 155 , 202 , 128 , 155 , 202 , & 129 , 156 , 202 , 131 , 157 , 202 , 132 , 158 , 202 , 133 , 158 , 202 , & 134 , 159 , 202 , 135 , 160 , 202 , 137 , 160 , 202 , 138 , 161 , 202 , & 139 , 162 , 201 , 140 , 163 , 201 , 141 , 163 , 201 , 142 , 164 , 201 , & 144 , 165 , 201 , 145 , 166 , 201 , 146 , 166 , 201 , 147 , 167 , 201 , & 148 , 168 , 201 , 150 , 169 , 201 , 151 , 169 , 201 , 152 , 170 , 201 , & 153 , 171 , 201 , 154 , 172 , 201 , 156 , 172 , 201 , 157 , 173 , 201 , & 158 , 174 , 201 , 159 , 175 , 201 , 160 , 175 , 201 , 162 , 176 , 202 , & 163 , 177 , 202 , 164 , 178 , 202 , 165 , 179 , 202 , 167 , 180 , 202 , & 168 , 180 , 202 , 169 , 181 , 202 , 170 , 182 , 202 , 172 , 183 , 202 , & 173 , 184 , 203 , 174 , 185 , 203 , 176 , 186 , 203 , 177 , 187 , 203 , & 178 , 188 , 204 , 180 , 189 , 204 , 181 , 189 , 204 , 182 , 190 , 205 , & 184 , 191 , 205 , 185 , 193 , 205 , 186 , 194 , 206 , 188 , 195 , 206 , & 189 , 196 , 207 , 191 , 197 , 207 , 192 , 198 , 208 , 194 , 199 , 209 , & 195 , 200 , 209 , 197 , 201 , 210 , 198 , 203 , 211 , 199 , 204 , 211 , & 201 , 205 , 212 , 202 , 206 , 213 , 204 , 208 , 214 , 206 , 209 , 215 , & 207 , 210 , 216 , 209 , 211 , 217 , 210 , 213 , 218 , 212 , 214 , 219 , & 213 , 216 , 220 , 215 , 217 , 221 , 216 , 218 , 222 , 218 , 220 , 223 , & 219 , 221 , 224 , 221 , 222 , 225 , 222 , 224 , 226 , 224 , 225 , 228 , & 226 , 227 , 229 , 227 , 228 , 230 , 229 , 230 , 231 , 230 , 231 , 233 , & 232 , 233 , 234 , 233 , 234 , 235 , 235 , 236 , 237 , 236 , 237 , 238 , & 238 , 238 , 239 , 239 , 240 , 241 , 241 , 241 , 242 , 243 , 243 , 244 , & 244 , 244 , 245 , 246 , 246 , 246 , 247 , 247 , 248 , 249 , 249 , 249 , & 250 , 250 , 251 , 252 , 252 , 252 , 253 , 253 , 254 , 255 , 255 , 255 & ], shape ( oslo ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: oslo10 = reshape ( [ & 1 , 1 , 1 , 13 , 27 , 41 , 19 , 50 , 81 , 31 , 76 , 123 , & 56 , 105 , 168 , 101 , 138 , 199 , 137 , 160 , 202 , 170 , 182 , 202 , & 212 , 214 , 219 , 255 , 255 , 255 & ], shape ( oslo10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: oslo100 = reshape ( [ & 1 , 1 , 1 , 2 , 5 , 7 , 4 , 7 , 11 , 5 , 10 , 16 , & 6 , 12 , 19 , 8 , 15 , 23 , 9 , 17 , 25 , 11 , 19 , 29 , & 12 , 22 , 32 , 13 , 23 , 35 , 13 , 25 , 39 , 13 , 27 , 41 , & 14 , 29 , 45 , 14 , 30 , 47 , 15 , 33 , 51 , 15 , 35 , 55 , & 15 , 37 , 58 , 16 , 39 , 62 , 16 , 41 , 65 , 17 , 43 , 69 , & 18 , 46 , 74 , 18 , 48 , 76 , 19 , 50 , 81 , 20 , 52 , 84 , & 21 , 55 , 88 , 21 , 57 , 91 , 23 , 59 , 96 , 24 , 62 , 100 , & 25 , 64 , 103 , 26 , 67 , 108 , 27 , 69 , 111 , 28 , 72 , 115 , & 29 , 73 , 118 , 31 , 76 , 123 , 33 , 79 , 128 , 34 , 81 , 131 , & 36 , 84 , 136 , 38 , 86 , 139 , 40 , 89 , 144 , 42 , 91 , 147 , & 45 , 94 , 152 , 48 , 97 , 156 , 50 , 99 , 160 , 54 , 102 , 164 , & 56 , 105 , 168 , 61 , 108 , 172 , 64 , 110 , 175 , 68 , 114 , 179 , & 73 , 118 , 184 , 76 , 120 , 186 , 81 , 124 , 189 , 84 , 126 , 191 , & 89 , 130 , 194 , 94 , 133 , 196 , 97 , 135 , 197 , 101 , 138 , 199 , & 104 , 140 , 199 , 108 , 143 , 200 , 111 , 144 , 201 , 115 , 147 , 201 , & 119 , 149 , 201 , 121 , 151 , 202 , 125 , 153 , 202 , 127 , 155 , 202 , & 131 , 157 , 202 , 133 , 158 , 202 , 137 , 160 , 202 , 140 , 163 , 201 , & 142 , 164 , 201 , 146 , 166 , 201 , 148 , 168 , 201 , 152 , 170 , 201 , & 154 , 172 , 201 , 158 , 174 , 201 , 162 , 176 , 202 , 164 , 178 , 202 , & 168 , 180 , 202 , 170 , 182 , 202 , 174 , 185 , 203 , 177 , 187 , 203 , & 181 , 189 , 204 , 185 , 193 , 205 , 188 , 195 , 206 , 192 , 198 , 208 , & 195 , 200 , 209 , 199 , 204 , 211 , 204 , 208 , 214 , 207 , 210 , 216 , & 212 , 214 , 219 , 215 , 217 , 221 , 219 , 221 , 224 , 222 , 224 , 226 , & 227 , 228 , 230 , 232 , 233 , 234 , 235 , 236 , 237 , 239 , 240 , 241 , & 243 , 243 , 244 , 247 , 247 , 248 , 250 , 250 , 251 , 255 , 255 , 255 & ], shape ( oslo100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: oslo25 = reshape ( [ & 1 , 1 , 1 , 7 , 13 , 21 , 12 , 22 , 32 , 14 , 30 , 46 , & 16 , 38 , 61 , 18 , 47 , 75 , 21 , 57 , 91 , 25 , 66 , 106 , & 31 , 76 , 123 , 38 , 87 , 140 , 48 , 97 , 156 , 62 , 109 , 174 , & 80 , 123 , 188 , 96 , 134 , 197 , 111 , 144 , 201 , 123 , 152 , 202 , & 137 , 160 , 202 , 150 , 169 , 201 , 162 , 176 , 202 , 176 , 186 , 203 , & 191 , 197 , 207 , 206 , 209 , 215 , 222 , 224 , 226 , 238 , 238 , 239 , & 255 , 255 , 255 & ], shape ( oslo25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: oslo50 = reshape ( [ & 1 , 1 , 1 , 4 , 7 , 11 , 6 , 12 , 19 , 10 , 18 , 27 , & 12 , 22 , 32 , 13 , 25 , 39 , 14 , 29 , 45 , 15 , 33 , 51 , & 16 , 38 , 60 , 17 , 42 , 67 , 18 , 46 , 74 , 19 , 50 , 81 , & 21 , 55 , 88 , 23 , 60 , 97 , 25 , 65 , 105 , 27 , 70 , 112 , & 30 , 74 , 120 , 33 , 79 , 128 , 37 , 85 , 137 , 41 , 90 , 145 , & 46 , 95 , 153 , 51 , 100 , 161 , 58 , 106 , 169 , 67 , 113 , 178 , & 75 , 119 , 185 , 83 , 125 , 190 , 91 , 131 , 195 , 100 , 137 , 198 , & 107 , 142 , 200 , 114 , 146 , 201 , 120 , 150 , 201 , 126 , 154 , 202 , & 133 , 158 , 202 , 139 , 162 , 201 , 145 , 166 , 201 , 151 , 169 , 201 , & 157 , 173 , 201 , 164 , 178 , 202 , 170 , 182 , 202 , 177 , 187 , 203 , & 184 , 191 , 205 , 191 , 197 , 207 , 199 , 204 , 211 , 207 , 210 , 216 , & 215 , 217 , 221 , 222 , 224 , 226 , 230 , 231 , 233 , 239 , 240 , 241 , & 247 , 247 , 248 , 255 , 255 , 255 & ], shape ( oslo50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: osloS = reshape ( [ & 3 , 6 , 9 , 249 , 249 , 249 , 80 , 123 , 188 , 22 , 59 , 94 , & 160 , 175 , 201 , 14 , 32 , 50 , 123 , 152 , 202 , 39 , 88 , 142 , & 202 , 206 , 213 , 11 , 20 , 30 , 18 , 45 , 72 , 55 , 103 , 166 , & 181 , 189 , 204 , 103 , 139 , 199 , 29 , 73 , 118 , 141 , 163 , 201 , & 226 , 227 , 229 , 25 , 66 , 106 , 16 , 38 , 61 , 114 , 146 , 201 , & 151 , 169 , 201 , 67 , 113 , 178 , 13 , 26 , 40 , 170 , 182 , 202 , & 47 , 96 , 155 , 215 , 217 , 221 , 34 , 81 , 131 , 191 , 197 , 207 , & 20 , 52 , 84 , 238 , 238 , 239 , 132 , 158 , 202 , 8 , 14 , 22 , & 91 , 131 , 195 , 32 , 77 , 125 , 13 , 23 , 35 , 73 , 118 , 184 , & 137 , 160 , 202 , 24 , 62 , 100 , 61 , 108 , 172 , 14 , 29 , 45 , & 108 , 143 , 200 , 27 , 70 , 112 , 5 , 10 , 16 , 209 , 211 , 217 , & 19 , 49 , 78 , 165 , 179 , 202 , 17 , 42 , 67 , 232 , 233 , 234 , & 146 , 166 , 201 , 197 , 201 , 210 , 156 , 172 , 201 , 97 , 135 , 197 , & 119 , 149 , 201 , 43 , 92 , 148 , 15 , 35 , 55 , 176 , 186 , 203 , & 50 , 99 , 160 , 243 , 243 , 244 , 10 , 18 , 27 , 36 , 84 , 136 , & 86 , 127 , 192 , 127 , 155 , 202 , 219 , 221 , 224 , 186 , 194 , 206 , & 21 , 55 , 88 , 17 , 43 , 69 , 6 , 12 , 19 , 70 , 115 , 181 , & 23 , 60 , 97 , 212 , 214 , 219 , 148 , 168 , 201 , 76 , 120 , 186 , & 13 , 25 , 37 , 100 , 137 , 198 , 139 , 162 , 201 , 121 , 151 , 202 , & 45 , 94 , 152 , 14 , 30 , 47 , 184 , 191 , 205 , 25 , 64 , 103 , & 94 , 133 , 196 , 178 , 188 , 204 , 83 , 125 , 190 , 28 , 72 , 115 , & 206 , 209 , 215 , 12 , 22 , 32 , 158 , 174 , 201 , 222 , 224 , 226 , & 52 , 101 , 163 , 58 , 106 , 169 , 15 , 37 , 58 , 235 , 236 , 237 , & 194 , 199 , 209 , 64 , 110 , 175 , 33 , 79 , 128 , 15 , 33 , 53 , & 229 , 230 , 231 , 4 , 8 , 13 , 19 , 50 , 81 , 30 , 75 , 122 & ], shape ( osloS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: roma = reshape ( [ & 126 , 23 , 0 , 127 , 26 , 1 , 128 , 29 , 2 , 129 , 32 , 3 , & 130 , 34 , 4 , 131 , 37 , 4 , 132 , 39 , 5 , 133 , 42 , 6 , & 134 , 44 , 6 , 135 , 46 , 7 , 136 , 48 , 8 , 138 , 50 , 8 , & 139 , 52 , 9 , 140 , 54 , 10 , 141 , 56 , 11 , 142 , 58 , 11 , & 143 , 60 , 12 , 144 , 62 , 13 , 144 , 64 , 14 , 145 , 66 , 15 , & 146 , 68 , 15 , 147 , 70 , 16 , 148 , 71 , 17 , 149 , 73 , 18 , & 150 , 75 , 18 , 151 , 77 , 19 , 152 , 78 , 20 , 153 , 80 , 20 , & 153 , 82 , 21 , 154 , 83 , 22 , 155 , 85 , 23 , 156 , 87 , 23 , & 157 , 88 , 24 , 158 , 90 , 25 , 158 , 92 , 25 , 159 , 93 , 26 , & 160 , 95 , 27 , 161 , 97 , 28 , 162 , 98 , 28 , 162 , 100 , 29 , & 163 , 101 , 30 , 164 , 103 , 30 , 165 , 104 , 31 , 166 , 106 , 32 , & 166 , 108 , 32 , 167 , 109 , 33 , 168 , 111 , 34 , 169 , 112 , 35 , & 169 , 114 , 35 , 170 , 115 , 36 , 171 , 117 , 37 , 172 , 119 , 38 , & 173 , 120 , 38 , 173 , 122 , 39 , 174 , 124 , 40 , 175 , 125 , 41 , & 176 , 127 , 42 , 176 , 128 , 43 , 177 , 130 , 44 , 178 , 132 , 45 , & 179 , 134 , 46 , 180 , 135 , 47 , 181 , 137 , 48 , 181 , 139 , 49 , & 182 , 140 , 50 , 183 , 142 , 51 , 184 , 144 , 52 , 185 , 146 , 53 , & 186 , 148 , 55 , 186 , 149 , 56 , 187 , 151 , 57 , 188 , 153 , 59 , & 189 , 155 , 60 , 190 , 157 , 62 , 191 , 159 , 64 , 192 , 161 , 65 , & 193 , 163 , 67 , 193 , 165 , 69 , 194 , 166 , 71 , 195 , 168 , 72 , & 196 , 170 , 74 , 197 , 172 , 76 , 198 , 174 , 79 , 199 , 176 , 81 , & 199 , 178 , 83 , 200 , 180 , 85 , 201 , 182 , 88 , 202 , 184 , 90 , & 203 , 186 , 93 , 203 , 188 , 95 , 204 , 190 , 98 , 205 , 192 , 100 , & 206 , 194 , 103 , 206 , 196 , 106 , 207 , 198 , 109 , 207 , 200 , 111 , & 208 , 202 , 114 , 208 , 204 , 117 , 209 , 205 , 120 , 209 , 207 , 123 , & 210 , 209 , 126 , 210 , 211 , 129 , 210 , 212 , 132 , 210 , 214 , 135 , & 210 , 215 , 138 , 210 , 217 , 141 , 210 , 218 , 144 , 210 , 220 , 147 , & 210 , 221 , 150 , 210 , 222 , 152 , 209 , 223 , 155 , 209 , 225 , 158 , & 209 , 226 , 161 , 208 , 227 , 163 , 208 , 228 , 166 , 207 , 229 , 168 , & 206 , 229 , 171 , 205 , 230 , 173 , 204 , 231 , 176 , 204 , 231 , 178 , & 203 , 232 , 180 , 201 , 233 , 182 , 200 , 233 , 184 , 199 , 233 , 186 , & 198 , 234 , 188 , 196 , 234 , 190 , 195 , 234 , 192 , 193 , 234 , 194 , & 192 , 234 , 195 , 190 , 234 , 197 , 189 , 234 , 198 , 187 , 234 , 200 , & 185 , 234 , 201 , 183 , 234 , 202 , 181 , 234 , 204 , 179 , 233 , 205 , & 177 , 233 , 206 , 175 , 232 , 207 , 173 , 232 , 208 , 171 , 231 , 209 , & 169 , 231 , 210 , 166 , 230 , 210 , 164 , 229 , 211 , 162 , 229 , 212 , & 159 , 228 , 212 , 157 , 227 , 213 , 155 , 226 , 213 , 152 , 225 , 214 , & 149 , 224 , 214 , 147 , 223 , 214 , 144 , 222 , 215 , 142 , 221 , 215 , & 139 , 220 , 215 , 137 , 218 , 215 , 134 , 217 , 215 , 131 , 216 , 215 , & 129 , 215 , 215 , 126 , 213 , 215 , 123 , 212 , 215 , 121 , 210 , 215 , & 118 , 209 , 215 , 116 , 207 , 214 , 113 , 206 , 214 , 110 , 204 , 214 , & 108 , 203 , 214 , 105 , 201 , 213 , 103 , 199 , 213 , 100 , 198 , 213 , & 98 , 196 , 212 , 96 , 195 , 212 , 93 , 193 , 211 , 91 , 191 , 211 , & 89 , 189 , 210 , 87 , 188 , 210 , 85 , 186 , 209 , 83 , 184 , 209 , & 81 , 183 , 208 , 79 , 181 , 208 , 77 , 179 , 207 , 75 , 178 , 206 , & 73 , 176 , 206 , 71 , 174 , 205 , 70 , 172 , 204 , 68 , 171 , 204 , & 67 , 169 , 203 , 65 , 167 , 203 , 64 , 166 , 202 , 62 , 164 , 201 , & 61 , 162 , 201 , 60 , 161 , 200 , 58 , 159 , 199 , 57 , 157 , 199 , & 56 , 156 , 198 , 55 , 154 , 197 , 54 , 152 , 197 , 53 , 151 , 196 , & 52 , 149 , 195 , 51 , 148 , 195 , 50 , 146 , 194 , 49 , 144 , 193 , & 48 , 143 , 193 , 48 , 141 , 192 , 47 , 140 , 191 , 46 , 138 , 191 , & 45 , 136 , 190 , 45 , 135 , 189 , 44 , 133 , 189 , 43 , 132 , 188 , & 43 , 130 , 187 , 42 , 129 , 187 , 41 , 127 , 186 , 41 , 126 , 185 , & 40 , 124 , 185 , 40 , 122 , 184 , 39 , 121 , 183 , 38 , 119 , 183 , & 38 , 118 , 182 , 37 , 116 , 181 , 37 , 115 , 181 , 36 , 113 , 180 , & 36 , 111 , 179 , 35 , 110 , 179 , 35 , 108 , 178 , 34 , 106 , 177 , & 34 , 105 , 176 , 33 , 103 , 176 , 33 , 102 , 175 , 32 , 100 , 174 , & 32 , 98 , 174 , 31 , 96 , 173 , 30 , 95 , 172 , 30 , 93 , 171 , & 29 , 91 , 171 , 29 , 90 , 170 , 28 , 88 , 169 , 27 , 86 , 168 , & 27 , 84 , 168 , 26 , 83 , 167 , 25 , 81 , 166 , 25 , 79 , 165 , & 24 , 77 , 164 , 23 , 76 , 164 , 22 , 74 , 163 , 21 , 72 , 162 , & 20 , 70 , 161 , 19 , 68 , 160 , 18 , 66 , 160 , 17 , 64 , 159 , & 15 , 63 , 158 , 14 , 61 , 157 , 12 , 59 , 156 , 11 , 57 , 156 , & 9 , 55 , 155 , 7 , 53 , 154 , 5 , 51 , 153 , 3 , 49 , 152 & ], shape ( roma ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: roma10 = reshape ( [ & 126 , 23 , 0 , 153 , 82 , 21 , 176 , 128 , 43 , 200 , 180 , 85 , & 208 , 227 , 163 , 164 , 229 , 211 , 93 , 193 , 211 , 50 , 146 , 194 , & 32 , 100 , 174 , 3 , 49 , 152 & ], shape ( roma10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: roma100 = reshape ( [ & 126 , 23 , 0 , 129 , 32 , 3 , 131 , 37 , 4 , 134 , 44 , 6 , & 136 , 48 , 8 , 140 , 54 , 10 , 142 , 58 , 11 , 144 , 64 , 14 , & 147 , 70 , 16 , 149 , 73 , 18 , 152 , 78 , 20 , 153 , 82 , 21 , & 156 , 87 , 23 , 158 , 90 , 25 , 160 , 95 , 27 , 162 , 100 , 29 , & 164 , 103 , 30 , 166 , 108 , 32 , 168 , 111 , 34 , 170 , 115 , 36 , & 173 , 120 , 38 , 174 , 124 , 40 , 176 , 128 , 43 , 178 , 132 , 45 , & 181 , 137 , 48 , 182 , 140 , 50 , 185 , 146 , 53 , 187 , 151 , 57 , & 189 , 155 , 60 , 192 , 161 , 65 , 193 , 165 , 69 , 196 , 170 , 74 , & 198 , 174 , 79 , 200 , 180 , 85 , 203 , 186 , 93 , 204 , 190 , 98 , & 206 , 196 , 106 , 207 , 200 , 111 , 209 , 205 , 120 , 210 , 209 , 126 , & 210 , 214 , 135 , 210 , 218 , 144 , 210 , 221 , 150 , 209 , 225 , 158 , & 208 , 227 , 163 , 206 , 229 , 171 , 204 , 231 , 176 , 201 , 233 , 182 , & 198 , 234 , 188 , 195 , 234 , 192 , 190 , 234 , 197 , 187 , 234 , 200 , & 181 , 234 , 204 , 175 , 232 , 207 , 171 , 231 , 209 , 164 , 229 , 211 , & 159 , 228 , 212 , 152 , 225 , 214 , 147 , 223 , 214 , 139 , 220 , 215 , & 131 , 216 , 215 , 126 , 213 , 215 , 118 , 209 , 215 , 113 , 206 , 214 , & 105 , 201 , 213 , 100 , 198 , 213 , 93 , 193 , 211 , 87 , 188 , 210 , & 83 , 184 , 209 , 77 , 179 , 207 , 73 , 176 , 206 , 68 , 171 , 204 , & 65 , 167 , 203 , 61 , 162 , 201 , 57 , 157 , 199 , 55 , 154 , 197 , & 52 , 149 , 195 , 50 , 146 , 194 , 48 , 141 , 192 , 46 , 138 , 191 , & 44 , 133 , 189 , 42 , 129 , 187 , 41 , 126 , 185 , 39 , 121 , 183 , & 38 , 118 , 182 , 36 , 113 , 180 , 35 , 108 , 178 , 34 , 105 , 176 , & 32 , 100 , 174 , 31 , 96 , 173 , 29 , 91 , 171 , 28 , 88 , 169 , & 26 , 83 , 167 , 24 , 77 , 164 , 22 , 74 , 163 , 19 , 68 , 160 , & 17 , 64 , 159 , 12 , 59 , 156 , 9 , 55 , 155 , 3 , 49 , 152 & ], shape ( roma100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: roma25 = reshape ( [ & 126 , 23 , 0 , 138 , 50 , 8 , 147 , 70 , 16 , 157 , 88 , 24 , & 166 , 106 , 32 , 173 , 122 , 39 , 182 , 140 , 50 , 191 , 159 , 64 , & 200 , 180 , 85 , 208 , 202 , 114 , 210 , 218 , 144 , 205 , 230 , 173 , & 192 , 234 , 195 , 173 , 232 , 208 , 147 , 223 , 214 , 121 , 210 , 215 , & 93 , 193 , 211 , 71 , 174 , 205 , 57 , 157 , 199 , 47 , 140 , 191 , & 40 , 122 , 184 , 34 , 106 , 177 , 28 , 88 , 169 , 20 , 70 , 161 , & 3 , 49 , 152 & ], shape ( roma25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: roma50 = reshape ( [ & 126 , 23 , 0 , 131 , 37 , 4 , 136 , 48 , 8 , 143 , 60 , 12 , & 147 , 70 , 16 , 152 , 78 , 20 , 156 , 87 , 23 , 160 , 95 , 27 , & 165 , 104 , 31 , 169 , 112 , 35 , 173 , 120 , 38 , 176 , 128 , 43 , & 181 , 137 , 48 , 186 , 148 , 55 , 190 , 157 , 62 , 194 , 166 , 71 , & 199 , 176 , 81 , 203 , 186 , 93 , 207 , 198 , 109 , 209 , 207 , 123 , & 210 , 215 , 138 , 210 , 222 , 152 , 208 , 228 , 166 , 203 , 232 , 180 , & 196 , 234 , 190 , 189 , 234 , 198 , 179 , 233 , 205 , 166 , 230 , 210 , & 155 , 226 , 213 , 142 , 221 , 215 , 129 , 215 , 215 , 116 , 207 , 214 , & 100 , 198 , 213 , 89 , 189 , 210 , 79 , 181 , 208 , 70 , 172 , 204 , & 62 , 164 , 201 , 55 , 154 , 197 , 50 , 146 , 194 , 46 , 138 , 191 , & 43 , 130 , 187 , 40 , 122 , 184 , 36 , 113 , 180 , 34 , 105 , 176 , & 31 , 96 , 173 , 28 , 88 , 169 , 25 , 79 , 165 , 19 , 68 , 160 , & 12 , 59 , 156 , 3 , 49 , 152 & ], shape ( roma50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: romaO = reshape ( [ & 115 , 57 , 87 , 116 , 57 , 86 , 117 , 57 , 84 , 117 , 56 , 83 , & 118 , 56 , 81 , 119 , 56 , 80 , 119 , 56 , 79 , 120 , 56 , 77 , & 121 , 56 , 76 , 121 , 56 , 75 , 122 , 56 , 73 , 123 , 56 , 72 , & 124 , 56 , 71 , 124 , 57 , 70 , 125 , 57 , 69 , 126 , 57 , 67 , & 126 , 57 , 66 , 127 , 58 , 65 , 128 , 58 , 64 , 129 , 59 , 63 , & 129 , 59 , 62 , 130 , 60 , 61 , 131 , 60 , 60 , 132 , 61 , 59 , & 132 , 61 , 58 , 133 , 62 , 57 , 134 , 63 , 56 , 135 , 64 , 55 , & 135 , 64 , 55 , 136 , 65 , 54 , 137 , 66 , 53 , 138 , 67 , 52 , & 139 , 68 , 51 , 140 , 69 , 51 , 140 , 70 , 50 , 141 , 71 , 49 , & 142 , 72 , 49 , 143 , 73 , 48 , 144 , 74 , 48 , 145 , 76 , 47 , & 146 , 77 , 47 , 147 , 78 , 46 , 148 , 80 , 46 , 148 , 81 , 45 , & 149 , 82 , 45 , 150 , 84 , 45 , 151 , 85 , 44 , 152 , 87 , 44 , & 153 , 88 , 44 , 154 , 90 , 44 , 155 , 91 , 44 , 156 , 93 , 43 , & 157 , 95 , 43 , 158 , 96 , 43 , 159 , 98 , 43 , 160 , 100 , 44 , & 162 , 102 , 44 , 163 , 103 , 44 , 164 , 105 , 44 , 165 , 107 , 45 , & 166 , 109 , 45 , 167 , 111 , 45 , 168 , 113 , 46 , 169 , 115 , 46 , & 170 , 117 , 47 , 171 , 119 , 48 , 173 , 121 , 48 , 174 , 123 , 49 , & 175 , 125 , 50 , 176 , 127 , 51 , 177 , 129 , 52 , 178 , 131 , 53 , & 180 , 134 , 54 , 181 , 136 , 55 , 182 , 138 , 57 , 183 , 140 , 58 , & 184 , 142 , 59 , 185 , 145 , 61 , 187 , 147 , 63 , 188 , 149 , 64 , & 189 , 152 , 66 , 190 , 154 , 68 , 191 , 156 , 70 , 193 , 159 , 71 , & 194 , 161 , 73 , 195 , 163 , 75 , 196 , 165 , 78 , 197 , 168 , 80 , & 198 , 170 , 82 , 200 , 172 , 84 , 201 , 175 , 87 , 202 , 177 , 89 , & 203 , 179 , 92 , 204 , 181 , 94 , 205 , 183 , 97 , 206 , 186 , 99 , & 207 , 188 , 102 , 207 , 190 , 104 , 208 , 192 , 107 , 209 , 194 , 110 , & 210 , 196 , 112 , 210 , 198 , 115 , 211 , 200 , 118 , 212 , 201 , 120 , & 212 , 203 , 123 , 212 , 205 , 126 , 213 , 206 , 129 , 213 , 208 , 131 , & 213 , 209 , 134 , 214 , 211 , 136 , 214 , 212 , 139 , 214 , 213 , 142 , & 214 , 215 , 144 , 214 , 216 , 147 , 213 , 217 , 149 , 213 , 218 , 152 , & 213 , 219 , 154 , 212 , 220 , 156 , 212 , 221 , 159 , 211 , 221 , 161 , & 211 , 222 , 163 , 210 , 223 , 165 , 209 , 223 , 167 , 208 , 224 , 169 , & 207 , 224 , 171 , 206 , 224 , 173 , 205 , 225 , 175 , 204 , 225 , 177 , & 203 , 225 , 179 , 202 , 225 , 181 , 200 , 225 , 182 , 199 , 225 , 184 , & 197 , 225 , 185 , 196 , 225 , 187 , 194 , 225 , 188 , 193 , 225 , 190 , & 191 , 225 , 191 , 189 , 224 , 192 , 187 , 224 , 194 , 185 , 223 , 195 , & 184 , 223 , 196 , 182 , 222 , 197 , 180 , 222 , 198 , 177 , 221 , 199 , & 175 , 220 , 200 , 173 , 220 , 200 , 171 , 219 , 201 , 169 , 218 , 202 , & 167 , 217 , 203 , 164 , 216 , 203 , 162 , 215 , 204 , 160 , 214 , 204 , & 157 , 213 , 205 , 155 , 212 , 205 , 153 , 211 , 206 , 150 , 209 , 206 , & 148 , 208 , 206 , 146 , 207 , 206 , 143 , 206 , 207 , 141 , 204 , 207 , & 139 , 203 , 207 , 136 , 201 , 207 , 134 , 200 , 207 , 132 , 198 , 207 , & 129 , 197 , 207 , 127 , 195 , 207 , 125 , 194 , 206 , 123 , 192 , 206 , & 120 , 190 , 206 , 118 , 189 , 206 , 116 , 187 , 205 , 114 , 185 , 205 , & 112 , 184 , 205 , 110 , 182 , 204 , 108 , 180 , 204 , 106 , 178 , 203 , & 104 , 177 , 203 , 103 , 175 , 202 , 101 , 173 , 202 , 99 , 171 , 201 , & 98 , 169 , 201 , 96 , 168 , 200 , 95 , 166 , 199 , 93 , 164 , 199 , & 92 , 162 , 198 , 90 , 160 , 197 , 89 , 158 , 196 , 88 , 156 , 196 , & 87 , 155 , 195 , 86 , 153 , 194 , 85 , 151 , 193 , 84 , 149 , 192 , & 83 , 147 , 191 , 82 , 145 , 190 , 82 , 143 , 189 , 81 , 141 , 188 , & 80 , 139 , 187 , 80 , 138 , 186 , 79 , 136 , 185 , 79 , 134 , 184 , & 79 , 132 , 183 , 79 , 130 , 182 , 78 , 128 , 180 , 78 , 126 , 179 , & 78 , 124 , 178 , 78 , 122 , 176 , 79 , 120 , 175 , 79 , 118 , 174 , & 79 , 117 , 172 , 79 , 115 , 171 , 80 , 113 , 169 , 80 , 111 , 168 , & 81 , 109 , 166 , 81 , 107 , 164 , 82 , 105 , 163 , 82 , 103 , 161 , & 83 , 102 , 159 , 84 , 100 , 158 , 84 , 98 , 156 , 85 , 96 , 154 , & 86 , 95 , 152 , 87 , 93 , 150 , 87 , 91 , 148 , 88 , 89 , 147 , & 89 , 88 , 145 , 90 , 86 , 143 , 91 , 85 , 141 , 92 , 83 , 139 , & 92 , 82 , 137 , 93 , 80 , 135 , 94 , 79 , 133 , 95 , 77 , 131 , & 96 , 76 , 129 , 97 , 75 , 127 , 98 , 73 , 125 , 99 , 72 , 123 , & 99 , 71 , 121 , 100 , 70 , 119 , 101 , 69 , 118 , 102 , 68 , 116 , & 103 , 67 , 114 , 104 , 66 , 112 , 104 , 65 , 110 , 105 , 64 , 108 , & 106 , 63 , 107 , 107 , 63 , 105 , 108 , 62 , 103 , 108 , 61 , 101 , & 109 , 61 , 100 , 110 , 60 , 98 , 111 , 59 , 96 , 111 , 59 , 95 , & 112 , 58 , 93 , 113 , 58 , 92 , 114 , 58 , 90 , 114 , 57 , 89 & ], shape ( romaO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: romaO10 = reshape ( [ & 115 , 57 , 87 , 135 , 64 , 55 , 163 , 103 , 44 , 195 , 163 , 75 , & 214 , 216 , 147 , 180 , 222 , 198 , 116 , 187 , 205 , 79 , 136 , 185 , & 92 , 83 , 139 , 114 , 57 , 89 & ], shape ( romaO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: romaO100 = reshape ( [ & 115 , 57 , 87 , 117 , 56 , 83 , 119 , 56 , 80 , 121 , 56 , 76 , & 122 , 56 , 73 , 124 , 57 , 70 , 126 , 57 , 67 , 128 , 58 , 64 , & 130 , 60 , 61 , 132 , 61 , 59 , 134 , 63 , 56 , 135 , 64 , 55 , & 138 , 67 , 52 , 140 , 69 , 51 , 142 , 72 , 49 , 145 , 76 , 47 , & 147 , 78 , 46 , 149 , 82 , 45 , 151 , 85 , 44 , 154 , 90 , 44 , & 157 , 95 , 43 , 159 , 98 , 43 , 163 , 103 , 44 , 165 , 107 , 45 , & 168 , 113 , 46 , 170 , 117 , 47 , 174 , 123 , 49 , 177 , 129 , 52 , & 180 , 134 , 54 , 183 , 140 , 58 , 185 , 145 , 61 , 189 , 152 , 66 , & 191 , 156 , 70 , 195 , 163 , 75 , 198 , 170 , 82 , 201 , 175 , 87 , & 204 , 181 , 94 , 206 , 186 , 99 , 208 , 192 , 107 , 210 , 196 , 112 , & 212 , 201 , 120 , 213 , 206 , 129 , 213 , 209 , 134 , 214 , 213 , 142 , & 214 , 216 , 147 , 213 , 219 , 154 , 212 , 221 , 159 , 210 , 223 , 165 , & 207 , 224 , 171 , 205 , 225 , 175 , 202 , 225 , 181 , 199 , 225 , 184 , & 194 , 225 , 188 , 189 , 224 , 192 , 185 , 223 , 195 , 180 , 222 , 198 , & 175 , 220 , 200 , 169 , 218 , 202 , 164 , 216 , 203 , 157 , 213 , 205 , & 150 , 209 , 206 , 146 , 207 , 206 , 139 , 203 , 207 , 134 , 200 , 207 , & 127 , 195 , 207 , 123 , 192 , 206 , 116 , 187 , 205 , 110 , 182 , 204 , & 106 , 178 , 203 , 101 , 173 , 202 , 98 , 169 , 201 , 93 , 164 , 199 , & 90 , 160 , 197 , 87 , 155 , 195 , 84 , 149 , 192 , 82 , 145 , 190 , & 80 , 139 , 187 , 79 , 136 , 185 , 79 , 130 , 182 , 78 , 126 , 179 , & 79 , 120 , 175 , 79 , 115 , 171 , 80 , 111 , 168 , 82 , 105 , 163 , & 83 , 102 , 159 , 85 , 96 , 154 , 87 , 91 , 148 , 89 , 88 , 145 , & 92 , 83 , 139 , 93 , 80 , 135 , 96 , 76 , 129 , 98 , 73 , 125 , & 100 , 70 , 119 , 103 , 67 , 114 , 104 , 65 , 110 , 107 , 63 , 105 , & 108 , 61 , 101 , 111 , 59 , 96 , 112 , 58 , 93 , 114 , 57 , 89 & ], shape ( romaO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: romaO25 = reshape ( [ & 115 , 57 , 87 , 123 , 56 , 72 , 130 , 60 , 61 , 139 , 68 , 51 , & 148 , 81 , 45 , 158 , 96 , 43 , 170 , 117 , 47 , 182 , 138 , 57 , & 195 , 163 , 75 , 207 , 188 , 102 , 213 , 206 , 129 , 212 , 220 , 156 , & 203 , 225 , 179 , 187 , 224 , 194 , 164 , 216 , 203 , 141 , 204 , 207 , & 116 , 187 , 205 , 96 , 168 , 200 , 84 , 149 , 192 , 78 , 128 , 180 , & 81 , 107 , 164 , 88 , 89 , 147 , 98 , 73 , 125 , 106 , 63 , 107 , & 114 , 57 , 89 & ], shape ( romaO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: romaO50 = reshape ( [ & 115 , 57 , 87 , 119 , 56 , 80 , 122 , 56 , 73 , 126 , 57 , 66 , & 130 , 60 , 61 , 134 , 63 , 56 , 138 , 67 , 52 , 142 , 72 , 49 , & 148 , 80 , 46 , 152 , 87 , 44 , 157 , 95 , 43 , 163 , 103 , 44 , & 168 , 113 , 46 , 175 , 125 , 50 , 181 , 136 , 55 , 187 , 147 , 63 , & 193 , 159 , 71 , 198 , 170 , 82 , 205 , 183 , 97 , 209 , 194 , 110 , & 212 , 203 , 123 , 214 , 211 , 136 , 213 , 217 , 149 , 211 , 222 , 163 , & 206 , 224 , 173 , 200 , 225 , 182 , 193 , 225 , 190 , 182 , 222 , 197 , & 171 , 219 , 201 , 160 , 214 , 204 , 148 , 208 , 206 , 136 , 201 , 207 , & 123 , 192 , 206 , 112 , 184 , 205 , 103 , 175 , 202 , 95 , 166 , 199 , & 88 , 156 , 196 , 82 , 145 , 190 , 79 , 136 , 185 , 78 , 126 , 179 , & 79 , 117 , 172 , 81 , 107 , 164 , 85 , 96 , 154 , 89 , 88 , 145 , & 93 , 80 , 135 , 98 , 73 , 125 , 102 , 68 , 116 , 107 , 63 , 105 , & 111 , 59 , 96 , 114 , 57 , 89 & ], shape ( romaO50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: tofino = reshape ( [ & 222 , 217 , 255 , 219 , 215 , 254 , 217 , 213 , 253 , 214 , 211 , 251 , & 211 , 209 , 250 , 208 , 207 , 249 , 206 , 205 , 248 , 203 , 203 , 247 , & 200 , 202 , 246 , 198 , 200 , 244 , 195 , 198 , 243 , 192 , 196 , 242 , & 190 , 194 , 241 , 187 , 192 , 240 , 184 , 190 , 239 , 182 , 188 , 237 , & 179 , 187 , 236 , 176 , 185 , 235 , 174 , 183 , 234 , 171 , 181 , 233 , & 168 , 179 , 232 , 166 , 177 , 230 , 163 , 175 , 229 , 160 , 173 , 228 , & 158 , 172 , 227 , 155 , 170 , 226 , 152 , 168 , 225 , 150 , 166 , 223 , & 147 , 164 , 222 , 144 , 162 , 221 , 142 , 160 , 220 , 139 , 159 , 219 , & 136 , 157 , 217 , 134 , 155 , 216 , 131 , 153 , 215 , 128 , 151 , 213 , & 126 , 149 , 212 , 123 , 147 , 211 , 121 , 145 , 209 , 118 , 143 , 208 , & 115 , 141 , 206 , 113 , 139 , 205 , 110 , 137 , 203 , 107 , 135 , 202 , & 105 , 133 , 200 , 102 , 131 , 198 , 100 , 129 , 197 , 97 , 127 , 195 , & 95 , 125 , 193 , 92 , 123 , 191 , 90 , 121 , 189 , 87 , 119 , 186 , & 85 , 117 , 184 , 83 , 115 , 182 , 81 , 113 , 180 , 79 , 111 , 177 , & 76 , 109 , 175 , 74 , 107 , 172 , 73 , 105 , 170 , 71 , 103 , 167 , & 69 , 101 , 165 , 67 , 99 , 162 , 66 , 98 , 160 , 64 , 96 , 157 , & 62 , 94 , 154 , 61 , 92 , 152 , 60 , 90 , 149 , 58 , 89 , 147 , & 57 , 87 , 144 , 56 , 85 , 141 , 55 , 84 , 139 , 53 , 82 , 136 , & 52 , 80 , 134 , 51 , 79 , 131 , 50 , 77 , 128 , 49 , 76 , 126 , & 48 , 74 , 123 , 47 , 73 , 121 , 46 , 71 , 118 , 45 , 69 , 116 , & 44 , 68 , 113 , 43 , 66 , 111 , 42 , 65 , 108 , 41 , 63 , 106 , & 40 , 62 , 103 , 39 , 60 , 101 , 38 , 59 , 98 , 37 , 58 , 96 , & 36 , 56 , 93 , 35 , 55 , 91 , 34 , 53 , 89 , 34 , 52 , 86 , & 33 , 50 , 84 , 32 , 49 , 81 , 31 , 48 , 79 , 30 , 46 , 77 , & 29 , 45 , 74 , 28 , 43 , 72 , 28 , 42 , 70 , 27 , 41 , 67 , & 26 , 40 , 65 , 25 , 38 , 63 , 25 , 37 , 61 , 24 , 36 , 59 , & 23 , 35 , 56 , 22 , 33 , 54 , 22 , 32 , 52 , 21 , 31 , 50 , & 21 , 30 , 48 , 20 , 29 , 46 , 19 , 28 , 44 , 19 , 27 , 42 , & 18 , 26 , 40 , 18 , 25 , 38 , 17 , 24 , 36 , 17 , 24 , 35 , & 17 , 23 , 33 , 16 , 22 , 32 , 16 , 22 , 30 , 15 , 21 , 29 , & 15 , 21 , 27 , 14 , 21 , 26 , 14 , 21 , 25 , 13 , 21 , 24 , & 13 , 21 , 23 , 13 , 21 , 22 , 13 , 21 , 21 , 13 , 21 , 20 , & 13 , 22 , 19 , 13 , 22 , 19 , 13 , 23 , 18 , 13 , 23 , 18 , & 13 , 24 , 18 , 14 , 25 , 18 , 14 , 26 , 17 , 15 , 27 , 18 , & 15 , 28 , 18 , 16 , 28 , 18 , 16 , 30 , 18 , 17 , 31 , 18 , & 17 , 32 , 19 , 17 , 33 , 19 , 18 , 34 , 20 , 18 , 35 , 20 , & 19 , 37 , 21 , 19 , 38 , 21 , 20 , 39 , 22 , 20 , 41 , 22 , & 21 , 42 , 23 , 21 , 44 , 24 , 22 , 45 , 24 , 22 , 47 , 25 , & 23 , 48 , 26 , 24 , 50 , 26 , 24 , 51 , 27 , 25 , 53 , 28 , & 26 , 54 , 28 , 26 , 56 , 29 , 27 , 57 , 30 , 28 , 59 , 31 , & 29 , 61 , 32 , 29 , 62 , 32 , 30 , 64 , 33 , 31 , 66 , 34 , & 32 , 67 , 35 , 32 , 69 , 36 , 33 , 71 , 37 , 34 , 72 , 37 , & 35 , 74 , 38 , 35 , 76 , 39 , 36 , 77 , 40 , 37 , 79 , 41 , & 38 , 81 , 42 , 39 , 83 , 43 , 39 , 84 , 44 , 40 , 86 , 44 , & 41 , 88 , 45 , 42 , 90 , 46 , 43 , 91 , 47 , 44 , 93 , 48 , & 44 , 95 , 49 , 45 , 97 , 50 , 46 , 98 , 51 , 47 , 100 , 52 , & 48 , 102 , 53 , 49 , 104 , 54 , 50 , 106 , 55 , 51 , 108 , 56 , & 52 , 109 , 57 , 53 , 111 , 58 , 54 , 113 , 59 , 55 , 115 , 60 , & 56 , 117 , 61 , 57 , 119 , 62 , 58 , 121 , 63 , 59 , 123 , 64 , & 61 , 125 , 65 , 62 , 127 , 66 , 63 , 129 , 68 , 65 , 131 , 69 , & 66 , 133 , 70 , 68 , 135 , 71 , 70 , 137 , 73 , 72 , 139 , 74 , & 74 , 141 , 75 , 76 , 143 , 77 , 78 , 145 , 78 , 80 , 147 , 80 , & 82 , 149 , 81 , 85 , 151 , 83 , 87 , 154 , 84 , 90 , 156 , 86 , & 92 , 158 , 87 , 95 , 160 , 89 , 98 , 162 , 90 , 100 , 164 , 92 , & 103 , 166 , 94 , 106 , 168 , 95 , 109 , 169 , 97 , 112 , 171 , 99 , & 115 , 173 , 100 , 118 , 175 , 102 , 121 , 177 , 103 , 124 , 179 , 105 , & 127 , 180 , 107 , 130 , 182 , 108 , 133 , 184 , 110 , 136 , 185 , 112 , & 139 , 187 , 113 , 142 , 189 , 115 , 145 , 190 , 116 , 148 , 192 , 118 , & 151 , 194 , 120 , 154 , 195 , 121 , 157 , 197 , 123 , 160 , 198 , 124 , & 163 , 200 , 126 , 166 , 202 , 127 , 169 , 203 , 129 , 172 , 205 , 131 , & 175 , 206 , 132 , 178 , 208 , 134 , 181 , 209 , 135 , 183 , 211 , 137 , & 186 , 212 , 138 , 189 , 214 , 140 , 192 , 216 , 141 , 195 , 217 , 143 , & 198 , 219 , 145 , 201 , 220 , 146 , 204 , 222 , 148 , 207 , 223 , 149 , & 210 , 225 , 151 , 213 , 226 , 152 , 216 , 228 , 154 , 219 , 230 , 155 & ], shape ( tofino ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: tofino10 = reshape ( [ & 222 , 217 , 255 , 147 , 164 , 222 , 74 , 107 , 172 , 39 , 60 , 101 , & 18 , 25 , 38 , 18 , 34 , 20 , 36 , 77 , 40 , 63 , 129 , 68 , & 136 , 185 , 112 , 219 , 230 , 155 & ], shape ( tofino10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: tofino100 = reshape ( [ & 222 , 217 , 255 , 214 , 211 , 251 , 208 , 207 , 249 , 200 , 202 , 246 , & 195 , 198 , 243 , 187 , 192 , 240 , 182 , 188 , 237 , 174 , 183 , 234 , & 166 , 177 , 230 , 160 , 173 , 228 , 152 , 168 , 225 , 147 , 164 , 222 , & 139 , 159 , 219 , 134 , 155 , 216 , 126 , 149 , 212 , 118 , 143 , 208 , & 113 , 139 , 205 , 105 , 133 , 200 , 100 , 129 , 197 , 92 , 123 , 191 , & 85 , 117 , 184 , 81 , 113 , 180 , 74 , 107 , 172 , 71 , 103 , 167 , & 66 , 98 , 160 , 62 , 94 , 154 , 58 , 89 , 147 , 55 , 84 , 139 , & 52 , 80 , 134 , 49 , 76 , 126 , 47 , 73 , 121 , 44 , 68 , 113 , & 42 , 65 , 108 , 39 , 60 , 101 , 36 , 56 , 93 , 34 , 53 , 89 , & 32 , 49 , 81 , 30 , 46 , 77 , 28 , 42 , 70 , 26 , 40 , 65 , & 24 , 36 , 59 , 22 , 32 , 52 , 21 , 30 , 48 , 19 , 27 , 42 , & 18 , 25 , 38 , 17 , 23 , 33 , 16 , 22 , 30 , 14 , 21 , 26 , & 13 , 21 , 23 , 13 , 21 , 21 , 13 , 22 , 19 , 13 , 23 , 18 , & 14 , 26 , 17 , 16 , 28 , 18 , 17 , 31 , 18 , 18 , 34 , 20 , & 19 , 37 , 21 , 20 , 41 , 22 , 21 , 44 , 24 , 23 , 48 , 26 , & 25 , 53 , 28 , 26 , 56 , 29 , 29 , 61 , 32 , 30 , 64 , 33 , & 32 , 69 , 36 , 34 , 72 , 37 , 36 , 77 , 40 , 39 , 83 , 43 , & 40 , 86 , 44 , 43 , 91 , 47 , 44 , 95 , 49 , 47 , 100 , 52 , & 49 , 104 , 54 , 52 , 109 , 57 , 55 , 115 , 60 , 57 , 119 , 62 , & 61 , 125 , 65 , 63 , 129 , 68 , 68 , 135 , 71 , 72 , 139 , 74 , & 78 , 145 , 78 , 85 , 151 , 83 , 90 , 156 , 86 , 98 , 162 , 90 , & 103 , 166 , 94 , 112 , 171 , 99 , 121 , 177 , 103 , 127 , 180 , 107 , & 136 , 185 , 112 , 142 , 189 , 115 , 151 , 194 , 120 , 157 , 197 , 123 , & 166 , 202 , 127 , 175 , 206 , 132 , 181 , 209 , 135 , 189 , 214 , 140 , & 195 , 217 , 143 , 204 , 222 , 148 , 210 , 225 , 151 , 219 , 230 , 155 & ], shape ( tofino100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: tofino25 = reshape ( [ & 222 , 217 , 255 , 192 , 196 , 242 , 166 , 177 , 230 , 136 , 157 , 217 , & 107 , 135 , 202 , 83 , 115 , 182 , 62 , 94 , 154 , 50 , 77 , 128 , & 39 , 60 , 101 , 29 , 45 , 74 , 22 , 32 , 52 , 16 , 22 , 32 , & 13 , 22 , 19 , 16 , 30 , 18 , 21 , 44 , 24 , 28 , 59 , 31 , & 36 , 77 , 40 , 45 , 97 , 50 , 55 , 115 , 60 , 70 , 137 , 73 , & 95 , 160 , 89 , 124 , 179 , 105 , 157 , 197 , 123 , 186 , 212 , 138 , & 219 , 230 , 155 & ], shape ( tofino25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: tofino50 = reshape ( [ & 222 , 217 , 255 , 208 , 207 , 249 , 195 , 198 , 243 , 179 , 187 , 236 , & 166 , 177 , 230 , 152 , 168 , 225 , 139 , 159 , 219 , 126 , 149 , 212 , & 110 , 137 , 203 , 97 , 127 , 195 , 85 , 117 , 184 , 74 , 107 , 172 , & 66 , 98 , 160 , 57 , 87 , 144 , 51 , 79 , 131 , 46 , 71 , 118 , & 41 , 63 , 106 , 36 , 56 , 93 , 31 , 48 , 79 , 27 , 41 , 67 , & 23 , 35 , 56 , 20 , 29 , 46 , 17 , 24 , 36 , 15 , 21 , 27 , & 13 , 21 , 22 , 13 , 23 , 18 , 15 , 27 , 18 , 17 , 33 , 19 , & 20 , 39 , 22 , 22 , 47 , 25 , 26 , 54 , 28 , 29 , 62 , 32 , & 34 , 72 , 37 , 38 , 81 , 42 , 42 , 90 , 46 , 46 , 98 , 51 , & 51 , 108 , 56 , 57 , 119 , 62 , 63 , 129 , 68 , 72 , 139 , 74 , & 82 , 149 , 81 , 95 , 160 , 89 , 112 , 171 , 99 , 127 , 180 , 107 , & 142 , 189 , 115 , 157 , 197 , 123 , 172 , 205 , 131 , 189 , 214 , 140 , & 204 , 222 , 148 , 219 , 230 , 155 & ], shape ( tofino50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: tokyo = reshape ( [ & 28 , 14 , 52 , 29 , 15 , 52 , 31 , 15 , 53 , 33 , 16 , 53 , & 35 , 16 , 54 , 36 , 16 , 54 , 38 , 17 , 55 , 40 , 17 , 56 , & 41 , 18 , 56 , 43 , 18 , 57 , 45 , 19 , 57 , 47 , 19 , 58 , & 48 , 20 , 58 , 50 , 21 , 59 , 52 , 21 , 60 , 53 , 22 , 60 , & 55 , 22 , 61 , 57 , 23 , 61 , 58 , 24 , 62 , 60 , 25 , 62 , & 62 , 25 , 63 , 63 , 26 , 64 , 65 , 27 , 64 , 67 , 28 , 65 , & 68 , 29 , 65 , 70 , 30 , 66 , 72 , 30 , 67 , 73 , 31 , 67 , & 75 , 32 , 68 , 76 , 33 , 68 , 78 , 34 , 69 , 79 , 35 , 69 , & 81 , 36 , 70 , 82 , 38 , 70 , 83 , 39 , 71 , 85 , 40 , 71 , & 86 , 41 , 72 , 87 , 42 , 72 , 89 , 43 , 73 , 90 , 44 , 73 , & 91 , 45 , 73 , 92 , 47 , 74 , 93 , 48 , 74 , 94 , 49 , 75 , & 95 , 50 , 75 , 96 , 51 , 75 , 97 , 52 , 76 , 98 , 53 , 76 , & 99 , 55 , 76 , 100 , 56 , 77 , 100 , 57 , 77 , 101 , 58 , 77 , & 102 , 59 , 77 , 102 , 60 , 78 , 103 , 61 , 78 , 104 , 62 , 78 , & 104 , 63 , 78 , 105 , 64 , 78 , 105 , 65 , 79 , 106 , 66 , 79 , & 106 , 67 , 79 , 106 , 68 , 79 , 107 , 69 , 79 , 107 , 70 , 79 , & 108 , 71 , 80 , 108 , 72 , 80 , 108 , 73 , 80 , 108 , 74 , 80 , & 109 , 75 , 80 , 109 , 75 , 80 , 109 , 76 , 80 , 109 , 77 , 80 , & 110 , 78 , 80 , 110 , 79 , 80 , 110 , 79 , 81 , 110 , 80 , 81 , & 110 , 81 , 81 , 111 , 82 , 81 , 111 , 82 , 81 , 111 , 83 , 81 , & 111 , 84 , 81 , 111 , 84 , 81 , 111 , 85 , 81 , 111 , 86 , 81 , & 112 , 86 , 81 , 112 , 87 , 81 , 112 , 88 , 81 , 112 , 88 , 81 , & 112 , 89 , 81 , 112 , 89 , 81 , 112 , 90 , 82 , 112 , 91 , 82 , & 112 , 91 , 82 , 112 , 92 , 82 , 113 , 92 , 82 , 113 , 93 , 82 , & 113 , 93 , 82 , 113 , 94 , 82 , 113 , 94 , 82 , 113 , 95 , 82 , & 113 , 95 , 82 , 113 , 96 , 82 , 113 , 97 , 82 , 113 , 97 , 82 , & 113 , 98 , 82 , 113 , 98 , 82 , 114 , 99 , 82 , 114 , 99 , 82 , & 114 , 100 , 82 , 114 , 100 , 82 , 114 , 101 , 82 , 114 , 101 , 82 , & 114 , 102 , 83 , 114 , 103 , 83 , 114 , 103 , 83 , 114 , 104 , 83 , & 114 , 104 , 83 , 115 , 105 , 83 , 115 , 105 , 83 , 115 , 106 , 83 , & 115 , 107 , 83 , 115 , 107 , 83 , 115 , 108 , 83 , 115 , 109 , 83 , & 115 , 109 , 83 , 115 , 110 , 83 , 116 , 110 , 83 , 116 , 111 , 83 , & 116 , 112 , 83 , 116 , 113 , 83 , 116 , 113 , 83 , 116 , 114 , 84 , & 116 , 115 , 84 , 116 , 115 , 84 , 116 , 116 , 84 , 117 , 117 , 84 , & 117 , 118 , 84 , 117 , 119 , 84 , 117 , 119 , 84 , 117 , 120 , 84 , & 117 , 121 , 84 , 117 , 122 , 84 , 118 , 123 , 84 , 118 , 124 , 84 , & 118 , 124 , 84 , 118 , 125 , 85 , 118 , 126 , 85 , 118 , 127 , 85 , & 119 , 128 , 85 , 119 , 129 , 85 , 119 , 130 , 85 , 119 , 131 , 85 , & 119 , 132 , 85 , 120 , 133 , 85 , 120 , 134 , 86 , 120 , 135 , 86 , & 120 , 136 , 86 , 120 , 137 , 86 , 121 , 138 , 86 , 121 , 139 , 86 , & 121 , 141 , 87 , 121 , 142 , 87 , 121 , 143 , 87 , 122 , 144 , 87 , & 122 , 145 , 87 , 122 , 146 , 88 , 123 , 148 , 88 , 123 , 149 , 88 , & 123 , 150 , 88 , 123 , 151 , 89 , 124 , 152 , 89 , 124 , 154 , 89 , & 124 , 155 , 90 , 125 , 156 , 90 , 125 , 158 , 90 , 125 , 159 , 91 , & 126 , 160 , 91 , 126 , 162 , 92 , 127 , 163 , 92 , 127 , 164 , 93 , & 128 , 166 , 93 , 128 , 167 , 94 , 129 , 169 , 94 , 129 , 170 , 95 , & 130 , 172 , 96 , 130 , 173 , 96 , 131 , 175 , 97 , 132 , 176 , 98 , & 132 , 178 , 99 , 133 , 179 , 100 , 134 , 181 , 101 , 135 , 182 , 102 , & 135 , 184 , 103 , 136 , 185 , 104 , 137 , 187 , 105 , 138 , 189 , 106 , & 139 , 190 , 107 , 140 , 192 , 109 , 141 , 193 , 110 , 142 , 195 , 112 , & 143 , 197 , 113 , 145 , 198 , 115 , 146 , 200 , 116 , 147 , 202 , 118 , & 149 , 203 , 120 , 150 , 205 , 121 , 152 , 207 , 123 , 153 , 208 , 125 , & 155 , 210 , 127 , 156 , 212 , 129 , 158 , 213 , 131 , 160 , 215 , 133 , & 162 , 216 , 135 , 164 , 218 , 138 , 165 , 220 , 140 , 167 , 221 , 142 , & 169 , 223 , 144 , 171 , 224 , 147 , 173 , 226 , 149 , 175 , 227 , 152 , & 178 , 228 , 154 , 180 , 230 , 156 , 182 , 231 , 159 , 184 , 232 , 161 , & 186 , 234 , 164 , 188 , 235 , 166 , 190 , 236 , 169 , 193 , 237 , 171 , & 195 , 238 , 173 , 197 , 239 , 176 , 199 , 240 , 178 , 201 , 241 , 180 , & 203 , 242 , 183 , 205 , 243 , 185 , 207 , 244 , 187 , 209 , 244 , 189 , & 211 , 245 , 191 , 213 , 246 , 193 , 214 , 246 , 195 , 216 , 247 , 197 , & 218 , 247 , 199 , 220 , 248 , 201 , 221 , 248 , 202 , 223 , 249 , 204 , & 224 , 249 , 206 , 226 , 249 , 207 , 227 , 250 , 209 , 229 , 250 , 210 , & 230 , 250 , 212 , 232 , 251 , 213 , 233 , 251 , 215 , 234 , 251 , 216 , & 235 , 251 , 217 , 237 , 252 , 218 , 238 , 252 , 220 , 239 , 252 , 221 & ], shape ( tokyo ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: tokyo10 = reshape ( [ & 28 , 14 , 52 , 75 , 32 , 68 , 105 , 64 , 78 , 112 , 87 , 81 , & 114 , 103 , 83 , 118 , 123 , 84 , 124 , 152 , 89 , 141 , 193 , 110 , & 193 , 237 , 171 , 239 , 252 , 221 & ], shape ( tokyo10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: tokyo100 = reshape ( [ & 28 , 14 , 52 , 33 , 16 , 53 , 36 , 16 , 54 , 41 , 18 , 56 , & 45 , 19 , 57 , 50 , 21 , 59 , 53 , 22 , 60 , 58 , 24 , 62 , & 63 , 26 , 64 , 67 , 28 , 65 , 72 , 30 , 67 , 75 , 32 , 68 , & 79 , 35 , 69 , 82 , 38 , 70 , 86 , 41 , 72 , 90 , 44 , 73 , & 92 , 47 , 74 , 95 , 50 , 75 , 97 , 52 , 76 , 100 , 56 , 77 , & 102 , 59 , 77 , 103 , 61 , 78 , 105 , 64 , 78 , 106 , 66 , 79 , & 107 , 69 , 79 , 108 , 71 , 80 , 108 , 74 , 80 , 109 , 76 , 80 , & 110 , 78 , 80 , 110 , 80 , 81 , 111 , 82 , 81 , 111 , 84 , 81 , & 111 , 85 , 81 , 112 , 87 , 81 , 112 , 89 , 81 , 112 , 90 , 82 , & 112 , 92 , 82 , 113 , 93 , 82 , 113 , 94 , 82 , 113 , 95 , 82 , & 113 , 97 , 82 , 114 , 99 , 82 , 114 , 100 , 82 , 114 , 101 , 82 , & 114 , 103 , 83 , 114 , 104 , 83 , 115 , 105 , 83 , 115 , 107 , 83 , & 115 , 109 , 83 , 116 , 110 , 83 , 116 , 113 , 83 , 116 , 114 , 84 , & 116 , 116 , 84 , 117 , 119 , 84 , 117 , 120 , 84 , 118 , 123 , 84 , & 118 , 124 , 84 , 118 , 127 , 85 , 119 , 129 , 85 , 119 , 132 , 85 , & 120 , 135 , 86 , 120 , 137 , 86 , 121 , 141 , 87 , 121 , 143 , 87 , & 122 , 146 , 88 , 123 , 149 , 88 , 124 , 152 , 89 , 125 , 156 , 90 , & 125 , 159 , 91 , 127 , 163 , 92 , 128 , 166 , 93 , 129 , 170 , 95 , & 130 , 173 , 96 , 132 , 178 , 99 , 135 , 182 , 102 , 136 , 185 , 104 , & 139 , 190 , 107 , 141 , 193 , 110 , 145 , 198 , 115 , 147 , 202 , 118 , & 152 , 207 , 123 , 156 , 212 , 129 , 160 , 215 , 133 , 165 , 220 , 140 , & 169 , 223 , 144 , 175 , 227 , 152 , 182 , 231 , 159 , 186 , 234 , 164 , & 193 , 237 , 171 , 197 , 239 , 176 , 203 , 242 , 183 , 207 , 244 , 187 , & 213 , 246 , 193 , 218 , 247 , 199 , 221 , 248 , 202 , 226 , 249 , 207 , & 229 , 250 , 210 , 233 , 251 , 215 , 235 , 251 , 217 , 239 , 252 , 221 & ], shape ( tokyo100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: tokyo25 = reshape ( [ & 28 , 14 , 52 , 47 , 19 , 58 , 63 , 26 , 64 , 81 , 36 , 70 , & 94 , 49 , 75 , 102 , 60 , 78 , 108 , 71 , 80 , 110 , 79 , 81 , & 112 , 87 , 81 , 113 , 93 , 82 , 114 , 99 , 82 , 115 , 105 , 83 , & 116 , 112 , 83 , 117 , 119 , 84 , 119 , 129 , 85 , 121 , 139 , 86 , & 124 , 152 , 89 , 128 , 167 , 94 , 135 , 182 , 102 , 146 , 200 , 116 , & 164 , 218 , 138 , 184 , 232 , 161 , 207 , 244 , 187 , 224 , 249 , 206 , & 239 , 252 , 221 & ], shape ( tokyo25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: tokyo50 = reshape ( [ & 28 , 14 , 52 , 36 , 16 , 54 , 45 , 19 , 57 , 55 , 22 , 61 , & 63 , 26 , 64 , 72 , 30 , 67 , 79 , 35 , 69 , 86 , 41 , 72 , & 93 , 48 , 74 , 98 , 53 , 76 , 102 , 59 , 77 , 105 , 64 , 78 , & 107 , 69 , 79 , 109 , 75 , 80 , 110 , 79 , 80 , 111 , 82 , 81 , & 111 , 86 , 81 , 112 , 89 , 81 , 113 , 92 , 82 , 113 , 95 , 82 , & 113 , 98 , 82 , 114 , 100 , 82 , 114 , 103 , 83 , 115 , 107 , 83 , & 115 , 110 , 83 , 116 , 113 , 83 , 117 , 117 , 84 , 117 , 122 , 84 , & 118 , 126 , 85 , 119 , 131 , 85 , 120 , 136 , 86 , 121 , 142 , 87 , & 123 , 149 , 88 , 124 , 155 , 90 , 126 , 162 , 92 , 129 , 169 , 94 , & 132 , 176 , 98 , 136 , 185 , 104 , 141 , 193 , 110 , 147 , 202 , 118 , & 155 , 210 , 127 , 164 , 218 , 138 , 175 , 227 , 152 , 186 , 234 , 164 , & 197 , 239 , 176 , 207 , 244 , 187 , 216 , 247 , 197 , 226 , 249 , 207 , & 233 , 251 , 215 , 239 , 252 , 221 & ], shape ( tokyo50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: tokyoS = reshape ( [ & 28 , 14 , 52 , 239 , 252 , 221 , 116 , 111 , 83 , 135 , 182 , 102 , & 107 , 70 , 79 , 121 , 139 , 86 , 113 , 93 , 82 , 184 , 232 , 161 , & 81 , 36 , 70 , 55 , 22 , 61 , 153 , 208 , 125 , 216 , 247 , 197 , & 114 , 101 , 82 , 111 , 83 , 81 , 125 , 159 , 91 , 118 , 124 , 84 , & 99 , 55 , 76 , 129 , 170 , 95 , 68 , 29 , 65 , 167 , 221 , 142 , & 91 , 45 , 73 , 119 , 131 , 85 , 117 , 117 , 84 , 41 , 18 , 56 , & 229 , 250 , 210 , 123 , 149 , 88 , 142 , 195 , 112 , 113 , 97 , 82 , & 115 , 106 , 83 , 112 , 88 , 81 , 109 , 77 , 80 , 201 , 241 , 180 , & 104 , 63 , 78 , 111 , 86 , 81 , 114 , 99 , 82 , 193 , 237 , 171 , & 117 , 120 , 84 , 35 , 16 , 54 , 108 , 74 , 80 , 138 , 189 , 106 , & 115 , 109 , 83 , 110 , 80 , 81 , 95 , 50 , 75 , 102 , 59 , 77 , & 120 , 135 , 86 , 48 , 20 , 58 , 116 , 114 , 84 , 118 , 127 , 85 , & 113 , 95 , 82 , 112 , 91 , 82 , 175 , 227 , 152 , 75 , 32 , 68 , & 209 , 244 , 189 , 122 , 144 , 87 , 124 , 154 , 89 , 147 , 202 , 118 , & 62 , 25 , 63 , 223 , 249 , 204 , 160 , 215 , 133 , 234 , 251 , 216 , & 86 , 41 , 72 , 132 , 176 , 98 , 127 , 164 , 93 , 114 , 104 , 83 , & 106 , 66 , 79 , 125 , 156 , 90 , 188 , 235 , 166 , 112 , 87 , 81 , & 116 , 115 , 84 , 114 , 103 , 83 , 93 , 48 , 74 , 171 , 224 , 147 , & 45 , 19 , 57 , 117 , 119 , 84 , 106 , 68 , 79 , 205 , 243 , 185 , & 118 , 125 , 85 , 72 , 30 , 67 , 164 , 218 , 138 , 52 , 21 , 60 , & 89 , 43 , 73 , 109 , 75 , 80 , 140 , 192 , 109 , 113 , 96 , 82 , & 38 , 17 , 55 , 156 , 212 , 129 , 113 , 98 , 82 , 145 , 198 , 115 , & 213 , 246 , 193 , 123 , 151 , 89 , 117 , 122 , 84 , 220 , 248 , 201 , & 78 , 34 , 69 , 83 , 39 , 71 , 58 , 24 , 62 , 112 , 92 , 82 , & 108 , 72 , 80 , 237 , 252 , 218 , 115 , 107 , 83 , 130 , 173 , 96 & ], shape ( tokyoS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: turku = reshape ( [ & 0 , 0 , 0 , 2 , 2 , 2 , 4 , 4 , 3 , 6 , 6 , 5 , & 7 , 7 , 7 , 9 , 9 , 8 , 11 , 11 , 10 , 13 , 13 , 12 , & 14 , 14 , 13 , 16 , 16 , 14 , 17 , 17 , 16 , 18 , 18 , 17 , & 20 , 19 , 18 , 21 , 21 , 19 , 22 , 22 , 20 , 23 , 23 , 21 , & 24 , 24 , 22 , 25 , 25 , 23 , 26 , 26 , 24 , 27 , 27 , 25 , & 28 , 28 , 25 , 29 , 29 , 26 , 30 , 30 , 27 , 31 , 31 , 28 , & 32 , 32 , 29 , 33 , 33 , 30 , 34 , 34 , 31 , 35 , 35 , 31 , & 36 , 36 , 32 , 37 , 37 , 33 , 38 , 38 , 34 , 39 , 39 , 35 , & 40 , 40 , 35 , 41 , 41 , 36 , 42 , 42 , 37 , 43 , 43 , 38 , & 44 , 44 , 39 , 45 , 45 , 39 , 46 , 46 , 40 , 47 , 47 , 41 , & 48 , 48 , 42 , 50 , 49 , 42 , 51 , 50 , 43 , 52 , 51 , 44 , & 53 , 52 , 45 , 54 , 54 , 45 , 55 , 55 , 46 , 56 , 56 , 47 , & 57 , 57 , 48 , 58 , 58 , 48 , 59 , 59 , 49 , 60 , 60 , 50 , & 61 , 61 , 50 , 62 , 62 , 51 , 63 , 63 , 52 , 64 , 64 , 52 , & 65 , 65 , 53 , 66 , 66 , 53 , 67 , 67 , 54 , 68 , 68 , 55 , & 69 , 69 , 55 , 70 , 70 , 56 , 71 , 71 , 56 , 72 , 72 , 57 , & 73 , 73 , 58 , 75 , 74 , 58 , 76 , 75 , 59 , 77 , 76 , 59 , & 78 , 77 , 60 , 79 , 78 , 60 , 80 , 79 , 61 , 81 , 80 , 61 , & 82 , 81 , 62 , 83 , 82 , 62 , 84 , 83 , 63 , 85 , 84 , 63 , & 86 , 86 , 64 , 87 , 87 , 64 , 88 , 88 , 65 , 89 , 89 , 65 , & 90 , 90 , 66 , 91 , 91 , 66 , 92 , 92 , 67 , 93 , 93 , 67 , & 94 , 94 , 68 , 95 , 95 , 68 , 96 , 96 , 69 , 97 , 97 , 69 , & 98 , 98 , 70 , 99 , 99 , 70 , 100 , 100 , 71 , 101 , 101 , 71 , & 102 , 102 , 71 , 103 , 103 , 72 , 104 , 104 , 72 , 106 , 105 , 73 , & 107 , 106 , 73 , 108 , 107 , 74 , 109 , 108 , 74 , 110 , 109 , 75 , & 111 , 110 , 75 , 112 , 111 , 76 , 113 , 112 , 76 , 114 , 113 , 77 , & 115 , 114 , 77 , 117 , 115 , 78 , 118 , 116 , 78 , 119 , 117 , 79 , & 120 , 118 , 79 , 121 , 119 , 80 , 123 , 121 , 80 , 124 , 122 , 81 , & 125 , 123 , 81 , 126 , 124 , 82 , 127 , 125 , 82 , 129 , 126 , 83 , & 130 , 127 , 83 , 131 , 128 , 84 , 133 , 129 , 84 , 134 , 130 , 85 , & 135 , 131 , 86 , 137 , 132 , 86 , 138 , 133 , 87 , 139 , 134 , 88 , & 141 , 135 , 88 , 142 , 136 , 89 , 144 , 138 , 89 , 145 , 139 , 90 , & 147 , 140 , 91 , 148 , 141 , 91 , 150 , 142 , 92 , 151 , 143 , 93 , & 153 , 144 , 94 , 154 , 145 , 94 , 156 , 146 , 95 , 157 , 147 , 96 , & 159 , 148 , 97 , 161 , 148 , 97 , 162 , 149 , 98 , 164 , 150 , 99 , & 165 , 151 , 100 , 167 , 152 , 100 , 169 , 153 , 101 , 170 , 154 , 102 , & 172 , 154 , 103 , 173 , 155 , 104 , 175 , 156 , 104 , 176 , 157 , 105 , & 178 , 157 , 106 , 179 , 158 , 107 , 181 , 159 , 108 , 182 , 159 , 108 , & 184 , 160 , 109 , 185 , 160 , 110 , 187 , 161 , 111 , 188 , 161 , 112 , & 190 , 162 , 112 , 191 , 162 , 113 , 192 , 162 , 114 , 194 , 163 , 115 , & 195 , 163 , 116 , 196 , 164 , 116 , 198 , 164 , 117 , 199 , 164 , 118 , & 200 , 164 , 119 , 201 , 165 , 120 , 203 , 165 , 120 , 204 , 165 , 121 , & 205 , 165 , 122 , 206 , 166 , 123 , 207 , 166 , 124 , 208 , 166 , 124 , & 209 , 166 , 125 , 210 , 166 , 126 , 211 , 166 , 127 , 212 , 167 , 128 , & 214 , 167 , 128 , 215 , 167 , 129 , 216 , 167 , 130 , 217 , 167 , 131 , & 218 , 167 , 132 , 219 , 168 , 133 , 219 , 168 , 134 , 220 , 168 , 135 , & 221 , 168 , 136 , 222 , 168 , 137 , 223 , 169 , 138 , 224 , 169 , 139 , & 225 , 169 , 140 , 226 , 169 , 141 , 227 , 170 , 142 , 228 , 170 , 143 , & 229 , 170 , 144 , 230 , 171 , 146 , 231 , 171 , 147 , 232 , 172 , 148 , & 233 , 172 , 149 , 233 , 173 , 151 , 234 , 173 , 152 , 235 , 174 , 153 , & 236 , 174 , 155 , 237 , 175 , 156 , 238 , 176 , 158 , 239 , 176 , 159 , & 239 , 177 , 161 , 240 , 178 , 162 , 241 , 179 , 163 , 242 , 179 , 165 , & 242 , 180 , 167 , 243 , 181 , 168 , 244 , 182 , 170 , 244 , 183 , 171 , & 245 , 184 , 173 , 246 , 185 , 174 , 246 , 186 , 176 , 247 , 187 , 177 , & 247 , 188 , 179 , 248 , 189 , 180 , 248 , 190 , 182 , 249 , 191 , 183 , & 249 , 192 , 185 , 250 , 193 , 186 , 250 , 194 , 188 , 251 , 195 , 189 , & 251 , 196 , 191 , 251 , 197 , 192 , 252 , 198 , 193 , 252 , 199 , 195 , & 252 , 200 , 196 , 253 , 201 , 198 , 253 , 203 , 199 , 253 , 204 , 200 , & 253 , 205 , 202 , 253 , 206 , 203 , 254 , 207 , 204 , 254 , 208 , 206 , & 254 , 209 , 207 , 254 , 210 , 208 , 254 , 211 , 209 , 254 , 212 , 211 , & 254 , 214 , 212 , 254 , 215 , 213 , 255 , 216 , 214 , 255 , 217 , 215 , & 255 , 218 , 217 , 255 , 219 , 218 , 255 , 220 , 219 , 255 , 221 , 220 , & 255 , 222 , 221 , 255 , 223 , 223 , 255 , 224 , 224 , 255 , 226 , 225 , & 255 , 227 , 226 , 255 , 228 , 227 , 255 , 229 , 229 , 255 , 230 , 230 & ], shape ( turku ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: turku10 = reshape ( [ & 0 , 0 , 0 , 36 , 36 , 32 , 66 , 66 , 53 , 95 , 95 , 68 , & 126 , 124 , 82 , 169 , 153 , 101 , 207 , 166 , 124 , 234 , 173 , 152 , & 252 , 199 , 195 , 255 , 230 , 230 & ], shape ( turku10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: turku100 = reshape ( [ & 0 , 0 , 0 , 6 , 6 , 5 , 9 , 9 , 8 , 14 , 14 , 13 , & 17 , 17 , 16 , 21 , 21 , 19 , 23 , 23 , 21 , 26 , 26 , 24 , & 29 , 29 , 26 , 31 , 31 , 28 , 34 , 34 , 31 , 36 , 36 , 32 , & 39 , 39 , 35 , 41 , 41 , 36 , 44 , 44 , 39 , 47 , 47 , 41 , & 50 , 49 , 42 , 53 , 52 , 45 , 55 , 55 , 46 , 58 , 58 , 48 , & 61 , 61 , 50 , 63 , 63 , 52 , 66 , 66 , 53 , 68 , 68 , 55 , & 71 , 71 , 56 , 73 , 73 , 58 , 77 , 76 , 59 , 80 , 79 , 61 , & 82 , 81 , 62 , 85 , 84 , 63 , 87 , 87 , 64 , 90 , 90 , 66 , & 92 , 92 , 67 , 95 , 95 , 68 , 98 , 98 , 70 , 100 , 100 , 71 , & 103 , 103 , 72 , 106 , 105 , 73 , 109 , 108 , 74 , 111 , 110 , 75 , & 114 , 113 , 77 , 118 , 116 , 78 , 120 , 118 , 79 , 124 , 122 , 81 , & 126 , 124 , 82 , 130 , 127 , 83 , 133 , 129 , 84 , 137 , 132 , 86 , & 141 , 135 , 88 , 144 , 138 , 89 , 148 , 141 , 91 , 151 , 143 , 93 , & 156 , 146 , 95 , 161 , 148 , 97 , 164 , 150 , 99 , 169 , 153 , 101 , & 172 , 154 , 103 , 176 , 157 , 105 , 179 , 158 , 107 , 184 , 160 , 109 , & 188 , 161 , 112 , 191 , 162 , 113 , 195 , 163 , 116 , 198 , 164 , 117 , & 201 , 165 , 120 , 204 , 165 , 121 , 207 , 166 , 124 , 210 , 166 , 126 , & 212 , 167 , 128 , 216 , 167 , 130 , 218 , 167 , 132 , 220 , 168 , 135 , & 222 , 168 , 137 , 225 , 169 , 140 , 228 , 170 , 143 , 230 , 171 , 146 , & 233 , 172 , 149 , 234 , 173 , 152 , 237 , 175 , 156 , 239 , 176 , 159 , & 241 , 179 , 163 , 243 , 181 , 168 , 244 , 183 , 171 , 246 , 186 , 176 , & 247 , 188 , 179 , 249 , 191 , 183 , 250 , 194 , 188 , 251 , 196 , 191 , & 252 , 199 , 195 , 253 , 201 , 198 , 253 , 205 , 202 , 254 , 207 , 204 , & 254 , 210 , 208 , 254 , 214 , 212 , 255 , 216 , 214 , 255 , 219 , 218 , & 255 , 221 , 220 , 255 , 224 , 224 , 255 , 227 , 226 , 255 , 230 , 230 & ], shape ( turku100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: turku25 = reshape ( [ & 0 , 0 , 0 , 18 , 18 , 17 , 29 , 29 , 26 , 40 , 40 , 35 , & 52 , 51 , 44 , 62 , 62 , 51 , 73 , 73 , 58 , 84 , 83 , 63 , & 95 , 95 , 68 , 107 , 106 , 73 , 118 , 116 , 78 , 131 , 128 , 84 , & 147 , 140 , 91 , 162 , 149 , 98 , 179 , 158 , 107 , 194 , 163 , 115 , & 207 , 166 , 124 , 219 , 168 , 133 , 228 , 170 , 143 , 238 , 176 , 158 , & 246 , 185 , 174 , 251 , 195 , 189 , 254 , 207 , 204 , 255 , 218 , 217 , & 255 , 230 , 230 & ], shape ( turku25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: turku50 = reshape ( [ & 0 , 0 , 0 , 9 , 9 , 8 , 17 , 17 , 16 , 24 , 24 , 22 , & 29 , 29 , 26 , 34 , 34 , 31 , 39 , 39 , 35 , 44 , 44 , 39 , & 51 , 50 , 43 , 56 , 56 , 47 , 61 , 61 , 50 , 66 , 66 , 53 , & 71 , 71 , 56 , 78 , 77 , 60 , 83 , 82 , 62 , 88 , 88 , 65 , & 93 , 93 , 67 , 98 , 98 , 70 , 104 , 104 , 72 , 110 , 109 , 75 , & 115 , 114 , 77 , 121 , 119 , 80 , 127 , 125 , 82 , 135 , 131 , 86 , & 142 , 136 , 89 , 150 , 142 , 92 , 157 , 147 , 96 , 167 , 152 , 100 , & 175 , 156 , 104 , 182 , 159 , 108 , 190 , 162 , 112 , 196 , 164 , 116 , & 204 , 165 , 121 , 209 , 166 , 125 , 215 , 167 , 129 , 219 , 168 , 134 , & 224 , 169 , 139 , 230 , 171 , 146 , 234 , 173 , 152 , 239 , 176 , 159 , & 242 , 180 , 167 , 246 , 185 , 174 , 249 , 191 , 183 , 251 , 196 , 191 , & 253 , 201 , 198 , 254 , 207 , 204 , 254 , 212 , 211 , 255 , 219 , 218 , & 255 , 224 , 224 , 255 , 230 , 230 & ], shape ( turku50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: turkuS = reshape ( [ & 7 , 7 , 7 , 255 , 230 , 230 , 150 , 142 , 92 , 77 , 76 , 59 , & 229 , 170 , 144 , 44 , 44 , 39 , 109 , 108 , 74 , 196 , 164 , 116 , & 251 , 195 , 189 , 28 , 28 , 25 , 254 , 212 , 211 , 127 , 125 , 82 , & 92 , 92 , 67 , 214 , 167 , 128 , 242 , 179 , 165 , 175 , 156 , 104 , & 60 , 60 , 50 , 253 , 204 , 200 , 20 , 19 , 18 , 118 , 116 , 78 , & 100 , 100 , 71 , 162 , 149 , 98 , 68 , 68 , 55 , 255 , 221 , 220 , & 36 , 36 , 32 , 247 , 187 , 177 , 138 , 133 , 87 , 221 , 168 , 136 , & 205 , 165 , 122 , 187 , 161 , 111 , 235 , 174 , 153 , 85 , 84 , 63 , & 52 , 51 , 44 , 225 , 169 , 140 , 244 , 183 , 171 , 156 , 146 , 95 , & 14 , 14 , 13 , 24 , 24 , 22 , 255 , 226 , 225 , 72 , 72 , 57 , & 249 , 191 , 183 , 104 , 104 , 72 , 133 , 129 , 84 , 40 , 40 , 35 , & 239 , 176 , 159 , 123 , 121 , 80 , 96 , 96 , 69 , 113 , 112 , 76 , & 169 , 153 , 101 , 144 , 138 , 89 , 218 , 167 , 132 , 252 , 199 , 195 , & 32 , 32 , 29 , 56 , 56 , 47 , 181 , 159 , 108 , 254 , 208 , 206 , & 255 , 217 , 215 , 81 , 80 , 61 , 64 , 64 , 52 , 209 , 166 , 125 , & 201 , 165 , 120 , 232 , 172 , 148 , 192 , 162 , 114 , 89 , 89 , 65 , & 48 , 48 , 42 , 255 , 223 , 223 , 153 , 144 , 94 , 248 , 189 , 180 , & 253 , 201 , 198 , 254 , 210 , 208 , 120 , 118 , 79 , 223 , 169 , 138 , & 253 , 206 , 203 , 233 , 173 , 151 , 251 , 197 , 192 , 107 , 106 , 73 , & 237 , 175 , 156 , 255 , 228 , 227 , 87 , 87 , 64 , 42 , 42 , 37 , & 219 , 168 , 134 , 147 , 140 , 91 , 254 , 215 , 213 , 115 , 114 , 77 , & 62 , 62 , 51 , 178 , 157 , 106 , 243 , 181 , 168 , 141 , 135 , 88 , & 70 , 70 , 56 , 111 , 110 , 75 , 83 , 82 , 62 , 22 , 22 , 20 , & 159 , 148 , 97 , 240 , 178 , 162 , 130 , 127 , 83 , 58 , 58 , 48 , & 246 , 185 , 174 , 207 , 166 , 124 , 199 , 164 , 118 , 125 , 123 , 81 & ], shape ( turkuS ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: vanimo = reshape ( [ & 255 , 205 , 253 , 253 , 202 , 251 , 252 , 199 , 249 , 250 , 196 , 247 , & 249 , 193 , 244 , 247 , 190 , 242 , 246 , 187 , 240 , 244 , 185 , 238 , & 243 , 182 , 236 , 241 , 179 , 234 , 240 , 176 , 232 , 238 , 173 , 230 , & 236 , 171 , 228 , 235 , 168 , 226 , 233 , 165 , 224 , 232 , 162 , 222 , & 230 , 160 , 220 , 229 , 157 , 218 , 227 , 154 , 216 , 226 , 152 , 214 , & 224 , 149 , 212 , 222 , 147 , 210 , 221 , 144 , 208 , 219 , 142 , 206 , & 218 , 139 , 204 , 216 , 137 , 202 , 215 , 134 , 200 , 213 , 132 , 198 , & 211 , 129 , 196 , 210 , 127 , 194 , 208 , 125 , 192 , 207 , 122 , 191 , & 205 , 120 , 189 , 203 , 118 , 187 , 202 , 115 , 185 , 200 , 113 , 183 , & 199 , 111 , 181 , 197 , 109 , 179 , 195 , 107 , 178 , 194 , 105 , 176 , & 192 , 103 , 174 , 190 , 101 , 172 , 189 , 99 , 170 , 187 , 97 , 168 , & 185 , 95 , 167 , 184 , 93 , 165 , 182 , 91 , 163 , 180 , 90 , 161 , & 178 , 88 , 159 , 177 , 86 , 158 , 175 , 85 , 156 , 173 , 83 , 154 , & 171 , 81 , 152 , 169 , 80 , 150 , 167 , 78 , 148 , 165 , 76 , 146 , & 163 , 75 , 144 , 161 , 73 , 142 , 159 , 72 , 140 , 157 , 70 , 138 , & 155 , 68 , 136 , 153 , 67 , 134 , 150 , 65 , 132 , 148 , 64 , 130 , & 146 , 62 , 128 , 144 , 61 , 126 , 141 , 60 , 123 , 139 , 58 , 121 , & 136 , 57 , 119 , 134 , 55 , 117 , 131 , 54 , 114 , 129 , 53 , 112 , & 126 , 51 , 110 , 124 , 50 , 107 , 121 , 49 , 105 , 118 , 48 , 103 , & 116 , 46 , 100 , 113 , 45 , 98 , 110 , 44 , 96 , 108 , 43 , 93 , & 105 , 42 , 91 , 102 , 41 , 89 , 100 , 39 , 86 , 97 , 38 , 84 , & 94 , 37 , 81 , 92 , 36 , 79 , 89 , 35 , 77 , 86 , 34 , 74 , & 84 , 33 , 72 , 81 , 33 , 70 , 79 , 32 , 68 , 76 , 31 , 65 , & 73 , 30 , 63 , 71 , 29 , 61 , 69 , 28 , 59 , 66 , 28 , 57 , & 64 , 27 , 55 , 62 , 26 , 53 , 59 , 26 , 51 , 57 , 25 , 49 , & 55 , 25 , 47 , 53 , 24 , 45 , 51 , 23 , 44 , 49 , 23 , 42 , & 47 , 23 , 40 , 46 , 22 , 39 , 44 , 22 , 37 , 42 , 21 , 36 , & 41 , 21 , 35 , 40 , 21 , 33 , 38 , 21 , 32 , 37 , 20 , 31 , & 36 , 20 , 30 , 35 , 20 , 29 , 34 , 20 , 28 , 33 , 20 , 27 , & 32 , 20 , 26 , 31 , 20 , 25 , 30 , 20 , 24 , 29 , 20 , 24 , & 29 , 20 , 23 , 28 , 20 , 22 , 28 , 20 , 22 , 27 , 20 , 21 , & 27 , 20 , 21 , 26 , 20 , 20 , 26 , 21 , 20 , 26 , 21 , 19 , & 26 , 21 , 19 , 25 , 22 , 19 , 25 , 22 , 18 , 25 , 22 , 18 , & 25 , 23 , 18 , 25 , 23 , 18 , 25 , 24 , 17 , 25 , 24 , 17 , & 26 , 25 , 17 , 26 , 26 , 17 , 26 , 26 , 17 , 26 , 27 , 17 , & 27 , 28 , 17 , 27 , 29 , 17 , 27 , 30 , 17 , 28 , 31 , 17 , & 28 , 32 , 17 , 29 , 33 , 18 , 29 , 34 , 18 , 30 , 36 , 18 , & 31 , 37 , 18 , 31 , 38 , 18 , 32 , 39 , 19 , 33 , 41 , 19 , & 34 , 42 , 19 , 35 , 44 , 20 , 35 , 45 , 20 , 36 , 47 , 20 , & 37 , 48 , 20 , 38 , 50 , 21 , 39 , 52 , 21 , 41 , 53 , 22 , & 42 , 55 , 22 , 43 , 57 , 22 , 44 , 59 , 23 , 45 , 60 , 23 , & 46 , 62 , 24 , 47 , 64 , 24 , 49 , 66 , 24 , 50 , 68 , 25 , & 51 , 70 , 25 , 52 , 71 , 26 , 54 , 73 , 26 , 55 , 75 , 27 , & 56 , 77 , 27 , 58 , 79 , 28 , 59 , 81 , 28 , 60 , 83 , 29 , & 61 , 85 , 29 , 63 , 86 , 30 , 64 , 88 , 31 , 65 , 90 , 31 , & 67 , 92 , 32 , 68 , 94 , 32 , 69 , 96 , 33 , 71 , 98 , 33 , & 72 , 99 , 34 , 73 , 101 , 35 , 75 , 103 , 35 , 76 , 105 , 36 , & 77 , 107 , 36 , 78 , 108 , 37 , 80 , 110 , 37 , 81 , 112 , 38 , & 82 , 114 , 39 , 84 , 116 , 39 , 85 , 117 , 40 , 86 , 119 , 41 , & 87 , 121 , 41 , 89 , 123 , 42 , 90 , 124 , 42 , 91 , 126 , 43 , & 92 , 128 , 44 , 94 , 129 , 45 , 95 , 131 , 45 , 96 , 133 , 46 , & 98 , 135 , 47 , 99 , 136 , 47 , 100 , 138 , 48 , 101 , 140 , 49 , & 103 , 142 , 50 , 104 , 144 , 51 , 106 , 146 , 52 , 107 , 147 , 53 , & 108 , 149 , 54 , 110 , 151 , 55 , 111 , 153 , 56 , 113 , 155 , 57 , & 114 , 157 , 59 , 116 , 159 , 60 , 117 , 161 , 61 , 119 , 163 , 63 , & 121 , 166 , 64 , 122 , 168 , 66 , 124 , 170 , 67 , 126 , 172 , 69 , & 127 , 174 , 71 , 129 , 176 , 73 , 131 , 179 , 75 , 133 , 181 , 77 , & 135 , 183 , 79 , 136 , 186 , 81 , 138 , 188 , 83 , 140 , 190 , 85 , & 142 , 193 , 88 , 144 , 195 , 90 , 146 , 198 , 93 , 148 , 200 , 96 , & 150 , 203 , 98 , 152 , 205 , 101 , 154 , 208 , 104 , 156 , 210 , 107 , & 158 , 213 , 110 , 160 , 215 , 114 , 162 , 218 , 117 , 164 , 221 , 120 , & 166 , 223 , 124 , 169 , 226 , 127 , 171 , 228 , 131 , 173 , 231 , 134 , & 175 , 234 , 138 , 177 , 236 , 142 , 179 , 239 , 146 , 181 , 242 , 149 , & 183 , 245 , 153 , 186 , 247 , 157 , 188 , 250 , 161 , 190 , 253 , 165 & ], shape ( vanimo ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: vanimo10 = reshape ( [ & 255 , 205 , 253 , 211 , 129 , 196 , 161 , 73 , 142 , 92 , 36 , 79 , & 35 , 20 , 29 , 27 , 30 , 17 , 54 , 73 , 26 , 90 , 124 , 42 , & 133 , 181 , 77 , 190 , 253 , 165 & ], shape ( vanimo10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: vanimo100 = reshape ( [ & 255 , 205 , 253 , 250 , 196 , 247 , 247 , 190 , 242 , 243 , 182 , 236 , & 240 , 176 , 232 , 235 , 168 , 226 , 232 , 162 , 222 , 227 , 154 , 216 , & 222 , 147 , 210 , 219 , 142 , 206 , 215 , 134 , 200 , 211 , 129 , 196 , & 207 , 122 , 191 , 203 , 118 , 187 , 199 , 111 , 181 , 194 , 105 , 176 , & 190 , 101 , 172 , 185 , 95 , 167 , 182 , 91 , 163 , 177 , 86 , 158 , & 171 , 81 , 152 , 167 , 78 , 148 , 161 , 73 , 142 , 157 , 70 , 138 , & 150 , 65 , 132 , 146 , 62 , 128 , 139 , 58 , 121 , 131 , 54 , 114 , & 126 , 51 , 110 , 118 , 48 , 103 , 113 , 45 , 98 , 105 , 42 , 91 , & 100 , 39 , 86 , 92 , 36 , 79 , 84 , 33 , 72 , 79 , 32 , 68 , & 71 , 29 , 61 , 66 , 28 , 57 , 59 , 26 , 51 , 55 , 25 , 47 , & 49 , 23 , 42 , 44 , 22 , 37 , 41 , 21 , 35 , 37 , 20 , 31 , & 35 , 20 , 29 , 32 , 20 , 26 , 30 , 20 , 24 , 28 , 20 , 22 , & 27 , 20 , 21 , 26 , 21 , 20 , 25 , 22 , 19 , 25 , 22 , 18 , & 25 , 24 , 17 , 26 , 26 , 17 , 26 , 27 , 17 , 27 , 30 , 17 , & 28 , 32 , 17 , 30 , 36 , 18 , 31 , 38 , 18 , 34 , 42 , 19 , & 36 , 47 , 20 , 38 , 50 , 21 , 42 , 55 , 22 , 44 , 59 , 23 , & 47 , 64 , 24 , 50 , 68 , 25 , 54 , 73 , 26 , 58 , 79 , 28 , & 60 , 83 , 29 , 64 , 88 , 31 , 67 , 92 , 32 , 71 , 98 , 33 , & 73 , 101 , 35 , 77 , 107 , 36 , 81 , 112 , 38 , 84 , 116 , 39 , & 87 , 121 , 41 , 90 , 124 , 42 , 94 , 129 , 45 , 96 , 133 , 46 , & 100 , 138 , 48 , 104 , 144 , 51 , 107 , 147 , 53 , 111 , 153 , 56 , & 114 , 157 , 59 , 119 , 163 , 63 , 124 , 170 , 67 , 127 , 174 , 71 , & 133 , 181 , 77 , 136 , 186 , 81 , 142 , 193 , 88 , 146 , 198 , 93 , & 152 , 205 , 101 , 158 , 213 , 110 , 162 , 218 , 117 , 169 , 226 , 127 , & 173 , 231 , 134 , 179 , 239 , 146 , 183 , 245 , 153 , 190 , 253 , 165 & ], shape ( vanimo100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: vanimo25 = reshape ( [ & 255 , 205 , 253 , 238 , 173 , 230 , 222 , 147 , 210 , 205 , 120 , 189 , & 187 , 97 , 168 , 169 , 80 , 150 , 146 , 62 , 128 , 121 , 49 , 105 , & 92 , 36 , 79 , 64 , 27 , 55 , 44 , 22 , 37 , 31 , 20 , 25 , & 26 , 21 , 19 , 26 , 26 , 17 , 31 , 38 , 18 , 41 , 53 , 22 , & 54 , 73 , 26 , 68 , 94 , 32 , 81 , 112 , 38 , 95 , 131 , 45 , & 110 , 151 , 55 , 126 , 172 , 69 , 146 , 198 , 93 , 166 , 223 , 124 , & 190 , 253 , 165 & ], shape ( vanimo25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: vanimo50 = reshape ( [ & 255 , 205 , 253 , 247 , 190 , 242 , 240 , 176 , 232 , 230 , 160 , 220 , & 222 , 147 , 210 , 215 , 134 , 200 , 207 , 122 , 191 , 199 , 111 , 181 , & 189 , 99 , 170 , 180 , 90 , 161 , 171 , 81 , 152 , 161 , 73 , 142 , & 150 , 65 , 132 , 136 , 57 , 119 , 124 , 50 , 107 , 110 , 44 , 96 , & 97 , 38 , 84 , 84 , 33 , 72 , 69 , 28 , 59 , 57 , 25 , 49 , & 47 , 23 , 40 , 40 , 21 , 33 , 34 , 20 , 28 , 29 , 20 , 23 , & 26 , 20 , 20 , 25 , 22 , 18 , 25 , 24 , 17 , 27 , 29 , 17 , & 29 , 34 , 18 , 33 , 41 , 19 , 37 , 48 , 20 , 43 , 57 , 22 , & 50 , 68 , 25 , 56 , 77 , 27 , 63 , 86 , 30 , 69 , 96 , 33 , & 76 , 105 , 36 , 84 , 116 , 39 , 90 , 124 , 42 , 96 , 133 , 46 , & 103 , 142 , 50 , 110 , 151 , 55 , 119 , 163 , 63 , 127 , 174 , 71 , & 136 , 186 , 81 , 146 , 198 , 93 , 156 , 210 , 107 , 169 , 226 , 127 , & 179 , 239 , 146 , 190 , 253 , 165 & ], shape ( vanimo50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: vik = reshape ( [ & 0 , 18 , 97 , 1 , 20 , 98 , 1 , 21 , 99 , 1 , 23 , 100 , & 1 , 24 , 101 , 1 , 26 , 102 , 2 , 28 , 103 , 2 , 29 , 104 , & 2 , 31 , 105 , 2 , 32 , 106 , 2 , 34 , 107 , 2 , 35 , 108 , & 2 , 37 , 109 , 2 , 39 , 110 , 2 , 40 , 111 , 2 , 42 , 112 , & 2 , 43 , 113 , 2 , 45 , 114 , 2 , 46 , 115 , 2 , 48 , 116 , & 2 , 49 , 117 , 2 , 51 , 118 , 2 , 52 , 119 , 2 , 54 , 120 , & 2 , 55 , 121 , 2 , 57 , 122 , 2 , 58 , 123 , 3 , 60 , 124 , & 3 , 62 , 125 , 3 , 63 , 126 , 3 , 65 , 127 , 3 , 66 , 128 , & 3 , 68 , 129 , 3 , 69 , 130 , 3 , 71 , 131 , 3 , 73 , 132 , & 3 , 74 , 133 , 4 , 76 , 134 , 4 , 77 , 135 , 4 , 79 , 136 , & 5 , 81 , 137 , 5 , 82 , 138 , 6 , 84 , 139 , 6 , 86 , 140 , & 7 , 87 , 141 , 8 , 89 , 143 , 9 , 91 , 144 , 11 , 93 , 145 , & 12 , 94 , 146 , 14 , 96 , 147 , 16 , 98 , 148 , 17 , 100 , 150 , & 19 , 102 , 151 , 21 , 103 , 152 , 23 , 105 , 153 , 25 , 107 , 154 , & 28 , 109 , 156 , 30 , 111 , 157 , 32 , 113 , 158 , 35 , 115 , 160 , & 37 , 117 , 161 , 40 , 119 , 162 , 43 , 121 , 164 , 45 , 123 , 165 , & 48 , 125 , 166 , 51 , 127 , 168 , 54 , 129 , 169 , 57 , 131 , 171 , & 60 , 133 , 172 , 63 , 135 , 173 , 66 , 137 , 175 , 69 , 139 , 176 , & 72 , 141 , 178 , 75 , 144 , 179 , 78 , 146 , 180 , 81 , 148 , 182 , & 84 , 150 , 183 , 87 , 152 , 185 , 90 , 154 , 186 , 93 , 156 , 187 , & 97 , 158 , 189 , 100 , 160 , 190 , 103 , 162 , 192 , 106 , 164 , 193 , & 109 , 166 , 194 , 113 , 168 , 196 , 116 , 170 , 197 , 119 , 172 , 198 , & 122 , 174 , 200 , 125 , 176 , 201 , 128 , 178 , 202 , 132 , 180 , 204 , & 135 , 182 , 205 , 138 , 184 , 206 , 141 , 186 , 208 , 144 , 188 , 209 , & 148 , 190 , 210 , 151 , 192 , 212 , 154 , 194 , 213 , 157 , 196 , 214 , & 160 , 197 , 216 , 163 , 199 , 217 , 167 , 201 , 218 , 170 , 203 , 220 , & 173 , 205 , 221 , 176 , 207 , 222 , 179 , 209 , 223 , 182 , 211 , 225 , & 186 , 213 , 226 , 189 , 214 , 227 , 192 , 216 , 228 , 195 , 218 , 229 , & 198 , 219 , 230 , 201 , 221 , 231 , 204 , 223 , 232 , 207 , 224 , 232 , & 210 , 225 , 233 , 213 , 227 , 233 , 216 , 228 , 233 , 219 , 229 , 233 , & 222 , 230 , 233 , 224 , 230 , 233 , 226 , 231 , 232 , 229 , 231 , 232 , & 231 , 231 , 231 , 232 , 231 , 229 , 234 , 230 , 228 , 235 , 230 , 226 , & 236 , 229 , 224 , 237 , 228 , 222 , 238 , 227 , 220 , 238 , 225 , 218 , & 238 , 224 , 216 , 238 , 222 , 213 , 238 , 221 , 211 , 238 , 219 , 208 , & 238 , 217 , 205 , 237 , 215 , 203 , 237 , 213 , 200 , 236 , 211 , 197 , & 236 , 209 , 195 , 235 , 208 , 192 , 234 , 206 , 189 , 233 , 204 , 186 , & 233 , 202 , 184 , 232 , 200 , 181 , 231 , 198 , 178 , 230 , 196 , 176 , & 229 , 193 , 173 , 228 , 191 , 170 , 228 , 190 , 168 , 227 , 188 , 165 , & 226 , 186 , 162 , 225 , 184 , 160 , 224 , 182 , 157 , 223 , 180 , 154 , & 223 , 178 , 152 , 222 , 176 , 149 , 221 , 174 , 147 , 220 , 172 , 144 , & 219 , 170 , 141 , 219 , 168 , 139 , 218 , 166 , 136 , 217 , 164 , 134 , & 216 , 162 , 131 , 215 , 160 , 129 , 214 , 159 , 126 , 214 , 157 , 124 , & 213 , 155 , 121 , 212 , 153 , 119 , 211 , 151 , 116 , 211 , 149 , 114 , & 210 , 148 , 112 , 209 , 146 , 109 , 208 , 144 , 107 , 207 , 142 , 104 , & 207 , 140 , 102 , 206 , 139 , 100 , 205 , 137 , 97 , 204 , 135 , 95 , & 204 , 133 , 93 , 203 , 131 , 90 , 202 , 130 , 88 , 201 , 128 , 86 , & 201 , 126 , 83 , 200 , 124 , 81 , 199 , 123 , 79 , 198 , 121 , 76 , & 198 , 119 , 74 , 197 , 117 , 72 , 196 , 116 , 69 , 195 , 114 , 67 , & 194 , 112 , 65 , 194 , 110 , 63 , 193 , 109 , 60 , 192 , 107 , 58 , & 191 , 105 , 56 , 190 , 103 , 54 , 190 , 101 , 51 , 189 , 100 , 49 , & 188 , 98 , 47 , 187 , 96 , 45 , 186 , 94 , 42 , 184 , 92 , 40 , & 183 , 90 , 38 , 182 , 88 , 36 , 181 , 85 , 33 , 179 , 83 , 31 , & 178 , 81 , 29 , 176 , 79 , 27 , 175 , 76 , 24 , 173 , 74 , 22 , & 171 , 72 , 20 , 169 , 69 , 18 , 167 , 67 , 16 , 165 , 64 , 15 , & 163 , 62 , 13 , 161 , 60 , 11 , 159 , 57 , 10 , 156 , 55 , 9 , & 154 , 53 , 8 , 152 , 51 , 7 , 150 , 49 , 7 , 148 , 47 , 6 , & 145 , 45 , 6 , 143 , 43 , 6 , 141 , 41 , 6 , 139 , 39 , 6 , & 137 , 38 , 6 , 135 , 36 , 6 , 133 , 34 , 6 , 131 , 33 , 6 , & 129 , 31 , 6 , 127 , 30 , 6 , 126 , 29 , 6 , 124 , 27 , 6 , & 122 , 26 , 6 , 120 , 24 , 6 , 118 , 23 , 6 , 116 , 21 , 6 , & 115 , 20 , 6 , 113 , 19 , 7 , 111 , 17 , 7 , 109 , 16 , 7 , & 108 , 14 , 7 , 106 , 13 , 7 , 104 , 12 , 7 , 103 , 10 , 7 , & 101 , 9 , 7 , 99 , 7 , 7 , 98 , 6 , 7 , 96 , 4 , 8 , & 94 , 3 , 8 , 93 , 2 , 8 , 91 , 1 , 8 , 89 , 0 , 8 & ], shape ( vik ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: vik10 = reshape ( [ & 0 , 18 , 97 , 3 , 62 , 125 , 30 , 111 , 157 , 113 , 168 , 196 , & 201 , 221 , 231 , 234 , 206 , 189 , 211 , 151 , 116 , 190 , 101 , 51 , & 139 , 39 , 6 , 89 , 0 , 8 & ], shape ( vik10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: vik100 = reshape ( [ & 0 , 18 , 97 , 1 , 23 , 100 , 1 , 26 , 102 , 2 , 31 , 105 , & 2 , 34 , 107 , 2 , 39 , 110 , 2 , 42 , 112 , 2 , 46 , 115 , & 2 , 51 , 118 , 2 , 54 , 120 , 2 , 58 , 123 , 3 , 62 , 125 , & 3 , 66 , 128 , 3 , 69 , 130 , 3 , 74 , 133 , 4 , 79 , 136 , & 5 , 82 , 138 , 7 , 87 , 141 , 9 , 91 , 144 , 14 , 96 , 147 , & 19 , 102 , 151 , 23 , 105 , 153 , 30 , 111 , 157 , 35 , 115 , 160 , & 43 , 121 , 164 , 48 , 125 , 166 , 57 , 131 , 171 , 66 , 137 , 175 , & 72 , 141 , 178 , 81 , 148 , 182 , 87 , 152 , 185 , 97 , 158 , 189 , & 103 , 162 , 192 , 113 , 168 , 196 , 122 , 174 , 200 , 128 , 178 , 202 , & 138 , 184 , 206 , 144 , 188 , 209 , 154 , 194 , 213 , 160 , 197 , 216 , & 170 , 203 , 220 , 179 , 209 , 223 , 186 , 213 , 226 , 195 , 218 , 229 , & 201 , 221 , 231 , 210 , 225 , 233 , 216 , 228 , 233 , 224 , 230 , 233 , & 231 , 231 , 231 , 234 , 230 , 228 , 237 , 228 , 222 , 238 , 225 , 218 , & 238 , 221 , 211 , 237 , 215 , 203 , 236 , 211 , 197 , 234 , 206 , 189 , & 233 , 202 , 184 , 230 , 196 , 176 , 228 , 191 , 170 , 226 , 186 , 162 , & 223 , 180 , 154 , 222 , 176 , 149 , 219 , 170 , 141 , 218 , 166 , 136 , & 215 , 160 , 129 , 214 , 157 , 124 , 211 , 151 , 116 , 209 , 146 , 109 , & 207 , 142 , 104 , 205 , 137 , 97 , 204 , 133 , 93 , 201 , 128 , 86 , & 200 , 124 , 81 , 198 , 119 , 74 , 195 , 114 , 67 , 194 , 110 , 63 , & 191 , 105 , 56 , 190 , 101 , 51 , 187 , 96 , 45 , 184 , 92 , 40 , & 181 , 85 , 33 , 176 , 79 , 27 , 173 , 74 , 22 , 167 , 67 , 16 , & 163 , 62 , 13 , 156 , 55 , 9 , 150 , 49 , 7 , 145 , 45 , 6 , & 139 , 39 , 6 , 135 , 36 , 6 , 129 , 31 , 6 , 126 , 29 , 6 , & 120 , 24 , 6 , 115 , 20 , 6 , 111 , 17 , 7 , 106 , 13 , 7 , & 103 , 10 , 7 , 98 , 6 , 7 , 94 , 3 , 8 , 89 , 0 , 8 & ], shape ( vik100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: vik25 = reshape ( [ & 0 , 18 , 97 , 2 , 35 , 108 , 2 , 51 , 118 , 3 , 68 , 129 , & 6 , 86 , 140 , 21 , 103 , 152 , 48 , 125 , 166 , 78 , 146 , 180 , & 113 , 168 , 196 , 148 , 190 , 210 , 179 , 209 , 223 , 213 , 227 , 233 , & 236 , 229 , 224 , 237 , 213 , 200 , 228 , 191 , 170 , 220 , 172 , 144 , & 211 , 151 , 116 , 203 , 131 , 90 , 195 , 114 , 67 , 186 , 94 , 42 , & 169 , 69 , 18 , 148 , 47 , 6 , 126 , 29 , 6 , 108 , 14 , 7 , & 89 , 0 , 8 & ], shape ( vik25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: vik50 = reshape ( [ & 0 , 18 , 97 , 1 , 26 , 102 , 2 , 34 , 107 , 2 , 43 , 113 , & 2 , 51 , 118 , 2 , 58 , 123 , 3 , 66 , 128 , 3 , 74 , 133 , & 6 , 84 , 139 , 11 , 93 , 145 , 19 , 102 , 151 , 30 , 111 , 157 , & 43 , 121 , 164 , 60 , 133 , 172 , 75 , 144 , 179 , 90 , 154 , 186 , & 106 , 164 , 193 , 122 , 174 , 200 , 141 , 186 , 208 , 157 , 196 , 214 , & 173 , 205 , 221 , 189 , 214 , 227 , 204 , 223 , 232 , 222 , 230 , 233 , & 232 , 231 , 229 , 238 , 227 , 220 , 238 , 219 , 208 , 235 , 208 , 192 , & 231 , 198 , 178 , 227 , 188 , 165 , 223 , 178 , 152 , 219 , 168 , 139 , & 214 , 157 , 124 , 210 , 148 , 112 , 206 , 139 , 100 , 202 , 130 , 88 , & 198 , 121 , 76 , 194 , 110 , 63 , 190 , 101 , 51 , 184 , 92 , 40 , & 178 , 81 , 29 , 169 , 69 , 18 , 156 , 55 , 9 , 145 , 45 , 6 , & 135 , 36 , 6 , 126 , 29 , 6 , 116 , 21 , 6 , 106 , 13 , 7 , & 98 , 6 , 7 , 89 , 0 , 8 & ], shape ( vik50 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: vikO = reshape ( [ & 79 , 26 , 61 , 78 , 26 , 62 , 78 , 27 , 63 , 77 , 27 , 65 , & 76 , 28 , 66 , 75 , 29 , 67 , 75 , 29 , 68 , 74 , 30 , 70 , & 73 , 31 , 71 , 72 , 32 , 73 , 72 , 33 , 74 , 71 , 33 , 75 , & 70 , 34 , 77 , 69 , 35 , 78 , 69 , 36 , 80 , 68 , 37 , 81 , & 67 , 38 , 83 , 67 , 39 , 84 , 66 , 40 , 86 , 65 , 41 , 88 , & 64 , 42 , 89 , 63 , 44 , 91 , 63 , 45 , 93 , 62 , 46 , 94 , & 61 , 47 , 96 , 61 , 49 , 98 , 60 , 50 , 99 , 59 , 51 , 101 , & 58 , 53 , 103 , 58 , 54 , 104 , 57 , 56 , 106 , 56 , 57 , 108 , & 56 , 59 , 110 , 55 , 60 , 111 , 54 , 62 , 113 , 54 , 63 , 115 , & 53 , 65 , 116 , 53 , 67 , 118 , 52 , 68 , 120 , 52 , 70 , 122 , & 52 , 72 , 123 , 52 , 73 , 125 , 51 , 75 , 127 , 51 , 77 , 128 , & 51 , 79 , 130 , 51 , 81 , 132 , 51 , 82 , 133 , 52 , 84 , 135 , & 52 , 86 , 137 , 52 , 88 , 138 , 53 , 90 , 140 , 53 , 92 , 141 , & 54 , 94 , 143 , 55 , 95 , 144 , 56 , 97 , 146 , 57 , 99 , 148 , & 58 , 101 , 149 , 59 , 103 , 151 , 60 , 105 , 152 , 61 , 107 , 154 , & 63 , 109 , 155 , 64 , 111 , 156 , 66 , 113 , 158 , 67 , 115 , 159 , & 69 , 117 , 161 , 71 , 119 , 162 , 73 , 121 , 164 , 75 , 123 , 165 , & 77 , 125 , 166 , 79 , 127 , 168 , 81 , 129 , 169 , 83 , 131 , 171 , & 85 , 133 , 172 , 87 , 135 , 173 , 90 , 137 , 175 , 92 , 139 , 176 , & 94 , 141 , 177 , 97 , 143 , 178 , 99 , 145 , 180 , 102 , 147 , 181 , & 104 , 149 , 182 , 107 , 151 , 183 , 109 , 152 , 184 , 112 , 154 , 186 , & 114 , 156 , 187 , 117 , 158 , 188 , 120 , 160 , 189 , 122 , 162 , 190 , & 125 , 164 , 191 , 128 , 165 , 192 , 131 , 167 , 193 , 133 , 169 , 194 , & 136 , 170 , 194 , 139 , 172 , 195 , 142 , 174 , 196 , 144 , 175 , 197 , & 147 , 177 , 197 , 150 , 178 , 198 , 153 , 180 , 198 , 155 , 181 , 199 , & 158 , 182 , 199 , 161 , 184 , 200 , 164 , 185 , 200 , 166 , 186 , 200 , & 169 , 187 , 200 , 171 , 188 , 200 , 174 , 189 , 200 , 176 , 190 , 200 , & 179 , 191 , 200 , 181 , 192 , 200 , 184 , 192 , 199 , 186 , 193 , 199 , & 188 , 193 , 198 , 190 , 194 , 198 , 192 , 194 , 197 , 194 , 194 , 196 , & 196 , 194 , 195 , 198 , 195 , 194 , 200 , 195 , 193 , 201 , 194 , 192 , & 203 , 194 , 191 , 205 , 194 , 190 , 206 , 194 , 188 , 207 , 193 , 187 , & 209 , 193 , 185 , 210 , 192 , 184 , 211 , 192 , 182 , 212 , 191 , 181 , & 213 , 190 , 179 , 213 , 189 , 177 , 214 , 189 , 175 , 215 , 188 , 173 , & 215 , 187 , 172 , 216 , 186 , 170 , 216 , 184 , 168 , 217 , 183 , 166 , & 217 , 182 , 164 , 217 , 181 , 161 , 217 , 180 , 159 , 217 , 178 , 157 , & 217 , 177 , 155 , 217 , 175 , 153 , 217 , 174 , 151 , 217 , 172 , 148 , & 217 , 171 , 146 , 217 , 169 , 144 , 216 , 168 , 141 , 216 , 166 , 139 , & 216 , 165 , 137 , 215 , 163 , 135 , 215 , 161 , 132 , 214 , 160 , 130 , & 213 , 158 , 128 , 213 , 156 , 125 , 212 , 154 , 123 , 212 , 152 , 121 , & 211 , 151 , 118 , 210 , 149 , 116 , 209 , 147 , 114 , 208 , 145 , 111 , & 208 , 143 , 109 , 207 , 141 , 107 , 206 , 139 , 104 , 205 , 138 , 102 , & 204 , 136 , 100 , 203 , 134 , 97 , 202 , 132 , 95 , 200 , 130 , 93 , & 199 , 128 , 91 , 198 , 126 , 88 , 197 , 124 , 86 , 196 , 121 , 84 , & 194 , 119 , 82 , 193 , 117 , 79 , 192 , 115 , 77 , 190 , 113 , 75 , & 189 , 111 , 73 , 187 , 109 , 71 , 186 , 106 , 69 , 184 , 104 , 67 , & 183 , 102 , 65 , 181 , 100 , 63 , 179 , 98 , 61 , 178 , 95 , 59 , & 176 , 93 , 57 , 174 , 91 , 55 , 172 , 89 , 53 , 170 , 86 , 51 , & 169 , 84 , 50 , 167 , 82 , 48 , 165 , 80 , 47 , 163 , 77 , 45 , & 161 , 75 , 44 , 159 , 73 , 42 , 157 , 71 , 41 , 155 , 69 , 40 , & 153 , 67 , 39 , 151 , 65 , 38 , 149 , 62 , 37 , 147 , 60 , 36 , & 145 , 59 , 35 , 143 , 57 , 34 , 141 , 55 , 33 , 140 , 53 , 33 , & 138 , 51 , 32 , 136 , 49 , 32 , 134 , 48 , 31 , 132 , 46 , 31 , & 130 , 44 , 31 , 129 , 43 , 30 , 127 , 41 , 30 , 125 , 40 , 30 , & 124 , 39 , 30 , 122 , 37 , 30 , 121 , 36 , 30 , 119 , 35 , 30 , & 118 , 34 , 31 , 116 , 33 , 31 , 115 , 32 , 31 , 114 , 31 , 31 , & 112 , 30 , 32 , 111 , 29 , 32 , 110 , 28 , 32 , 108 , 27 , 33 , & 107 , 26 , 33 , 106 , 26 , 34 , 105 , 25 , 34 , 104 , 25 , 35 , & 103 , 24 , 35 , 102 , 24 , 36 , 101 , 23 , 37 , 100 , 23 , 37 , & 99 , 22 , 38 , 98 , 22 , 39 , 97 , 22 , 39 , 96 , 22 , 40 , & 95 , 22 , 41 , 94 , 21 , 42 , 93 , 21 , 43 , 92 , 21 , 43 , & 91 , 21 , 44 , 90 , 21 , 45 , 90 , 21 , 46 , 89 , 21 , 47 , & 88 , 22 , 48 , 87 , 22 , 49 , 86 , 22 , 50 , 86 , 22 , 51 , & 85 , 22 , 52 , 84 , 23 , 53 , 83 , 23 , 54 , 83 , 23 , 55 , & 82 , 24 , 56 , 81 , 24 , 57 , 80 , 25 , 58 , 80 , 25 , 60 & ], shape ( vikO ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 9 , 1 : 3 ), public :: vikO10 = reshape ( [ & 79 , 26 , 61 , 58 , 53 , 103 , 59 , 103 , 151 , 117 , 158 , 188 , & 190 , 194 , 198 , 217 , 174 , 151 , 197 , 124 , 86 , 149 , 62 , 37 , & 104 , 25 , 35 , 80 , 25 , 60 & ], shape ( vikO10 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 99 , 1 : 3 ), public :: vikO100 = reshape ( [ & 79 , 26 , 61 , 77 , 27 , 65 , 75 , 29 , 67 , 73 , 31 , 71 , & 72 , 33 , 74 , 69 , 35 , 78 , 68 , 37 , 81 , 66 , 40 , 86 , & 63 , 44 , 91 , 62 , 46 , 94 , 60 , 50 , 99 , 58 , 53 , 103 , & 56 , 57 , 108 , 55 , 60 , 111 , 53 , 65 , 116 , 52 , 70 , 122 , & 52 , 73 , 125 , 51 , 79 , 130 , 51 , 82 , 133 , 52 , 88 , 138 , & 54 , 94 , 143 , 56 , 97 , 146 , 59 , 103 , 151 , 61 , 107 , 154 , & 66 , 113 , 158 , 69 , 117 , 161 , 75 , 123 , 165 , 81 , 129 , 169 , & 85 , 133 , 172 , 92 , 139 , 176 , 97 , 143 , 178 , 104 , 149 , 182 , & 109 , 152 , 184 , 117 , 158 , 188 , 125 , 164 , 191 , 131 , 167 , 193 , & 139 , 172 , 195 , 144 , 175 , 197 , 153 , 180 , 198 , 158 , 182 , 199 , & 166 , 186 , 200 , 174 , 189 , 200 , 179 , 191 , 200 , 186 , 193 , 199 , & 190 , 194 , 198 , 196 , 194 , 195 , 200 , 195 , 193 , 205 , 194 , 190 , & 209 , 193 , 185 , 211 , 192 , 182 , 213 , 189 , 177 , 215 , 188 , 173 , & 216 , 184 , 168 , 217 , 181 , 161 , 217 , 178 , 157 , 217 , 174 , 151 , & 217 , 171 , 146 , 216 , 166 , 139 , 215 , 163 , 135 , 213 , 158 , 128 , & 212 , 152 , 121 , 210 , 149 , 116 , 208 , 143 , 109 , 206 , 139 , 104 , & 203 , 134 , 97 , 200 , 130 , 93 , 197 , 124 , 86 , 193 , 117 , 79 , & 190 , 113 , 75 , 186 , 106 , 69 , 183 , 102 , 65 , 178 , 95 , 59 , & 174 , 91 , 55 , 169 , 84 , 50 , 163 , 77 , 45 , 159 , 73 , 42 , & 153 , 67 , 39 , 149 , 62 , 37 , 143 , 57 , 34 , 140 , 53 , 33 , & 134 , 48 , 31 , 129 , 43 , 30 , 125 , 40 , 30 , 121 , 36 , 30 , & 118 , 34 , 31 , 114 , 31 , 31 , 110 , 28 , 32 , 107 , 26 , 33 , & 104 , 25 , 35 , 102 , 24 , 36 , 99 , 22 , 38 , 97 , 22 , 39 , & 94 , 21 , 42 , 91 , 21 , 44 , 90 , 21 , 46 , 87 , 22 , 49 , & 86 , 22 , 51 , 83 , 23 , 54 , 82 , 24 , 56 , 80 , 25 , 60 & ], shape ( vikO100 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 24 , 1 : 3 ), public :: vikO25 = reshape ( [ & 79 , 26 , 61 , 71 , 33 , 75 , 63 , 44 , 91 , 56 , 59 , 110 , & 51 , 77 , 128 , 55 , 95 , 144 , 69 , 117 , 161 , 90 , 137 , 175 , & 117 , 158 , 188 , 147 , 177 , 197 , 174 , 189 , 200 , 198 , 195 , 194 , & 213 , 190 , 179 , 217 , 180 , 159 , 215 , 163 , 135 , 208 , 145 , 111 , & 197 , 124 , 86 , 181 , 100 , 63 , 163 , 77 , 45 , 141 , 55 , 33 , & 122 , 37 , 30 , 108 , 27 , 33 , 97 , 22 , 39 , 88 , 22 , 48 , & 80 , 25 , 60 & ], shape ( vikO25 ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 49 , 1 : 3 ), public :: vikO50 = reshape ( [ & 79 , 26 , 61 , 75 , 29 , 67 , 72 , 33 , 74 , 67 , 38 , 83 , & 63 , 44 , 91 , 60 , 50 , 99 , 56 , 57 , 108 , 53 , 65 , 116 , & 51 , 75 , 127 , 52 , 84 , 135 , 54 , 94 , 143 , 59 , 103 , 151 , & 66 , 113 , 158 , 77 , 125 , 166 , 87 , 135 , 173 , 99 , 145 , 180 , & 112 , 154 , 186 , 125 , 164 , 191 , 142 , 174 , 196 , 155 , 181 , 199 , & 169 , 187 , 200 , 181 , 192 , 200 , 192 , 194 , 197 , 203 , 194 , 191 , & 210 , 192 , 184 , 214 , 189 , 175 , 217 , 183 , 166 , 217 , 175 , 153 , & 216 , 168 , 141 , 214 , 160 , 130 , 211 , 151 , 118 , 207 , 141 , 107 , & 200 , 130 , 93 , 194 , 119 , 82 , 187 , 109 , 71 , 179 , 98 , 61 , & 170 , 86 , 51 , 159 , 73 , 42 , 149 , 62 , 37 , 140 , 53 , 33 , & 130 , 44 , 31 , 122 , 37 , 30 , 114 , 31 , 31 , 107 , 26 , 33 , & 102 , 24 , 36 , 97 , 22 , 39 , 92 , 21 , 43 , 87 , 22 , 49 , & 83 , 23 , 54 , 80 , 25 , 60 & ], shape ( vikO50 ), order = [ 2 , 1 ] ) end module scientific_colour_maps","tags":"","loc":"sourcefile/scientific_colour_maps.f90.html"},{"title":"miscellaneous_colormaps.f90 – ForColormap","text":"This file depends on sourcefile~~miscellaneous_colormaps.f90~~EfferentGraph sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~miscellaneous_colormaps.f90~~AfferentGraph sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 Vincent Magnin, gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modifications: gha3mi 2024-01-06, vmagnin 2024-02-16 !------------------------------------------------------------------------------- module miscellaneous_colormaps use colormap_parameters , only : colormap_name_length , wp , pi implicit none private public :: fire_colormap , rainbow_colormap , & inv_rainbow_colormap , zebra_colormap , cubehelix_colormap character ( * ), dimension ( * ), parameter , public :: miscellaneous_colormaps_list = & [ character ( colormap_name_length ) :: & \"fire\" , \"rainbow\" , \"inv_rainbow\" , \"zebra\" , \"cubehelix\" , & \"black_body\" ] integer , dimension ( 0 : 1023 , 1 : 3 ), public :: black_body = reshape ( [ & 0 , 0 , 0 , 1 , 0 , 0 , 2 , 0 , 0 , 2 , 1 , 0 , & 3 , 1 , 1 , 4 , 1 , 1 , 5 , 1 , 1 , 6 , 2 , 1 , & 7 , 2 , 1 , 7 , 2 , 1 , 8 , 2 , 1 , 9 , 3 , 1 , & 10 , 3 , 2 , 11 , 3 , 2 , 12 , 3 , 2 , 12 , 4 , 2 , & 13 , 4 , 2 , 14 , 4 , 2 , 14 , 4 , 2 , 15 , 5 , 3 , & 16 , 5 , 3 , 16 , 5 , 3 , 17 , 5 , 3 , 17 , 5 , 3 , & 18 , 6 , 3 , 19 , 6 , 3 , 19 , 6 , 3 , 20 , 6 , 4 , & 20 , 7 , 4 , 21 , 7 , 4 , 21 , 7 , 4 , 22 , 7 , 4 , & 22 , 8 , 4 , 23 , 8 , 4 , 23 , 8 , 5 , 23 , 8 , 5 , & 24 , 9 , 5 , 24 , 9 , 5 , 25 , 9 , 5 , 25 , 9 , 5 , & 26 , 10 , 5 , 26 , 10 , 5 , 26 , 10 , 6 , 27 , 10 , 6 , & 27 , 10 , 6 , 28 , 11 , 6 , 28 , 11 , 6 , 28 , 11 , 6 , & 29 , 11 , 6 , 29 , 12 , 7 , 29 , 12 , 7 , 30 , 12 , 7 , & 30 , 12 , 7 , 30 , 12 , 7 , 31 , 13 , 7 , 31 , 13 , 7 , & 32 , 13 , 7 , 32 , 13 , 8 , 32 , 13 , 8 , 33 , 14 , 8 , & 33 , 14 , 8 , 33 , 14 , 8 , 33 , 14 , 8 , 34 , 14 , 8 , & 34 , 15 , 9 , 34 , 15 , 9 , 35 , 15 , 9 , 35 , 15 , 9 , & 35 , 15 , 9 , 36 , 15 , 9 , 36 , 16 , 9 , 37 , 16 , 10 , & 37 , 16 , 10 , 37 , 16 , 10 , 38 , 16 , 10 , 38 , 16 , 10 , & 38 , 16 , 10 , 39 , 17 , 10 , 39 , 17 , 10 , 39 , 17 , 11 , & 40 , 17 , 11 , 40 , 17 , 11 , 40 , 17 , 11 , 41 , 17 , 11 , & 41 , 17 , 11 , 42 , 17 , 11 , 42 , 17 , 12 , 42 , 18 , 12 , & 43 , 18 , 12 , 43 , 18 , 12 , 43 , 18 , 12 , 44 , 18 , 12 , & 44 , 18 , 12 , 45 , 18 , 12 , 45 , 18 , 12 , 45 , 18 , 13 , & 46 , 18 , 13 , 46 , 18 , 13 , 47 , 19 , 13 , 47 , 19 , 13 , & 47 , 19 , 13 , 48 , 19 , 13 , 48 , 19 , 13 , 48 , 19 , 14 , & 49 , 19 , 14 , 49 , 19 , 14 , 50 , 19 , 14 , 50 , 19 , 14 , & 50 , 19 , 14 , 51 , 20 , 14 , 51 , 20 , 14 , 52 , 20 , 14 , & 52 , 20 , 14 , 52 , 20 , 15 , 53 , 20 , 15 , 53 , 20 , 15 , & 53 , 20 , 15 , 54 , 20 , 15 , 54 , 20 , 15 , 55 , 20 , 15 , & 55 , 20 , 15 , 55 , 21 , 15 , 56 , 21 , 15 , 56 , 21 , 16 , & 57 , 21 , 16 , 57 , 21 , 16 , 57 , 21 , 16 , 58 , 21 , 16 , & 58 , 21 , 16 , 59 , 21 , 16 , 59 , 21 , 16 , 59 , 21 , 16 , & 60 , 21 , 16 , 60 , 22 , 16 , 61 , 22 , 17 , 61 , 22 , 17 , & 61 , 22 , 17 , 62 , 22 , 17 , 62 , 22 , 17 , 63 , 22 , 17 , & 63 , 22 , 17 , 63 , 22 , 17 , 64 , 22 , 17 , 64 , 22 , 17 , & 65 , 22 , 17 , 65 , 23 , 18 , 65 , 23 , 18 , 66 , 23 , 18 , & 66 , 23 , 18 , 67 , 23 , 18 , 67 , 23 , 18 , 67 , 23 , 18 , & 68 , 23 , 18 , 68 , 23 , 18 , 69 , 23 , 18 , 69 , 23 , 18 , & 69 , 23 , 18 , 70 , 23 , 18 , 70 , 24 , 19 , 71 , 24 , 19 , & 71 , 24 , 19 , 72 , 24 , 19 , 72 , 24 , 19 , 72 , 24 , 19 , & 73 , 24 , 19 , 73 , 24 , 19 , 74 , 24 , 19 , 74 , 24 , 19 , & 74 , 24 , 19 , 75 , 24 , 19 , 75 , 24 , 19 , 76 , 24 , 19 , & 76 , 25 , 20 , 76 , 25 , 20 , 77 , 25 , 20 , 77 , 25 , 20 , & 78 , 25 , 20 , 78 , 25 , 20 , 79 , 25 , 20 , 79 , 25 , 20 , & 79 , 25 , 20 , 80 , 25 , 20 , 80 , 25 , 20 , 81 , 25 , 20 , & 81 , 25 , 20 , 81 , 25 , 20 , 82 , 26 , 20 , 82 , 26 , 21 , & 83 , 26 , 21 , 83 , 26 , 21 , 84 , 26 , 21 , 84 , 26 , 21 , & 84 , 26 , 21 , 85 , 26 , 21 , 85 , 26 , 21 , 86 , 26 , 21 , & 86 , 26 , 21 , 87 , 26 , 21 , 87 , 26 , 21 , 87 , 26 , 21 , & 88 , 26 , 21 , 88 , 26 , 21 , 89 , 27 , 21 , 89 , 27 , 22 , & 89 , 27 , 22 , 90 , 27 , 22 , 90 , 27 , 22 , 91 , 27 , 22 , & 91 , 27 , 22 , 92 , 27 , 22 , 92 , 27 , 22 , 92 , 27 , 22 , & 93 , 27 , 22 , 93 , 27 , 22 , 94 , 27 , 22 , 94 , 27 , 22 , & 95 , 27 , 22 , 95 , 27 , 22 , 95 , 28 , 22 , 96 , 28 , 23 , & 96 , 28 , 23 , 97 , 28 , 23 , 97 , 28 , 23 , 98 , 28 , 23 , & 98 , 28 , 23 , 98 , 28 , 23 , 99 , 28 , 23 , 99 , 28 , 23 , & 100 , 28 , 23 , 100 , 28 , 23 , 101 , 28 , 23 , 101 , 28 , 23 , & 101 , 28 , 23 , 102 , 28 , 23 , 102 , 28 , 23 , 103 , 29 , 24 , & 103 , 29 , 24 , 104 , 29 , 24 , 104 , 29 , 24 , 105 , 29 , 24 , & 105 , 29 , 24 , 105 , 29 , 24 , 106 , 29 , 24 , 106 , 29 , 24 , & 107 , 29 , 24 , 107 , 29 , 24 , 108 , 29 , 24 , 108 , 29 , 24 , & 108 , 29 , 24 , 109 , 29 , 24 , 109 , 29 , 24 , 110 , 29 , 25 , & 110 , 29 , 25 , 111 , 29 , 25 , 111 , 30 , 25 , 112 , 30 , 25 , & 112 , 30 , 25 , 112 , 30 , 25 , 113 , 30 , 25 , 113 , 30 , 25 , & 114 , 30 , 25 , 114 , 30 , 25 , 115 , 30 , 25 , 115 , 30 , 25 , & 115 , 30 , 25 , 116 , 30 , 25 , 116 , 30 , 26 , 117 , 30 , 26 , & 117 , 30 , 26 , 118 , 30 , 26 , 118 , 30 , 26 , 119 , 30 , 26 , & 119 , 30 , 26 , 119 , 30 , 26 , 120 , 31 , 26 , 120 , 31 , 26 , & 121 , 31 , 26 , 121 , 31 , 26 , 122 , 31 , 26 , 122 , 31 , 26 , & 123 , 31 , 26 , 123 , 31 , 26 , 123 , 31 , 27 , 124 , 31 , 27 , & 124 , 31 , 27 , 125 , 31 , 27 , 125 , 31 , 27 , 126 , 31 , 27 , & 126 , 31 , 27 , 127 , 31 , 27 , 127 , 31 , 27 , 128 , 31 , 27 , & 128 , 31 , 27 , 128 , 31 , 27 , 129 , 31 , 27 , 129 , 31 , 27 , & 130 , 31 , 27 , 130 , 31 , 27 , 131 , 32 , 28 , 131 , 32 , 28 , & 132 , 32 , 28 , 132 , 32 , 28 , 132 , 32 , 28 , 133 , 32 , 28 , & 133 , 32 , 28 , 134 , 32 , 28 , 134 , 32 , 28 , 135 , 32 , 28 , & 135 , 32 , 28 , 136 , 32 , 28 , 136 , 32 , 28 , 137 , 32 , 28 , & 137 , 32 , 28 , 137 , 32 , 28 , 138 , 32 , 29 , 138 , 32 , 29 , & 139 , 32 , 29 , 139 , 32 , 29 , 140 , 32 , 29 , 140 , 32 , 29 , & 141 , 32 , 29 , 141 , 32 , 29 , 142 , 32 , 29 , 142 , 32 , 29 , & 142 , 32 , 29 , 143 , 32 , 29 , 143 , 33 , 29 , 144 , 33 , 29 , & 144 , 33 , 29 , 145 , 33 , 29 , 145 , 33 , 30 , 146 , 33 , 30 , & 146 , 33 , 30 , 147 , 33 , 30 , 147 , 33 , 30 , 148 , 33 , 30 , & 148 , 33 , 30 , 148 , 33 , 30 , 149 , 33 , 30 , 149 , 33 , 30 , & 150 , 33 , 30 , 150 , 33 , 30 , 151 , 33 , 30 , 151 , 33 , 30 , & 152 , 33 , 30 , 152 , 33 , 31 , 153 , 33 , 31 , 153 , 33 , 31 , & 154 , 33 , 31 , 154 , 33 , 31 , 154 , 33 , 31 , 155 , 33 , 31 , & 155 , 33 , 31 , 156 , 33 , 31 , 156 , 33 , 31 , 157 , 33 , 31 , & 157 , 33 , 31 , 158 , 33 , 31 , 158 , 33 , 31 , 159 , 33 , 31 , & 159 , 33 , 31 , 160 , 33 , 32 , 160 , 33 , 32 , 160 , 33 , 32 , & 161 , 33 , 32 , 161 , 34 , 32 , 162 , 34 , 32 , 162 , 34 , 32 , & 163 , 34 , 32 , 163 , 34 , 32 , 164 , 34 , 32 , 164 , 34 , 32 , & 165 , 34 , 32 , 165 , 34 , 32 , 166 , 34 , 32 , 166 , 34 , 32 , & 167 , 34 , 32 , 167 , 34 , 33 , 168 , 34 , 33 , 168 , 34 , 33 , & 168 , 34 , 33 , 169 , 34 , 33 , 169 , 34 , 33 , 170 , 34 , 33 , & 170 , 34 , 33 , 171 , 34 , 33 , 171 , 34 , 33 , 172 , 34 , 33 , & 172 , 34 , 33 , 173 , 34 , 33 , 173 , 34 , 33 , 174 , 34 , 33 , & 174 , 34 , 33 , 175 , 34 , 34 , 175 , 34 , 34 , 176 , 34 , 34 , & 176 , 34 , 34 , 176 , 34 , 34 , 177 , 34 , 34 , 177 , 34 , 34 , & 178 , 34 , 34 , 178 , 34 , 34 , 178 , 35 , 34 , 179 , 35 , 34 , & 179 , 36 , 34 , 179 , 36 , 34 , 179 , 37 , 34 , 180 , 37 , 34 , & 180 , 38 , 34 , 180 , 38 , 34 , 180 , 39 , 33 , 181 , 39 , 33 , & 181 , 40 , 33 , 181 , 40 , 33 , 181 , 40 , 33 , 182 , 41 , 33 , & 182 , 41 , 33 , 182 , 42 , 33 , 182 , 42 , 33 , 183 , 43 , 33 , & 183 , 43 , 33 , 183 , 43 , 33 , 183 , 44 , 33 , 184 , 44 , 33 , & 184 , 45 , 33 , 184 , 45 , 33 , 184 , 46 , 33 , 185 , 46 , 32 , & 185 , 46 , 32 , 185 , 47 , 32 , 185 , 47 , 32 , 186 , 48 , 32 , & 186 , 48 , 32 , 186 , 48 , 32 , 186 , 49 , 32 , 187 , 49 , 32 , & 187 , 50 , 32 , 187 , 50 , 32 , 187 , 50 , 32 , 188 , 51 , 32 , & 188 , 51 , 32 , 188 , 52 , 32 , 188 , 52 , 31 , 189 , 52 , 31 , & 189 , 53 , 31 , 189 , 53 , 31 , 189 , 53 , 31 , 190 , 54 , 31 , & 190 , 54 , 31 , 190 , 55 , 31 , 190 , 55 , 31 , 191 , 55 , 31 , & 191 , 56 , 31 , 191 , 56 , 31 , 191 , 57 , 31 , 192 , 57 , 30 , & 192 , 57 , 30 , 192 , 58 , 30 , 192 , 58 , 30 , 193 , 58 , 30 , & 193 , 59 , 30 , 193 , 59 , 30 , 193 , 59 , 30 , 194 , 60 , 30 , & 194 , 60 , 30 , 194 , 61 , 30 , 194 , 61 , 30 , 195 , 61 , 29 , & 195 , 62 , 29 , 195 , 62 , 29 , 195 , 62 , 29 , 196 , 63 , 29 , & 196 , 63 , 29 , 196 , 63 , 29 , 196 , 64 , 29 , 197 , 64 , 29 , & 197 , 65 , 29 , 197 , 65 , 29 , 197 , 65 , 28 , 198 , 66 , 28 , & 198 , 66 , 28 , 198 , 66 , 28 , 198 , 67 , 28 , 199 , 67 , 28 , & 199 , 67 , 28 , 199 , 68 , 28 , 199 , 68 , 28 , 200 , 68 , 28 , & 200 , 69 , 27 , 200 , 69 , 27 , 200 , 69 , 27 , 201 , 70 , 27 , & 201 , 70 , 27 , 201 , 70 , 27 , 201 , 71 , 27 , 202 , 71 , 27 , & 202 , 72 , 27 , 202 , 72 , 26 , 202 , 72 , 26 , 203 , 73 , 26 , & 203 , 73 , 26 , 203 , 73 , 26 , 203 , 74 , 26 , 204 , 74 , 26 , & 204 , 74 , 26 , 204 , 75 , 25 , 204 , 75 , 25 , 204 , 75 , 25 , & 205 , 76 , 25 , 205 , 76 , 25 , 205 , 76 , 25 , 205 , 77 , 25 , & 206 , 77 , 25 , 206 , 77 , 24 , 206 , 78 , 24 , 206 , 78 , 24 , & 207 , 78 , 24 , 207 , 79 , 24 , 207 , 79 , 24 , 207 , 79 , 24 , & 208 , 80 , 24 , 208 , 80 , 23 , 208 , 80 , 23 , 208 , 81 , 23 , & 209 , 81 , 23 , 209 , 81 , 23 , 209 , 82 , 23 , 209 , 82 , 23 , & 210 , 82 , 22 , 210 , 83 , 22 , 210 , 83 , 22 , 210 , 83 , 22 , & 211 , 84 , 22 , 211 , 84 , 22 , 211 , 84 , 21 , 211 , 85 , 21 , & 212 , 85 , 21 , 212 , 85 , 21 , 212 , 86 , 21 , 212 , 86 , 21 , & 213 , 86 , 20 , 213 , 87 , 20 , 213 , 87 , 20 , 213 , 87 , 20 , & 214 , 88 , 20 , 214 , 88 , 20 , 214 , 88 , 19 , 214 , 89 , 19 , & 215 , 89 , 19 , 215 , 89 , 19 , 215 , 90 , 19 , 215 , 90 , 18 , & 216 , 90 , 18 , 216 , 91 , 18 , 216 , 91 , 18 , 216 , 91 , 18 , & 217 , 92 , 17 , 217 , 92 , 17 , 217 , 92 , 17 , 217 , 92 , 17 , & 218 , 93 , 16 , 218 , 93 , 16 , 218 , 93 , 16 , 218 , 94 , 16 , & 219 , 94 , 16 , 219 , 94 , 15 , 219 , 95 , 15 , 219 , 95 , 15 , & 220 , 95 , 15 , 220 , 96 , 14 , 220 , 96 , 14 , 220 , 96 , 14 , & 221 , 97 , 14 , 221 , 97 , 13 , 221 , 97 , 13 , 221 , 98 , 13 , & 222 , 98 , 12 , 222 , 98 , 12 , 222 , 99 , 12 , 222 , 99 , 12 , & 223 , 99 , 11 , 223 , 100 , 11 , 223 , 100 , 11 , 223 , 100 , 10 , & 224 , 101 , 10 , 224 , 101 , 10 , 224 , 101 , 9 , 224 , 101 , 9 , & 225 , 102 , 9 , 225 , 102 , 8 , 225 , 102 , 8 , 225 , 103 , 8 , & 226 , 103 , 7 , 226 , 103 , 7 , 226 , 104 , 6 , 226 , 104 , 6 , & 226 , 104 , 6 , 227 , 105 , 5 , 227 , 105 , 5 , 227 , 105 , 5 , & 227 , 106 , 5 , 227 , 106 , 5 , 227 , 107 , 6 , 227 , 107 , 6 , & 227 , 108 , 6 , 227 , 108 , 6 , 227 , 109 , 6 , 228 , 109 , 6 , & 228 , 110 , 6 , 228 , 110 , 6 , 228 , 110 , 7 , 228 , 111 , 7 , & 228 , 111 , 7 , 228 , 112 , 7 , 228 , 112 , 7 , 228 , 113 , 7 , & 228 , 113 , 7 , 228 , 114 , 8 , 228 , 114 , 8 , 228 , 114 , 8 , & 228 , 115 , 8 , 228 , 115 , 8 , 228 , 116 , 8 , 228 , 116 , 9 , & 228 , 117 , 9 , 229 , 117 , 9 , 229 , 118 , 9 , 229 , 118 , 9 , & 229 , 118 , 9 , 229 , 119 , 9 , 229 , 119 , 10 , 229 , 120 , 10 , & 229 , 120 , 10 , 229 , 121 , 10 , 229 , 121 , 10 , 229 , 122 , 10 , & 229 , 122 , 11 , 229 , 122 , 11 , 229 , 123 , 11 , 229 , 123 , 11 , & 229 , 124 , 11 , 229 , 124 , 11 , 229 , 125 , 12 , 229 , 125 , 12 , & 229 , 125 , 12 , 230 , 126 , 12 , 230 , 126 , 12 , 230 , 127 , 12 , & 230 , 127 , 13 , 230 , 128 , 13 , 230 , 128 , 13 , 230 , 128 , 13 , & 230 , 129 , 13 , 230 , 129 , 13 , 230 , 130 , 14 , 230 , 130 , 14 , & 230 , 130 , 14 , 230 , 131 , 14 , 230 , 131 , 14 , 230 , 132 , 14 , & 230 , 132 , 15 , 230 , 133 , 15 , 230 , 133 , 15 , 230 , 133 , 15 , & 230 , 134 , 15 , 230 , 134 , 15 , 230 , 135 , 16 , 230 , 135 , 16 , & 231 , 136 , 16 , 231 , 136 , 16 , 231 , 136 , 16 , 231 , 137 , 16 , & 231 , 137 , 16 , 231 , 138 , 17 , 231 , 138 , 17 , 231 , 138 , 17 , & 231 , 139 , 17 , 231 , 139 , 17 , 231 , 140 , 17 , 231 , 140 , 18 , & 231 , 141 , 18 , 231 , 141 , 18 , 231 , 141 , 18 , 231 , 142 , 18 , & 231 , 142 , 18 , 231 , 143 , 19 , 231 , 143 , 19 , 231 , 143 , 19 , & 231 , 144 , 19 , 231 , 144 , 19 , 231 , 145 , 19 , 231 , 145 , 19 , & 231 , 145 , 20 , 231 , 146 , 20 , 231 , 146 , 20 , 231 , 147 , 20 , & 231 , 147 , 20 , 232 , 147 , 20 , 232 , 148 , 21 , 232 , 148 , 21 , & 232 , 149 , 21 , 232 , 149 , 21 , 232 , 150 , 21 , 232 , 150 , 21 , & 232 , 150 , 21 , 232 , 151 , 22 , 232 , 151 , 22 , 232 , 152 , 22 , & 232 , 152 , 22 , 232 , 152 , 22 , 232 , 153 , 22 , 232 , 153 , 23 , & 232 , 154 , 23 , 232 , 154 , 23 , 232 , 154 , 23 , 232 , 155 , 23 , & 232 , 155 , 23 , 232 , 156 , 24 , 232 , 156 , 24 , 232 , 156 , 24 , & 232 , 157 , 24 , 232 , 157 , 24 , 232 , 158 , 24 , 232 , 158 , 24 , & 232 , 158 , 25 , 232 , 159 , 25 , 232 , 159 , 25 , 232 , 160 , 25 , & 232 , 160 , 25 , 232 , 160 , 25 , 232 , 161 , 26 , 232 , 161 , 26 , & 232 , 162 , 26 , 232 , 162 , 26 , 232 , 162 , 26 , 232 , 163 , 26 , & 232 , 163 , 26 , 232 , 164 , 27 , 232 , 164 , 27 , 233 , 164 , 27 , & 233 , 165 , 27 , 233 , 165 , 27 , 233 , 166 , 27 , 233 , 166 , 28 , & 233 , 166 , 28 , 233 , 167 , 28 , 233 , 167 , 28 , 233 , 168 , 28 , & 233 , 168 , 28 , 233 , 168 , 28 , 233 , 169 , 29 , 233 , 169 , 29 , & 233 , 170 , 29 , 233 , 170 , 29 , 233 , 170 , 29 , 233 , 171 , 29 , & 233 , 171 , 30 , 233 , 172 , 30 , 233 , 172 , 30 , 233 , 172 , 30 , & 233 , 173 , 30 , 233 , 173 , 30 , 233 , 173 , 30 , 233 , 174 , 31 , & 233 , 174 , 31 , 233 , 175 , 31 , 233 , 175 , 31 , 233 , 175 , 31 , & 233 , 176 , 31 , 233 , 176 , 32 , 233 , 177 , 32 , 233 , 177 , 32 , & 233 , 177 , 32 , 233 , 178 , 32 , 233 , 178 , 32 , 233 , 179 , 32 , & 233 , 179 , 33 , 233 , 179 , 33 , 233 , 180 , 33 , 233 , 180 , 33 , & 233 , 181 , 33 , 233 , 181 , 33 , 233 , 181 , 34 , 233 , 182 , 34 , & 233 , 182 , 34 , 233 , 183 , 34 , 233 , 183 , 34 , 233 , 183 , 34 , & 233 , 184 , 34 , 233 , 184 , 35 , 233 , 184 , 35 , 233 , 185 , 35 , & 233 , 185 , 35 , 233 , 186 , 35 , 233 , 186 , 35 , 233 , 186 , 36 , & 233 , 187 , 36 , 233 , 187 , 36 , 233 , 188 , 36 , 233 , 188 , 36 , & 233 , 188 , 36 , 233 , 189 , 36 , 233 , 189 , 37 , 233 , 190 , 37 , & 233 , 190 , 37 , 233 , 190 , 37 , 233 , 191 , 37 , 233 , 191 , 37 , & 233 , 191 , 38 , 233 , 192 , 38 , 233 , 192 , 38 , 233 , 193 , 38 , & 233 , 193 , 38 , 233 , 193 , 38 , 233 , 194 , 38 , 233 , 194 , 39 , & 233 , 195 , 39 , 233 , 195 , 39 , 233 , 195 , 39 , 233 , 196 , 39 , & 233 , 196 , 39 , 233 , 197 , 40 , 233 , 197 , 40 , 233 , 197 , 40 , & 233 , 198 , 40 , 233 , 198 , 40 , 233 , 198 , 40 , 233 , 199 , 40 , & 233 , 199 , 41 , 233 , 200 , 41 , 233 , 200 , 41 , 233 , 200 , 41 , & 233 , 201 , 41 , 233 , 201 , 41 , 232 , 202 , 42 , 232 , 202 , 42 , & 232 , 202 , 42 , 232 , 203 , 42 , 232 , 203 , 42 , 232 , 203 , 42 , & 232 , 204 , 42 , 232 , 204 , 43 , 232 , 205 , 43 , 232 , 205 , 43 , & 232 , 205 , 43 , 232 , 206 , 43 , 232 , 206 , 43 , 232 , 207 , 44 , & 232 , 207 , 44 , 232 , 207 , 44 , 232 , 208 , 44 , 232 , 208 , 44 , & 232 , 208 , 44 , 232 , 209 , 44 , 232 , 209 , 45 , 232 , 210 , 45 , & 232 , 210 , 45 , 232 , 210 , 45 , 232 , 211 , 45 , 232 , 211 , 45 , & 232 , 212 , 46 , 232 , 212 , 46 , 232 , 212 , 46 , 232 , 213 , 46 , & 232 , 213 , 46 , 232 , 213 , 46 , 232 , 214 , 46 , 232 , 214 , 47 , & 232 , 215 , 47 , 232 , 215 , 47 , 232 , 215 , 47 , 232 , 216 , 47 , & 232 , 216 , 47 , 231 , 217 , 48 , 231 , 217 , 48 , 231 , 217 , 48 , & 231 , 218 , 48 , 231 , 218 , 48 , 231 , 218 , 48 , 231 , 219 , 48 , & 231 , 219 , 49 , 231 , 220 , 49 , 231 , 220 , 49 , 231 , 220 , 49 , & 231 , 221 , 49 , 231 , 221 , 49 , 231 , 222 , 50 , 231 , 222 , 50 , & 231 , 222 , 50 , 231 , 223 , 50 , 231 , 223 , 50 , 231 , 223 , 50 , & 231 , 224 , 50 , 231 , 224 , 51 , 231 , 225 , 51 , 231 , 225 , 51 , & 231 , 225 , 51 , 231 , 226 , 51 , 230 , 226 , 51 , 230 , 227 , 52 , & 230 , 227 , 52 , 230 , 227 , 52 , 230 , 228 , 52 , 230 , 228 , 52 , & 230 , 228 , 52 , 230 , 229 , 53 , 230 , 229 , 53 , 230 , 230 , 53 , & 230 , 230 , 53 , 230 , 230 , 55 , 231 , 230 , 58 , 231 , 231 , 61 , & 232 , 231 , 63 , 232 , 231 , 66 , 232 , 231 , 68 , 233 , 231 , 70 , & 233 , 232 , 72 , 233 , 232 , 75 , 234 , 232 , 77 , 234 , 232 , 79 , & 235 , 232 , 81 , 235 , 233 , 83 , 235 , 233 , 85 , 236 , 233 , 87 , & 236 , 233 , 89 , 236 , 233 , 91 , 237 , 234 , 93 , 237 , 234 , 95 , & 237 , 234 , 97 , 238 , 234 , 99 , 238 , 235 , 101 , 238 , 235 , 103 , & 239 , 235 , 104 , 239 , 235 , 106 , 239 , 235 , 108 , 240 , 236 , 110 , & 240 , 236 , 112 , 240 , 236 , 114 , 241 , 236 , 115 , 241 , 236 , 117 , & 241 , 237 , 119 , 242 , 237 , 121 , 242 , 237 , 122 , 242 , 237 , 124 , & 243 , 237 , 126 , 243 , 238 , 128 , 243 , 238 , 129 , 243 , 238 , 131 , & 244 , 238 , 133 , 244 , 239 , 134 , 244 , 239 , 136 , 245 , 239 , 138 , & 245 , 239 , 139 , 245 , 239 , 141 , 245 , 240 , 143 , 246 , 240 , 145 , & 246 , 240 , 146 , 246 , 240 , 148 , 246 , 240 , 150 , 247 , 241 , 151 , & 247 , 241 , 153 , 247 , 241 , 155 , 247 , 241 , 156 , 248 , 242 , 158 , & 248 , 242 , 159 , 248 , 242 , 161 , 248 , 242 , 163 , 249 , 242 , 164 , & 249 , 243 , 166 , 249 , 243 , 168 , 249 , 243 , 169 , 249 , 243 , 171 , & 250 , 243 , 173 , 250 , 244 , 174 , 250 , 244 , 176 , 250 , 244 , 177 , & 250 , 244 , 179 , 251 , 245 , 181 , 251 , 245 , 182 , 251 , 245 , 184 , & 251 , 245 , 186 , 251 , 245 , 187 , 251 , 246 , 189 , 252 , 246 , 190 , & 252 , 246 , 192 , 252 , 246 , 194 , 252 , 247 , 195 , 252 , 247 , 197 , & 252 , 247 , 199 , 253 , 247 , 200 , 253 , 247 , 202 , 253 , 248 , 203 , & 253 , 248 , 205 , 253 , 248 , 207 , 253 , 248 , 208 , 253 , 249 , 210 , & 253 , 249 , 211 , 254 , 249 , 213 , 254 , 249 , 215 , 254 , 249 , 216 , & 254 , 250 , 218 , 254 , 250 , 219 , 254 , 250 , 221 , 254 , 250 , 223 , & 254 , 251 , 224 , 254 , 251 , 226 , 254 , 251 , 228 , 254 , 251 , 229 , & 255 , 252 , 231 , 255 , 252 , 232 , 255 , 252 , 234 , 255 , 252 , 236 , & 255 , 252 , 237 , 255 , 253 , 239 , 255 , 253 , 240 , 255 , 253 , 242 , & 255 , 253 , 244 , 255 , 254 , 245 , 255 , 254 , 247 , 255 , 254 , 249 , & 255 , 254 , 250 , 255 , 255 , 252 , 255 , 255 , 253 , 255 , 255 , 255 & ], shape ( black_body ), order = [ 2 , 1 ] ) contains pure subroutine fire_colormap ( levels , map ) integer , intent ( in ) :: levels integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: last , i ! Best with 256 levels but you can try other numbers: last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( last - i ) / 20 0.0_wp ) ** 7.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( last - i ) / 12 0.0_wp ) ** 1.8_wp )) map ( i , 3 ) = nint ( last * exp ( - (( last - i ) / 4 0.0_wp ) ** 0.7_wp )) end do end subroutine fire_colormap pure subroutine rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine rainbow_colormap pure subroutine inv_rainbow_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! We add three gaussians (red, green, blue): do concurrent ( i = 0 : last ) map ( i , 1 ) = nint ( last * exp ( - (( 106 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 2 ) = nint ( last * exp ( - (( 156 - i ) / 7 0.0_wp ) ** 2.0_wp )) map ( i , 3 ) = nint ( last * exp ( - (( 206 - i ) / 7 0.0_wp ) ** 2.0_wp )) end do end subroutine inv_rainbow_colormap pure subroutine zebra_colormap ( map ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer :: levels , last , i ! The user can not choose the number of levels: levels = 256 last = levels - 1 allocate ( map ( 0 : last , 1 : 3 )) ! Black and white zebras: do i = 0 , 224 , 32 map ( i : i + 15 , :) = 0 map ( i + 16 : i + 31 , :) = 255 end do end subroutine zebra_colormap !--------------------------------------------------------------------- ! This subroutine is based on the public domain FORTRAN 77 subroutine ! published by D.A. Green: ! Green, D. A., 2011, Bulletin of the Astronomical Society of India, ! Vol.39, p.289 ! For more information on the parameters of cubehelix, see his page: ! https://www.mrao.cam.ac.uk/~dag/CUBEHELIX/ !--------------------------------------------------------------------- pure subroutine cubehelix_colormap ( map , nlev , varargs ) integer , dimension (:,:), allocatable , intent ( out ) :: map integer , intent ( in ) :: nlev real ( wp ), dimension (:), intent ( in ), optional :: varargs integer :: i real ( wp ) :: start , rots , hue , gamma real ( wp ) :: fract , angle , amp if ( present ( varargs )) then if ( size ( varargs ) /= 4 ) error stop \"ERROR: cubehelix varargs(:) must have 4 values\" start = varargs ( 1 ) rots = varargs ( 2 ) hue = varargs ( 3 ) gamma = varargs ( 4 ) else ! Default values: start = 0.5_wp rots = - 1.5_wp hue = 1.0_wp gamma = 1.0_wp end if allocate ( map ( 0 : nlev - 1 , 1 : 3 )) do concurrent ( i = 0 : nlev - 1 ) fract = real ( i , kind = wp ) / ( nlev - 1 ) angle = 2 * pi * ( start / 3 + 1 + rots * fract ) fract = fract ** gamma amp = hue * fract * ( 1 - fract ) / 2 map ( i , 1 ) = nint ( 255 * ( fract + amp * ( - 0.14861_wp * cos ( angle ) + 1.78277_wp * sin ( angle )))) map ( i , 2 ) = nint ( 255 * ( fract + amp * ( - 0.29227_wp * cos ( angle ) - 0.90649_wp * sin ( angle )))) map ( i , 3 ) = nint ( 255 * ( fract + amp * ( + 1.97294_wp * cos ( angle )))) end do end subroutine cubehelix_colormap end module miscellaneous_colormaps","tags":"","loc":"sourcefile/miscellaneous_colormaps.f90.html"},{"title":"create.f90 – ForColormap","text":"This file depends on sourcefile~~create.f90~~EfferentGraph sourcefile~create.f90 create.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi, vmagnin: 2024-02-16 ! Last modification: gha3mi 2024-02-16 !------------------------------------------------------------------------------- !> This example demonstrates creating a custom colormap using methods like !> create_lagrange() and create_bezier(). program create use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: custom_cmap integer :: colors ( 3 , 3 ) ! Define control colors for the colormap. colors ( 1 ,:) = [ 255 , 0 , 0 ] ! Red colors ( 2 ,:) = [ 0 , 255 , 0 ] ! Green colors ( 3 ,:) = [ 0 , 0 , 255 ] ! Blue ! Create a custom colormap using Lagrange interpolation. call custom_cmap % create_lagrange ( 'custom_lagrange' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_lagrange' ) print * , \"See the custom_colorbar_lagrange.ppm colorbar\" ! Create a custom colormap using Bezier interpolation. call custom_cmap % create_bezier ( 'custom_bezier' , 0.0_wp , 2.0_wp , colors , 1024 ) call custom_cmap % colorbar ( 'custom_colorbar_bezier' ) print * , \"See the custom_colorbar_bezier.ppm colorbar\" end program create","tags":"","loc":"sourcefile/create.f90.html"},{"title":"colormap_parameters.f90 – ForColormap","text":"Files dependent on this one sourcefile~~colormap_parameters.f90~~AfferentGraph sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_list.f90 colormaps_list.f90 sourcefile~colormaps_list.f90->sourcefile~colormaps_info.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~info.f90 info.f90 sourcefile~info.f90->sourcefile~colormaps_info.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code module colormap_parameters use iso_fortran_env , only : wp => real64 implicit none private public :: wp , pi , colormap_name_length integer , parameter :: colormap_name_length = 30 real ( wp ), parameter :: pi = 4 * atan ( 1.0_wp ) end module colormap_parameters","tags":"","loc":"sourcefile/colormap_parameters.f90.html"},{"title":"example1.f90 – ForColormap","text":"This file depends on sourcefile~~example1.f90~~EfferentGraph sourcefile~example1.f90 example1.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 AliG (gha3mi) ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-10-26 ! Last modification: gha3mi 2024-01-06, vmagnin 2024-02-21 !------------------------------------------------------------------------------- !> This example demonstrates how ForImage can be used to import/export PPM files. program example1 use forcolormap use forcolormap_utils , only : test_colormap use forimage implicit none type ( Colormap ) :: custom_cmap type ( format_pnm ) :: ex1_colormap , ex1_colorbar ! Create ppm files call custom_cmap % load ( 'test_map_to_load.txt' , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colormap_ascii_test' , encoding = 'ascii' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_ascii_colorbar' , encoding = 'ascii' ) call custom_cmap % print () ! Import ascii ppm files call ex1_colormap % import_pnm ( 'a_loaded_colormap_ascii_test' , 'ppm' , 'ascii' ) call ex1_colorbar % import_pnm ( 'a_loaded_colormap_ascii_colorbar' , 'ppm' , 'ascii' ) ! Change colormap and colorbar colors ex1_colormap % pixels = ex1_colormap % pixels * ( 1.6 ) ex1_colorbar % pixels = ex1_colorbar % pixels * ( 1.6 ) ! Export binary ppm files call ex1_colormap % export_pnm ( 'a_loaded_colormap_binary_test_m' , 'binary' ) call ex1_colorbar % export_pnm ( 'a_loaded_colormap_binary_colorbar_m' , 'binary' ) ! Deallocate call ex1_colormap % finalize () call ex1_colorbar % finalize () end program example1","tags":"","loc":"sourcefile/example1.f90.html"},{"title":"demo.f90 – ForColormap","text":"This file depends on sourcefile~~demo.f90~~EfferentGraph sourcefile~demo.f90 demo.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023-2024 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modification: gha3mi 2024-01-28, vmagnin 2024-02-22 !------------------------------------------------------------------------------- program demo use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap integer , allocatable :: colors (:,:) ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp ) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ]) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap ) call custom_cmap % colorbar ( 'discrete_colorbar' ) call test_colormap ( custom_cmap , 'discrete_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp ) call custom_cmap % colorbar ( 'a_loaded_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_colormap_test' ) call custom_cmap % print () end program demo","tags":"","loc":"sourcefile/demo.f90.html"},{"title":"info.f90 – ForColormap","text":"This file depends on sourcefile~~info.f90~~EfferentGraph sourcefile~info.f90 info.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~info.f90->sourcefile~colormaps_info.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-05 ! Last modification: gha3mi 2023-11-05 !------------------------------------------------------------------------------- program write_info use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Print all colormap information using default verbosity (level 1) ! verbose: 1 (default) prints a table , 2 prints a box, 3 prints the name call info % write () !! Filter and write colormap information !! Available filters: name, family, gradient, palette, author, license, levels ! Filter by gradient using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by gradient and palette using default verbosity (level 1) call info % write ( gradient = 'Sequential' , palette = 'Continuous' ) ! Filter by family and palette using verbosity level 2 call info % write ( family = 'vik' , gradient = 'Diverging' , palette = 'Continuous' , verbose = 2 ) !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'COLORMAPS_LIST.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program write_info","tags":"","loc":"sourcefile/info.f90.html"},{"title":"colormaps_info.f90 – ForColormap","text":"This file depends on sourcefile~~colormaps_info.f90~~EfferentGraph sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~colormaps_info.f90~~AfferentGraph sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~colormaps_list.f90 colormaps_list.f90 sourcefile~colormaps_list.f90->sourcefile~colormaps_info.f90 sourcefile~info.f90 info.f90 sourcefile~info.f90->sourcefile~colormaps_info.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-05 ! Last modification: gha3mi 2024-02-16, vmagnin 2024-02-16 !------------------------------------------------------------------------------- module forcolormap_info use colormap_parameters , only : colormap_name_length implicit none private public :: Colormaps_info ! Define a derived type named 'table' to store information about a colormap type :: table character ( len = :), allocatable , private :: name ! Name of the colormap character ( len = :), allocatable , private :: family ! Family or category of the colormap character ( len = :), allocatable , private :: gradient ! Type of gradient used in the colormap character ( len = :), allocatable , private :: palette ! Palette used in the colormap character ( len = :), allocatable , private :: colorbar ! Colorbar style associated with the colormap character ( len = :), allocatable , private :: package ! Package or library associated with the colormap character ( len = :), allocatable , private :: author ! Author of the colormap character ( len = :), allocatable , private :: license ! License information for the colormap character ( len = :), allocatable , private :: url ! URL or web link to the colormap information integer , private :: levels ! Number of discrete levels in the colormap contains procedure :: set_info ! Procedure to set information for the colormap procedure :: write_info ! Procedure to print information about the colormap procedure :: finalize => deallocate_table ! Procedure to finalize the derived type end type table ! Define a derived type named 'Colormaps_info' to store an array of 'table' type type :: Colormaps_info type ( table ), private :: colormaps ( 232 ) ! Array of 'table' type to store multiple colormaps contains procedure :: set_all ! Procedure to set information for all colormaps in the array procedure :: write ! Procedure to filter and write information about the colormaps procedure :: finalize => deallocate_Colormaps_info ! Procedure to finalize the derived type procedure :: get_ncolormaps ! Procedure to get the number of colormaps procedure :: get_name ! Procedure to get the name of a colormap procedure :: get_levels ! Procedure to get the number of levels in a colormap end type Colormaps_info contains pure elemental function get_ncolormaps ( this ) result ( ncolormaps ) class ( Colormaps_info ), intent ( in ) :: this integer :: ncolormaps ncolormaps = size ( this % colormaps ) end function get_ncolormaps pure elemental function get_name ( this , index ) result ( name ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index character ( colormap_name_length ) :: name name = trim ( this % colormaps ( index )% name ) end function get_name pure function get_levels ( this , index ) result ( levels ) class ( Colormaps_info ), intent ( in ) :: this integer , intent ( in ) :: index integer :: levels levels = this % colormaps ( index )% levels end function get_levels ! set information about the colormap pure elemental subroutine set_info ( this , package , family , name , gradient , palette , author , license , url , colorbar , levels ) class ( table ), intent ( inout ) :: this character ( * ), intent ( in ) :: package , family , name , gradient , palette , author , license , url , colorbar integer , intent ( in ) :: levels allocate ( this % package , source = trim ( package )) allocate ( this % family , source = trim ( family )) allocate ( this % name , source = trim ( name )) allocate ( this % gradient , source = trim ( gradient )) allocate ( this % palette , source = trim ( palette )) allocate ( this % author , source = trim ( author )) allocate ( this % license , source = trim ( license )) allocate ( this % url , source = trim ( url )) allocate ( this % colorbar , source = trim ( colorbar )) this % levels = levels end subroutine set_info ! print information about the colormap impure subroutine write_info ( this , verbose , file_name ) class ( table ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: file_name integer :: verbose_ , nunit character ( len = 256 ) :: format_table if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if select case ( verbose_ ) case ( 1 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a,' , 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar ,& '|' , this % package ,& '|' , this % author ,& '|' , this % license ,& '|' , this % url , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % package ), ',' , 25 - len_trim ( this % package ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % author ), ',' , 15 - len_trim ( this % author ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % license ), ',' , 33 - len_trim ( this % license ) + 2 , 'x' , ',' ,& 'a' , max ( 1 , len_trim ( this % url )), ',' , 42 - max ( 1 , len_trim ( this % url )) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar ,& this % package ,& this % author ,& this % license ,& this % url end if case ( 2 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a,a)' ) 'Name : ' , this % name write ( nunit , '(a,a)' ) 'Family : ' , this % family write ( nunit , '(a,a)' ) 'Gradient: ' , this % gradient write ( nunit , '(a,a)' ) 'Palette : ' , this % palette write ( nunit , '(a,I4)' ) 'Levels : ' , this % levels write ( nunit , '(a,a)' ) 'Colorbar: ' , this % colorbar write ( nunit , '(a,a)' ) 'Package : ' , this % package write ( nunit , '(a,a)' ) 'Author : ' , this % author write ( nunit , '(a,a)' ) 'Licence : ' , this % license write ( nunit , '(a,a)' ) 'URL : ' , this % url write ( nunit , '(a)' ) '**********************************************' write ( nunit , '(a)' ) '' close ( nunit ) else print '(a)' , '' print '(a)' , '**********************************************' print '(a,a)' , 'Name : ' , this % name print '(a,a)' , 'Family : ' , this % family print '(a,a)' , 'Gradient: ' , this % gradient print '(a,a)' , 'Palette : ' , this % palette print '(a,I4)' , 'Levels : ' , this % levels print '(a,a)' , 'Colorbar: ' , this % colorbar print '(a,a)' , 'Package : ' , this % package print '(a,a)' , 'Author : ' , this % author print '(a,a)' , 'Licence : ' , this % license print '(a,a)' , 'URL : ' , this % url print '(a)' , '**********************************************' print '(a)' , '' end if case ( 3 ) if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) this % name close ( nunit ) else print '(a)' , this % name end if case ( 4 ) if ( present ( file_name )) then write ( format_table ,& '(a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,g0,a,g0,a,a,& &a,a,a,g0,a,a,& &a,a,g0,a,g0,a,a,a,& &a)' )& '(' ,& 'a,' , 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'a,' , 'I4' , ',' , 3 , 'x' , ',' ,& 'a,' , 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' , ',a' ,& ')' open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , format_table )& '|' , this % name ,& '|' , this % family ,& '|' , this % gradient ,& '|' , this % palette ,& '|' , this % levels ,& '|' , this % colorbar , '|' close ( nunit ) else write ( format_table ,& '(a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,g0,a,g0,a,a,& &a,a,g0,a,a,& &a,g0,a,g0,a,a,& &a)' )& '(' ,& 'a' , len_trim ( this % name ), ',' , 10 - len_trim ( this % name ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % family ), ',' , 10 - len_trim ( this % family ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % gradient ), ',' , 18 - len_trim ( this % gradient ) + 2 , 'x' , ',' ,& 'a' , len_trim ( this % palette ), ',' , 12 - len_trim ( this % palette ) + 2 , 'x' , ',' ,& 'I4' , ',' , 3 , 'x' , ',' ,& 'a' , len_trim ( this % colorbar ), ',' , 23 - len_trim ( this % colorbar ) + 2 , 'x' ,& ')' print ( format_table ),& this % name ,& this % family ,& this % gradient ,& this % palette ,& this % levels ,& this % colorbar end if end select end subroutine write_info ! filter the array of colormaps based on the given criteria and write information about the filtered colormaps impure subroutine write ( this , verbose , name , family , gradient , palette , author , license , levels , file_name ) class ( Colormaps_info ), intent ( inout ) :: this integer , intent ( in ), optional :: verbose character ( * ), intent ( in ), optional :: name , family , gradient , palette , author , license integer , intent ( in ), optional :: levels character ( * ), intent ( in ), optional :: file_name integer :: i , k , verbose_ , nunit integer :: ind ( this % get_ncolormaps (), 8 ) ! 1: index, 2: name, 3: family, 4: gradient, 5: palette, 6: author, 7: license, 8: levels integer , allocatable :: inter_ind (:) ! Set default values if ( present ( verbose )) then verbose_ = verbose else verbose_ = 1 end if ! Print header for verbose = 1 if ( verbose_ == 1 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar' , '|Package' , '|Author' , '|Licence' , '|URL|' write ( nunit , '(a)' ) '|---|---|---|---|---|---|---|---|---|---|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,28x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' , 'Package' , 'Author' , 'Licence' , 'URL' print '(a)' , '*****************************************************************************************& &*****************************************************************************************************& &**********************' end if end if ! Print header for verbose = 4 if ( verbose_ == 4 ) then if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line write ( nunit , '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0,17x,g0,20x,g0,11x,g0,8x,g0)' ) & '|Name' , '|Family' , '|Gradient' , '|Palette' , '|Levels' , '|Colorbar |' write ( nunit , '(a)' ) '|------------|------------|--------------------|--------------|-------|-------------------------|' close ( nunit ) else print * , '' ! Print empty line print '(g0,8x,g0,6x,g0,12x,g0,7x,g0,1x,g0)' , & 'Name' , 'Family' , 'Gradient' , 'Palette' , 'Levels' , 'Colorbar' print '(a)' , '**************************************************************************************************' end if end if if ( present ( name ) . or .& present ( family ) . or .& present ( gradient ) . or .& present ( palette ) . or .& present ( author ) . or .& present ( license ) . or .& present ( levels )) then ind = 0 do i = 1 , this % get_ncolormaps () ind ( i , 1 ) = i end do if ( present ( name )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% name == name ) then ind ( k , 2 ) = i k = k + 1 end if end do end if if ( present ( family )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% family == family ) then ind ( k , 3 ) = i k = k + 1 end if end do end if if ( present ( gradient )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% gradient == gradient ) then ind ( k , 4 ) = i k = k + 1 end if end do end if if ( present ( palette )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% palette == palette ) then ind ( k , 5 ) = i k = k + 1 end if end do end if if ( present ( author )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% author == author ) then ind ( k , 6 ) = i k = k + 1 end if end do end if if ( present ( license )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% license == license ) then ind ( k , 7 ) = i k = k + 1 end if end do end if if ( present ( levels )) then k = 1 do i = 1 , this % get_ncolormaps () if ( this % colormaps ( i )% levels == levels ) then ind ( k , 8 ) = i k = k + 1 end if end do end if inter_ind = findColumnIntersections ( ind (:,:)) do i = 1 , this % get_ncolormaps () do k = 1 , size ( inter_ind ) if ( inter_ind ( k ) == i ) then call this % colormaps ( i )% write_info ( verbose , file_name ) end if end do end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if else do i = 1 , this % get_ncolormaps () call this % colormaps ( i )% write_info ( verbose , file_name ) end do if ( present ( file_name )) then open ( newunit = nunit , file = trim ( file_name ), access = 'append' , status = 'unknown' , action = 'write' ) write ( nunit , '(a)' ) '' ! Print empty line close ( nunit ) else print * , '' ! Print empty line end if end if end subroutine write ! set information for all colormaps pure elemental subroutine set_all ( this ) class ( Colormaps_info ), intent ( inout ) :: this integer :: i i = 1 call this % colormaps ( i )% set_info (& name = \"acton\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"acton_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton10\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"acton10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton25\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"acton25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton50\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"acton50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"acton100\" ,& family = \"acton\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"acton100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"actonS\" ,& family = \"acton\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"actonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bam_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam10\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bam10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam100\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bam100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam25\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bam25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bam50\" ,& family = \"bam\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bam50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamako_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako10\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamako10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako100\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamako100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako25\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamako25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamako50\" ,& family = \"bamako\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamako50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamakoS\" ,& family = \"bamako\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bamakoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bamO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO10\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bamO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO100\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bamO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO25\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bamO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bamO50\" ,& family = \"bam\" ,& gradient = \"Cyclic\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bamO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlow50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowK_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowK10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowK100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowK25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowK50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowK50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowKS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowKS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"batlowW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW10\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"batlowW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW100\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"batlowW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW25\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"batlowW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowW50\" ,& family = \"batlow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"batlowW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"batlowWS\" ,& family = \"batlow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"batlowWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"berlin_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin10\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"berlin10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin100\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"berlin100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin25\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"berlin25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"berlin50\" ,& family = \"berlin\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"berlin50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bilbao_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao10\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bilbao10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao100\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bilbao100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao25\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bilbao25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbao50\" ,& family = \"bilbao\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bilbao50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bilbaoS\" ,& family = \"bilbao\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"bilbaoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"broc_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"broc10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"broc100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"broc25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"broc50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"broc50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO\" ,& family = \"broc\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"brocO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO10\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"brocO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO100\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"brocO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO25\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"brocO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"brocO50\" ,& family = \"broc\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"brocO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"buda_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda10\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"buda10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda100\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"buda100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda25\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"buda25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"buda50\" ,& family = \"buda\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"buda50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"budaS\" ,& family = \"buda\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"budaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"bukavu_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu10\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"bukavu10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu100\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"bukavu100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu25\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"bukavu25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"bukavu50\" ,& family = \"bukavu\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"bukavu50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"cork_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"cork10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"cork100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"cork25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"cork50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"cork50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO\" ,& family = \"cork\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"corkO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO10\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"corkO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO100\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"corkO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO25\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"corkO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"corkO50\" ,& family = \"cork\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"corkO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"davos_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos10\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"davos10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos100\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"davos100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos25\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"davos25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davos50\" ,& family = \"davos\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"davos50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"davosS\" ,& family = \"davos\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"davosS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"devon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon10\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"devon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon100\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"devon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon25\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"devon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devon50\" ,& family = \"devon\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"devon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"devonS\" ,& family = \"devon\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"devonS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"fes_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes10\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"fes10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes100\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"fes100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes25\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"fes25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"fes50\" ,& family = \"fes\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"fes50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"glasgow_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow10\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"glasgow10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow100\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"glasgow100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow25\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"glasgow25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgow50\" ,& family = \"glasgow\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"glasgow50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"glasgowS\" ,& family = \"glasgow\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"glasgowS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"grayC_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC10\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"grayC10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC100\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"grayC100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC25\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"grayC25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayC50\" ,& family = \"grayC\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"grayC50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"grayCS\" ,& family = \"grayC\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"grayCS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"hawaii_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii10\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"hawaii10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii100\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"hawaii100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii25\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"hawaii25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaii50\" ,& family = \"hawaii\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"hawaii50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"hawaiiS\" ,& family = \"hawaii\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"hawaiiS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"imola_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola10\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"imola10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola100\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"imola100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola25\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"imola25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imola50\" ,& family = \"imola\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"imola50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"imolaS\" ,& family = \"imola\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"imolaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lajolla_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla10\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lajolla10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla100\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lajolla100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla25\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lajolla25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajolla50\" ,& family = \"lajolla\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lajolla50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lajollaS\" ,& family = \"lajolla\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lajollaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lapaz_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz10\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lapaz10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz100\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lapaz100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz25\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lapaz25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapaz50\" ,& family = \"lapaz\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lapaz50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lapazS\" ,& family = \"lapaz\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lapazS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipariS\" ,& family = \"lipari\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"lipariS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lipari_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari10\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lipari10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari100\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lipari100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari25\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lipari25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lipari50\" ,& family = \"lipari\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lipari50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"lisbon_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon10\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"lisbon10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon100\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"lisbon100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon25\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"lisbon25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info (& name = \"lisbon50\" ,& family = \"lisbon\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"lisbon50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"managua_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua10\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"managua10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua100\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"managua100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua25\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"managua25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"managua50\" ,& family = \"managua\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"managua50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"navia_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"navia10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"navia100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"navia25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"navia50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"navia50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"naviaW_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaWS\" ,& family = \"navia\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"naviaWS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW10\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"naviaW10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW100\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"naviaW100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW25\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"naviaW25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"naviaW50\" ,& family = \"navia\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"naviaW50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"nuuk_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk10\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"nuuk10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk100\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"nuuk100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk25\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"nuuk25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuuk50\" ,& family = \"nuuk\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"nuuk50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"nuukS\" ,& family = \"nuuk\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"nuukS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oleron_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron10\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oleron10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron100\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oleron100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron25\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oleron25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oleron50\" ,& family = \"oleron\" ,& gradient = \"Multi-Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oleron50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"oslo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo10\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"oslo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo100\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"oslo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo25\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"oslo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"oslo50\" ,& family = \"oslo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"oslo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"osloS\" ,& family = \"oslo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"osloS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"roma_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"roma10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"roma100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"roma25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"roma50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"roma50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO\" ,& family = \"roma\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"romaO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO10\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"romaO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO100\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"romaO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO25\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"romaO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"romaO50\" ,& family = \"roma\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"romaO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tofino_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino10\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tofino10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino100\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tofino100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino25\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tofino25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tofino50\" ,& family = \"tofino\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tofino50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"tokyo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo10\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"tokyo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo100\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"tokyo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo25\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"tokyo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyo50\" ,& family = \"tokyo\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"tokyo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"tokyoS\" ,& family = \"tokyo\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"tokyoS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"turku_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku10\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"turku10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku100\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"turku100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku25\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"turku25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turku50\" ,& family = \"turku\" ,& gradient = \"Sequential\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"turku50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"turkuS\" ,& family = \"turku\" ,& gradient = \"Categorical\" ,& palette = \"Continuous\" ,& levels = 100 , & colorbar = \"turkuS_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vanimo_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo10\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vanimo10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo100\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vanimo100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo25\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vanimo25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vanimo50\" ,& family = \"vanimo\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vanimo50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vik_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vik10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vik100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vik25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vik50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vik50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO\" ,& family = \"vik\" ,& gradient = \"Cyclic\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"vikO_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO10\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 10 , & colorbar = \"vikO10_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO100\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 100 , & colorbar = \"vikO100_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO25\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 25 , & colorbar = \"vikO25_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"vikO50\" ,& family = \"vik\" ,& gradient = \"Diverging\" ,& palette = \"Discrete\" ,& levels = 50 , & colorbar = \"vikO50_colorbar.ppm\" ,& package = \"Scientific Colour Map\" ,& author = \"Fabio Crameri\" ,& license = \"MIT license\" ,& url = \"https://www.fabiocrameri.ch\" ) ! Miscellaneous colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"black_body\" ,& family = \"black_body\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 1024 , & colorbar = \"black_body_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Kenneth Moreland\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://www.kennethmoreland.com\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"cubehelix\" ,& family = \"cubehelix\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"cubehelix_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Dave Green\" ,& license = \"Public Domain (Unlicense license)\" ,& url = \"https://people.phy.cam.ac.uk/dag9/CUBEHELIX\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"fire\" ,& family = \"fire\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = - 1 , & ! -1 means that the number of levels is not fixed colorbar = \"fire_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inv_rainbow\" ,& family = \"rainbow\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inv_rainbow_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"zebra\" ,& family = \"zebra\" ,& gradient = \"Categorical\" ,& palette = \"Discrete\" ,& levels = 256 , & colorbar = \"zebra_colorbar.ppm\" ,& package = \"Miscellaneous\" ,& author = \"Vincent Magnin\" ,& license = \"Public Domain (CC0)\" ,& url = \"\" ) ! Matplotlib colormaps: i = i + 1 call this % colormaps ( i )% set_info ( & name = \"magma\" ,& family = \"magma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"magma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"inferno\" ,& family = \"inferno\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"inferno_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"plasma\" ,& family = \"plasma\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"plasma_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) i = i + 1 call this % colormaps ( i )% set_info ( & name = \"viridis\" ,& family = \"viridis\" ,& gradient = \"Sequential\" ,& palette = \"Continuous\" ,& levels = 256 , & colorbar = \"viridis_colorbar.ppm\" ,& package = \"Matplotlib\" ,& author = \"N. Smith et al.\" ,& license = \"Public Domain (CC0)\" ,& url = \"https://bids.github.io/colormap/\" ) end subroutine set_all pure elemental subroutine deallocate_table ( this ) class ( table ), intent ( inout ) :: this if ( allocated ( this % name )) deallocate ( this % name ) if ( allocated ( this % family )) deallocate ( this % family ) if ( allocated ( this % gradient )) deallocate ( this % gradient ) if ( allocated ( this % palette )) deallocate ( this % palette ) if ( allocated ( this % colorbar )) deallocate ( this % colorbar ) if ( allocated ( this % package )) deallocate ( this % package ) if ( allocated ( this % author )) deallocate ( this % author ) if ( allocated ( this % license )) deallocate ( this % license ) if ( allocated ( this % url )) deallocate ( this % url ) end subroutine deallocate_table pure elemental subroutine deallocate_Colormaps_info ( this ) class ( Colormaps_info ), intent ( inout ) :: this ! integer :: i ! do i = 1, this%get_ncolormaps() ! call this%colormaps(i)%deallocate_table() ! end do call this % colormaps (:)% finalize () end subroutine deallocate_Colormaps_info ! Finds intersections between elements of the first column and other columns in the input array. pure function findColumnIntersections ( array ) result ( intersections ) integer , intent ( in ) :: array (:,:) integer , allocatable :: intersections (:) logical :: found ( size ( array , 1 )) integer :: i , j do i = 1 , size ( array , 1 ) found ( i ) = . true . do j = 2 , size ( array , 2 ) ! Check if all elements in the current column are non-zero if ( . not . all ( array (:, j ) == 0 )) then ! Check if the current element in the first column exists in the current column found ( i ) = found ( i ) . and . any ( array ( i , 1 ) == array (:, j )) end if end do end do ! Allocate and populate the intersections array allocate ( intersections ( size ( pack ( array (:, 1 ), mask = found )))) intersections = pack ( array (:, 1 ), mask = found ) end function findColumnIntersections end module forcolormap_info","tags":"","loc":"sourcefile/colormaps_info.f90.html"},{"title":"demo_reverse.f90 – ForColormap","text":"This file depends on sourcefile~~demo_reverse.f90~~EfferentGraph sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023-2024 Vincent Magnin ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modification: gha3mi 2023-11-01, vmagnin 2024-02-22 !------------------------------------------------------------------------------- program demo_reverse use forcolormap , only : Colormap , colormaps_list , wp use forcolormap_utils , only : test_colormap implicit none integer :: i type ( Colormap ) :: cmap , custom_cmap ! A discrete colormap with 8 levels, from black to white: integer , dimension ( 0 : 7 , 3 ) :: my_colormap = reshape ( [ & 0 , 0 , 0 , & 255 , 0 , 0 , & 0 , 255 , 0 , & 0 , 0 , 255 , & 255 , 255 , 0 , & 0 , 255 , 255 , & 255 , 0 , 255 , & 255 , 255 , 255 ], & shape ( my_colormap ), order = [ 2 , 1 ] ) !> We create PPM files (binary encoded by default) for each built-in colormap. !> The built-in z=f(x,y) test function is in the [0, 2] range: do i = 1 , size ( colormaps_list ) call cmap % set ( trim ( colormaps_list ( i )), 0.0_wp , 2.0_wp , reverse = . true .) call cmap % colorbar ( trim ( colormaps_list ( i )) // '_reverse_colorbar' ) call test_colormap ( cmap , trim ( colormaps_list ( i )) // '_reverse_test' ) print '(\"Colormap \", A30, \" has \", I0, \" levels\")' , trim ( cmap % get_name ()), cmap % get_levels () end do ! Cubehelix can also accept other parameters (varargs array): call cmap % set ( \"cubehelix\" , 0.0_wp , 2.0_wp , 1024 , [ 0.5_wp , - 1.0_wp , 1.0_wp , 1.0_wp ], reverse = . true .) ! We change the name for the output test files: call cmap % colorbar ( 'cubehelix_customized_reverse_colorbar' ) call test_colormap ( cmap , 'cubehelix_customized_reverse_test' ) ! You can create your own colormap defined in an array: call custom_cmap % create ( 'discrete' , 0.0_wp , 2.0_wp , my_colormap , reverse = . true .) call custom_cmap % colorbar ( 'discrete_reverse_colorbar' ) call test_colormap ( custom_cmap , 'discrete_reverse_test' ) ! Or you can download it from a .txt file: call custom_cmap % load ( \"test_map_to_load.txt\" , 0.0_wp , 2.0_wp , reverse = . true .) call custom_cmap % colorbar ( 'a_loaded_reverse_colorbar' ) call test_colormap ( custom_cmap , 'a_loaded_reverse_colormap_test' ) call custom_cmap % print () end program demo_reverse","tags":"","loc":"sourcefile/demo_reverse.f90.html"},{"title":"extract.f90 – ForColormap","text":"This file depends on sourcefile~~extract.f90~~EfferentGraph sourcefile~extract.f90 extract.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 AliG (gha3mi) ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-07 ! Last modification: gha3mi 2023-11-07, vmagnin 2024-02-15 !------------------------------------------------------------------------------- ! This example demonstrates the process of extracting a specified number of colors. ! The variable 'extractedLevels' represents the number of colors to be extracted from the colormap. program extract use forcolormap , only : Colormap , wp implicit none type ( Colormap ) :: cmap ! Initialize the colormap call cmap % set ( 'fes' , 0.0_wp , 2.0_wp ) ! Extract 10 colors from the colormap (extractedLevels=10) ! Optional arguments: 'name', 'zmin', 'zmax', and 'reverse' can be provided ! The extracted colormap will overwrite the existing colormap type (cmap) call cmap % extract ( 10 ) ! Generate a color bar for the extracted colormap call cmap % colorbar ( 'fes10_ex_colorbar' ) end program extract","tags":"","loc":"sourcefile/extract.f90.html"},{"title":"colormaps_list.f90 – ForColormap","text":"This file depends on sourcefile~~colormaps_list.f90~~EfferentGraph sourcefile~colormaps_list.f90 colormaps_list.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormaps_list.f90->sourcefile~colormaps_info.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-11-05 ! Last modification: gha3mi 2023-11-05 !------------------------------------------------------------------------------- program colormaps_list use forcolormap_info , only : Colormaps_info implicit none type ( Colormaps_info ) :: info ! Set all colormap information call info % set_all () !! Write colormap information to a file call info % write ( gradient = 'Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_SEQ.md' , verbose = 4 ) call info % write ( gradient = 'Multi-Sequential' , file_name = 'colormaps_list/COLORMAPS_LIST_MSQ.md' , verbose = 4 ) call info % write ( gradient = 'Diverging' , file_name = 'colormaps_list/COLORMAPS_LIST_DIV.md' , verbose = 4 ) call info % write ( gradient = 'Categorical' , file_name = 'colormaps_list/COLORMAPS_LIST_CAT.md' , verbose = 4 ) call info % write ( gradient = 'Cyclic' , file_name = 'colormaps_list/COLORMAPS_LIST_CYC.md' , verbose = 4 ) ! Deallocate all colormap information call info % finalize () end program colormaps_list","tags":"","loc":"sourcefile/colormaps_list.f90.html"},{"title":"colormap_class.f90 – ForColormap","text":"This file depends on sourcefile~~colormap_class.f90~~EfferentGraph sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~colormap_class.f90->sourcefile~colormap_parameters.f90 sourcefile~colormaps_info.f90 colormaps_info.f90 sourcefile~colormap_class.f90->sourcefile~colormaps_info.f90 sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~miscellaneous_colormaps.f90 miscellaneous_colormaps.f90 sourcefile~colormap_class.f90->sourcefile~miscellaneous_colormaps.f90 sourcefile~scientific_colour_maps.f90 scientific_colour_maps.f90 sourcefile~colormap_class.f90->sourcefile~scientific_colour_maps.f90 sourcefile~colormaps_info.f90->sourcefile~colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~miscellaneous_colormaps.f90->sourcefile~colormap_parameters.f90 sourcefile~scientific_colour_maps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~colormap_class.f90~~AfferentGraph sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023 Vincent Magnin, gha3mi ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by vmagnin: 2023-09-26 ! Last modification: gha3mi 2024-02-16, vmagnin 2024-02-16 !------------------------------------------------------------------------------- module forcolormap use colormap_parameters , only : wp , colormap_name_length use scientific_colour_maps use matplotlib_colormaps use miscellaneous_colormaps implicit none private public :: wp ! List of built-in colormaps: character ( * ), dimension ( * ), public , parameter :: colormaps_list = & [ character ( colormap_name_length ) :: & miscellaneous_colormaps_list ,& scientific_colour_maps_list ,& matplotlib_colormaps_list ] ! The Colormap class (attributes are encapsulated): type , public :: Colormap character ( colormap_name_length ), private :: name integer , private :: levels ! Number of levels real ( wp ), private :: zmin , zmax ! z range ! An array containing for each level the associated RGB values: integer , dimension (:, :), allocatable , private :: map contains procedure :: set procedure :: create procedure :: create_lagrange procedure :: create_bezier procedure :: load procedure :: get_RGB procedure :: compute_RGB procedure :: get_name procedure :: get_levels procedure :: get_zmin procedure :: get_zmax procedure :: print procedure :: colorbar => write_ppm_colorbar procedure :: reverse procedure :: shift procedure :: extract procedure , private :: check end type Colormap contains pure subroutine set ( self , name , zmin , zmax , levels , varargs , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , intent ( in ), optional :: levels real ( wp ), dimension (:), intent ( in ), optional :: varargs logical , intent ( in ), optional :: reverse self % name = trim ( name ) self % zmin = zmin self % zmax = zmax if ( present ( levels )) then self % levels = levels else self % levels = - 256 ! This value will be fixed in the check() procedure end if ! Check validity of the colormap and fix it if necessary call self % check ( check_name = . true ., check_zmin = . true ., check_zmax = . true ., check_levels = . true .) select case ( self % name ) ! Miscellaneous colormaps collection case ( \"fire\" ) ! Best with 256 levels but you can try other numbers: call fire_colormap ( self % levels , self % map ) case ( \"rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call rainbow_colormap ( self % map ) case ( \"inv_rainbow\" ) ! The user can not choose the number of levels: self % levels = 256 call inv_rainbow_colormap ( self % map ) case ( \"zebra\" ) ! The user can not choose the number of levels: self % levels = 256 call zebra_colormap ( self % map ) case ( \"cubehelix\" ) if ( present ( varargs )) then call cubehelix_colormap ( self % map , self % levels , varargs ) else call cubehelix_colormap ( self % map , self % levels ) end if ! Scientific colour maps collection (Fabio Crameri) ! (The user can not choose the number of levels) case ( \"acton\" ) call self % create ( self % name , self % zmin , self % zmax , acton ) case ( \"acton10\" ) call self % create ( self % name , self % zmin , self % zmax , acton10 ) case ( \"acton100\" ) call self % create ( self % name , self % zmin , self % zmax , acton100 ) case ( \"acton25\" ) call self % create ( self % name , self % zmin , self % zmax , acton25 ) case ( \"acton50\" ) call self % create ( self % name , self % zmin , self % zmax , acton50 ) case ( \"actonS\" ) call self % create ( self % name , self % zmin , self % zmax , actonS ) case ( \"bam\" ) call self % create ( self % name , self % zmin , self % zmax , bam ) case ( \"bam10\" ) call self % create ( self % name , self % zmin , self % zmax , bam10 ) case ( \"bam100\" ) call self % create ( self % name , self % zmin , self % zmax , bam100 ) case ( \"bam25\" ) call self % create ( self % name , self % zmin , self % zmax , bam25 ) case ( \"bam50\" ) call self % create ( self % name , self % zmin , self % zmax , bam50 ) case ( \"bamako\" ) call self % create ( self % name , self % zmin , self % zmax , bamako ) case ( \"bamako10\" ) call self % create ( self % name , self % zmin , self % zmax , bamako10 ) case ( \"bamako100\" ) call self % create ( self % name , self % zmin , self % zmax , bamako100 ) case ( \"bamako25\" ) call self % create ( self % name , self % zmin , self % zmax , bamako25 ) case ( \"bamako50\" ) call self % create ( self % name , self % zmin , self % zmax , bamako50 ) case ( \"bamakoS\" ) call self % create ( self % name , self % zmin , self % zmax , bamakoS ) case ( \"bamO\" ) call self % create ( self % name , self % zmin , self % zmax , bamO ) case ( \"bamO10\" ) call self % create ( self % name , self % zmin , self % zmax , bamO10 ) case ( \"bamO100\" ) call self % create ( self % name , self % zmin , self % zmax , bamO100 ) case ( \"bamO25\" ) call self % create ( self % name , self % zmin , self % zmax , bamO25 ) case ( \"bamO50\" ) call self % create ( self % name , self % zmin , self % zmax , bamO50 ) case ( \"batlow\" ) call self % create ( self % name , self % zmin , self % zmax , batlow ) case ( \"batlow10\" ) call self % create ( self % name , self % zmin , self % zmax , batlow10 ) case ( \"batlow100\" ) call self % create ( self % name , self % zmin , self % zmax , batlow100 ) case ( \"batlow25\" ) call self % create ( self % name , self % zmin , self % zmax , batlow25 ) case ( \"batlow50\" ) call self % create ( self % name , self % zmin , self % zmax , batlow50 ) case ( \"batlowK\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK ) case ( \"batlowK10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK10 ) case ( \"batlowK100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK100 ) case ( \"batlowK25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK25 ) case ( \"batlowK50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowK50 ) case ( \"batlowKS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowKS ) case ( \"batlowS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowS ) case ( \"batlowW\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW ) case ( \"batlowW10\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW10 ) case ( \"batlowW100\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW100 ) case ( \"batlowW25\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW25 ) case ( \"batlowW50\" ) call self % create ( self % name , self % zmin , self % zmax , batlowW50 ) case ( \"batlowWS\" ) call self % create ( self % name , self % zmin , self % zmax , batlowWS ) case ( \"berlin\" ) call self % create ( self % name , self % zmin , self % zmax , berlin ) case ( \"berlin10\" ) call self % create ( self % name , self % zmin , self % zmax , berlin10 ) case ( \"berlin100\" ) call self % create ( self % name , self % zmin , self % zmax , berlin100 ) case ( \"berlin25\" ) call self % create ( self % name , self % zmin , self % zmax , berlin25 ) case ( \"berlin50\" ) call self % create ( self % name , self % zmin , self % zmax , berlin50 ) case ( \"bilbao\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao ) case ( \"bilbao10\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao10 ) case ( \"bilbao100\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao100 ) case ( \"bilbao25\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao25 ) case ( \"bilbao50\" ) call self % create ( self % name , self % zmin , self % zmax , bilbao50 ) case ( \"bilbaoS\" ) call self % create ( self % name , self % zmin , self % zmax , bilbaoS ) case ( \"broc\" ) call self % create ( self % name , self % zmin , self % zmax , broc ) case ( \"broc10\" ) call self % create ( self % name , self % zmin , self % zmax , broc10 ) case ( \"broc100\" ) call self % create ( self % name , self % zmin , self % zmax , broc100 ) case ( \"broc25\" ) call self % create ( self % name , self % zmin , self % zmax , broc25 ) case ( \"broc50\" ) call self % create ( self % name , self % zmin , self % zmax , broc50 ) case ( \"brocO\" ) call self % create ( self % name , self % zmin , self % zmax , brocO ) case ( \"brocO10\" ) call self % create ( self % name , self % zmin , self % zmax , brocO10 ) case ( \"brocO100\" ) call self % create ( self % name , self % zmin , self % zmax , brocO100 ) case ( \"brocO25\" ) call self % create ( self % name , self % zmin , self % zmax , brocO25 ) case ( \"brocO50\" ) call self % create ( self % name , self % zmin , self % zmax , brocO50 ) case ( \"buda\" ) call self % create ( self % name , self % zmin , self % zmax , buda ) case ( \"buda10\" ) call self % create ( self % name , self % zmin , self % zmax , buda10 ) case ( \"buda100\" ) call self % create ( self % name , self % zmin , self % zmax , buda100 ) case ( \"buda25\" ) call self % create ( self % name , self % zmin , self % zmax , buda25 ) case ( \"buda50\" ) call self % create ( self % name , self % zmin , self % zmax , buda50 ) case ( \"budaS\" ) call self % create ( self % name , self % zmin , self % zmax , budaS ) case ( \"bukavu\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu ) case ( \"bukavu10\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu10 ) case ( \"bukavu100\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu100 ) case ( \"bukavu25\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu25 ) case ( \"bukavu50\" ) call self % create ( self % name , self % zmin , self % zmax , bukavu50 ) case ( \"cork\" ) call self % create ( self % name , self % zmin , self % zmax , cork ) case ( \"cork10\" ) call self % create ( self % name , self % zmin , self % zmax , cork10 ) case ( \"cork100\" ) call self % create ( self % name , self % zmin , self % zmax , cork100 ) case ( \"cork25\" ) call self % create ( self % name , self % zmin , self % zmax , cork25 ) case ( \"cork50\" ) call self % create ( self % name , self % zmin , self % zmax , cork50 ) case ( \"corkO\" ) call self % create ( self % name , self % zmin , self % zmax , corkO ) case ( \"corkO10\" ) call self % create ( self % name , self % zmin , self % zmax , corkO10 ) case ( \"corkO100\" ) call self % create ( self % name , self % zmin , self % zmax , corkO100 ) case ( \"corkO25\" ) call self % create ( self % name , self % zmin , self % zmax , corkO25 ) case ( \"corkO50\" ) call self % create ( self % name , self % zmin , self % zmax , corkO50 ) case ( \"davos\" ) call self % create ( self % name , self % zmin , self % zmax , davos ) case ( \"davos10\" ) call self % create ( self % name , self % zmin , self % zmax , davos10 ) case ( \"davos100\" ) call self % create ( self % name , self % zmin , self % zmax , davos100 ) case ( \"davos25\" ) call self % create ( self % name , self % zmin , self % zmax , davos25 ) case ( \"davos50\" ) call self % create ( self % name , self % zmin , self % zmax , davos50 ) case ( \"davosS\" ) call self % create ( self % name , self % zmin , self % zmax , davosS ) case ( \"devon\" ) call self % create ( self % name , self % zmin , self % zmax , devon ) case ( \"devon10\" ) call self % create ( self % name , self % zmin , self % zmax , devon10 ) case ( \"devon100\" ) call self % create ( self % name , self % zmin , self % zmax , devon100 ) case ( \"devon25\" ) call self % create ( self % name , self % zmin , self % zmax , devon25 ) case ( \"devon50\" ) call self % create ( self % name , self % zmin , self % zmax , devon50 ) case ( \"devonS\" ) call self % create ( self % name , self % zmin , self % zmax , devonS ) case ( \"fes\" ) call self % create ( self % name , self % zmin , self % zmax , fes ) case ( \"fes10\" ) call self % create ( self % name , self % zmin , self % zmax , fes10 ) case ( \"fes100\" ) call self % create ( self % name , self % zmin , self % zmax , fes100 ) case ( \"fes25\" ) call self % create ( self % name , self % zmin , self % zmax , fes25 ) case ( \"fes50\" ) call self % create ( self % name , self % zmin , self % zmax , fes50 ) case ( \"glasgow\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow ) case ( \"glasgow10\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow10 ) case ( \"glasgow100\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow100 ) case ( \"glasgow25\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow25 ) case ( \"glasgow50\" ) call self % create ( self % name , self % zmin , self % zmax , glasgow50 ) case ( \"glasgowS\" ) call self % create ( self % name , self % zmin , self % zmax , glasgowS ) case ( \"grayC\" ) call self % create ( self % name , self % zmin , self % zmax , grayC ) case ( \"grayC10\" ) call self % create ( self % name , self % zmin , self % zmax , grayC10 ) case ( \"grayC100\" ) call self % create ( self % name , self % zmin , self % zmax , grayC100 ) case ( \"grayC25\" ) call self % create ( self % name , self % zmin , self % zmax , grayC25 ) case ( \"grayC50\" ) call self % create ( self % name , self % zmin , self % zmax , grayC50 ) case ( \"grayCS\" ) call self % create ( self % name , self % zmin , self % zmax , grayCS ) case ( \"hawaii\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii ) case ( \"hawaii10\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii10 ) case ( \"hawaii100\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii100 ) case ( \"hawaii25\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii25 ) case ( \"hawaii50\" ) call self % create ( self % name , self % zmin , self % zmax , hawaii50 ) case ( \"hawaiiS\" ) call self % create ( self % name , self % zmin , self % zmax , hawaiiS ) case ( \"imola\" ) call self % create ( self % name , self % zmin , self % zmax , imola ) case ( \"imola10\" ) call self % create ( self % name , self % zmin , self % zmax , imola10 ) case ( \"imola100\" ) call self % create ( self % name , self % zmin , self % zmax , imola100 ) case ( \"imola25\" ) call self % create ( self % name , self % zmin , self % zmax , imola25 ) case ( \"imola50\" ) call self % create ( self % name , self % zmin , self % zmax , imola50 ) case ( \"imolaS\" ) call self % create ( self % name , self % zmin , self % zmax , imolaS ) case ( \"lajolla\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla ) case ( \"lajolla10\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla10 ) case ( \"lajolla100\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla100 ) case ( \"lajolla25\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla25 ) case ( \"lajolla50\" ) call self % create ( self % name , self % zmin , self % zmax , lajolla50 ) case ( \"lajollaS\" ) call self % create ( self % name , self % zmin , self % zmax , lajollaS ) case ( \"lapaz\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz ) case ( \"lapaz10\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz10 ) case ( \"lapaz100\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz100 ) case ( \"lapaz25\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz25 ) case ( \"lapaz50\" ) call self % create ( self % name , self % zmin , self % zmax , lapaz50 ) case ( \"lapazS\" ) call self % create ( self % name , self % zmin , self % zmax , lapazS ) case ( \"lipari\" ) call self % create ( self % name , self % zmin , self % zmax , lipari ) case ( \"lipari10\" ) call self % create ( self % name , self % zmin , self % zmax , lipari10 ) case ( \"lipari100\" ) call self % create ( self % name , self % zmin , self % zmax , lipari100 ) case ( \"lipari25\" ) call self % create ( self % name , self % zmin , self % zmax , lipari25 ) case ( \"lipari50\" ) call self % create ( self % name , self % zmin , self % zmax , lipari50 ) case ( \"lipariS\" ) call self % create ( self % name , self % zmin , self % zmax , lipariS ) case ( \"lisbon\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon ) case ( \"lisbon10\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon10 ) case ( \"lisbon100\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon100 ) case ( \"lisbon25\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon25 ) case ( \"lisbon50\" ) call self % create ( self % name , self % zmin , self % zmax , lisbon50 ) case ( \"managua\" ) call self % create ( self % name , self % zmin , self % zmax , managua ) case ( \"managua10\" ) call self % create ( self % name , self % zmin , self % zmax , managua10 ) case ( \"managua100\" ) call self % create ( self % name , self % zmin , self % zmax , managua100 ) case ( \"managua25\" ) call self % create ( self % name , self % zmin , self % zmax , managua25 ) case ( \"managua50\" ) call self % create ( self % name , self % zmin , self % zmax , managua50 ) case ( \"navia\" ) call self % create ( self % name , self % zmin , self % zmax , navia ) case ( \"navia10\" ) call self % create ( self % name , self % zmin , self % zmax , navia10 ) case ( \"navia100\" ) call self % create ( self % name , self % zmin , self % zmax , navia100 ) case ( \"navia25\" ) call self % create ( self % name , self % zmin , self % zmax , navia25 ) case ( \"navia50\" ) call self % create ( self % name , self % zmin , self % zmax , navia50 ) case ( \"naviaS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaS ) case ( \"naviaW\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW ) case ( \"naviaW10\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW10 ) case ( \"naviaW100\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW100 ) case ( \"naviaW25\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW25 ) case ( \"naviaW50\" ) call self % create ( self % name , self % zmin , self % zmax , naviaW50 ) case ( \"naviaWS\" ) call self % create ( self % name , self % zmin , self % zmax , naviaWS ) case ( \"nuuk\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk ) case ( \"nuuk10\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk10 ) case ( \"nuuk100\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk100 ) case ( \"nuuk25\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk25 ) case ( \"nuuk50\" ) call self % create ( self % name , self % zmin , self % zmax , nuuk50 ) case ( \"nuukS\" ) call self % create ( self % name , self % zmin , self % zmax , nuukS ) case ( \"oleron\" ) call self % create ( self % name , self % zmin , self % zmax , oleron ) case ( \"oleron10\" ) call self % create ( self % name , self % zmin , self % zmax , oleron10 ) case ( \"oleron100\" ) call self % create ( self % name , self % zmin , self % zmax , oleron100 ) case ( \"oleron25\" ) call self % create ( self % name , self % zmin , self % zmax , oleron25 ) case ( \"oleron50\" ) call self % create ( self % name , self % zmin , self % zmax , oleron50 ) case ( \"oslo\" ) call self % create ( self % name , self % zmin , self % zmax , oslo ) case ( \"oslo10\" ) call self % create ( self % name , self % zmin , self % zmax , oslo10 ) case ( \"oslo100\" ) call self % create ( self % name , self % zmin , self % zmax , oslo100 ) case ( \"oslo25\" ) call self % create ( self % name , self % zmin , self % zmax , oslo25 ) case ( \"oslo50\" ) call self % create ( self % name , self % zmin , self % zmax , oslo50 ) case ( \"osloS\" ) call self % create ( self % name , self % zmin , self % zmax , osloS ) case ( \"roma\" ) call self % create ( self % name , self % zmin , self % zmax , roma ) case ( \"roma10\" ) call self % create ( self % name , self % zmin , self % zmax , roma10 ) case ( \"roma100\" ) call self % create ( self % name , self % zmin , self % zmax , roma100 ) case ( \"roma25\" ) call self % create ( self % name , self % zmin , self % zmax , roma25 ) case ( \"roma50\" ) call self % create ( self % name , self % zmin , self % zmax , roma50 ) case ( \"romaO\" ) call self % create ( self % name , self % zmin , self % zmax , romaO ) case ( \"romaO10\" ) call self % create ( self % name , self % zmin , self % zmax , romaO10 ) case ( \"romaO100\" ) call self % create ( self % name , self % zmin , self % zmax , romaO100 ) case ( \"romaO25\" ) call self % create ( self % name , self % zmin , self % zmax , romaO25 ) case ( \"romaO50\" ) call self % create ( self % name , self % zmin , self % zmax , romaO50 ) case ( \"tofino\" ) call self % create ( self % name , self % zmin , self % zmax , tofino ) case ( \"tofino10\" ) call self % create ( self % name , self % zmin , self % zmax , tofino10 ) case ( \"tofino100\" ) call self % create ( self % name , self % zmin , self % zmax , tofino100 ) case ( \"tofino25\" ) call self % create ( self % name , self % zmin , self % zmax , tofino25 ) case ( \"tofino50\" ) call self % create ( self % name , self % zmin , self % zmax , tofino50 ) case ( \"tokyo\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo ) case ( \"tokyo10\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo10 ) case ( \"tokyo100\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo100 ) case ( \"tokyo25\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo25 ) case ( \"tokyo50\" ) call self % create ( self % name , self % zmin , self % zmax , tokyo50 ) case ( \"tokyoS\" ) call self % create ( self % name , self % zmin , self % zmax , tokyoS ) case ( \"turku\" ) call self % create ( self % name , self % zmin , self % zmax , turku ) case ( \"turku10\" ) call self % create ( self % name , self % zmin , self % zmax , turku10 ) case ( \"turku100\" ) call self % create ( self % name , self % zmin , self % zmax , turku100 ) case ( \"turku25\" ) call self % create ( self % name , self % zmin , self % zmax , turku25 ) case ( \"turku50\" ) call self % create ( self % name , self % zmin , self % zmax , turku50 ) case ( \"turkuS\" ) call self % create ( self % name , self % zmin , self % zmax , turkuS ) case ( \"vanimo\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo ) case ( \"vanimo10\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo10 ) case ( \"vanimo100\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo100 ) case ( \"vanimo25\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo25 ) case ( \"vanimo50\" ) call self % create ( self % name , self % zmin , self % zmax , vanimo50 ) case ( \"vik\" ) call self % create ( self % name , self % zmin , self % zmax , vik ) case ( \"vik10\" ) call self % create ( self % name , self % zmin , self % zmax , vik10 ) case ( \"vik100\" ) call self % create ( self % name , self % zmin , self % zmax , vik100 ) case ( \"vik25\" ) call self % create ( self % name , self % zmin , self % zmax , vik25 ) case ( \"vik50\" ) call self % create ( self % name , self % zmin , self % zmax , vik50 ) case ( \"vikO\" ) call self % create ( self % name , self % zmin , self % zmax , vikO ) case ( \"vikO10\" ) call self % create ( self % name , self % zmin , self % zmax , vikO10 ) case ( \"vikO100\" ) call self % create ( self % name , self % zmin , self % zmax , vikO100 ) case ( \"vikO25\" ) call self % create ( self % name , self % zmin , self % zmax , vikO25 ) case ( \"vikO50\" ) call self % create ( self % name , self % zmin , self % zmax , vikO50 ) ! Matplotlib colormaps collection case ( \"magma\" ) call self % create ( self % name , self % zmin , self % zmax , magma ) case ( \"inferno\" ) call self % create ( self % name , self % zmin , self % zmax , inferno ) case ( \"plasma\" ) call self % create ( self % name , self % zmin , self % zmax , plasma ) case ( \"viridis\" ) call self % create ( self % name , self % zmin , self % zmax , viridis ) ! case ( \"black_body\" ) call self % create ( self % name , self % zmin , self % zmax , black_body ) case default self % name = \"grayC\" call self % create ( self % name , self % zmin , self % zmax , grayC ) end select ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine set ! You can create a custom colormap: pure subroutine create ( self , name , zmin , zmax , map , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax logical , intent ( in ), optional :: reverse integer , dimension (:, :), intent ( in ) :: map integer :: last self % name = trim ( name ) self % levels = size ( map (:, 1 )) last = self % levels - 1 self % zmin = zmin self % zmax = zmax call self % check ( check_zmin = . true ., check_zmax = . true ., check_levels = . true .) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if ! The second dimension is for RGB: 1=Red, 2=Green, 3=Blue allocate ( self % map ( 0 : last , 1 : 3 )) self % map = map ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine ! You can create a custom colormap: pure subroutine create_lagrange ( self , name , zmin , zmax , colors , levels , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , dimension (:, :), intent ( in ) :: colors integer , intent ( in ) :: levels logical , intent ( in ), optional :: reverse integer :: last self % name = trim ( name ) self % levels = levels last = self % levels - 1 self % zmin = zmin self % zmax = zmax call self % check ( check_zmin = . true ., check_zmax = . true ., check_levels = . true .) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if ! The second dimension is for RGB: 1=Red, 2=Green, 3=Blue allocate ( self % map ( 0 : last , 1 : 3 )) self % map = lagrange ( colors , self % levels ) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine ! You can create a custom colormap: pure subroutine create_bezier ( self , name , zmin , zmax , colors , levels , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: name real ( wp ), intent ( in ) :: zmin , zmax integer , dimension (:, :), intent ( in ) :: colors integer , intent ( in ) :: levels logical , intent ( in ), optional :: reverse integer :: last self % name = trim ( name ) self % levels = levels last = self % levels - 1 self % zmin = zmin self % zmax = zmax call self % check ( check_zmin = . true ., check_zmax = . true ., check_levels = . true .) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if ! The second dimension is for RGB: 1=Red, 2=Green, 3=Blue allocate ( self % map ( 0 : last , 1 : 3 )) self % map = bezier ( colors , self % levels ) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine ! Load a .txt colormap with RGB integers separated by spaces on each line. ! Remark: if no path is indicated in filename, the .txt must be present ! at the root of the fpm project of the user. impure subroutine load ( self , filename , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename real ( wp ), intent ( in ) :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: i , n integer :: red , green , blue logical :: file_found integer :: file_unit , ios inquire ( file = filename , exist = file_found ) if ( file_found ) then ! We first count the number of lines (RGB triplets): n = 0 open ( newunit = file_unit , file = filename ) do read ( file_unit , '(3I3)' , iostat = ios ) red , green , blue if ( ios /= 0 ) exit n = n + 1 end do close ( file_unit ) ! Is the colormap reseted? if ( allocated ( self % map )) then deallocate ( self % map ) end if allocate ( self % map ( 0 : n - 1 , 1 : 3 )) ! Then we read them and put them in the map: open ( newunit = file_unit , file = filename ) do i = 0 , n - 1 read ( file_unit , * , iostat = ios ) red , green , blue self % map ( i , 1 : 3 ) = [ red , green , blue ] ! Should not happen: if ( ios /= 0 ) exit end do close ( file_unit ) self % name = trim ( filename ) self % zmin = zmin self % zmax = zmax self % levels = n call self % check ( check_zmin = . true ., check_zmax = . true .) ! Reverse the colormap if requested if ( present ( reverse )) then if ( reverse ) call self % reverse () end if else stop \"ERROR: COLORMAP FILE NOT FOUND!\" end if end subroutine load ! Most of the time you will just give z to obtain RGB values: pure subroutine compute_RGB ( self , z , red , green , blue ) class ( Colormap ), intent ( inout ) :: self real ( wp ), intent ( in ) :: z integer , intent ( out ) :: red , green , blue integer :: level real ( wp ) :: zc ! z after correction ! If ever z is not in [zmin, zmax], this will be fixed by: zc = min ( max ( z , self % zmin ), self % zmax ) ! Passing from the real scale to the integer scale ! (will also work for discrete colormaps) ! zmin .........zc...................zmax ! ^ ^ ^ ! |0|1|....|level|...........|last|levels level = int (( zc - self % zmin ) / ( self % zmax - self % zmin ) * self % levels ) ! To avoid being out of range: level = min ( max ( level , 0 ), self % levels - 1 ) call get_RGB ( self , level , red , green , blue ) end subroutine ! But you can also obtain RGB by giving directly a level number: pure subroutine get_RGB ( self , level , red , green , blue ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: level integer , intent ( out ) :: red , green , blue red = self % map ( level , 1 ) green = self % map ( level , 2 ) blue = self % map ( level , 3 ) end subroutine pure function get_name ( self ) result ( name ) class ( Colormap ), intent ( in ) :: self character ( colormap_name_length ) :: name name = self % name end function pure function get_levels ( self ) result ( levels ) class ( Colormap ), intent ( in ) :: self integer :: levels levels = self % levels end function pure function get_zmin ( self ) result ( zmin ) class ( Colormap ), intent ( in ) :: self real ( wp ) :: zmin zmin = self % zmin end function pure function get_zmax ( self ) result ( zmax ) class ( Colormap ), intent ( in ) :: self real ( wp ) :: zmax zmax = self % zmax end function ! Useful for testing and debugging: impure subroutine print ( self ) class ( Colormap ), intent ( inout ) :: self integer :: i print '(a,a)' , \"Name of the colormap: \" , self % name print '(a,g0)' , \"zmin: \" , self % zmin print '(a,g0)' , \"zmax: \" , self % zmax print '(a,g0)' , \"Number of levels: \" , self % levels do i = 0 , self % levels - 1 print '(I3,2x,I3,2x,I3)' , self % map ( i , 1 ), self % map ( i , 2 ), self % map ( i , 3 ) end do end subroutine impure subroutine write_ppm_colorbar ( self , filename , width , height , encoding ) use forimage , only : format_pnm class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ) :: filename integer :: i , j ! Pixbuffer coordinates integer , intent ( in ), optional :: width , height integer :: pixwidth , pixheight integer , dimension (:,:), allocatable :: rgb_image integer :: red , green , blue real ( wp ) :: z type ( format_pnm ) :: ppm character ( * ), intent ( in ), optional :: encoding if ( present ( width )) then pixwidth = width else pixwidth = 600 end if if ( present ( height )) then pixheight = height else pixheight = 50 end if allocate ( rgb_image ( pixheight , pixwidth * 3 )) do i = 0 , pixwidth - 1 do j = 0 , pixheight - 1 z = self % get_zmin () + i / real ( pixwidth - 1 , kind = wp ) * ( self % get_zmax () - self % get_zmin ()) call self % compute_RGB ( z , red , green , blue ) rgb_image ( pixheight - j , 3 * ( i + 1 ) - 2 ) = red rgb_image ( pixheight - j , 3 * ( i + 1 ) - 1 ) = green rgb_image ( pixheight - j , 3 * ( i + 1 )) = blue end do end do if ( present ( encoding )) then call ppm % set_format ( encoding ) else call ppm % set_format ( 'binary' ) end if call ppm % set_pnm ( encoding = ppm % get_format (),& file_format = 'ppm' ,& width = pixwidth ,& height = pixheight ,& max_color = 255 ,& comment = 'comment' ,& pixels = rgb_image ) call ppm % export_pnm ( filename ) end subroutine write_ppm_colorbar ! Reverse the colormap pure subroutine reverse ( self , name ) class ( Colormap ), intent ( inout ) :: self character ( * ), intent ( in ), optional :: name self % map (:,:) = self % map ( size ( self % map , 1 ) - 1 : 0 : - 1 , :) if ( present ( name )) then self % name = trim ( name ) else self % name = trim ( self % name ) // '_reverse' end if end subroutine reverse !> Apply a circular shift to the colormap (left is +, right is -) pure subroutine shift ( self , sh ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: sh !! The shift self % map (:,:) = cshift ( self % map (:,:), sh ) end subroutine shift ! Normalize the input real array to the range [0, 1] pure function scale_real_real ( real_array , a , b ) result ( real_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array real ( wp ), intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: real_scaled_array real ( wp ) :: minValue , maxValue real ( wp ), parameter :: tolerance = 1.0e-12_wp ! Find minimum and maximum values in the input real array minValue = minval ( real_array ) maxValue = maxval ( real_array ) if ( abs ( maxValue - minValue ) < tolerance ) then real_scaled_array = b else real_scaled_array = a + ( b - a ) * ( real_array - minValue ) / ( maxValue - minValue ) end if end function scale_real_real ! Scale the input real array to the integer RGB range [a, b] pure function scale_real_int ( real_array , a , b ) result ( int_scaled_array ) real ( wp ), dimension (:), intent ( in ) :: real_array integer , intent ( in ) :: a , b real ( wp ), dimension ( size ( real_array )) :: normalizedArray integer , dimension ( size ( real_array )) :: int_scaled_array ! Normalize the real array elements to the range [0, 1] normalizedArray = scale_real_real ( real_array , 0.0_wp , 1.0_wp ) ! Scale the real array elements between a and b int_scaled_array = a + nint (( b - a ) * normalizedArray ) end function scale_real_int ! Extracts colors from the colormap based on specified number of levels (nl) pure subroutine extract ( self , extractedLevels , name , zmin , zmax , reverse ) class ( Colormap ), intent ( inout ) :: self integer , intent ( in ) :: extractedLevels character ( * ), intent ( in ), optional :: name real ( wp ), intent ( in ), optional :: zmin , zmax logical , intent ( in ), optional :: reverse integer :: extracted_map ( extractedLevels , 3 ) integer :: ind ( extractedLevels , 3 ) real ( wp ) :: ind_rel ( extractedLevels , 3 ), array_rel ( self % levels , 3 ), step ( 3 ), current_element ( 3 ) integer :: i integer , dimension ( self % levels , 3 ) :: array character ( 3 ) :: extractedLevels_char ! Initialize array with indices do concurrent ( i = 1 : self % levels ) array ( i ,:) = i - 1 end do ! Normalize array elements to the range [0, 1] do concurrent ( i = 1 : 3 ) array_rel (:, i ) = array (:, i ) / maxval ( array (:, i )) end do ! Check if the number of extractedLevels is valid if ( extractedLevels <= 1 . or . extractedLevels > self % levels ) then error stop \"Error: Invalid number of extractedLevels. Must be > 1 and <= levels\" end if step (:) = array_rel ( self % levels ,:) / real ( extractedLevels - 1 , kind = wp ) current_element (:) = array_rel ( 1 ,:) do i = 1 , extractedLevels ind_rel ( i ,:) = current_element current_element = current_element + step end do ! Scale interpolated indices to integers between 0 and self%levels - 1 do concurrent ( i = 1 : 3 ) ind (:, i ) = scale_real_int ( ind_rel (:, i ), 0 , self % levels - 1 ) end do ! Extract colors from the colormap based on interpolated indices do concurrent ( i = 1 : 3 ) extracted_map (:, i ) = self % map ( ind (:, i ), i ) end do ! Set colormap name if provided, otherwise use the number of levels as part of the name if ( present ( name )) then self % name = name else write ( extractedLevels_char , '(I3)' ) extractedLevels self % name = self % name // trim ( extractedLevels_char ) end if ! Set zmin and zmax if provided if ( present ( zmin )) self % zmin = zmin if ( present ( zmax )) self % zmax = zmax ! Create the extracted colormap with the specified parameters call self % create ( self % name , self % zmin , self % zmax , extracted_map ) if ( present ( reverse )) then if ( reverse ) call self % reverse () end if end subroutine extract ! Create colormap from continuous Bezier interpolation of control colors pure function bezier ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Bezier curve order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Bezier interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i ,:) = map_r ( i ,:) + real ( colors ( j + 1 ,:), wp ) * & real ( factorial ( order ), wp ) / ( real ( factorial ( j ), wp ) * real ( factorial ( order - j ), wp )) * t ** j * ( 1.0_wp - t ) ** ( order - j ) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function bezier ! Factorial function used for Bezier interpolation pure function factorial ( n ) result ( result ) integer , intent ( in ) :: n integer :: result , i result = 1 do concurrent ( i = 2 : n ) result = result * i end do end function factorial ! Create colormap from Lagrange interpolation of control colors pure function lagrange ( colors , levels ) result ( map ) integer , dimension (:,:), intent ( in ) :: colors integer , intent ( in ), optional :: levels integer , dimension (:,:), allocatable :: map real ( wp ), dimension (:,:), allocatable :: map_r integer :: order , i , j , levels_ real ( wp ) :: t ! Set default value for levels if ( present ( levels )) then levels_ = levels else levels_ = 256 end if ! Order of the Lagrange interpolation. order = size ( colors , 1 ) - 1 if ( order < 1 ) error stop \"Error: At least two control colors are required for Lagrange interpolation.\" allocate ( map_r ( levels_ , 3 ), map ( levels_ , 3 )) ! 3 for RGB do i = 1 , levels_ t = real ( i - 1 , wp ) / real ( levels_ - 1 , wp ) map_r ( i ,:) = 0.0_wp do j = 0 , order map_r ( i , 1 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 1 ), wp )) map_r ( i , 2 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 2 ), wp )) map_r ( i , 3 ) = dot_product ( lagrange_poly ( t , order + 1 ), real ( colors (:, 3 ), wp )) end do map ( i , 1 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 1 )))) map ( i , 2 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 2 )))) map ( i , 3 ) = min ( 255 , max ( 0 , nint ( map_r ( i , 3 )))) end do end function lagrange ! Lagrange polynomial pure function lagrange_poly ( t , n ) result ( B ) real ( wp ), intent ( in ) :: t integer , intent ( in ) :: n !! order + 1 real ( wp ), allocatable :: B (:) integer :: i , l real ( wp ), dimension (:), allocatable :: Xth ! Create an array of n equidistant points between 0 and 1 allocate ( Xth ( n ), source = 0.0_wp ) do i = 1 , n - 1 Xth ( i ) = 0.0_wp + real ( i - 1 , wp ) * ( 1.0_wp - ( 0.0_wp )) / real ( n - 1 , wp ) end do Xth ( n ) = 1.0_wp allocate ( B ( n ), source = 1.0_wp ) l = 0 i = 0 do i = 1 , n do l = 1 , n if ( l /= i ) then if ( abs ( Xth ( i ) - Xth ( l )) >= tiny ( 0.0_wp )) then B ( i ) = B ( i ) * ( t - Xth ( l )) / ( Xth ( i ) - Xth ( l )) end if end if end do end do end function lagrange_poly ! Check validity of the colormap and fix it if necessary pure subroutine check ( self , check_name , check_zmin , check_zmax , check_levels ) use forcolormap_info , only : Colormaps_info class ( Colormap ), intent ( inout ) :: self logical , dimension ( 4 ) :: status logical , intent ( in ), optional :: check_name , check_zmin , check_zmax , check_levels real ( wp ) :: temp type ( Colormaps_info ) :: cmap_info integer :: input_levels , i , levels real ( wp ) :: input_zmin , input_zmax character (:), allocatable :: input_name interface pure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) import wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels end subroutine error end interface ! Save input parameters for error message input_levels = self % levels input_zmin = self % zmin input_zmax = self % zmax input_name = self % name ! Initialize status array status = . true . call cmap_info % set_all () if ( present ( check_name )) then if ( check_name ) then ! Check if the colormap is valid if (. not . any ( self % name == colormaps_list )) status ( 1 ) = . false . ! Fix the colormap if it is not valid if ( status ( 1 ) . eqv . . false .) self % name = \"grayC\" ! Find the number of levels of the colormap do i = 1 , cmap_info % get_ncolormaps () if ( self % name == trim ( cmap_info % get_name ( i ))) then levels = cmap_info % get_levels ( i ) exit end if end do ! Check if the number of levels is valid if ( levels /= self % levels . or . self % levels < 1 ) then if ( self % levels /= - 256 ) then if ( levels /= - 1 ) then status ( 3 ) = . false . self % levels = levels end if else self % levels = 256 end if end if ! Fix the number of levels if it is not valid if ( status ( 3 ) . eqv . . false .) then self % levels = levels end if end if end if if ( present ( check_zmin )) then if ( check_zmin ) then ! Check validity of zmin and zmax if ( self % zmin > self % zmax ) status ( 2 ) = . false . ! Fix zmin and zmax if they are not valid if ( status ( 2 ) . eqv . . false .) then temp = self % zmin self % zmin = self % zmax self % zmax = temp end if end if end if if ( present ( check_levels )) then if ( check_levels ) then ! Check if the number of levels is valid if ( self % levels < 1 ) then status ( 4 ) = . false . self % levels = 256 end if end if end if ! Call error subroutine if any status is false if ( any ( status . eqv . . false .))& call error ( status , input_name , input_zmin , input_zmax , input_levels ) end subroutine check end module forcolormap impure subroutine error ( status , input_name , input_zmin , input_zmax , input_levels ) use colormap_parameters , only : wp logical , dimension (:), intent ( in ) :: status character ( * ), intent ( in ) :: input_name real ( wp ), intent ( in ) :: input_zmin , input_zmax integer , intent ( in ) :: input_levels integer :: i do i = 1 , size ( status ) if (. not . status ( i )) then select case ( i ) case ( 1 ) print '(a,a,a)' ,& \"Error 1: Colormap name '\" // trim ( input_name ) // \"' not found! 'grayC' is set by default.\" case ( 2 ) print '(a,f6.4,a,f6.4,a)' ,& \"Error 2: Min value (zmin=\" , input_zmin , \") exceeds Max value (zmax=\" , input_zmax , \")! zmin and zmax are swapped.\" case ( 3 ) print '(a,g0,a)' ,& \"Error 3: Number of Levels (levels=\" , input_levels , \") doesn't match colormap! Levels adjusted to colormap.\" case ( 4 ) print '(a,g0,a)' ,& \"Error 4: Number of Levels (levels=\" , input_levels , \") is less than 1! Levels adjusted to 256.\" case default print '(a)' , \"Unknown error!\" end select end if end do end subroutine error","tags":"","loc":"sourcefile/colormap_class.f90.html"},{"title":"matplotlib_colormaps.f90 – ForColormap","text":"This file depends on sourcefile~~matplotlib_colormaps.f90~~EfferentGraph sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_parameters.f90 colormap_parameters.f90 sourcefile~matplotlib_colormaps.f90->sourcefile~colormap_parameters.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Files dependent on this one sourcefile~~matplotlib_colormaps.f90~~AfferentGraph sourcefile~matplotlib_colormaps.f90 matplotlib_colormaps.f90 sourcefile~colormap_class.f90 colormap_class.f90 sourcefile~colormap_class.f90->sourcefile~matplotlib_colormaps.f90 sourcefile~create.f90 create.f90 sourcefile~create.f90->sourcefile~colormap_class.f90 sourcefile~demo.f90 demo.f90 sourcefile~demo.f90->sourcefile~colormap_class.f90 sourcefile~demo_reverse.f90 demo_reverse.f90 sourcefile~demo_reverse.f90->sourcefile~colormap_class.f90 sourcefile~example1.f90 example1.f90 sourcefile~example1.f90->sourcefile~colormap_class.f90 sourcefile~extract.f90 extract.f90 sourcefile~extract.f90->sourcefile~colormap_class.f90 sourcefile~modify.f90 modify.f90 sourcefile~modify.f90->sourcefile~colormap_class.f90 Help Graph Key Nodes of different colours represent the following: Graph Key Source File Source File This Page's Entity This Page's Entity Solid arrows point from a file to a file which it depends on. A file\nis dependent upon another if the latter must be compiled before the former\ncan be. Where possible, edges connecting nodes are\ngiven different colours to make them easier to distinguish in\nlarge graphs. Source Code ! The MIT License (MIT) ! ! Copyright (c) 2023, AliG (gha3mi) for the Fortran translation ! ! New matplotlib colormaps by Nathaniel J. Smith, Stefan van der Walt, ! and (in the case of viridis) Eric Firing, released under ! the CC0 license / public domain dedication. ! See http://creativecommons.org/publicdomain/zero/1.0/ ! and https://github.com/BIDS/colormap/blob/master/colormaps.py ! ! Permission is hereby granted, free of charge, to any person obtaining a copy ! of this software and associated documentation files (the \"Software\"), to deal ! in the Software without restriction, including without limitation the rights ! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ! copies of the Software, and to permit persons to whom the Software is ! furnished to do so, subject to the following conditions: ! ! The above copyright notice and this permission notice shall be included in all ! copies or substantial portions of the Software. ! ! THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ! SOFTWARE. !------------------------------------------------------------------------------- ! Contributed by gha3mi: 2023-10-30 ! Last modification: gha3mi 2023-10-30 !------------------------------------------------------------------------------- module matplotlib_colormaps use colormap_parameters , only : colormap_name_length implicit none private character ( * ), dimension ( * ), parameter , public :: matplotlib_colormaps_list = & [ character ( colormap_name_length ) :: & \"magma\" , \"inferno\" , \"plasma\" , \"viridis\" ] integer , dimension ( 0 : 255 , 1 : 3 ), public :: magma = reshape ( [ & 0 , 0 , 4 ,& 1 , 0 , 5 ,& 1 , 1 , 6 ,& 1 , 1 , 8 ,& 2 , 1 , 9 ,& 2 , 2 , 11 ,& 2 , 2 , 13 ,& 3 , 3 , 15 ,& 3 , 3 , 18 ,& 4 , 4 , 20 ,& 5 , 4 , 22 ,& 6 , 5 , 24 ,& 6 , 5 , 26 ,& 7 , 6 , 28 ,& 8 , 7 , 30 ,& 9 , 7 , 32 ,& 10 , 8 , 34 ,& 11 , 9 , 36 ,& 12 , 9 , 38 ,& 13 , 10 , 41 ,& 14 , 11 , 43 ,& 16 , 11 , 45 ,& 17 , 12 , 47 ,& 18 , 13 , 49 ,& 19 , 13 , 52 ,& 20 , 14 , 54 ,& 21 , 14 , 56 ,& 22 , 15 , 59 ,& 24 , 15 , 61 ,& 25 , 16 , 63 ,& 26 , 16 , 66 ,& 28 , 16 , 68 ,& 29 , 17 , 71 ,& 30 , 17 , 73 ,& 32 , 17 , 75 ,& 33 , 17 , 78 ,& 34 , 17 , 80 ,& 36 , 18 , 83 ,& 37 , 18 , 85 ,& 39 , 18 , 88 ,& 41 , 17 , 90 ,& 42 , 17 , 92 ,& 44 , 17 , 95 ,& 45 , 17 , 97 ,& 47 , 17 , 99 ,& 49 , 17 , 101 ,& 51 , 16 , 103 ,& 52 , 16 , 105 ,& 54 , 16 , 107 ,& 56 , 16 , 108 ,& 57 , 15 , 110 ,& 59 , 15 , 112 ,& 61 , 15 , 113 ,& 63 , 15 , 114 ,& 64 , 15 , 116 ,& 66 , 15 , 117 ,& 68 , 15 , 118 ,& 69 , 16 , 119 ,& 71 , 16 , 120 ,& 73 , 16 , 120 ,& 74 , 16 , 121 ,& 76 , 17 , 122 ,& 78 , 17 , 123 ,& 79 , 18 , 123 ,& 81 , 18 , 124 ,& 82 , 19 , 124 ,& 84 , 19 , 125 ,& 86 , 20 , 125 ,& 87 , 21 , 126 ,& 89 , 21 , 126 ,& 90 , 22 , 126 ,& 92 , 22 , 127 ,& 93 , 23 , 127 ,& 95 , 24 , 127 ,& 96 , 24 , 128 ,& 98 , 25 , 128 ,& 100 , 26 , 128 ,& 101 , 26 , 128 ,& 103 , 27 , 128 ,& 104 , 28 , 129 ,& 106 , 28 , 129 ,& 107 , 29 , 129 ,& 109 , 29 , 129 ,& 110 , 30 , 129 ,& 112 , 31 , 129 ,& 114 , 31 , 129 ,& 115 , 32 , 129 ,& 117 , 33 , 129 ,& 118 , 33 , 129 ,& 120 , 34 , 129 ,& 121 , 34 , 130 ,& 123 , 35 , 130 ,& 124 , 35 , 130 ,& 126 , 36 , 130 ,& 128 , 37 , 130 ,& 129 , 37 , 129 ,& 131 , 38 , 129 ,& 132 , 38 , 129 ,& 134 , 39 , 129 ,& 136 , 39 , 129 ,& 137 , 40 , 129 ,& 139 , 41 , 129 ,& 140 , 41 , 129 ,& 142 , 42 , 129 ,& 144 , 42 , 129 ,& 145 , 43 , 129 ,& 147 , 43 , 128 ,& 148 , 44 , 128 ,& 150 , 44 , 128 ,& 152 , 45 , 128 ,& 153 , 45 , 128 ,& 155 , 46 , 127 ,& 156 , 46 , 127 ,& 158 , 47 , 127 ,& 160 , 47 , 127 ,& 161 , 48 , 126 ,& 163 , 48 , 126 ,& 165 , 49 , 126 ,& 166 , 49 , 125 ,& 168 , 50 , 125 ,& 170 , 51 , 125 ,& 171 , 51 , 124 ,& 173 , 52 , 124 ,& 174 , 52 , 123 ,& 176 , 53 , 123 ,& 178 , 53 , 123 ,& 179 , 54 , 122 ,& 181 , 54 , 122 ,& 183 , 55 , 121 ,& 184 , 55 , 121 ,& 186 , 56 , 120 ,& 188 , 57 , 120 ,& 189 , 57 , 119 ,& 191 , 58 , 119 ,& 192 , 58 , 118 ,& 194 , 59 , 117 ,& 196 , 60 , 117 ,& 197 , 60 , 116 ,& 199 , 61 , 115 ,& 200 , 62 , 115 ,& 202 , 62 , 114 ,& 204 , 63 , 113 ,& 205 , 64 , 113 ,& 207 , 64 , 112 ,& 208 , 65 , 111 ,& 210 , 66 , 111 ,& 211 , 67 , 110 ,& 213 , 68 , 109 ,& 214 , 69 , 108 ,& 216 , 69 , 108 ,& 217 , 70 , 107 ,& 219 , 71 , 106 ,& 220 , 72 , 105 ,& 222 , 73 , 104 ,& 223 , 74 , 104 ,& 224 , 76 , 103 ,& 226 , 77 , 102 ,& 227 , 78 , 101 ,& 228 , 79 , 100 ,& 229 , 80 , 100 ,& 231 , 82 , 99 ,& 232 , 83 , 98 ,& 233 , 84 , 98 ,& 234 , 86 , 97 ,& 235 , 87 , 96 ,& 236 , 88 , 96 ,& 237 , 90 , 95 ,& 238 , 91 , 94 ,& 239 , 93 , 94 ,& 240 , 95 , 94 ,& 241 , 96 , 93 ,& 242 , 98 , 93 ,& 242 , 100 , 92 ,& 243 , 101 , 92 ,& 244 , 103 , 92 ,& 244 , 105 , 92 ,& 245 , 107 , 92 ,& 246 , 108 , 92 ,& 246 , 110 , 92 ,& 247 , 112 , 92 ,& 247 , 114 , 92 ,& 248 , 116 , 92 ,& 248 , 118 , 92 ,& 249 , 120 , 93 ,& 249 , 121 , 93 ,& 249 , 123 , 93 ,& 250 , 125 , 94 ,& 250 , 127 , 94 ,& 250 , 129 , 95 ,& 251 , 131 , 95 ,& 251 , 133 , 96 ,& 251 , 135 , 97 ,& 252 , 137 , 97 ,& 252 , 138 , 98 ,& 252 , 140 , 99 ,& 252 , 142 , 100 ,& 252 , 144 , 101 ,& 253 , 146 , 102 ,& 253 , 148 , 103 ,& 253 , 150 , 104 ,& 253 , 152 , 105 ,& 253 , 154 , 106 ,& 253 , 155 , 107 ,& 254 , 157 , 108 ,& 254 , 159 , 109 ,& 254 , 161 , 110 ,& 254 , 163 , 111 ,& 254 , 165 , 113 ,& 254 , 167 , 114 ,& 254 , 169 , 115 ,& 254 , 170 , 116 ,& 254 , 172 , 118 ,& 254 , 174 , 119 ,& 254 , 176 , 120 ,& 254 , 178 , 122 ,& 254 , 180 , 123 ,& 254 , 182 , 124 ,& 254 , 183 , 126 ,& 254 , 185 , 127 ,& 254 , 187 , 129 ,& 254 , 189 , 130 ,& 254 , 191 , 132 ,& 254 , 193 , 133 ,& 254 , 194 , 135 ,& 254 , 196 , 136 ,& 254 , 198 , 138 ,& 254 , 200 , 140 ,& 254 , 202 , 141 ,& 254 , 204 , 143 ,& 254 , 205 , 144 ,& 254 , 207 , 146 ,& 254 , 209 , 148 ,& 254 , 211 , 149 ,& 254 , 213 , 151 ,& 254 , 215 , 153 ,& 254 , 216 , 154 ,& 253 , 218 , 156 ,& 253 , 220 , 158 ,& 253 , 222 , 160 ,& 253 , 224 , 161 ,& 253 , 226 , 163 ,& 253 , 227 , 165 ,& 253 , 229 , 167 ,& 253 , 231 , 169 ,& 253 , 233 , 170 ,& 253 , 235 , 172 ,& 252 , 236 , 174 ,& 252 , 238 , 176 ,& 252 , 240 , 178 ,& 252 , 242 , 180 ,& 252 , 244 , 182 ,& 252 , 246 , 184 ,& 252 , 247 , 185 ,& 252 , 249 , 187 ,& 252 , 251 , 189 ,& 252 , 253 , 191 & ], shape ( magma ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: inferno = reshape ( [ & 0 , 0 , 4 ,& 1 , 0 , 5 ,& 1 , 1 , 6 ,& 1 , 1 , 8 ,& 2 , 1 , 10 ,& 2 , 2 , 12 ,& 2 , 2 , 14 ,& 3 , 2 , 16 ,& 4 , 3 , 18 ,& 4 , 3 , 20 ,& 5 , 4 , 23 ,& 6 , 4 , 25 ,& 7 , 5 , 27 ,& 8 , 5 , 29 ,& 9 , 6 , 31 ,& 10 , 7 , 34 ,& 11 , 7 , 36 ,& 12 , 8 , 38 ,& 13 , 8 , 41 ,& 14 , 9 , 43 ,& 16 , 9 , 45 ,& 17 , 10 , 48 ,& 18 , 10 , 50 ,& 20 , 11 , 52 ,& 21 , 11 , 55 ,& 22 , 11 , 57 ,& 24 , 12 , 60 ,& 25 , 12 , 62 ,& 27 , 12 , 65 ,& 28 , 12 , 67 ,& 30 , 12 , 69 ,& 31 , 12 , 72 ,& 33 , 12 , 74 ,& 35 , 12 , 76 ,& 36 , 12 , 79 ,& 38 , 12 , 81 ,& 40 , 11 , 83 ,& 41 , 11 , 85 ,& 43 , 11 , 87 ,& 45 , 11 , 89 ,& 47 , 10 , 91 ,& 49 , 10 , 92 ,& 50 , 10 , 94 ,& 52 , 10 , 95 ,& 54 , 9 , 97 ,& 56 , 9 , 98 ,& 57 , 9 , 99 ,& 59 , 9 , 100 ,& 61 , 9 , 101 ,& 62 , 9 , 102 ,& 64 , 10 , 103 ,& 66 , 10 , 104 ,& 68 , 10 , 104 ,& 69 , 10 , 105 ,& 71 , 11 , 106 ,& 73 , 11 , 106 ,& 74 , 12 , 107 ,& 76 , 12 , 107 ,& 77 , 13 , 108 ,& 79 , 13 , 108 ,& 81 , 14 , 108 ,& 82 , 14 , 109 ,& 84 , 15 , 109 ,& 85 , 15 , 109 ,& 87 , 16 , 110 ,& 89 , 16 , 110 ,& 90 , 17 , 110 ,& 92 , 18 , 110 ,& 93 , 18 , 110 ,& 95 , 19 , 110 ,& 97 , 19 , 110 ,& 98 , 20 , 110 ,& 100 , 21 , 110 ,& 101 , 21 , 110 ,& 103 , 22 , 110 ,& 105 , 22 , 110 ,& 106 , 23 , 110 ,& 108 , 24 , 110 ,& 109 , 24 , 110 ,& 111 , 25 , 110 ,& 113 , 25 , 110 ,& 114 , 26 , 110 ,& 116 , 26 , 110 ,& 117 , 27 , 110 ,& 119 , 28 , 109 ,& 120 , 28 , 109 ,& 122 , 29 , 109 ,& 124 , 29 , 109 ,& 125 , 30 , 109 ,& 127 , 30 , 108 ,& 128 , 31 , 108 ,& 130 , 32 , 108 ,& 132 , 32 , 107 ,& 133 , 33 , 107 ,& 135 , 33 , 107 ,& 136 , 34 , 106 ,& 138 , 34 , 106 ,& 140 , 35 , 105 ,& 141 , 35 , 105 ,& 143 , 36 , 105 ,& 144 , 37 , 104 ,& 146 , 37 , 104 ,& 147 , 38 , 103 ,& 149 , 38 , 103 ,& 151 , 39 , 102 ,& 152 , 39 , 102 ,& 154 , 40 , 101 ,& 155 , 41 , 100 ,& 157 , 41 , 100 ,& 159 , 42 , 99 ,& 160 , 42 , 99 ,& 162 , 43 , 98 ,& 163 , 44 , 97 ,& 165 , 44 , 96 ,& 166 , 45 , 96 ,& 168 , 46 , 95 ,& 169 , 46 , 94 ,& 171 , 47 , 94 ,& 173 , 48 , 93 ,& 174 , 48 , 92 ,& 176 , 49 , 91 ,& 177 , 50 , 90 ,& 179 , 50 , 90 ,& 180 , 51 , 89 ,& 182 , 52 , 88 ,& 183 , 53 , 87 ,& 185 , 53 , 86 ,& 186 , 54 , 85 ,& 188 , 55 , 84 ,& 189 , 56 , 83 ,& 191 , 57 , 82 ,& 192 , 58 , 81 ,& 193 , 58 , 80 ,& 195 , 59 , 79 ,& 196 , 60 , 78 ,& 198 , 61 , 77 ,& 199 , 62 , 76 ,& 200 , 63 , 75 ,& 202 , 64 , 74 ,& 203 , 65 , 73 ,& 204 , 66 , 72 ,& 206 , 67 , 71 ,& 207 , 68 , 70 ,& 208 , 69 , 69 ,& 210 , 70 , 68 ,& 211 , 71 , 67 ,& 212 , 72 , 66 ,& 213 , 74 , 65 ,& 215 , 75 , 63 ,& 216 , 76 , 62 ,& 217 , 77 , 61 ,& 218 , 78 , 60 ,& 219 , 80 , 59 ,& 221 , 81 , 58 ,& 222 , 82 , 56 ,& 223 , 83 , 55 ,& 224 , 85 , 54 ,& 225 , 86 , 53 ,& 226 , 87 , 52 ,& 227 , 89 , 51 ,& 228 , 90 , 49 ,& 229 , 92 , 48 ,& 230 , 93 , 47 ,& 231 , 94 , 46 ,& 232 , 96 , 45 ,& 233 , 97 , 43 ,& 234 , 99 , 42 ,& 235 , 100 , 41 ,& 235 , 102 , 40 ,& 236 , 103 , 38 ,& 237 , 105 , 37 ,& 238 , 106 , 36 ,& 239 , 108 , 35 ,& 239 , 110 , 33 ,& 240 , 111 , 32 ,& 241 , 113 , 31 ,& 241 , 115 , 29 ,& 242 , 116 , 28 ,& 243 , 118 , 27 ,& 243 , 120 , 25 ,& 244 , 121 , 24 ,& 245 , 123 , 23 ,& 245 , 125 , 21 ,& 246 , 126 , 20 ,& 246 , 128 , 19 ,& 247 , 130 , 18 ,& 247 , 132 , 16 ,& 248 , 133 , 15 ,& 248 , 135 , 14 ,& 248 , 137 , 12 ,& 249 , 139 , 11 ,& 249 , 140 , 10 ,& 249 , 142 , 9 ,& 250 , 144 , 8 ,& 250 , 146 , 7 ,& 250 , 148 , 7 ,& 251 , 150 , 6 ,& 251 , 151 , 6 ,& 251 , 153 , 6 ,& 251 , 155 , 6 ,& 251 , 157 , 7 ,& 252 , 159 , 7 ,& 252 , 161 , 8 ,& 252 , 163 , 9 ,& 252 , 165 , 10 ,& 252 , 166 , 12 ,& 252 , 168 , 13 ,& 252 , 170 , 15 ,& 252 , 172 , 17 ,& 252 , 174 , 18 ,& 252 , 176 , 20 ,& 252 , 178 , 22 ,& 252 , 180 , 24 ,& 251 , 182 , 26 ,& 251 , 184 , 29 ,& 251 , 186 , 31 ,& 251 , 188 , 33 ,& 251 , 190 , 35 ,& 250 , 192 , 38 ,& 250 , 194 , 40 ,& 250 , 196 , 42 ,& 250 , 198 , 45 ,& 249 , 199 , 47 ,& 249 , 201 , 50 ,& 249 , 203 , 53 ,& 248 , 205 , 55 ,& 248 , 207 , 58 ,& 247 , 209 , 61 ,& 247 , 211 , 64 ,& 246 , 213 , 67 ,& 246 , 215 , 70 ,& 245 , 217 , 73 ,& 245 , 219 , 76 ,& 244 , 221 , 79 ,& 244 , 223 , 83 ,& 244 , 225 , 86 ,& 243 , 227 , 90 ,& 243 , 229 , 93 ,& 242 , 230 , 97 ,& 242 , 232 , 101 ,& 242 , 234 , 105 ,& 241 , 236 , 109 ,& 241 , 237 , 113 ,& 241 , 239 , 117 ,& 241 , 241 , 121 ,& 242 , 242 , 125 ,& 242 , 244 , 130 ,& 243 , 245 , 134 ,& 243 , 246 , 138 ,& 244 , 248 , 142 ,& 245 , 249 , 146 ,& 246 , 250 , 150 ,& 248 , 251 , 154 ,& 249 , 252 , 157 ,& 250 , 253 , 161 ,& 252 , 255 , 164 & ], shape ( inferno ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: plasma = reshape ( [ & 13 , 8 , 135 ,& 16 , 7 , 136 ,& 19 , 7 , 137 ,& 22 , 7 , 138 ,& 25 , 6 , 140 ,& 27 , 6 , 141 ,& 29 , 6 , 142 ,& 32 , 6 , 143 ,& 34 , 6 , 144 ,& 36 , 6 , 145 ,& 38 , 5 , 145 ,& 40 , 5 , 146 ,& 42 , 5 , 147 ,& 44 , 5 , 148 ,& 46 , 5 , 149 ,& 47 , 5 , 150 ,& 49 , 5 , 151 ,& 51 , 5 , 151 ,& 53 , 4 , 152 ,& 55 , 4 , 153 ,& 56 , 4 , 154 ,& 58 , 4 , 154 ,& 60 , 4 , 155 ,& 62 , 4 , 156 ,& 63 , 4 , 156 ,& 65 , 4 , 157 ,& 67 , 3 , 158 ,& 68 , 3 , 158 ,& 70 , 3 , 159 ,& 72 , 3 , 159 ,& 73 , 3 , 160 ,& 75 , 3 , 161 ,& 76 , 2 , 161 ,& 78 , 2 , 162 ,& 80 , 2 , 162 ,& 81 , 2 , 163 ,& 83 , 2 , 163 ,& 85 , 2 , 164 ,& 86 , 1 , 164 ,& 88 , 1 , 164 ,& 89 , 1 , 165 ,& 91 , 1 , 165 ,& 92 , 1 , 166 ,& 94 , 1 , 166 ,& 96 , 1 , 166 ,& 97 , 0 , 167 ,& 99 , 0 , 167 ,& 100 , 0 , 167 ,& 102 , 0 , 167 ,& 103 , 0 , 168 ,& 105 , 0 , 168 ,& 106 , 0 , 168 ,& 108 , 0 , 168 ,& 110 , 0 , 168 ,& 111 , 0 , 168 ,& 113 , 0 , 168 ,& 114 , 1 , 168 ,& 116 , 1 , 168 ,& 117 , 1 , 168 ,& 119 , 1 , 168 ,& 120 , 1 , 168 ,& 122 , 2 , 168 ,& 123 , 2 , 168 ,& 125 , 3 , 168 ,& 126 , 3 , 168 ,& 128 , 4 , 168 ,& 129 , 4 , 167 ,& 131 , 5 , 167 ,& 132 , 5 , 167 ,& 134 , 6 , 166 ,& 135 , 7 , 166 ,& 136 , 8 , 166 ,& 138 , 9 , 165 ,& 139 , 10 , 165 ,& 141 , 11 , 165 ,& 142 , 12 , 164 ,& 143 , 13 , 164 ,& 145 , 14 , 163 ,& 146 , 15 , 163 ,& 148 , 16 , 162 ,& 149 , 17 , 161 ,& 150 , 19 , 161 ,& 152 , 20 , 160 ,& 153 , 21 , 159 ,& 154 , 22 , 159 ,& 156 , 23 , 158 ,& 157 , 24 , 157 ,& 158 , 25 , 157 ,& 160 , 26 , 156 ,& 161 , 27 , 155 ,& 162 , 29 , 154 ,& 163 , 30 , 154 ,& 165 , 31 , 153 ,& 166 , 32 , 152 ,& 167 , 33 , 151 ,& 168 , 34 , 150 ,& 170 , 35 , 149 ,& 171 , 36 , 148 ,& 172 , 38 , 148 ,& 173 , 39 , 147 ,& 174 , 40 , 146 ,& 176 , 41 , 145 ,& 177 , 42 , 144 ,& 178 , 43 , 143 ,& 179 , 44 , 142 ,& 180 , 46 , 141 ,& 181 , 47 , 140 ,& 182 , 48 , 139 ,& 183 , 49 , 138 ,& 184 , 50 , 137 ,& 186 , 51 , 136 ,& 187 , 52 , 136 ,& 188 , 53 , 135 ,& 189 , 55 , 134 ,& 190 , 56 , 133 ,& 191 , 57 , 132 ,& 192 , 58 , 131 ,& 193 , 59 , 130 ,& 194 , 60 , 129 ,& 195 , 61 , 128 ,& 196 , 62 , 127 ,& 197 , 64 , 126 ,& 198 , 65 , 125 ,& 199 , 66 , 124 ,& 200 , 67 , 123 ,& 201 , 68 , 122 ,& 202 , 69 , 122 ,& 203 , 70 , 121 ,& 204 , 71 , 120 ,& 204 , 73 , 119 ,& 205 , 74 , 118 ,& 206 , 75 , 117 ,& 207 , 76 , 116 ,& 208 , 77 , 115 ,& 209 , 78 , 114 ,& 210 , 79 , 113 ,& 211 , 81 , 113 ,& 212 , 82 , 112 ,& 213 , 83 , 111 ,& 213 , 84 , 110 ,& 214 , 85 , 109 ,& 215 , 86 , 108 ,& 216 , 87 , 107 ,& 217 , 88 , 106 ,& 218 , 90 , 106 ,& 218 , 91 , 105 ,& 219 , 92 , 104 ,& 220 , 93 , 103 ,& 221 , 94 , 102 ,& 222 , 95 , 101 ,& 222 , 97 , 100 ,& 223 , 98 , 99 ,& 224 , 99 , 99 ,& 225 , 100 , 98 ,& 226 , 101 , 97 ,& 226 , 102 , 96 ,& 227 , 104 , 95 ,& 228 , 105 , 94 ,& 229 , 106 , 93 ,& 229 , 107 , 93 ,& 230 , 108 , 92 ,& 231 , 110 , 91 ,& 231 , 111 , 90 ,& 232 , 112 , 89 ,& 233 , 113 , 88 ,& 233 , 114 , 87 ,& 234 , 116 , 87 ,& 235 , 117 , 86 ,& 235 , 118 , 85 ,& 236 , 119 , 84 ,& 237 , 121 , 83 ,& 237 , 122 , 82 ,& 238 , 123 , 81 ,& 239 , 124 , 81 ,& 239 , 126 , 80 ,& 240 , 127 , 79 ,& 240 , 128 , 78 ,& 241 , 129 , 77 ,& 241 , 131 , 76 ,& 242 , 132 , 75 ,& 243 , 133 , 75 ,& 243 , 135 , 74 ,& 244 , 136 , 73 ,& 244 , 137 , 72 ,& 245 , 139 , 71 ,& 245 , 140 , 70 ,& 246 , 141 , 69 ,& 246 , 143 , 68 ,& 247 , 144 , 68 ,& 247 , 145 , 67 ,& 247 , 147 , 66 ,& 248 , 148 , 65 ,& 248 , 149 , 64 ,& 249 , 151 , 63 ,& 249 , 152 , 62 ,& 249 , 154 , 62 ,& 250 , 155 , 61 ,& 250 , 156 , 60 ,& 250 , 158 , 59 ,& 251 , 159 , 58 ,& 251 , 161 , 57 ,& 251 , 162 , 56 ,& 252 , 163 , 56 ,& 252 , 165 , 55 ,& 252 , 166 , 54 ,& 252 , 168 , 53 ,& 252 , 169 , 52 ,& 253 , 171 , 51 ,& 253 , 172 , 51 ,& 253 , 174 , 50 ,& 253 , 175 , 49 ,& 253 , 177 , 48 ,& 253 , 178 , 47 ,& 253 , 180 , 47 ,& 253 , 181 , 46 ,& 254 , 183 , 45 ,& 254 , 184 , 44 ,& 254 , 186 , 44 ,& 254 , 187 , 43 ,& 254 , 189 , 42 ,& 254 , 190 , 42 ,& 254 , 192 , 41 ,& 253 , 194 , 41 ,& 253 , 195 , 40 ,& 253 , 197 , 39 ,& 253 , 198 , 39 ,& 253 , 200 , 39 ,& 253 , 202 , 38 ,& 253 , 203 , 38 ,& 252 , 205 , 37 ,& 252 , 206 , 37 ,& 252 , 208 , 37 ,& 252 , 210 , 37 ,& 251 , 211 , 36 ,& 251 , 213 , 36 ,& 251 , 215 , 36 ,& 250 , 216 , 36 ,& 250 , 218 , 36 ,& 249 , 220 , 36 ,& 249 , 221 , 37 ,& 248 , 223 , 37 ,& 248 , 225 , 37 ,& 247 , 226 , 37 ,& 247 , 228 , 37 ,& 246 , 230 , 38 ,& 246 , 232 , 38 ,& 245 , 233 , 38 ,& 245 , 235 , 39 ,& 244 , 237 , 39 ,& 243 , 238 , 39 ,& 243 , 240 , 39 ,& 242 , 242 , 39 ,& 241 , 244 , 38 ,& 241 , 245 , 37 ,& 240 , 247 , 36 ,& 240 , 249 , 33 & ], shape ( plasma ), order = [ 2 , 1 ] ) integer , dimension ( 0 : 255 , 1 : 3 ), public :: viridis = reshape ( [ & 68 , 1 , 84 ,& 68 , 2 , 86 ,& 69 , 4 , 87 ,& 69 , 5 , 89 ,& 70 , 7 , 90 ,& 70 , 8 , 92 ,& 70 , 10 , 93 ,& 70 , 11 , 94 ,& 71 , 13 , 96 ,& 71 , 14 , 97 ,& 71 , 16 , 99 ,& 71 , 17 , 100 ,& 71 , 19 , 101 ,& 72 , 20 , 103 ,& 72 , 22 , 104 ,& 72 , 23 , 105 ,& 72 , 24 , 106 ,& 72 , 26 , 108 ,& 72 , 27 , 109 ,& 72 , 28 , 110 ,& 72 , 29 , 111 ,& 72 , 31 , 112 ,& 72 , 32 , 113 ,& 72 , 33 , 115 ,& 72 , 35 , 116 ,& 72 , 36 , 117 ,& 72 , 37 , 118 ,& 72 , 38 , 119 ,& 72 , 40 , 120 ,& 72 , 41 , 121 ,& 71 , 42 , 122 ,& 71 , 44 , 122 ,& 71 , 45 , 123 ,& 71 , 46 , 124 ,& 71 , 47 , 125 ,& 70 , 48 , 126 ,& 70 , 50 , 126 ,& 70 , 51 , 127 ,& 70 , 52 , 128 ,& 69 , 53 , 129 ,& 69 , 55 , 129 ,& 69 , 56 , 130 ,& 68 , 57 , 131 ,& 68 , 58 , 131 ,& 68 , 59 , 132 ,& 67 , 61 , 132 ,& 67 , 62 , 133 ,& 66 , 63 , 133 ,& 66 , 64 , 134 ,& 66 , 65 , 134 ,& 65 , 66 , 135 ,& 65 , 68 , 135 ,& 64 , 69 , 136 ,& 64 , 70 , 136 ,& 63 , 71 , 136 ,& 63 , 72 , 137 ,& 62 , 73 , 137 ,& 62 , 74 , 137 ,& 62 , 76 , 138 ,& 61 , 77 , 138 ,& 61 , 78 , 138 ,& 60 , 79 , 138 ,& 60 , 80 , 139 ,& 59 , 81 , 139 ,& 59 , 82 , 139 ,& 58 , 83 , 139 ,& 58 , 84 , 140 ,& 57 , 85 , 140 ,& 57 , 86 , 140 ,& 56 , 88 , 140 ,& 56 , 89 , 140 ,& 55 , 90 , 140 ,& 55 , 91 , 141 ,& 54 , 92 , 141 ,& 54 , 93 , 141 ,& 53 , 94 , 141 ,& 53 , 95 , 141 ,& 52 , 96 , 141 ,& 52 , 97 , 141 ,& 51 , 98 , 141 ,& 51 , 99 , 141 ,& 50 , 100 , 142 ,& 50 , 101 , 142 ,& 49 , 102 , 142 ,& 49 , 103 , 142 ,& 49 , 104 , 142 ,& 48 , 105 , 142 ,& 48 , 106 , 142 ,& 47 , 107 , 142 ,& 47 , 108 , 142 ,& 46 , 109 , 142 ,& 46 , 110 , 142 ,& 46 , 111 , 142 ,& 45 , 112 , 142 ,& 45 , 113 , 142 ,& 44 , 113 , 142 ,& 44 , 114 , 142 ,& 44 , 115 , 142 ,& 43 , 116 , 142 ,& 43 , 117 , 142 ,& 42 , 118 , 142 ,& 42 , 119 , 142 ,& 42 , 120 , 142 ,& 41 , 121 , 142 ,& 41 , 122 , 142 ,& 41 , 123 , 142 ,& 40 , 124 , 142 ,& 40 , 125 , 142 ,& 39 , 126 , 142 ,& 39 , 127 , 142 ,& 39 , 128 , 142 ,& 38 , 129 , 142 ,& 38 , 130 , 142 ,& 38 , 130 , 142 ,& 37 , 131 , 142 ,& 37 , 132 , 142 ,& 37 , 133 , 142 ,& 36 , 134 , 142 ,& 36 , 135 , 142 ,& 35 , 136 , 142 ,& 35 , 137 , 142 ,& 35 , 138 , 141 ,& 34 , 139 , 141 ,& 34 , 140 , 141 ,& 34 , 141 , 141 ,& 33 , 142 , 141 ,& 33 , 143 , 141 ,& 33 , 144 , 141 ,& 33 , 145 , 140 ,& 32 , 146 , 140 ,& 32 , 146 , 140 ,& 32 , 147 , 140 ,& 31 , 148 , 140 ,& 31 , 149 , 139 ,& 31 , 150 , 139 ,& 31 , 151 , 139 ,& 31 , 152 , 139 ,& 31 , 153 , 138 ,& 31 , 154 , 138 ,& 30 , 155 , 138 ,& 30 , 156 , 137 ,& 30 , 157 , 137 ,& 31 , 158 , 137 ,& 31 , 159 , 136 ,& 31 , 160 , 136 ,& 31 , 161 , 136 ,& 31 , 161 , 135 ,& 31 , 162 , 135 ,& 32 , 163 , 134 ,& 32 , 164 , 134 ,& 33 , 165 , 133 ,& 33 , 166 , 133 ,& 34 , 167 , 133 ,& 34 , 168 , 132 ,& 35 , 169 , 131 ,& 36 , 170 , 131 ,& 37 , 171 , 130 ,& 37 , 172 , 130 ,& 38 , 173 , 129 ,& 39 , 173 , 129 ,& 40 , 174 , 128 ,& 41 , 175 , 127 ,& 42 , 176 , 127 ,& 44 , 177 , 126 ,& 45 , 178 , 125 ,& 46 , 179 , 124 ,& 47 , 180 , 124 ,& 49 , 181 , 123 ,& 50 , 182 , 122 ,& 52 , 182 , 121 ,& 53 , 183 , 121 ,& 55 , 184 , 120 ,& 56 , 185 , 119 ,& 58 , 186 , 118 ,& 59 , 187 , 117 ,& 61 , 188 , 116 ,& 63 , 188 , 115 ,& 64 , 189 , 114 ,& 66 , 190 , 113 ,& 68 , 191 , 112 ,& 70 , 192 , 111 ,& 72 , 193 , 110 ,& 74 , 193 , 109 ,& 76 , 194 , 108 ,& 78 , 195 , 107 ,& 80 , 196 , 106 ,& 82 , 197 , 105 ,& 84 , 197 , 104 ,& 86 , 198 , 103 ,& 88 , 199 , 101 ,& 90 , 200 , 100 ,& 92 , 200 , 99 ,& 94 , 201 , 98 ,& 96 , 202 , 96 ,& 99 , 203 , 95 ,& 101 , 203 , 94 ,& 103 , 204 , 92 ,& 105 , 205 , 91 ,& 108 , 205 , 90 ,& 110 , 206 , 88 ,& 112 , 207 , 87 ,& 115 , 208 , 86 ,& 117 , 208 , 84 ,& 119 , 209 , 83 ,& 122 , 209 , 81 ,& 124 , 210 , 80 ,& 127 , 211 , 78 ,& 129 , 211 , 77 ,& 132 , 212 , 75 ,& 134 , 213 , 73 ,& 137 , 213 , 72 ,& 139 , 214 , 70 ,& 142 , 214 , 69 ,& 144 , 215 , 67 ,& 147 , 215 , 65 ,& 149 , 216 , 64 ,& 152 , 216 , 62 ,& 155 , 217 , 60 ,& 157 , 217 , 59 ,& 160 , 218 , 57 ,& 162 , 218 , 55 ,& 165 , 219 , 54 ,& 168 , 219 , 52 ,& 170 , 220 , 50 ,& 173 , 220 , 48 ,& 176 , 221 , 47 ,& 178 , 221 , 45 ,& 181 , 222 , 43 ,& 184 , 222 , 41 ,& 186 , 222 , 40 ,& 189 , 223 , 38 ,& 192 , 223 , 37 ,& 194 , 223 , 35 ,& 197 , 224 , 33 ,& 200 , 224 , 32 ,& 202 , 225 , 31 ,& 205 , 225 , 29 ,& 208 , 225 , 28 ,& 210 , 226 , 27 ,& 213 , 226 , 26 ,& 216 , 226 , 25 ,& 218 , 227 , 25 ,& 221 , 227 , 24 ,& 223 , 227 , 24 ,& 226 , 228 , 24 ,& 229 , 228 , 25 ,& 231 , 228 , 25 ,& 234 , 229 , 26 ,& 236 , 229 , 27 ,& 239 , 229 , 28 ,& 241 , 229 , 29 ,& 244 , 230 , 30 ,& 246 , 230 , 32 ,& 248 , 230 , 33 ,& 251 , 231 , 35 ,& 253 , 231 , 37 & ], shape ( viridis ), order = [ 2 , 1 ] ) end module matplotlib_colormaps","tags":"","loc":"sourcefile/matplotlib_colormaps.f90.html"}]} \ No newline at end of file diff --git a/type/colormap.html b/type/colormap.html index 637388a..2e1d9b0 100644 --- a/type/colormap.html +++ b/type/colormap.html @@ -119,9 +119,9 @@

    Variables

    @@ -150,15 +150,15 @@

    Type-Bound Procedures

    - + integer, private
    - + integer, private,
    - + character(len=colormap_name_length), private
    - + character(len=:), private,
    - + integer, private
    - + character(len=:), private,