././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1681945963.350567 palettable-3.3.3/0000755000076500000240000000000014420072553013537 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681690822.0 palettable-3.3.3/MANIFEST.in0000644000076500000240000000004714417110306015271 0ustar00jiffyclubstaffinclude README.rst include license.txt ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3510442 palettable-3.3.3/PKG-INFO0000644000076500000240000000630414420072553014637 0ustar00jiffyclubstaffMetadata-Version: 2.1 Name: palettable Version: 3.3.3 Summary: Color palettes for Python Author-email: Matt Davis License: palettable Copyright (c) 2019 Matt Davis 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. Project-URL: homepage, https://jiffyclub.github.io/palettable/ Project-URL: repository, https://github.com/jiffyclub/palettable.git Project-URL: changelog, https://github.com/jiffyclub/palettable/blob/master/CHANGELOG.rst Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Scientific/Engineering :: Visualization Requires-Python: >=3.7 Description-Content-Type: text/x-rst Palettable ========== .. image:: https://github.com/jiffyclub/palettable/actions/workflows/ci.yml/badge.svg :target: https://github.com/jiffyclub/palettable/actions/workflows/ci.yml :alt: Build Status .. image:: https://coveralls.io/repos/jiffyclub/palettable/badge.svg :target: https://coveralls.io/r/jiffyclub/palettable :alt: Coveralls .. image:: https://img.shields.io/pypi/v/palettable.svg :target: https://pypi.python.org/pypi/palettable/ :alt: Latest Version .. image:: https://img.shields.io/pypi/pyversions/snakeviz.svg :target: https://pypi.python.org/pypi/snakeviz/ :alt: Supported Python versions .. image:: https://img.shields.io/pypi/wheel/palettable.svg :target: https://pypi.python.org/pypi/palettable/ :alt: Wheel Status Color Palettes for Python ------------------------- Palettable (formerly brewer2mpl) is a library of color palettes for Python. It's written in pure Python with no dependencies, but it can supply color maps for matplotlib. You can use Palettable to customize matplotlib plots or supply colors for a web application. For more information see the `documentation `_. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681686950.0 palettable-3.3.3/README.rst0000644000076500000240000000223714417100646015233 0ustar00jiffyclubstaffPalettable ========== .. image:: https://github.com/jiffyclub/palettable/actions/workflows/ci.yml/badge.svg :target: https://github.com/jiffyclub/palettable/actions/workflows/ci.yml :alt: Build Status .. image:: https://coveralls.io/repos/jiffyclub/palettable/badge.svg :target: https://coveralls.io/r/jiffyclub/palettable :alt: Coveralls .. image:: https://img.shields.io/pypi/v/palettable.svg :target: https://pypi.python.org/pypi/palettable/ :alt: Latest Version .. image:: https://img.shields.io/pypi/pyversions/snakeviz.svg :target: https://pypi.python.org/pypi/snakeviz/ :alt: Supported Python versions .. image:: https://img.shields.io/pypi/wheel/palettable.svg :target: https://pypi.python.org/pypi/palettable/ :alt: Wheel Status Color Palettes for Python ------------------------- Palettable (formerly brewer2mpl) is a library of color palettes for Python. It's written in pure Python with no dependencies, but it can supply color maps for matplotlib. You can use Palettable to customize matplotlib plots or supply colors for a web application. For more information see the `documentation `_. ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.2663152 palettable-3.3.3/docs/0000755000076500000240000000000014420072553014467 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.2748377 palettable-3.3.3/docs/_python/0000755000076500000240000000000014420072553016147 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/docs/_python/__init__.py0000644000076500000240000000003512475521673020270 0ustar00jiffyclubstafffrom .filters import filters ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/docs/_python/filters.py0000644000076500000240000000017512475521673020206 0ustar00jiffyclubstaffdef dateformat(value, format="%d-%b-%Y"): return value.strftime(format) filters = {} filters['dateformat'] = dateformat ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/docs/gendocs.py0000644000076500000240000000672013535036654016500 0ustar00jiffyclubstaff""" Generate color map images and fill in the docs to point to them. """ from __future__ import print_function import argparse import os import sys from importlib import import_module from jinja2 import Template from palettable.palette import Palette MODULES = { 'palettable.colorbrewer.diverging': './colorbrewer/diverging', 'palettable.colorbrewer.qualitative': './colorbrewer/qualitative', 'palettable.colorbrewer.sequential': './colorbrewer/sequential', 'palettable.tableau': './tableau', 'palettable.wesanderson': './wesanderson', 'palettable.cubehelix': './cubehelix', 'palettable.matplotlib': './matplotlib', 'palettable.mycarta': './mycarta', 'palettable.cmocean.diverging': './cmocean/diverging', 'palettable.cmocean.sequential': './cmocean/sequential', 'palettable.cartocolors.diverging': './cartocolors/diverging', 'palettable.cartocolors.qualitative': './cartocolors/qualitative', 'palettable.cartocolors.sequential': './cartocolors/sequential', 'palettable.lightbartlein.diverging': './lightbartlein/diverging', 'palettable.lightbartlein.sequential': './lightbartlein/sequential', 'palettable.scientific.diverging': './scientific/diverging', 'palettable.scientific.sequential': './scientific/sequential', } def find_palettes(mod): """ Find all Palette instances in mod. """ return { k: v for k, v in vars(mod).items() if isinstance(v, Palette) and not k.endswith('_r')} def gen_images(palettes, dir_): """ Create images for each palette in the palettes dict. For qualitative palettes only the discrete images is made. """ img_dir = os.path.join(dir_, 'img') os.makedirs(img_dir, exist_ok=True) discrete_fmt = '{}_discrete.png'.format continuous_fmt = '{}_continuous.png'.format img_size = (6, 0.5) for name, p in palettes.items(): print('Making discrete image for palette {}'.format(name)) p.save_discrete_image( os.path.join(img_dir, discrete_fmt(name)), size=img_size) if p.type != 'qualitative': print('Making continuous image for palette {}'.format(name)) p.save_continuous_image( os.path.join(img_dir, continuous_fmt(name)), size=img_size) def render_doc_page(dir_, palette_names, palette_dict): """ Render the documentation page in a given directory. """ print('Rendering index in dir {}'.format(dir_)) with open(os.path.join(dir_, 'index.md.tpl')) as f: tpl = Template(f.read()) with open(os.path.join(dir_, 'index.md'), 'w') as f: f.write(tpl.render(palettes=palette_names, palette_dict=palette_dict)) def palette_name_sort_key(name): base, length = name.rsplit('_', maxsplit=1) return base, int(length) def mkdocs(mod, dir_, images=False): palettes = find_palettes(mod) if images: gen_images(palettes, dir_) render_doc_page( dir_, sorted(palettes.keys(), key=palette_name_sort_key), palettes) def parse_args(args=None): parser = argparse.ArgumentParser( description='Build Palettable documentation.') parser.add_argument( '-i', '--images', action='store_true', help='force rebuild images') return parser.parse_args(args) def main(args=None): args = parse_args(args) for mod, dir_ in MODULES.items(): print('Running module {}'.format(mod)) mkdocs(import_module(mod), dir_, images=args.images) if __name__ == '__main__': sys.exit(main()) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1562886233.0 palettable-3.3.3/license.txt0000644000076500000240000000205113511740131015712 0ustar00jiffyclubstaffpalettable Copyright (c) 2019 Matt Davis 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. ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1681945963.281336 palettable-3.3.3/palettable/0000755000076500000240000000000014420072553015654 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681945935.0 palettable-3.3.3/palettable/__init__.py0000644000076500000240000000075314420072517017772 0ustar00jiffyclubstaff""" Palettable is a pure Python package for accessing a variety of color maps from Python, including colorbrewer2, Tableau, and whimsical Wes Anderson maps. """ from __future__ import absolute_import from . import cmocean from . import cartocolors from . import colorbrewer from . import cubehelix from . import lightbartlein from . import matplotlib from . import mycarta from . import scientific from . import wesanderson from . import tableau VERSION = version = __version__ = '3.3.3' ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3131537 palettable-3.3.3/palettable/cartocolors/0000755000076500000240000000000014420072553020206 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/cartocolors/__init__.py0000644000076500000240000000013113152437502022312 0ustar00jiffyclubstafffrom __future__ import absolute_import from . import diverging, sequential, qualitative ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/cartocolors/cartocolorspalette.py0000644000076500000240000000164413152437502024476 0ustar00jiffyclubstaff""" Palette class and utilities for CartoColors palettes. """ from __future__ import absolute_import from ..palette import Palette class CartoColorsMap(Palette): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str palette_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap url : str Website with related info. """ url = 'https://github.com/CartoDB/CartoColor/wiki/CARTOColor-Scheme-Names' def __init__(self, name, palette_type, colors): super(CartoColorsMap, self).__init__(name, palette_type, colors) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/cartocolors/colormaps.py0000644000076500000240000001373013152437502022563 0ustar00jiffyclubstaff""" Color maps from CARTO's CartoColors Learn more at https://github.com/CartoDB/CartoColor CARTOColors are made available under a Creative Commons Attribution license: https://creativecommons.org/licenses/by/3.0/us/ """ # Sequential schemes _BURG = [ [255, 198, 196], [244, 163, 168], [227, 129, 145], [204, 96, 125], [173, 70, 108], [139, 48, 88], [103, 32, 68], ] _BURGYL = [ [251, 230, 197], [245, 186, 152], [238, 138, 130], [220, 113, 118], [200, 88, 108], [156, 63, 93], [112, 40, 74], ] _REDOR = [ [246, 210, 169], [245, 183, 142], [241, 156, 124], [234, 129, 113], [221, 104, 108], [202, 82, 104], [177, 63, 100], ] _ORYEL = [ [236, 218, 154], [239, 196, 126], [243, 173, 106], [247, 148, 93], [249, 123, 87], [246, 99, 86], [238, 77, 90], ] _PEACH = [ [253, 224, 197], [250, 203, 166], [248, 181, 139], [245, 158, 114], [242, 133, 93], [239, 106, 76], [235, 74, 64], ] _PINKYL = [ [254, 246, 181], [255, 221, 154], [255, 194, 133], [255, 166, 121], [250, 138, 118], [241, 109, 122], [225, 83, 131], ] _MINT = [ [228, 241, 225], [180, 217, 204], [137, 192, 182], [99, 166, 160], [68, 140, 138], [40, 114, 116], [13, 88, 95], ] _BLUGRN = [ [196, 230, 195], [150, 210, 164], [109, 188, 144], [77, 162, 132], [54, 135, 122], [38, 107, 110], [29, 79, 96], ] _DARKMINT = [ [210, 251, 212], [165, 219, 194], [123, 188, 176], [85, 156, 158], [58, 124, 137], [35, 93, 114], [18, 63, 90], ] _EMRLD = [ [211, 242, 163], [151, 225, 150], [108, 192, 139], [76, 155, 130], [33, 122, 121], [16, 89, 101], [7, 64, 80], ] _AGGRNYL = [ [36, 86, 104], [15, 114, 121], [13, 143, 129], [57, 171, 126], [110, 197, 116], [169, 220, 103], [237, 239, 93], ] _BLUYL = [ [247, 254, 174], [183, 230, 165], [124, 203, 162], [70, 174, 160], [8, 144, 153], [0, 113, 139], [4, 82, 117], ] _TEAL = [ [209, 238, 234], [168, 219, 217], [133, 196, 201], [104, 171, 184], [79, 144, 166], [59, 115, 143], [42, 86, 116], ] _TEALGRN = [ [176, 242, 188], [137, 232, 172], [103, 219, 165], [76, 200, 163], [56, 178, 163], [44, 152, 160], [37, 125, 152], ] _PURP = [ [243, 224, 247], [228, 199, 241], [209, 175, 232], [185, 152, 221], [159, 130, 206], [130, 109, 186], [99, 88, 159], ] _PURPOR = [ [249, 221, 218], [242, 185, 196], [229, 151, 185], [206, 120, 179], [173, 95, 173], [131, 75, 160], [87, 59, 136], ] _SUNSET = [ [243, 231, 155], [250, 196, 132], [248, 160, 126], [235, 127, 134], [206, 102, 147], [160, 89, 160], [92, 83, 165], ] _MAGENTA = [ [243, 203, 211], [234, 169, 189], [221, 136, 172], [202, 105, 157], [177, 77, 142], [145, 53, 125], [108, 33, 103], ] _SUNSETDARK = [ [252, 222, 156], [250, 164, 118], [240, 116, 110], [227, 79, 111], [220, 57, 119], [185, 37, 122], [124, 29, 111], ] _AGSUNSET = [ [75, 41, 145], [135, 44, 162], [192, 54, 157], [234, 79, 136], [250, 120, 118], [246, 169, 122], [237, 217, 163], ] _BRWNYL = [ [237, 229, 207], [224, 194, 162], [211, 156, 131], [193, 118, 111], [166, 84, 97], [129, 55, 83], [84, 31, 63], ] # Diverging schemes _ARMYROSE = [ [121, 130, 52], [163, 173, 98], [208, 211, 162], [253, 251, 228], [240, 198, 195], [223, 145, 163], [212, 103, 128], ] _FALL = [ [61, 89, 65], [119, 136, 104], [181, 185, 145], [246, 237, 189], [237, 187, 138], [222, 138, 90], [202, 86, 44], ] _GEYSER = [ [0, 128, 128], [112, 164, 148], [180, 200, 168], [246, 237, 189], [237, 187, 138], [222, 138, 90], [202, 86, 44], ] _TEMPS = [ [0, 147, 146], [57, 177, 133], [156, 203, 134], [233, 226, 156], [238, 180, 121], [232, 132, 113], [207, 89, 126], ] _TEALROSE = [ [0, 147, 146], [114, 170, 161], [177, 199, 179], [241, 234, 200], [229, 185, 173], [217, 137, 148], [208, 88, 126], ] _TROPIC = [ [0, 155, 158], [66, 183, 185], [167, 211, 212], [241, 241, 241], [228, 193, 217], [214, 145, 193], [199, 93, 171], ] _EARTH = [ [161, 105, 40], [189, 146, 90], [214, 189, 141], [237, 234, 194], [181, 200, 184], [121, 167, 172], [40, 135, 161], ] # Qualitative palettes _ANTIQUE = [ [133, 92, 117], [217, 175, 107], [175, 100, 88], [115, 111, 76], [82, 106, 131], [98, 83, 119], [104, 133, 92], [156, 156, 94], [160, 97, 119], [140, 120, 93], [124, 124, 124], ] _BOLD = [ [127, 60, 141], [17, 165, 121], [57, 105, 172], [242, 183, 1], [231, 63, 116], [128, 186, 90], [230, 131, 16], [0, 134, 149], [207, 28, 144], [249, 123, 114], [165, 170, 153], ] _PASTEL = [ [102, 197, 204], [246, 207, 113], [248, 156, 116], [220, 176, 242], [135, 197, 95], [158, 185, 243], [254, 136, 177], [201, 219, 116], [139, 224, 164], [180, 151, 231], [179, 179, 179], ] _PRISM = [ [95, 70, 144], [29, 105, 150], [56, 166, 165], [15, 133, 84], [115, 175, 72], [237, 173, 8], [225, 124, 5], [204, 80, 62], [148, 52, 110], [111, 64, 112], [102, 102, 102], ] _SAFE = [ [136, 204, 238], [204, 102, 119], [221, 204, 119], [17, 119, 51], [51, 34, 136], [170, 68, 153], [68, 170, 153], [153, 153, 51], [136, 34, 85], [102, 17, 0], [136, 136, 136], ] _VIVID = [ [229, 134, 6], [93, 105, 177], [82, 188, 163], [153, 201, 69], [204, 97, 176], [36, 121, 108], [218, 165, 27], [47, 138, 196], [118, 78, 159], [237, 100, 90], [165, 170, 153], ] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/cartocolors/diverging.py0000644000076500000240000000203113152437502022532 0ustar00jiffyclubstaff""" Diverging color maps from the CartoColors schemes: https://github.com/CartoDB/CartoColor/wiki/CARTOColor-Scheme-Names """ from __future__ import absolute_import import itertools from . import cartocolorspalette from . import colormaps from .. import utils _PALETTE_TYPE = 'diverging' _NAMES_TO_DATA = { 'ArmyRose': colormaps._ARMYROSE, 'Fall': colormaps._FALL, 'Geyser': colormaps._GEYSER, 'Temps': colormaps._TEMPS, 'TealRose': colormaps._TEALROSE, 'Tropic': colormaps._TROPIC, 'Earth': colormaps._EARTH, } _NAME_MAP = utils.make_name_map(_NAMES_TO_DATA.keys()) _NAMES_AND_LENGTHS = utils.make_names_and_lengths( sorted(_NAMES_TO_DATA.keys()), range(2, 8)) print_maps = utils.print_maps_factory( 'diverging cartocolors', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'diverging cartocolors', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, cartocolorspalette.CartoColorsMap) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/cartocolors/qualitative.py0000644000076500000240000000237413152437502023116 0ustar00jiffyclubstaff""" Qualitative color maps from the CartoColors schemes: https://github.com/CartoDB/CartoColor/wiki/CARTOColor-Scheme-Names """ from __future__ import absolute_import import itertools from . import cartocolorspalette from . import colormaps from .. import utils _PALETTE_TYPE = 'qualitative' _NAMES_TO_DATA = { 'Antique': colormaps._ANTIQUE, 'Bold': colormaps._BOLD, 'Pastel': colormaps._PASTEL, 'Prism': colormaps._PRISM, 'Safe': colormaps._SAFE, 'Vivid': colormaps._VIVID, } _NAME_MAP = utils.make_name_map(_NAMES_TO_DATA.keys()) _NAMES_AND_LENGTHS = utils.make_names_and_lengths(sorted(_NAMES_TO_DATA.keys()), range(2, 11)) print_maps = utils.print_maps_factory('qualitative cartocolors', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory('qualitative cartocolors', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, cartocolorspalette.CartoColorsMap, is_evenly_spaced=False) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/palettable/cartocolors/sequential.py0000644000076500000240000000260213535036654022742 0ustar00jiffyclubstaff""" Sequential color maps from the CartoColors schemes: https://github.com/CartoDB/CartoColor/wiki/CARTOColor-Scheme-Names """ from __future__ import absolute_import from . import cartocolorspalette from . import colormaps from .. import utils _PALETTE_TYPE = 'sequential' _NAMES_TO_DATA = { 'Burg': colormaps._BURG, 'BurgYl': colormaps._BURGYL, 'RedOr': colormaps._REDOR, 'OrYel': colormaps._ORYEL, 'Peach': colormaps._PEACH, 'PinkYl': colormaps._PINKYL, 'Mint': colormaps._MINT, 'BluGrn': colormaps._BLUGRN, 'DarkMint': colormaps._DARKMINT, 'Emrld': colormaps._EMRLD, 'agGrnYl': colormaps._AGGRNYL, 'BluYl': colormaps._BLUYL, 'Teal': colormaps._TEAL, 'TealGrn': colormaps._TEALGRN, 'Purp': colormaps._PURP, 'PurpOr': colormaps._PURPOR, 'Sunset': colormaps._SUNSET, 'Magenta': colormaps._MAGENTA, 'SunsetDark': colormaps._SUNSETDARK, 'agSunset': colormaps._AGSUNSET, 'BrwnYl': colormaps._BRWNYL, } _NAMES_AND_LENGTHS = utils.make_names_and_lengths( sorted(_NAMES_TO_DATA.keys()), range(2, 8)) print_maps = utils.print_maps_factory( 'sequential cartocolors', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'sequential cartocolors', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, cartocolorspalette.CartoColorsMap) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3181093 palettable-3.3.3/palettable/cmocean/0000755000076500000240000000000014420072553017261 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/cmocean/__init__.py0000644000076500000240000000011413052672644021375 0ustar00jiffyclubstafffrom __future__ import absolute_import from . import diverging, sequential ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/cmocean/cmoceanpalette.py0000644000076500000240000000156413052672644022634 0ustar00jiffyclubstaff""" Palette class and utilities for cmocean palettes. """ from __future__ import absolute_import from ..palette import Palette class CmoceanMap(Palette): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str palette_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap url : str Website with related info. """ url = 'http://matplotlib.org/cmocean/' def __init__(self, name, palette_type, colors): super(CmoceanMap, self).__init__(name, palette_type, colors) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/cmocean/colormaps.py0000644000076500000240000030560513052672644021652 0ustar00jiffyclubstaff""" Color maps from Kristen Thyng's cmocean package Learn more at https://github.com/matplotlib/cmocean and view the cmocean license at https://github.com/matplotlib/cmocean/blob/master/LICENSE.txt. """ _ALGAE = [ [215, 249, 208], [214, 248, 206], [212, 247, 205], [211, 246, 203], [210, 245, 202], [209, 244, 200], [207, 244, 199], [206, 243, 197], [205, 242, 196], [204, 241, 195], [202, 240, 193], [201, 239, 192], [200, 238, 190], [199, 237, 189], [197, 236, 187], [196, 235, 186], [195, 235, 185], [194, 234, 183], [192, 233, 182], [191, 232, 180], [190, 231, 179], [189, 230, 177], [187, 229, 176], [186, 228, 175], [185, 228, 173], [184, 227, 172], [182, 226, 171], [181, 225, 169], [180, 224, 168], [178, 223, 166], [177, 222, 165], [176, 222, 164], [175, 221, 162], [173, 220, 161], [172, 219, 160], [171, 218, 158], [170, 218, 157], [168, 217, 156], [167, 216, 154], [166, 215, 153], [164, 214, 152], [163, 213, 150], [162, 213, 149], [160, 212, 148], [159, 211, 146], [158, 210, 145], [157, 209, 144], [155, 209, 143], [154, 208, 141], [153, 207, 140], [151, 206, 139], [150, 205, 138], [149, 205, 136], [147, 204, 135], [146, 203, 134], [145, 202, 133], [143, 202, 131], [142, 201, 130], [140, 200, 129], [139, 199, 128], [138, 199, 126], [136, 198, 125], [135, 197, 124], [133, 196, 123], [132, 196, 122], [131, 195, 121], [129, 194, 119], [128, 193, 118], [126, 193, 117], [125, 192, 116], [123, 191, 115], [122, 190, 114], [120, 190, 113], [119, 189, 111], [117, 188, 110], [116, 187, 109], [114, 187, 108], [113, 186, 107], [111, 185, 106], [110, 185, 105], [108, 184, 104], [107, 183, 103], [105, 182, 102], [103, 182, 101], [102, 181, 100], [100, 180, 99], [98, 180, 98], [97, 179, 97], [95, 178, 96], [93, 178, 95], [91, 177, 94], [90, 176, 93], [88, 175, 93], [86, 175, 92], [84, 174, 91], [82, 173, 90], [80, 173, 89], [78, 172, 89], [76, 171, 88], [74, 171, 87], [72, 170, 87], [70, 169, 86], [68, 168, 85], [66, 168, 85], [63, 167, 84], [61, 166, 84], [59, 166, 84], [57, 165, 83], [55, 164, 83], [52, 163, 83], [50, 163, 82], [48, 162, 82], [46, 161, 82], [44, 160, 82], [42, 160, 82], [40, 159, 81], [38, 158, 81], [36, 157, 81], [34, 156, 81], [32, 156, 81], [30, 155, 81], [28, 154, 81], [27, 153, 81], [25, 152, 81], [24, 151, 80], [22, 150, 80], [21, 150, 80], [19, 149, 80], [18, 148, 80], [16, 147, 80], [15, 146, 80], [14, 145, 80], [13, 144, 79], [12, 143, 79], [11, 143, 79], [10, 142, 79], [9, 141, 79], [9, 140, 79], [8, 139, 78], [8, 138, 78], [7, 137, 78], [7, 136, 78], [7, 135, 77], [7, 134, 77], [7, 134, 77], [7, 133, 77], [7, 132, 77], [7, 131, 76], [7, 130, 76], [8, 129, 76], [8, 128, 75], [8, 127, 75], [9, 126, 75], [9, 125, 75], [10, 124, 74], [10, 124, 74], [11, 123, 74], [11, 122, 73], [12, 121, 73], [12, 120, 73], [13, 119, 72], [13, 118, 72], [14, 117, 72], [14, 116, 71], [15, 115, 71], [15, 115, 71], [16, 114, 70], [16, 113, 70], [17, 112, 69], [17, 111, 69], [18, 110, 69], [18, 109, 68], [18, 108, 68], [19, 107, 67], [19, 106, 67], [20, 106, 67], [20, 105, 66], [20, 104, 66], [21, 103, 65], [21, 102, 65], [21, 101, 64], [22, 100, 64], [22, 99, 64], [22, 98, 63], [23, 98, 63], [23, 97, 62], [23, 96, 62], [23, 95, 61], [24, 94, 61], [24, 93, 60], [24, 92, 60], [24, 91, 59], [24, 91, 59], [25, 90, 58], [25, 89, 58], [25, 88, 57], [25, 87, 57], [25, 86, 56], [25, 85, 56], [25, 84, 55], [25, 84, 55], [26, 83, 54], [26, 82, 53], [26, 81, 53], [26, 80, 52], [26, 79, 52], [26, 78, 51], [26, 77, 51], [26, 77, 50], [26, 76, 50], [26, 75, 49], [26, 74, 48], [26, 73, 48], [26, 72, 47], [26, 71, 47], [26, 71, 46], [26, 70, 46], [26, 69, 45], [26, 68, 44], [26, 67, 44], [25, 66, 43], [25, 65, 43], [25, 64, 42], [25, 64, 41], [25, 63, 41], [25, 62, 40], [25, 61, 39], [25, 60, 39], [24, 59, 38], [24, 59, 38], [24, 58, 37], [24, 57, 36], [24, 56, 36], [24, 55, 35], [23, 54, 34], [23, 53, 34], [23, 53, 33], [23, 52, 32], [23, 51, 32], [22, 50, 31], [22, 49, 30], [22, 48, 30], [22, 47, 29], [21, 47, 28], [21, 46, 28], [21, 45, 27], [20, 44, 26], [20, 43, 26], [20, 42, 25], [20, 41, 24], [19, 41, 24], [19, 40, 23], [19, 39, 22], [18, 38, 22], [18, 37, 21], [18, 36, 20], ] _AMP = [ [241, 237, 236], [241, 236, 235], [240, 235, 233], [239, 233, 232], [239, 232, 231], [238, 231, 229], [238, 230, 228], [237, 229, 227], [237, 227, 225], [236, 226, 224], [236, 225, 222], [235, 224, 221], [235, 223, 220], [234, 221, 218], [234, 220, 217], [233, 219, 215], [233, 218, 214], [233, 217, 212], [232, 216, 211], [232, 214, 210], [231, 213, 208], [231, 212, 207], [230, 211, 205], [230, 210, 204], [230, 209, 202], [229, 207, 201], [229, 206, 200], [228, 205, 198], [228, 204, 197], [228, 203, 195], [227, 201, 194], [227, 200, 192], [226, 199, 191], [226, 198, 189], [226, 197, 188], [225, 196, 187], [225, 195, 185], [225, 193, 184], [224, 192, 182], [224, 191, 181], [223, 190, 179], [223, 189, 178], [223, 188, 176], [222, 186, 175], [222, 185, 174], [222, 184, 172], [221, 183, 171], [221, 182, 169], [221, 181, 168], [220, 180, 166], [220, 178, 165], [220, 177, 163], [219, 176, 162], [219, 175, 161], [219, 174, 159], [218, 173, 158], [218, 172, 156], [217, 170, 155], [217, 169, 153], [217, 168, 152], [216, 167, 150], [216, 166, 149], [216, 165, 148], [215, 164, 146], [215, 162, 145], [215, 161, 143], [214, 160, 142], [214, 159, 140], [214, 158, 139], [213, 157, 137], [213, 156, 136], [213, 154, 135], [212, 153, 133], [212, 152, 132], [212, 151, 130], [211, 150, 129], [211, 149, 127], [211, 148, 126], [210, 146, 125], [210, 145, 123], [210, 144, 122], [209, 143, 120], [209, 142, 119], [209, 141, 118], [208, 140, 116], [208, 139, 115], [208, 137, 113], [207, 136, 112], [207, 135, 111], [207, 134, 109], [206, 133, 108], [206, 132, 106], [205, 131, 105], [205, 129, 104], [205, 128, 102], [204, 127, 101], [204, 126, 100], [204, 125, 98], [203, 124, 97], [203, 122, 96], [203, 121, 94], [202, 120, 93], [202, 119, 91], [201, 118, 90], [201, 117, 89], [201, 116, 87], [200, 114, 86], [200, 113, 85], [200, 112, 84], [199, 111, 82], [199, 110, 81], [198, 109, 80], [198, 107, 78], [198, 106, 77], [197, 105, 76], [197, 104, 74], [197, 103, 73], [196, 101, 72], [196, 100, 71], [195, 99, 70], [195, 98, 68], [195, 97, 67], [194, 95, 66], [194, 94, 65], [193, 93, 63], [193, 92, 62], [192, 91, 61], [192, 89, 60], [192, 88, 59], [191, 87, 58], [191, 86, 57], [190, 84, 56], [190, 83, 54], [189, 82, 53], [189, 81, 52], [189, 79, 51], [188, 78, 50], [188, 77, 49], [187, 76, 48], [187, 74, 48], [186, 73, 47], [186, 72, 46], [185, 70, 45], [185, 69, 44], [184, 68, 43], [184, 66, 43], [183, 65, 42], [183, 64, 41], [182, 63, 41], [181, 61, 40], [181, 60, 39], [180, 59, 39], [180, 57, 38], [179, 56, 38], [178, 55, 38], [178, 53, 37], [177, 52, 37], [176, 51, 37], [176, 49, 37], [175, 48, 36], [174, 47, 36], [174, 45, 36], [173, 44, 36], [172, 43, 36], [171, 42, 36], [170, 40, 36], [170, 39, 36], [169, 38, 36], [168, 37, 36], [167, 36, 36], [166, 34, 37], [165, 33, 37], [164, 32, 37], [163, 31, 37], [162, 30, 37], [161, 29, 37], [160, 28, 38], [159, 27, 38], [158, 26, 38], [157, 25, 38], [156, 24, 39], [155, 23, 39], [154, 22, 39], [153, 21, 39], [152, 21, 39], [151, 20, 40], [149, 19, 40], [148, 19, 40], [147, 18, 40], [146, 17, 40], [145, 17, 41], [144, 16, 41], [142, 16, 41], [141, 16, 41], [140, 15, 41], [139, 15, 41], [137, 15, 41], [136, 15, 41], [135, 14, 41], [133, 14, 41], [132, 14, 41], [131, 14, 41], [129, 14, 41], [128, 14, 41], [127, 14, 41], [125, 14, 41], [124, 14, 41], [123, 14, 41], [121, 14, 41], [120, 14, 40], [119, 14, 40], [117, 14, 40], [116, 14, 40], [115, 14, 39], [113, 14, 39], [112, 14, 39], [111, 14, 38], [109, 14, 38], [108, 15, 38], [107, 15, 37], [105, 15, 37], [104, 15, 37], [103, 15, 36], [101, 15, 36], [100, 14, 35], [99, 14, 35], [97, 14, 34], [96, 14, 34], [95, 14, 33], [93, 14, 33], [92, 14, 33], [91, 14, 32], [90, 14, 31], [88, 14, 31], [87, 14, 30], [86, 14, 30], [84, 13, 29], [83, 13, 29], [82, 13, 28], [81, 13, 28], [79, 13, 27], [78, 13, 26], [77, 12, 26], [75, 12, 25], [74, 12, 25], [73, 12, 24], [72, 11, 23], [70, 11, 23], [69, 11, 22], [68, 11, 22], [67, 10, 21], [65, 10, 20], [64, 10, 20], [63, 10, 19], [61, 9, 18], [60, 9, 18], ] _BALANCE = [ [24, 28, 67], [25, 30, 70], [26, 31, 73], [27, 33, 76], [28, 34, 79], [29, 35, 82], [30, 37, 85], [31, 38, 88], [32, 39, 91], [33, 41, 95], [33, 42, 98], [34, 43, 101], [35, 45, 105], [36, 46, 108], [37, 47, 111], [37, 48, 115], [38, 50, 118], [39, 51, 122], [39, 52, 125], [40, 54, 129], [40, 55, 132], [41, 56, 136], [41, 58, 140], [41, 59, 143], [41, 60, 147], [41, 62, 151], [41, 63, 154], [41, 64, 158], [41, 66, 162], [40, 67, 165], [39, 69, 169], [38, 71, 172], [37, 72, 176], [35, 74, 179], [33, 76, 182], [31, 78, 184], [28, 80, 186], [25, 82, 188], [22, 85, 189], [19, 87, 190], [16, 89, 190], [13, 91, 190], [12, 94, 190], [10, 96, 190], [10, 98, 190], [10, 100, 190], [11, 102, 189], [13, 104, 189], [15, 106, 189], [17, 108, 188], [19, 110, 188], [22, 112, 188], [25, 114, 187], [27, 116, 187], [30, 118, 187], [33, 120, 187], [35, 122, 186], [38, 123, 186], [41, 125, 186], [43, 127, 186], [46, 129, 186], [48, 131, 186], [51, 132, 186], [54, 134, 186], [56, 136, 186], [59, 137, 186], [62, 139, 186], [64, 141, 186], [67, 143, 186], [70, 144, 186], [72, 146, 186], [75, 148, 186], [78, 149, 186], [81, 151, 186], [83, 153, 186], [86, 154, 187], [89, 156, 187], [92, 157, 187], [95, 159, 187], [98, 160, 187], [101, 162, 188], [104, 164, 188], [107, 165, 188], [110, 167, 189], [113, 168, 189], [117, 170, 190], [120, 171, 190], [123, 172, 191], [126, 174, 191], [129, 175, 192], [133, 177, 192], [136, 178, 193], [139, 180, 194], [142, 181, 195], [145, 183, 195], [148, 184, 196], [152, 186, 197], [155, 187, 198], [158, 188, 199], [161, 190, 200], [164, 191, 201], [167, 193, 202], [170, 194, 203], [173, 196, 204], [176, 197, 205], [179, 199, 206], [182, 201, 207], [185, 202, 208], [188, 204, 210], [191, 205, 211], [193, 207, 212], [196, 208, 213], [199, 210, 215], [202, 212, 216], [205, 213, 217], [208, 215, 218], [211, 217, 220], [213, 218, 221], [216, 220, 222], [219, 222, 224], [222, 224, 225], [225, 225, 227], [227, 227, 228], [230, 229, 230], [233, 231, 231], [235, 233, 233], [238, 234, 234], [241, 236, 236], [241, 236, 235], [240, 234, 233], [239, 232, 230], [238, 229, 227], [237, 227, 224], [236, 224, 222], [235, 222, 219], [234, 220, 216], [233, 217, 213], [232, 215, 210], [231, 213, 207], [230, 210, 205], [229, 208, 202], [229, 206, 199], [228, 203, 196], [227, 201, 193], [226, 199, 190], [225, 196, 187], [225, 194, 184], [224, 192, 181], [223, 189, 178], [223, 187, 176], [222, 185, 173], [221, 182, 170], [220, 180, 167], [220, 178, 164], [219, 175, 161], [218, 173, 158], [218, 171, 155], [217, 169, 152], [216, 166, 150], [216, 164, 147], [215, 162, 144], [214, 159, 141], [214, 157, 138], [213, 155, 135], [212, 153, 132], [211, 150, 129], [211, 148, 127], [210, 146, 124], [209, 143, 121], [209, 141, 118], [208, 139, 115], [207, 137, 112], [207, 134, 110], [206, 132, 107], [205, 130, 104], [205, 127, 101], [204, 125, 99], [203, 123, 96], [202, 121, 93], [202, 118, 91], [201, 116, 88], [200, 114, 85], [199, 111, 83], [199, 109, 80], [198, 107, 77], [197, 104, 75], [196, 102, 72], [195, 99, 70], [195, 97, 67], [194, 95, 65], [193, 92, 63], [192, 90, 60], [191, 87, 58], [190, 85, 56], [190, 82, 54], [189, 80, 52], [188, 77, 50], [187, 75, 48], [186, 72, 46], [185, 69, 44], [184, 67, 43], [183, 64, 41], [182, 61, 40], [180, 59, 39], [179, 56, 38], [178, 53, 37], [177, 51, 37], [175, 48, 36], [174, 46, 36], [172, 43, 36], [171, 41, 36], [169, 38, 36], [167, 36, 36], [165, 33, 37], [163, 31, 37], [161, 29, 37], [159, 27, 38], [157, 25, 38], [155, 23, 39], [153, 22, 39], [151, 20, 40], [148, 19, 40], [146, 18, 40], [144, 16, 41], [141, 16, 41], [139, 15, 41], [136, 15, 41], [134, 14, 41], [131, 14, 41], [128, 14, 41], [126, 14, 41], [123, 14, 41], [120, 14, 40], [118, 14, 40], [115, 14, 39], [112, 14, 39], [109, 14, 38], [107, 15, 37], [104, 15, 37], [101, 15, 36], [99, 14, 35], [96, 14, 34], [94, 14, 33], [91, 14, 32], [88, 14, 31], [86, 14, 30], [83, 13, 29], [81, 13, 28], [78, 13, 27], [75, 12, 25], [73, 12, 24], [70, 11, 23], [68, 11, 22], [65, 10, 20], [63, 10, 19], [60, 9, 18], ] _CURL = [ [21, 29, 68], [21, 30, 68], [21, 31, 69], [22, 32, 69], [22, 33, 70], [22, 34, 70], [22, 35, 71], [23, 36, 71], [23, 37, 72], [23, 38, 72], [23, 39, 73], [23, 40, 74], [24, 41, 74], [24, 42, 75], [24, 43, 75], [24, 44, 76], [24, 45, 76], [25, 46, 77], [25, 47, 77], [25, 48, 78], [25, 49, 79], [25, 50, 79], [26, 51, 80], [26, 52, 80], [26, 53, 81], [26, 54, 81], [26, 54, 82], [26, 55, 83], [27, 56, 83], [27, 57, 84], [27, 58, 84], [27, 59, 85], [27, 60, 86], [27, 61, 86], [27, 62, 87], [27, 63, 87], [28, 64, 88], [28, 65, 88], [28, 66, 89], [28, 66, 90], [28, 67, 90], [28, 68, 91], [28, 69, 91], [28, 70, 92], [28, 71, 93], [28, 72, 93], [28, 73, 94], [28, 74, 94], [28, 75, 95], [28, 76, 95], [28, 76, 96], [28, 77, 97], [28, 78, 97], [28, 79, 98], [28, 80, 98], [28, 81, 99], [28, 82, 99], [28, 83, 100], [28, 84, 101], [28, 85, 101], [27, 86, 102], [27, 87, 102], [27, 88, 103], [27, 88, 103], [27, 89, 104], [27, 90, 104], [26, 91, 105], [26, 92, 106], [26, 93, 106], [26, 94, 107], [26, 95, 107], [25, 96, 108], [25, 97, 108], [25, 98, 109], [25, 99, 109], [24, 100, 110], [24, 101, 110], [24, 101, 111], [23, 102, 111], [23, 103, 112], [23, 104, 112], [22, 105, 113], [22, 106, 113], [22, 107, 114], [21, 108, 114], [21, 109, 115], [20, 110, 115], [20, 111, 115], [20, 112, 116], [19, 113, 116], [19, 114, 117], [19, 115, 117], [18, 116, 118], [18, 117, 118], [18, 118, 118], [17, 118, 119], [17, 119, 119], [17, 120, 120], [17, 121, 120], [17, 122, 120], [17, 123, 121], [17, 124, 121], [17, 125, 121], [17, 126, 122], [17, 127, 122], [17, 128, 122], [18, 129, 123], [18, 130, 123], [19, 131, 123], [19, 132, 123], [20, 132, 124], [21, 133, 124], [22, 134, 124], [22, 135, 124], [23, 136, 125], [25, 137, 125], [26, 138, 125], [27, 139, 125], [28, 140, 126], [30, 141, 126], [31, 141, 126], [33, 142, 126], [34, 143, 126], [36, 144, 127], [37, 145, 127], [39, 146, 127], [41, 147, 127], [42, 147, 127], [44, 148, 127], [46, 149, 128], [48, 150, 128], [50, 151, 128], [52, 152, 128], [54, 152, 128], [56, 153, 129], [58, 154, 129], [59, 155, 129], [61, 156, 129], [63, 156, 129], [65, 157, 130], [67, 158, 130], [69, 159, 130], [71, 159, 130], [73, 160, 131], [75, 161, 131], [78, 161, 131], [80, 162, 132], [82, 163, 132], [84, 164, 132], [86, 164, 133], [87, 165, 133], [89, 166, 133], [91, 166, 134], [93, 167, 134], [95, 168, 135], [97, 169, 135], [99, 169, 136], [101, 170, 136], [103, 171, 137], [105, 171, 137], [107, 172, 138], [109, 173, 138], [111, 173, 139], [113, 174, 139], [114, 175, 140], [116, 175, 141], [118, 176, 141], [120, 177, 142], [122, 177, 142], [124, 178, 143], [125, 179, 144], [127, 179, 144], [129, 180, 145], [131, 181, 146], [133, 181, 147], [134, 182, 147], [136, 183, 148], [138, 183, 149], [139, 184, 150], [141, 185, 151], [143, 186, 151], [145, 186, 152], [146, 187, 153], [148, 188, 154], [150, 188, 155], [151, 189, 156], [153, 190, 157], [155, 190, 158], [156, 191, 159], [158, 192, 159], [160, 192, 160], [161, 193, 161], [163, 194, 162], [164, 195, 163], [166, 195, 164], [168, 196, 165], [169, 197, 166], [171, 197, 168], [172, 198, 169], [174, 199, 170], [176, 200, 171], [177, 200, 172], [179, 201, 173], [180, 202, 174], [182, 203, 175], [183, 203, 176], [185, 204, 178], [186, 205, 179], [188, 206, 180], [189, 206, 181], [191, 207, 182], [192, 208, 183], [194, 209, 185], [195, 209, 186], [197, 210, 187], [198, 211, 188], [200, 212, 190], [201, 212, 191], [203, 213, 192], [204, 214, 193], [206, 215, 195], [207, 216, 196], [209, 216, 197], [210, 217, 199], [211, 218, 200], [213, 219, 201], [214, 220, 203], [216, 221, 204], [217, 221, 205], [219, 222, 207], [220, 223, 208], [221, 224, 209], [223, 225, 211], [224, 226, 212], [226, 226, 214], [227, 227, 215], [228, 228, 216], [230, 229, 218], [231, 230, 219], [233, 231, 221], [234, 232, 222], [235, 233, 223], [237, 234, 225], [238, 234, 226], [240, 235, 228], [241, 236, 229], [242, 237, 231], [244, 238, 232], [245, 239, 234], [247, 240, 235], [248, 241, 237], [249, 242, 238], [251, 243, 240], [252, 244, 241], [253, 245, 243], [255, 246, 244], [254, 246, 245], [253, 245, 243], [252, 244, 241], [252, 242, 240], [251, 241, 238], [250, 240, 236], [250, 239, 235], [249, 237, 233], [249, 236, 231], [248, 235, 230], [248, 234, 228], [247, 232, 226], [246, 231, 225], [246, 230, 223], [245, 229, 221], [245, 228, 220], [244, 226, 218], [244, 225, 216], [243, 224, 214], [243, 223, 213], [242, 221, 211], [242, 220, 209], [242, 219, 208], [241, 218, 206], [241, 216, 204], [240, 215, 203], [240, 214, 201], [239, 213, 200], [239, 211, 198], [238, 210, 196], [238, 209, 195], [238, 208, 193], [237, 207, 191], [237, 205, 190], [236, 204, 188], [236, 203, 187], [236, 202, 185], [235, 200, 183], [235, 199, 182], [235, 198, 180], [234, 197, 179], [234, 195, 177], [233, 194, 175], [233, 193, 174], [233, 192, 172], [232, 190, 171], [232, 189, 169], [232, 188, 168], [231, 187, 166], [231, 186, 165], [231, 184, 163], [230, 183, 162], [230, 182, 160], [230, 181, 159], [229, 179, 157], [229, 178, 156], [229, 177, 154], [228, 176, 153], [228, 174, 152], [228, 173, 150], [227, 172, 149], [227, 171, 147], [227, 169, 146], [226, 168, 145], [226, 167, 143], [226, 166, 142], [225, 164, 141], [225, 163, 139], [225, 162, 138], [224, 161, 137], [224, 159, 136], [224, 158, 134], [224, 157, 133], [223, 155, 132], [223, 154, 131], [223, 153, 130], [222, 152, 128], [222, 150, 127], [222, 149, 126], [221, 148, 125], [221, 147, 124], [220, 145, 123], [220, 144, 122], [220, 143, 121], [219, 142, 120], [219, 140, 119], [219, 139, 118], [218, 138, 117], [218, 137, 116], [217, 135, 115], [217, 134, 114], [217, 133, 114], [216, 132, 113], [216, 130, 112], [215, 129, 111], [215, 128, 110], [214, 127, 110], [214, 125, 109], [214, 124, 108], [213, 123, 108], [213, 122, 107], [212, 120, 106], [212, 119, 106], [211, 118, 105], [211, 117, 105], [210, 116, 104], [210, 114, 104], [209, 113, 103], [208, 112, 103], [208, 111, 102], [207, 110, 102], [207, 108, 101], [206, 107, 101], [205, 106, 101], [205, 105, 100], [204, 104, 100], [204, 103, 100], [203, 101, 99], [202, 100, 99], [202, 99, 99], [201, 98, 99], [200, 97, 98], [200, 96, 98], [199, 95, 98], [198, 93, 98], [197, 92, 98], [197, 91, 97], [196, 90, 97], [195, 89, 97], [194, 88, 97], [194, 87, 97], [193, 86, 97], [192, 85, 97], [191, 84, 96], [191, 83, 96], [190, 82, 96], [189, 81, 96], [188, 79, 96], [187, 78, 96], [186, 77, 96], [186, 76, 96], [185, 75, 96], [184, 74, 96], [183, 73, 96], [182, 72, 96], [181, 71, 96], [180, 70, 96], [180, 69, 96], [179, 68, 96], [178, 67, 96], [177, 66, 96], [176, 65, 96], [175, 65, 96], [174, 64, 96], [173, 63, 96], [172, 62, 96], [171, 61, 96], [170, 60, 96], [169, 59, 96], [168, 58, 96], [167, 57, 96], [166, 56, 96], [165, 55, 96], [164, 54, 96], [163, 54, 96], [162, 53, 96], [161, 52, 96], [160, 51, 96], [159, 50, 96], [158, 49, 96], [157, 48, 96], [156, 47, 96], [155, 47, 96], [154, 46, 96], [153, 45, 97], [152, 44, 97], [151, 43, 97], [150, 43, 97], [149, 42, 97], [147, 41, 97], [146, 40, 97], [145, 39, 96], [144, 39, 96], [143, 38, 96], [142, 37, 96], [141, 37, 96], [140, 36, 96], [138, 35, 96], [137, 34, 96], [136, 34, 96], [135, 33, 96], [134, 32, 96], [133, 32, 96], [131, 31, 96], [130, 31, 96], [129, 30, 95], [128, 29, 95], [127, 29, 95], [125, 28, 95], [124, 28, 95], [123, 27, 94], [122, 27, 94], [120, 26, 94], [119, 26, 94], [118, 25, 93], [117, 25, 93], [115, 25, 93], [114, 24, 92], [113, 24, 92], [112, 24, 92], [110, 23, 91], [109, 23, 91], [108, 23, 90], [106, 22, 90], [105, 22, 89], [104, 22, 89], [102, 22, 88], [101, 21, 88], [100, 21, 87], [98, 21, 87], [97, 21, 86], [96, 20, 85], [94, 20, 85], [93, 20, 84], [92, 20, 83], [90, 20, 82], [89, 20, 82], [88, 19, 81], [87, 19, 80], [85, 19, 79], [84, 19, 78], [83, 19, 78], [81, 19, 77], [80, 18, 76], [79, 18, 75], [77, 18, 74], [76, 18, 73], [75, 18, 72], [73, 18, 71], [72, 17, 70], [71, 17, 69], [70, 17, 68], [68, 17, 67], [67, 16, 66], [66, 16, 65], [64, 16, 64], [63, 16, 63], [62, 15, 62], [61, 15, 61], [59, 15, 60], [58, 15, 59], [57, 14, 58], [56, 14, 57], [54, 14, 55], [53, 13, 54], [52, 13, 53], ] _DEEP = [ [253, 254, 204], [251, 253, 203], [249, 252, 202], [247, 251, 200], [245, 250, 199], [243, 250, 198], [241, 249, 197], [239, 248, 196], [237, 247, 195], [235, 247, 193], [233, 246, 192], [231, 245, 191], [229, 244, 190], [227, 244, 189], [225, 243, 188], [223, 242, 187], [221, 242, 186], [219, 241, 185], [217, 240, 184], [215, 239, 183], [212, 239, 182], [210, 238, 181], [208, 237, 180], [206, 236, 179], [204, 236, 179], [202, 235, 178], [200, 234, 177], [198, 234, 176], [196, 233, 175], [193, 232, 175], [191, 231, 174], [189, 231, 173], [187, 230, 172], [185, 229, 172], [183, 229, 171], [181, 228, 170], [178, 227, 170], [176, 226, 169], [174, 226, 169], [172, 225, 168], [170, 224, 168], [167, 224, 167], [165, 223, 167], [163, 222, 166], [161, 221, 166], [159, 221, 165], [156, 220, 165], [154, 219, 165], [152, 218, 164], [150, 218, 164], [148, 217, 164], [146, 216, 164], [144, 215, 164], [141, 215, 163], [139, 214, 163], [137, 213, 163], [135, 212, 163], [133, 211, 163], [131, 211, 163], [129, 210, 163], [127, 209, 163], [125, 208, 163], [124, 207, 163], [122, 206, 163], [120, 206, 163], [118, 205, 163], [117, 204, 163], [115, 203, 163], [113, 202, 163], [112, 201, 163], [110, 200, 163], [109, 199, 163], [107, 198, 163], [106, 197, 164], [105, 196, 164], [103, 195, 164], [102, 194, 164], [101, 194, 164], [100, 193, 164], [99, 192, 164], [98, 191, 164], [97, 190, 164], [96, 189, 164], [95, 188, 164], [94, 187, 164], [93, 186, 164], [92, 185, 164], [91, 184, 164], [90, 183, 164], [90, 182, 164], [89, 180, 164], [88, 179, 164], [88, 178, 164], [87, 177, 164], [86, 176, 164], [86, 175, 164], [85, 174, 163], [85, 173, 163], [84, 172, 163], [83, 171, 163], [83, 170, 163], [82, 169, 163], [82, 168, 163], [81, 167, 163], [81, 166, 162], [81, 165, 162], [80, 164, 162], [80, 163, 162], [79, 162, 162], [79, 161, 162], [79, 160, 162], [78, 159, 161], [78, 158, 161], [77, 157, 161], [77, 156, 161], [77, 155, 161], [76, 154, 160], [76, 153, 160], [75, 152, 160], [75, 151, 160], [75, 150, 160], [74, 149, 159], [74, 148, 159], [74, 147, 159], [73, 146, 159], [73, 145, 158], [73, 144, 158], [72, 143, 158], [72, 142, 158], [72, 141, 157], [71, 140, 157], [71, 139, 157], [71, 138, 157], [70, 137, 157], [70, 136, 156], [70, 135, 156], [69, 134, 156], [69, 133, 156], [69, 132, 155], [68, 131, 155], [68, 130, 155], [68, 129, 155], [68, 128, 155], [67, 127, 154], [67, 126, 154], [67, 125, 154], [66, 124, 154], [66, 123, 153], [66, 122, 153], [66, 121, 153], [65, 120, 153], [65, 119, 153], [65, 118, 152], [64, 117, 152], [64, 116, 152], [64, 115, 152], [64, 114, 152], [64, 113, 151], [63, 112, 151], [63, 111, 151], [63, 110, 151], [63, 109, 151], [63, 108, 150], [62, 107, 150], [62, 106, 150], [62, 105, 150], [62, 104, 150], [62, 103, 149], [62, 102, 149], [62, 101, 149], [62, 100, 149], [62, 99, 148], [62, 98, 148], [62, 97, 148], [62, 96, 148], [62, 95, 147], [62, 94, 147], [62, 92, 147], [62, 91, 147], [62, 90, 146], [62, 89, 146], [62, 88, 146], [62, 87, 145], [62, 86, 145], [63, 85, 144], [63, 84, 144], [63, 83, 143], [63, 82, 143], [63, 80, 142], [64, 79, 141], [64, 78, 141], [64, 77, 140], [64, 76, 139], [65, 75, 138], [65, 74, 137], [65, 73, 136], [65, 72, 135], [65, 71, 133], [65, 70, 132], [65, 69, 131], [65, 68, 129], [66, 67, 128], [65, 66, 126], [65, 65, 125], [65, 64, 123], [65, 64, 122], [65, 63, 120], [65, 62, 118], [65, 61, 117], [64, 60, 115], [64, 60, 113], [64, 59, 112], [64, 58, 110], [63, 57, 108], [63, 56, 107], [63, 56, 105], [62, 55, 103], [62, 54, 102], [61, 53, 100], [61, 53, 98], [61, 52, 97], [60, 51, 95], [60, 50, 93], [59, 50, 92], [59, 49, 90], [58, 48, 88], [58, 48, 87], [57, 47, 85], [57, 46, 84], [56, 45, 82], [56, 45, 81], [55, 44, 79], [54, 43, 77], [54, 42, 76], [53, 42, 74], [53, 41, 73], [52, 40, 71], [52, 40, 70], [51, 39, 68], [50, 38, 67], [50, 37, 65], [49, 37, 64], [48, 36, 62], [48, 35, 61], [47, 34, 59], [47, 34, 58], [46, 33, 57], [45, 32, 55], [45, 31, 54], [44, 31, 52], [43, 30, 51], [43, 29, 50], [42, 28, 48], [41, 28, 47], [40, 27, 45], [40, 26, 44], ] _DELTA = [ [17, 32, 64], [18, 32, 65], [18, 33, 67], [19, 34, 68], [20, 34, 70], [20, 35, 71], [21, 36, 73], [22, 36, 75], [22, 37, 76], [23, 38, 78], [23, 38, 79], [24, 39, 81], [25, 40, 83], [25, 40, 84], [26, 41, 86], [27, 42, 88], [27, 42, 89], [28, 43, 91], [28, 44, 93], [29, 44, 95], [30, 45, 96], [30, 46, 98], [31, 46, 100], [31, 47, 102], [32, 48, 103], [32, 48, 105], [33, 49, 107], [33, 49, 109], [34, 50, 111], [34, 51, 112], [35, 51, 114], [35, 52, 116], [36, 53, 118], [36, 53, 120], [37, 54, 122], [37, 55, 124], [37, 55, 126], [38, 56, 128], [38, 56, 130], [38, 57, 132], [38, 58, 134], [39, 58, 135], [39, 59, 137], [39, 60, 139], [39, 61, 141], [38, 61, 143], [38, 62, 145], [38, 63, 146], [37, 64, 148], [37, 65, 149], [36, 66, 150], [35, 67, 151], [35, 68, 152], [34, 69, 153], [33, 70, 154], [33, 72, 154], [32, 73, 155], [31, 74, 155], [31, 75, 155], [30, 76, 156], [30, 77, 156], [30, 78, 156], [29, 79, 156], [29, 81, 156], [28, 82, 157], [28, 83, 157], [28, 84, 157], [28, 85, 157], [27, 86, 157], [27, 87, 158], [27, 88, 158], [27, 89, 158], [27, 90, 158], [27, 91, 158], [27, 92, 158], [27, 93, 158], [27, 94, 159], [27, 95, 159], [27, 96, 159], [27, 97, 159], [27, 98, 159], [27, 99, 159], [27, 100, 159], [28, 101, 160], [28, 102, 160], [28, 103, 160], [28, 104, 160], [29, 105, 160], [29, 106, 160], [29, 107, 161], [30, 108, 161], [30, 109, 161], [30, 110, 161], [31, 111, 161], [31, 112, 162], [31, 113, 162], [32, 114, 162], [32, 115, 162], [33, 116, 162], [33, 117, 163], [34, 118, 163], [34, 119, 163], [35, 120, 163], [35, 121, 163], [36, 122, 164], [36, 123, 164], [37, 124, 164], [37, 125, 164], [38, 126, 165], [39, 127, 165], [39, 128, 165], [40, 128, 165], [40, 129, 165], [41, 130, 166], [42, 131, 166], [42, 132, 166], [43, 133, 166], [43, 134, 167], [44, 135, 167], [45, 136, 167], [45, 137, 167], [46, 138, 168], [47, 139, 168], [48, 140, 168], [48, 141, 168], [49, 142, 169], [50, 143, 169], [50, 144, 169], [51, 145, 169], [52, 146, 170], [53, 146, 170], [54, 147, 170], [54, 148, 170], [55, 149, 171], [56, 150, 171], [57, 151, 171], [58, 152, 171], [59, 153, 172], [60, 154, 172], [61, 155, 172], [62, 156, 172], [63, 157, 172], [64, 158, 173], [65, 159, 173], [66, 160, 173], [67, 160, 173], [68, 161, 174], [70, 162, 174], [71, 163, 174], [72, 164, 174], [73, 165, 174], [75, 166, 175], [76, 167, 175], [78, 168, 175], [79, 169, 175], [81, 169, 175], [82, 170, 176], [84, 171, 176], [86, 172, 176], [87, 173, 176], [89, 174, 176], [91, 174, 177], [93, 175, 177], [94, 176, 177], [96, 177, 177], [98, 178, 178], [100, 178, 178], [102, 179, 178], [104, 180, 178], [106, 181, 179], [108, 181, 179], [110, 182, 179], [112, 183, 180], [114, 184, 180], [116, 184, 181], [118, 185, 181], [120, 186, 181], [122, 186, 182], [124, 187, 182], [126, 188, 183], [128, 189, 183], [130, 189, 184], [132, 190, 184], [134, 191, 185], [136, 191, 185], [138, 192, 186], [139, 193, 186], [141, 194, 187], [143, 194, 187], [145, 195, 188], [147, 196, 189], [149, 196, 189], [151, 197, 190], [152, 198, 190], [154, 199, 191], [156, 199, 192], [158, 200, 192], [160, 201, 193], [161, 202, 194], [163, 202, 194], [165, 203, 195], [167, 204, 196], [168, 205, 196], [170, 205, 197], [172, 206, 198], [173, 207, 198], [175, 208, 199], [177, 208, 200], [179, 209, 200], [180, 210, 201], [182, 211, 202], [184, 212, 202], [185, 212, 203], [187, 213, 204], [189, 214, 205], [190, 215, 205], [192, 216, 206], [193, 216, 207], [195, 217, 208], [197, 218, 208], [198, 219, 209], [200, 220, 210], [202, 221, 211], [203, 221, 211], [205, 222, 212], [206, 223, 213], [208, 224, 213], [209, 225, 214], [211, 226, 215], [213, 227, 216], [214, 227, 216], [216, 228, 217], [217, 229, 218], [219, 230, 218], [220, 231, 219], [222, 232, 220], [223, 233, 220], [225, 234, 221], [227, 235, 222], [228, 236, 222], [230, 237, 223], [231, 238, 224], [233, 238, 224], [234, 239, 225], [236, 240, 225], [238, 241, 226], [239, 242, 226], [241, 243, 227], [242, 244, 227], [244, 245, 228], [246, 246, 228], [247, 247, 229], [249, 248, 229], [251, 249, 229], [252, 250, 230], [254, 251, 230], [255, 253, 205], [254, 252, 203], [254, 250, 201], [253, 249, 199], [252, 248, 197], [252, 247, 194], [251, 246, 192], [250, 244, 190], [249, 243, 188], [249, 242, 186], [248, 241, 184], [247, 240, 182], [247, 238, 180], [246, 237, 177], [246, 236, 175], [245, 235, 173], [244, 234, 171], [243, 233, 169], [243, 231, 167], [242, 230, 165], [241, 229, 162], [241, 228, 160], [240, 227, 158], [239, 226, 156], [239, 225, 154], [238, 223, 152], [237, 222, 150], [237, 221, 147], [236, 220, 145], [235, 219, 143], [234, 218, 141], [234, 217, 139], [233, 216, 137], [232, 215, 134], [231, 214, 132], [231, 213, 130], [230, 212, 128], [229, 211, 126], [228, 210, 123], [227, 208, 121], [227, 207, 119], [226, 206, 117], [225, 205, 115], [224, 205, 113], [223, 204, 110], [222, 203, 108], [221, 202, 106], [220, 201, 104], [219, 200, 102], [218, 199, 100], [217, 198, 97], [216, 197, 95], [215, 196, 93], [214, 195, 91], [213, 194, 89], [212, 193, 87], [211, 193, 85], [210, 192, 83], [209, 191, 81], [208, 190, 79], [206, 189, 76], [205, 189, 74], [204, 188, 72], [203, 187, 70], [201, 186, 69], [200, 185, 67], [199, 185, 65], [197, 184, 63], [196, 183, 61], [195, 183, 59], [193, 182, 57], [192, 181, 55], [190, 180, 54], [189, 180, 52], [187, 179, 50], [186, 178, 48], [184, 178, 47], [183, 177, 45], [181, 176, 43], [180, 176, 42], [178, 175, 40], [177, 174, 39], [175, 174, 37], [173, 173, 35], [172, 173, 34], [170, 172, 32], [169, 171, 31], [167, 171, 30], [165, 170, 28], [164, 169, 27], [162, 169, 25], [160, 168, 24], [159, 168, 23], [157, 167, 21], [155, 166, 20], [154, 166, 19], [152, 165, 18], [150, 165, 16], [149, 164, 15], [147, 163, 14], [145, 163, 13], [143, 162, 12], [142, 162, 11], [140, 161, 10], [138, 160, 9], [136, 160, 8], [135, 159, 8], [133, 159, 7], [131, 158, 7], [129, 157, 6], [128, 157, 6], [126, 156, 6], [124, 156, 6], [122, 155, 6], [121, 154, 6], [119, 154, 6], [117, 153, 6], [115, 153, 6], [113, 152, 6], [112, 151, 7], [110, 151, 7], [108, 150, 7], [106, 149, 8], [104, 149, 9], [102, 148, 9], [101, 148, 10], [99, 147, 11], [97, 146, 11], [95, 146, 12], [93, 145, 13], [92, 144, 14], [90, 144, 15], [88, 143, 15], [86, 142, 16], [84, 142, 17], [82, 141, 18], [81, 140, 18], [79, 140, 19], [77, 139, 20], [75, 138, 21], [73, 138, 22], [72, 137, 22], [70, 136, 23], [68, 136, 24], [66, 135, 25], [64, 134, 25], [63, 133, 26], [61, 133, 27], [59, 132, 28], [57, 131, 28], [56, 131, 29], [54, 130, 30], [52, 129, 30], [50, 128, 31], [49, 127, 32], [47, 127, 32], [45, 126, 33], [44, 125, 33], [42, 124, 34], [40, 124, 35], [39, 123, 35], [37, 122, 36], [36, 121, 36], [34, 120, 37], [33, 120, 37], [31, 119, 38], [30, 118, 38], [28, 117, 39], [27, 116, 39], [26, 115, 39], [24, 115, 40], [23, 114, 40], [22, 113, 41], [21, 112, 41], [19, 111, 41], [18, 110, 42], [17, 109, 42], [16, 108, 42], [15, 108, 43], [15, 107, 43], [14, 106, 43], [13, 105, 43], [13, 104, 43], [12, 103, 44], [12, 102, 44], [11, 101, 44], [11, 100, 44], [11, 99, 44], [11, 99, 44], [11, 98, 45], [11, 97, 45], [11, 96, 45], [11, 95, 45], [11, 94, 45], [12, 93, 45], [12, 92, 45], [12, 91, 45], [13, 90, 45], [13, 89, 45], [14, 88, 45], [14, 87, 45], [15, 86, 44], [15, 85, 44], [16, 84, 44], [16, 84, 44], [16, 83, 44], [17, 82, 44], [17, 81, 44], [18, 80, 43], [18, 79, 43], [19, 78, 43], [19, 77, 43], [20, 76, 42], [20, 75, 42], [20, 74, 42], [21, 73, 42], [21, 72, 41], [22, 71, 41], [22, 70, 41], [22, 69, 40], [23, 68, 40], [23, 67, 39], [23, 66, 39], [23, 65, 39], [24, 64, 38], [24, 63, 38], [24, 63, 37], [24, 62, 37], [25, 61, 36], [25, 60, 36], [25, 59, 35], [25, 58, 35], [25, 57, 34], [25, 56, 34], [25, 55, 33], [25, 54, 33], [25, 53, 32], [25, 52, 31], [25, 51, 31], [25, 50, 30], [25, 49, 30], [25, 48, 29], [25, 47, 28], [25, 46, 28], [25, 45, 27], [25, 44, 26], [25, 44, 25], [25, 43, 25], [25, 42, 24], [24, 41, 23], [24, 40, 23], [24, 39, 22], [24, 38, 21], [24, 37, 20], [23, 36, 19], [23, 35, 19], ] _DENSE = [ [230, 241, 241], [228, 240, 240], [227, 239, 239], [225, 238, 239], [223, 237, 238], [221, 237, 237], [220, 236, 237], [218, 235, 236], [216, 234, 236], [215, 233, 235], [213, 233, 235], [211, 232, 234], [209, 231, 234], [208, 230, 233], [206, 229, 233], [204, 228, 232], [203, 228, 232], [201, 227, 232], [199, 226, 231], [198, 225, 231], [196, 224, 230], [194, 223, 230], [193, 223, 230], [191, 222, 230], [190, 221, 229], [188, 220, 229], [186, 219, 229], [185, 218, 228], [183, 218, 228], [182, 217, 228], [180, 216, 228], [178, 215, 228], [177, 214, 227], [175, 213, 227], [174, 212, 227], [172, 212, 227], [171, 211, 227], [169, 210, 227], [168, 209, 227], [166, 208, 227], [165, 207, 226], [163, 206, 226], [162, 206, 226], [160, 205, 226], [159, 204, 226], [158, 203, 226], [156, 202, 226], [155, 201, 226], [154, 200, 226], [152, 199, 226], [151, 198, 226], [150, 197, 226], [148, 197, 226], [147, 196, 226], [146, 195, 226], [144, 194, 226], [143, 193, 226], [142, 192, 226], [141, 191, 226], [140, 190, 226], [138, 189, 227], [137, 188, 227], [136, 187, 227], [135, 186, 227], [134, 185, 227], [133, 184, 227], [132, 183, 227], [131, 182, 227], [130, 181, 227], [129, 180, 227], [128, 179, 227], [127, 178, 227], [127, 177, 228], [126, 176, 228], [125, 175, 228], [124, 174, 228], [123, 173, 228], [123, 172, 228], [122, 171, 228], [121, 170, 228], [121, 169, 228], [120, 168, 228], [120, 167, 228], [119, 166, 228], [119, 165, 228], [118, 164, 229], [118, 163, 229], [117, 161, 229], [117, 160, 229], [117, 159, 229], [117, 158, 229], [116, 157, 229], [116, 156, 228], [116, 155, 228], [116, 154, 228], [116, 152, 228], [115, 151, 228], [115, 150, 228], [115, 149, 228], [115, 148, 228], [115, 147, 227], [115, 145, 227], [115, 144, 227], [115, 143, 227], [115, 142, 226], [116, 141, 226], [116, 139, 226], [116, 138, 226], [116, 137, 225], [116, 136, 225], [116, 135, 224], [116, 133, 224], [117, 132, 223], [117, 131, 223], [117, 130, 222], [117, 129, 222], [117, 127, 221], [117, 126, 221], [118, 125, 220], [118, 124, 220], [118, 123, 219], [118, 121, 218], [118, 120, 218], [119, 119, 217], [119, 118, 216], [119, 117, 215], [119, 115, 215], [119, 114, 214], [120, 113, 213], [120, 112, 212], [120, 111, 211], [120, 110, 210], [120, 108, 210], [120, 107, 209], [120, 106, 208], [121, 105, 207], [121, 104, 206], [121, 102, 205], [121, 101, 204], [121, 100, 203], [121, 99, 202], [121, 98, 201], [121, 97, 200], [121, 96, 199], [121, 94, 197], [121, 93, 196], [121, 92, 195], [121, 91, 194], [121, 90, 193], [121, 89, 192], [121, 88, 191], [121, 87, 189], [121, 86, 188], [121, 84, 187], [121, 83, 186], [121, 82, 184], [121, 81, 183], [121, 80, 182], [121, 79, 181], [120, 78, 179], [120, 77, 178], [120, 76, 177], [120, 75, 175], [120, 74, 174], [120, 73, 173], [119, 72, 171], [119, 71, 170], [119, 70, 169], [119, 69, 167], [119, 67, 166], [118, 66, 165], [118, 65, 163], [118, 64, 162], [118, 63, 160], [117, 62, 159], [117, 61, 157], [117, 60, 156], [116, 59, 155], [116, 59, 153], [116, 58, 152], [115, 57, 150], [115, 56, 149], [115, 55, 147], [114, 54, 146], [114, 53, 144], [114, 52, 143], [113, 51, 141], [113, 50, 140], [112, 49, 138], [112, 48, 136], [111, 47, 135], [111, 46, 133], [110, 45, 132], [110, 45, 130], [109, 44, 129], [109, 43, 127], [108, 42, 126], [108, 41, 124], [107, 40, 122], [107, 40, 121], [106, 39, 119], [106, 38, 117], [105, 37, 116], [104, 36, 114], [104, 36, 113], [103, 35, 111], [103, 34, 109], [102, 33, 108], [101, 33, 106], [101, 32, 104], [100, 31, 103], [99, 31, 101], [98, 30, 99], [98, 29, 98], [97, 29, 96], [96, 28, 94], [95, 27, 93], [95, 27, 91], [94, 26, 89], [93, 26, 88], [92, 25, 86], [91, 25, 84], [90, 24, 83], [90, 24, 81], [89, 23, 80], [88, 23, 78], [87, 22, 76], [86, 22, 75], [85, 22, 73], [84, 21, 72], [83, 21, 70], [82, 21, 68], [81, 20, 67], [80, 20, 65], [79, 20, 64], [78, 19, 62], [77, 19, 61], [75, 19, 59], [74, 19, 58], [73, 18, 56], [72, 18, 55], [71, 18, 54], [70, 18, 52], [69, 17, 51], [68, 17, 50], [66, 17, 48], [65, 17, 47], [64, 16, 46], [63, 16, 45], [62, 16, 43], [60, 16, 42], [59, 15, 41], [58, 15, 40], [57, 15, 39], [56, 15, 37], [54, 14, 36], ] _GRAY = [ [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [1, 1, 1], [1, 1, 1], [2, 2, 2], [2, 2, 2], [3, 3, 3], [3, 3, 3], [4, 4, 4], [5, 5, 5], [5, 5, 5], [6, 6, 6], [7, 7, 7], [8, 8, 8], [9, 9, 9], [10, 10, 10], [11, 11, 11], [12, 12, 12], [13, 13, 13], [15, 14, 14], [16, 15, 15], [17, 16, 16], [18, 17, 17], [19, 18, 18], [20, 19, 19], [21, 20, 20], [22, 21, 21], [23, 22, 22], [24, 23, 23], [25, 24, 24], [26, 25, 25], [27, 26, 26], [28, 27, 27], [29, 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], [37, 37, 36], [38, 38, 37], [39, 38, 38], [40, 39, 39], [41, 40, 40], [42, 41, 41], [43, 42, 42], [43, 43, 43], [44, 44, 44], [45, 45, 45], [46, 46, 46], [47, 47, 46], [48, 48, 47], [49, 48, 48], [50, 49, 49], [51, 50, 50], [52, 51, 51], [53, 52, 52], [53, 53, 53], [54, 54, 54], [55, 55, 55], [56, 56, 55], [57, 57, 56], [58, 57, 57], [59, 58, 58], [60, 59, 59], [61, 60, 60], [62, 61, 61], [62, 62, 62], [63, 63, 63], [64, 64, 64], [65, 65, 64], [66, 66, 65], [67, 66, 66], [68, 67, 67], [69, 68, 68], [70, 69, 69], [71, 70, 70], [71, 71, 71], [72, 72, 72], [73, 73, 72], [74, 74, 73], [75, 75, 74], [76, 75, 75], [77, 76, 76], [78, 77, 77], [79, 78, 78], [80, 79, 79], [80, 80, 80], [81, 81, 80], [82, 82, 81], [83, 83, 82], [84, 84, 83], [85, 84, 84], [86, 85, 85], [87, 86, 86], [88, 87, 87], [89, 88, 88], [90, 89, 89], [90, 90, 90], [91, 91, 90], [92, 92, 91], [93, 93, 92], [94, 94, 93], [95, 94, 94], [96, 95, 95], [97, 96, 96], [98, 97, 97], [99, 98, 98], [100, 99, 99], [101, 100, 100], [101, 101, 100], [102, 102, 101], [103, 103, 102], [104, 104, 103], [105, 105, 104], [106, 106, 105], [107, 107, 106], [108, 107, 107], [109, 108, 108], [110, 109, 109], [111, 110, 110], [112, 111, 111], [113, 112, 112], [114, 113, 113], [115, 114, 113], [115, 115, 114], [116, 116, 115], [117, 117, 116], [118, 118, 117], [119, 119, 118], [120, 120, 119], [121, 121, 120], [122, 122, 121], [123, 123, 122], [124, 124, 123], [125, 125, 124], [126, 125, 125], [127, 126, 126], [128, 127, 127], [129, 128, 128], [130, 129, 129], [131, 130, 130], [132, 131, 131], [133, 132, 132], [134, 133, 133], [135, 134, 134], [136, 135, 135], [137, 136, 136], [138, 137, 137], [139, 138, 138], [140, 139, 139], [141, 140, 140], [142, 141, 141], [143, 142, 142], [144, 143, 143], [145, 144, 144], [146, 145, 145], [147, 146, 146], [148, 147, 147], [149, 148, 148], [150, 149, 149], [151, 150, 150], [152, 151, 151], [153, 152, 152], [154, 153, 153], [155, 154, 154], [156, 155, 155], [157, 157, 156], [158, 158, 157], [159, 159, 158], [160, 160, 159], [161, 161, 160], [162, 162, 161], [163, 163, 162], [164, 164, 163], [165, 165, 164], [166, 166, 165], [167, 167, 166], [168, 168, 167], [170, 169, 168], [171, 170, 169], [172, 171, 170], [173, 172, 172], [174, 173, 173], [175, 175, 174], [176, 176, 175], [177, 177, 176], [178, 178, 177], [179, 179, 178], [180, 180, 179], [182, 181, 180], [183, 182, 181], [184, 183, 182], [185, 185, 184], [186, 186, 185], [187, 187, 186], [188, 188, 187], [189, 189, 188], [190, 190, 189], [192, 191, 190], [193, 192, 191], [194, 194, 193], [195, 195, 194], [196, 196, 195], [197, 197, 196], [198, 198, 197], [200, 199, 198], [201, 200, 199], [202, 202, 201], [203, 203, 202], [204, 204, 203], [205, 205, 204], [207, 206, 205], [208, 208, 206], [209, 209, 208], [210, 210, 209], [211, 211, 210], [213, 212, 211], [214, 214, 212], [215, 215, 214], [216, 216, 215], [217, 217, 216], [219, 218, 217], [220, 220, 219], [221, 221, 220], [222, 222, 221], [224, 223, 222], [225, 225, 223], [226, 226, 225], [227, 227, 226], [229, 228, 227], [230, 230, 228], [231, 231, 230], [232, 232, 231], [234, 234, 232], [235, 235, 234], [236, 236, 235], [238, 237, 236], [239, 239, 237], [240, 240, 239], [242, 241, 240], [243, 243, 241], [244, 244, 243], [245, 245, 244], [247, 247, 245], [248, 248, 247], [249, 249, 248], [251, 251, 249], [252, 252, 251], [254, 253, 252], [255, 255, 253], ] _HALINE = [ [42, 24, 108], [42, 25, 110], [42, 25, 113], [43, 25, 115], [43, 25, 117], [44, 26, 120], [44, 26, 122], [45, 26, 125], [45, 26, 127], [45, 27, 130], [46, 27, 132], [46, 27, 135], [46, 28, 137], [46, 28, 140], [46, 28, 142], [46, 29, 145], [46, 29, 147], [46, 30, 149], [46, 30, 152], [46, 31, 154], [45, 32, 156], [45, 33, 157], [44, 34, 159], [43, 36, 160], [42, 37, 161], [41, 39, 162], [40, 41, 163], [38, 43, 163], [37, 45, 163], [36, 46, 163], [34, 48, 163], [33, 50, 162], [32, 52, 162], [30, 53, 161], [29, 55, 161], [28, 57, 160], [27, 58, 160], [25, 60, 159], [24, 61, 158], [23, 63, 158], [22, 64, 157], [21, 65, 156], [20, 67, 156], [19, 68, 155], [18, 69, 155], [17, 71, 154], [16, 72, 153], [15, 73, 153], [15, 74, 152], [14, 76, 151], [13, 77, 151], [13, 78, 150], [13, 79, 150], [12, 80, 149], [12, 81, 149], [12, 82, 148], [12, 83, 148], [12, 84, 147], [13, 85, 147], [13, 86, 146], [13, 87, 146], [14, 88, 145], [14, 89, 145], [15, 90, 145], [15, 91, 144], [16, 92, 144], [17, 93, 143], [17, 94, 143], [18, 95, 143], [19, 96, 142], [20, 97, 142], [20, 98, 142], [21, 99, 142], [22, 99, 141], [23, 100, 141], [24, 101, 141], [24, 102, 140], [25, 103, 140], [26, 104, 140], [27, 105, 140], [28, 106, 140], [29, 107, 139], [29, 107, 139], [30, 108, 139], [31, 109, 139], [32, 110, 139], [33, 111, 139], [34, 112, 138], [34, 113, 138], [35, 113, 138], [36, 114, 138], [37, 115, 138], [38, 116, 138], [38, 117, 138], [39, 118, 138], [40, 118, 137], [41, 119, 137], [41, 120, 137], [42, 121, 137], [43, 122, 137], [43, 123, 137], [44, 124, 137], [45, 124, 137], [45, 125, 137], [46, 126, 137], [47, 127, 137], [47, 128, 137], [48, 129, 137], [49, 130, 137], [49, 130, 136], [50, 131, 136], [51, 132, 136], [51, 133, 136], [52, 134, 136], [52, 135, 136], [53, 136, 136], [53, 137, 136], [54, 137, 136], [55, 138, 136], [55, 139, 136], [56, 140, 136], [56, 141, 136], [57, 142, 136], [57, 143, 136], [58, 144, 135], [58, 144, 135], [59, 145, 135], [59, 146, 135], [60, 147, 135], [60, 148, 135], [61, 149, 135], [61, 150, 135], [62, 151, 135], [62, 152, 134], [63, 153, 134], [63, 153, 134], [64, 154, 134], [65, 155, 134], [65, 156, 133], [66, 157, 133], [66, 158, 133], [67, 159, 133], [67, 160, 132], [68, 161, 132], [68, 162, 132], [69, 163, 132], [70, 164, 131], [70, 164, 131], [71, 165, 131], [72, 166, 130], [72, 167, 130], [73, 168, 130], [74, 169, 129], [74, 170, 129], [75, 171, 129], [76, 172, 128], [76, 173, 128], [77, 174, 127], [78, 174, 127], [79, 175, 126], [80, 176, 126], [81, 177, 125], [81, 178, 125], [82, 179, 124], [83, 180, 124], [84, 181, 123], [85, 182, 123], [86, 183, 122], [87, 184, 121], [88, 184, 121], [90, 185, 120], [91, 186, 119], [92, 187, 119], [93, 188, 118], [94, 189, 117], [95, 190, 117], [97, 191, 116], [98, 191, 115], [99, 192, 114], [101, 193, 114], [102, 194, 113], [104, 195, 112], [105, 196, 111], [107, 196, 110], [108, 197, 110], [110, 198, 109], [112, 199, 108], [113, 200, 107], [115, 200, 106], [117, 201, 105], [119, 202, 104], [120, 203, 104], [122, 203, 103], [124, 204, 102], [126, 205, 101], [128, 206, 100], [130, 206, 99], [132, 207, 98], [134, 208, 98], [137, 208, 97], [139, 209, 96], [141, 210, 95], [143, 210, 95], [146, 211, 94], [148, 211, 93], [151, 212, 93], [153, 212, 93], [155, 213, 92], [158, 214, 92], [160, 214, 92], [163, 215, 92], [165, 215, 92], [168, 216, 92], [170, 216, 92], [173, 216, 92], [175, 217, 93], [177, 217, 93], [180, 218, 94], [182, 218, 95], [184, 219, 96], [187, 219, 97], [189, 220, 98], [191, 220, 99], [193, 221, 100], [196, 221, 101], [198, 222, 102], [200, 222, 103], [202, 223, 105], [204, 223, 106], [206, 224, 108], [208, 224, 109], [210, 225, 111], [212, 225, 112], [214, 226, 114], [216, 226, 115], [218, 227, 117], [220, 227, 119], [222, 228, 121], [224, 229, 122], [225, 229, 124], [227, 230, 126], [229, 230, 128], [231, 231, 129], [233, 231, 131], [235, 232, 133], [236, 233, 135], [238, 233, 137], [240, 234, 138], [242, 234, 140], [243, 235, 142], [245, 236, 144], [247, 236, 146], [248, 237, 148], [250, 238, 150], [252, 238, 152], [253, 239, 154], ] _ICE = [ [4, 6, 19], [5, 6, 20], [5, 7, 21], [6, 8, 23], [7, 9, 24], [8, 10, 26], [9, 11, 27], [10, 12, 29], [11, 13, 30], [12, 13, 31], [13, 14, 33], [14, 15, 34], [15, 16, 36], [16, 17, 37], [17, 18, 39], [18, 19, 40], [19, 19, 42], [20, 20, 43], [21, 21, 44], [22, 22, 46], [23, 23, 47], [23, 24, 49], [24, 24, 50], [25, 25, 52], [26, 26, 53], [27, 27, 55], [28, 28, 56], [29, 28, 58], [30, 29, 59], [31, 30, 61], [31, 31, 62], [32, 31, 64], [33, 32, 65], [34, 33, 67], [35, 34, 68], [36, 34, 70], [37, 35, 71], [37, 36, 73], [38, 37, 74], [39, 37, 76], [40, 38, 78], [41, 39, 79], [41, 40, 81], [42, 40, 82], [43, 41, 84], [44, 42, 85], [44, 43, 87], [45, 43, 89], [46, 44, 90], [47, 45, 92], [47, 46, 94], [48, 47, 95], [49, 47, 97], [49, 48, 98], [50, 49, 100], [51, 50, 102], [51, 50, 103], [52, 51, 105], [53, 52, 107], [53, 53, 108], [54, 53, 110], [54, 54, 112], [55, 55, 113], [56, 56, 115], [56, 57, 117], [57, 57, 118], [57, 58, 120], [58, 59, 122], [58, 60, 123], [58, 61, 125], [59, 62, 127], [59, 62, 128], [60, 63, 130], [60, 64, 132], [60, 65, 133], [61, 66, 135], [61, 67, 137], [61, 68, 138], [62, 69, 140], [62, 70, 141], [62, 71, 143], [62, 72, 144], [62, 73, 146], [62, 73, 147], [63, 74, 149], [63, 75, 150], [63, 76, 151], [63, 78, 153], [63, 79, 154], [63, 80, 155], [63, 81, 157], [63, 82, 158], [63, 83, 159], [63, 84, 160], [63, 85, 161], [63, 86, 162], [63, 87, 163], [63, 88, 164], [63, 89, 165], [62, 90, 166], [62, 92, 167], [62, 93, 168], [62, 94, 169], [62, 95, 170], [62, 96, 171], [62, 97, 171], [62, 98, 172], [62, 99, 173], [62, 101, 173], [62, 102, 174], [62, 103, 175], [62, 104, 175], [62, 105, 176], [62, 106, 176], [63, 107, 177], [63, 108, 178], [63, 110, 178], [63, 111, 179], [63, 112, 179], [63, 113, 180], [64, 114, 180], [64, 115, 180], [64, 116, 181], [64, 117, 181], [65, 118, 182], [65, 120, 182], [66, 121, 183], [66, 122, 183], [66, 123, 183], [67, 124, 184], [67, 125, 184], [68, 126, 185], [68, 127, 185], [69, 128, 185], [69, 129, 186], [70, 130, 186], [70, 132, 187], [71, 133, 187], [71, 134, 187], [72, 135, 188], [73, 136, 188], [73, 137, 188], [74, 138, 189], [75, 139, 189], [75, 140, 189], [76, 141, 190], [77, 142, 190], [78, 143, 191], [78, 144, 191], [79, 145, 191], [80, 146, 192], [81, 148, 192], [81, 149, 192], [82, 150, 193], [83, 151, 193], [84, 152, 194], [85, 153, 194], [85, 154, 194], [86, 155, 195], [87, 156, 195], [88, 157, 195], [89, 158, 196], [90, 159, 196], [91, 160, 197], [92, 161, 197], [93, 162, 197], [94, 163, 198], [95, 164, 198], [95, 166, 199], [96, 167, 199], [97, 168, 199], [98, 169, 200], [99, 170, 200], [100, 171, 201], [101, 172, 201], [103, 173, 201], [104, 174, 202], [105, 175, 202], [106, 176, 203], [107, 177, 203], [108, 178, 203], [109, 179, 204], [110, 180, 204], [111, 181, 205], [113, 182, 205], [114, 184, 206], [115, 185, 206], [116, 186, 206], [117, 187, 207], [119, 188, 207], [120, 189, 208], [121, 190, 208], [123, 191, 208], [124, 192, 209], [125, 193, 209], [127, 194, 210], [128, 195, 210], [130, 196, 211], [131, 197, 211], [133, 198, 211], [134, 199, 212], [136, 200, 212], [137, 201, 213], [139, 202, 213], [140, 203, 214], [142, 204, 214], [144, 205, 215], [146, 206, 215], [147, 207, 216], [149, 208, 216], [151, 209, 217], [153, 210, 217], [154, 211, 218], [156, 212, 218], [158, 213, 219], [160, 214, 220], [162, 214, 220], [164, 215, 221], [166, 216, 222], [168, 217, 222], [169, 218, 223], [171, 219, 224], [173, 220, 224], [175, 221, 225], [177, 222, 226], [179, 223, 227], [181, 224, 227], [183, 225, 228], [185, 226, 229], [186, 227, 230], [188, 228, 231], [190, 229, 231], [192, 230, 232], [194, 230, 233], [196, 231, 234], [198, 232, 235], [200, 233, 236], [201, 234, 237], [203, 235, 238], [205, 236, 239], [207, 237, 239], [209, 238, 240], [211, 239, 241], [213, 240, 242], [214, 241, 243], [216, 242, 244], [218, 243, 245], [220, 244, 246], [222, 245, 247], [224, 246, 248], [225, 247, 249], [227, 249, 250], [229, 250, 251], [231, 251, 251], [232, 252, 252], [234, 253, 253], ] _MATTER = [ [254, 237, 176], [253, 236, 175], [253, 234, 173], [253, 233, 172], [253, 232, 171], [253, 230, 169], [253, 229, 168], [253, 227, 167], [253, 226, 165], [252, 225, 164], [252, 223, 163], [252, 222, 161], [252, 220, 160], [252, 219, 159], [252, 218, 157], [252, 216, 156], [251, 215, 155], [251, 213, 154], [251, 212, 152], [251, 211, 151], [251, 209, 150], [251, 208, 148], [251, 207, 147], [250, 205, 146], [250, 204, 145], [250, 202, 144], [250, 201, 142], [250, 200, 141], [250, 198, 140], [250, 197, 139], [249, 195, 138], [249, 194, 136], [249, 193, 135], [249, 191, 134], [249, 190, 133], [249, 189, 132], [248, 187, 131], [248, 186, 130], [248, 184, 128], [248, 183, 127], [248, 182, 126], [247, 180, 125], [247, 179, 124], [247, 178, 123], [247, 176, 122], [247, 175, 121], [246, 174, 120], [246, 172, 119], [246, 171, 118], [246, 169, 117], [245, 168, 116], [245, 167, 115], [245, 165, 114], [245, 164, 113], [245, 163, 112], [244, 161, 111], [244, 160, 110], [244, 159, 109], [244, 157, 108], [243, 156, 107], [243, 154, 106], [243, 153, 105], [242, 152, 104], [242, 150, 104], [242, 149, 103], [242, 148, 102], [241, 146, 101], [241, 145, 100], [241, 143, 99], [240, 142, 99], [240, 141, 98], [240, 139, 97], [239, 138, 96], [239, 137, 96], [239, 135, 95], [238, 134, 94], [238, 133, 94], [238, 131, 93], [237, 130, 92], [237, 129, 92], [237, 127, 91], [236, 126, 90], [236, 124, 90], [236, 123, 89], [235, 122, 89], [235, 120, 88], [234, 119, 88], [234, 118, 87], [233, 116, 87], [233, 115, 86], [233, 114, 86], [232, 112, 86], [232, 111, 85], [231, 110, 85], [231, 108, 85], [230, 107, 84], [230, 106, 84], [229, 104, 84], [229, 103, 84], [228, 102, 83], [227, 100, 83], [227, 99, 83], [226, 98, 83], [226, 96, 83], [225, 95, 83], [224, 94, 83], [224, 93, 83], [223, 91, 83], [223, 90, 83], [222, 89, 83], [221, 88, 83], [220, 86, 83], [220, 85, 83], [219, 84, 83], [218, 83, 83], [217, 81, 83], [217, 80, 83], [216, 79, 84], [215, 78, 84], [214, 77, 84], [213, 76, 84], [213, 75, 84], [212, 74, 85], [211, 72, 85], [210, 71, 85], [209, 70, 86], [208, 69, 86], [207, 68, 86], [206, 67, 86], [205, 66, 87], [204, 65, 87], [203, 64, 87], [202, 63, 88], [201, 62, 88], [200, 61, 88], [199, 61, 89], [198, 60, 89], [197, 59, 89], [196, 58, 90], [195, 57, 90], [194, 56, 90], [193, 55, 91], [192, 54, 91], [191, 54, 91], [190, 53, 92], [189, 52, 92], [187, 51, 92], [186, 50, 93], [185, 50, 93], [184, 49, 93], [183, 48, 94], [182, 47, 94], [181, 47, 94], [179, 46, 95], [178, 45, 95], [177, 45, 95], [176, 44, 95], [175, 43, 96], [174, 43, 96], [172, 42, 96], [171, 41, 96], [170, 41, 97], [169, 40, 97], [167, 40, 97], [166, 39, 97], [165, 38, 98], [164, 38, 98], [163, 37, 98], [161, 37, 98], [160, 36, 98], [159, 36, 98], [158, 35, 99], [156, 35, 99], [155, 34, 99], [154, 34, 99], [153, 34, 99], [151, 33, 99], [150, 33, 99], [149, 32, 99], [147, 32, 99], [146, 31, 99], [145, 31, 99], [144, 31, 99], [142, 30, 99], [141, 30, 99], [140, 30, 99], [138, 29, 99], [137, 29, 99], [136, 29, 99], [134, 29, 99], [133, 28, 99], [132, 28, 99], [130, 28, 99], [129, 28, 99], [128, 27, 98], [126, 27, 98], [125, 27, 98], [124, 27, 98], [122, 27, 98], [121, 26, 97], [120, 26, 97], [118, 26, 97], [117, 26, 97], [116, 26, 96], [114, 26, 96], [113, 25, 96], [112, 25, 95], [110, 25, 95], [109, 25, 94], [107, 25, 94], [106, 25, 94], [105, 25, 93], [103, 25, 93], [102, 24, 92], [101, 24, 92], [99, 24, 91], [98, 24, 91], [97, 24, 90], [95, 24, 90], [94, 24, 89], [93, 23, 88], [91, 23, 88], [90, 23, 87], [89, 23, 87], [87, 23, 86], [86, 23, 85], [85, 23, 85], [83, 22, 84], [82, 22, 83], [81, 22, 83], [79, 22, 82], [78, 22, 81], [77, 21, 81], [75, 21, 80], [74, 21, 79], [73, 21, 78], [71, 21, 78], [70, 20, 77], [69, 20, 76], [68, 20, 75], [66, 20, 75], [65, 19, 74], [64, 19, 73], [62, 19, 72], [61, 19, 71], [60, 18, 71], [59, 18, 70], [57, 18, 69], [56, 17, 68], [55, 17, 67], [54, 17, 66], [52, 17, 65], [51, 16, 65], [50, 16, 64], [48, 15, 63], [47, 15, 62], ] _OXY = [ [64, 5, 5], [65, 5, 5], [67, 6, 6], [68, 6, 6], [71, 6, 7], [72, 6, 7], [73, 6, 7], [75, 6, 8], [77, 7, 8], [79, 7, 9], [80, 7, 9], [81, 7, 9], [84, 7, 10], [85, 7, 11], [87, 7, 11], [88, 7, 11], [91, 7, 12], [92, 7, 12], [93, 7, 12], [95, 7, 13], [98, 7, 13], [99, 7, 14], [100, 7, 14], [102, 7, 14], [104, 7, 14], [106, 6, 15], [107, 6, 15], [109, 6, 15], [111, 6, 15], [113, 6, 15], [114, 6, 15], [115, 5, 15], [118, 5, 15], [120, 5, 15], [121, 5, 15], [122, 5, 15], [125, 5, 14], [126, 5, 14], [127, 6, 13], [129, 6, 13], [131, 8, 12], [132, 9, 12], [133, 10, 11], [134, 12, 11], [136, 14, 10], [137, 16, 10], [138, 17, 9], [139, 19, 9], [141, 21, 8], [142, 23, 8], [143, 24, 8], [80, 79, 79], [80, 80, 80], [81, 81, 80], [82, 81, 81], [83, 83, 83], [84, 84, 83], [85, 84, 84], [86, 85, 85], [87, 87, 86], [88, 87, 87], [89, 88, 88], [89, 89, 88], [91, 90, 90], [92, 91, 91], [92, 92, 91], [93, 93, 92], [95, 94, 94], [95, 95, 94], [96, 96, 95], [97, 96, 96], [98, 98, 97], [99, 99, 98], [100, 99, 99], [101, 100, 100], [102, 102, 101], [103, 102, 102], [104, 103, 103], [104, 104, 103], [106, 105, 105], [107, 106, 106], [107, 107, 106], [108, 108, 107], [110, 109, 109], [111, 110, 110], [111, 111, 110], [112, 112, 111], [114, 113, 113], [114, 114, 113], [115, 115, 114], [116, 115, 115], [118, 117, 116], [118, 118, 117], [119, 119, 118], [120, 119, 119], [121, 121, 120], [122, 122, 121], [123, 123, 122], [124, 123, 123], [125, 125, 124], [126, 126, 125], [127, 127, 126], [129, 128, 127], [129, 129, 128], [130, 130, 129], [131, 131, 130], [133, 132, 131], [133, 133, 132], [134, 134, 133], [135, 135, 134], [137, 136, 135], [137, 137, 136], [138, 138, 137], [139, 139, 138], [141, 140, 140], [141, 141, 140], [142, 142, 141], [143, 143, 142], [145, 144, 144], [146, 145, 144], [146, 146, 145], [147, 147, 146], [149, 149, 148], [150, 149, 149], [151, 150, 149], [151, 151, 150], [153, 153, 152], [154, 154, 153], [155, 154, 154], [156, 155, 154], [157, 157, 156], [158, 158, 157], [159, 159, 158], [160, 160, 159], [162, 161, 160], [163, 162, 161], [163, 163, 162], [164, 164, 163], [166, 166, 165], [167, 166, 166], [168, 167, 167], [169, 168, 167], [170, 170, 169], [171, 171, 170], [172, 172, 171], [173, 173, 172], [175, 174, 174], [176, 175, 174], [177, 176, 175], [177, 177, 176], [179, 179, 178], [180, 180, 179], [181, 181, 180], [183, 183, 182], [184, 183, 183], [185, 184, 183], [186, 185, 184], [187, 187, 186], [188, 188, 187], [189, 189, 188], [190, 190, 189], [192, 192, 191], [193, 193, 192], [194, 194, 193], [195, 195, 194], [197, 197, 195], [198, 197, 196], [199, 198, 197], [200, 199, 198], [202, 201, 200], [203, 202, 201], [204, 203, 202], [204, 204, 203], [206, 206, 205], [207, 207, 206], [208, 208, 207], [209, 209, 208], [211, 211, 210], [212, 212, 211], [213, 213, 212], [214, 214, 213], [216, 216, 215], [217, 217, 216], [218, 218, 217], [219, 219, 218], [221, 221, 220], [222, 222, 221], [223, 223, 222], [224, 224, 223], [226, 226, 225], [227, 227, 226], [228, 228, 227], [230, 229, 228], [232, 231, 230], [233, 232, 231], [234, 233, 232], [235, 235, 233], [237, 237, 235], [238, 238, 236], [239, 239, 238], [240, 240, 239], [242, 242, 241], [243, 243, 242], [244, 244, 243], [248, 254, 105], [246, 253, 103], [245, 252, 100], [244, 252, 98], [241, 250, 93], [240, 249, 90], [239, 248, 87], [238, 247, 84], [236, 245, 78], [235, 243, 75], [235, 242, 72], [234, 241, 69], [234, 238, 64], [234, 237, 62], [234, 235, 61], [234, 234, 59], [234, 231, 56], [233, 230, 55], [233, 228, 54], [233, 227, 52], [233, 224, 50], [232, 223, 49], [232, 221, 48], [232, 220, 48], [232, 217, 46], [231, 216, 45], [231, 215, 44], [231, 213, 43], [230, 211, 42], [230, 209, 41], [230, 208, 40], [229, 207, 40], [229, 204, 38], [229, 203, 38], [228, 201, 37], [228, 200, 37], [227, 198, 35], [227, 196, 35], [227, 195, 34], [226, 194, 33], [226, 191, 32], [225, 190, 32], [225, 189, 31], [224, 187, 31], [224, 185, 30], [223, 184, 29], [223, 182, 29], [223, 181, 28], [222, 179, 27], [221, 177, 26], [221, 176, 26], [221, 175, 25], ] _PHASE = [ [168, 120, 13], [169, 119, 15], [171, 118, 17], [172, 117, 19], [174, 116, 20], [175, 115, 22], [177, 114, 24], [178, 113, 25], [179, 112, 27], [181, 111, 29], [182, 110, 30], [183, 109, 32], [185, 108, 34], [186, 107, 35], [187, 106, 37], [189, 105, 38], [190, 104, 40], [191, 103, 42], [192, 102, 43], [193, 101, 45], [194, 100, 46], [196, 98, 48], [197, 97, 50], [198, 96, 51], [199, 95, 53], [200, 94, 55], [201, 93, 56], [202, 92, 58], [203, 90, 60], [204, 89, 62], [205, 88, 63], [206, 87, 65], [207, 86, 67], [208, 84, 69], [208, 83, 71], [209, 82, 73], [210, 81, 75], [211, 79, 77], [212, 78, 79], [213, 77, 81], [213, 75, 83], [214, 74, 85], [215, 73, 87], [216, 71, 90], [216, 70, 92], [217, 69, 94], [217, 67, 97], [218, 66, 99], [219, 64, 102], [219, 63, 104], [220, 61, 107], [220, 60, 109], [221, 58, 112], [221, 57, 115], [221, 56, 118], [222, 54, 120], [222, 53, 123], [222, 51, 126], [222, 50, 129], [223, 49, 132], [223, 47, 135], [223, 46, 138], [223, 45, 141], [223, 43, 144], [223, 42, 147], [222, 41, 151], [222, 40, 154], [222, 40, 157], [222, 39, 160], [221, 38, 163], [221, 38, 166], [220, 37, 169], [220, 37, 173], [219, 37, 176], [218, 37, 179], [218, 38, 182], [217, 38, 185], [216, 39, 188], [215, 39, 190], [214, 40, 193], [213, 41, 196], [212, 42, 199], [211, 43, 201], [210, 45, 204], [209, 46, 206], [208, 47, 208], [207, 49, 211], [205, 50, 213], [204, 52, 215], [203, 53, 217], [201, 55, 219], [200, 57, 221], [198, 58, 223], [197, 60, 225], [195, 62, 226], [194, 63, 228], [192, 65, 229], [190, 67, 231], [189, 69, 232], [187, 70, 233], [185, 72, 235], [184, 74, 236], [182, 75, 237], [180, 77, 238], [178, 79, 239], [176, 80, 239], [174, 82, 240], [172, 84, 241], [170, 85, 241], [169, 87, 242], [167, 89, 243], [164, 90, 243], [162, 92, 243], [160, 93, 244], [158, 95, 244], [156, 96, 244], [154, 98, 244], [152, 99, 244], [149, 101, 244], [147, 102, 244], [145, 104, 244], [143, 105, 244], [140, 107, 243], [138, 108, 243], [135, 109, 243], [133, 111, 242], [130, 112, 241], [128, 113, 241], [125, 115, 240], [123, 116, 239], [120, 117, 239], [118, 119, 238], [115, 120, 237], [112, 121, 236], [110, 122, 235], [107, 123, 233], [104, 124, 232], [102, 126, 231], [99, 127, 230], [96, 128, 228], [93, 129, 227], [90, 130, 225], [88, 131, 223], [85, 132, 222], [82, 133, 220], [79, 134, 218], [77, 135, 216], [74, 135, 215], [71, 136, 213], [69, 137, 211], [66, 138, 209], [64, 138, 207], [61, 139, 205], [59, 140, 203], [56, 140, 201], [54, 141, 199], [52, 142, 196], [50, 142, 194], [48, 143, 192], [46, 143, 190], [44, 144, 188], [42, 144, 186], [40, 145, 184], [39, 145, 182], [37, 145, 180], [36, 146, 178], [35, 146, 176], [33, 146, 174], [32, 147, 172], [31, 147, 170], [30, 147, 168], [29, 148, 166], [28, 148, 164], [27, 148, 162], [26, 148, 160], [25, 149, 158], [25, 149, 156], [24, 149, 154], [23, 149, 152], [22, 150, 150], [21, 150, 148], [20, 150, 146], [20, 150, 144], [19, 151, 142], [18, 151, 140], [17, 151, 138], [16, 151, 136], [15, 151, 134], [14, 152, 132], [13, 152, 130], [13, 152, 128], [12, 152, 126], [12, 152, 124], [11, 153, 121], [11, 153, 119], [11, 153, 117], [12, 153, 115], [13, 153, 112], [14, 153, 110], [15, 154, 107], [17, 154, 105], [19, 154, 102], [21, 154, 99], [23, 154, 97], [25, 154, 94], [28, 154, 91], [31, 154, 88], [33, 154, 85], [36, 154, 82], [39, 154, 79], [43, 154, 76], [46, 154, 73], [49, 153, 70], [53, 153, 67], [56, 153, 64], [60, 153, 60], [64, 152, 57], [67, 152, 54], [71, 151, 50], [75, 151, 47], [79, 150, 44], [83, 150, 41], [86, 149, 38], [90, 148, 35], [94, 148, 32], [97, 147, 30], [101, 146, 27], [104, 145, 25], [107, 144, 23], [111, 144, 22], [114, 143, 20], [116, 142, 19], [119, 141, 18], [122, 140, 17], [125, 139, 16], [127, 139, 15], [130, 138, 15], [132, 137, 14], [134, 136, 14], [136, 135, 14], [139, 134, 13], [141, 133, 13], [143, 132, 13], [145, 131, 13], [147, 131, 13], [149, 130, 13], [151, 129, 13], [153, 128, 13], [155, 127, 13], [157, 126, 13], [159, 125, 13], [161, 124, 13], [162, 123, 13], [164, 122, 13], [166, 121, 13], [168, 120, 13], ] _SOLAR = [ [51, 20, 24], [53, 20, 24], [54, 21, 25], [55, 21, 25], [56, 21, 26], [58, 22, 26], [59, 22, 27], [60, 23, 27], [61, 23, 28], [62, 24, 28], [64, 24, 29], [65, 24, 29], [66, 25, 29], [67, 25, 30], [69, 26, 30], [70, 26, 31], [71, 26, 31], [72, 27, 31], [74, 27, 32], [75, 27, 32], [76, 28, 32], [77, 28, 33], [79, 28, 33], [80, 29, 33], [81, 29, 34], [82, 30, 34], [84, 30, 34], [85, 30, 34], [86, 31, 35], [87, 31, 35], [89, 31, 35], [90, 32, 35], [91, 32, 35], [92, 32, 36], [94, 33, 36], [95, 33, 36], [96, 33, 36], [97, 34, 36], [99, 34, 36], [100, 34, 36], [101, 35, 36], [102, 35, 37], [104, 35, 37], [105, 36, 37], [106, 36, 37], [107, 36, 37], [109, 37, 37], [110, 37, 37], [111, 37, 37], [112, 38, 37], [114, 38, 37], [115, 39, 36], [116, 39, 36], [117, 39, 36], [119, 40, 36], [120, 40, 36], [121, 41, 36], [122, 41, 36], [123, 42, 36], [124, 42, 35], [126, 43, 35], [127, 43, 35], [128, 44, 35], [129, 44, 34], [130, 45, 34], [131, 45, 34], [132, 46, 34], [133, 46, 33], [135, 47, 33], [136, 48, 33], [137, 48, 33], [138, 49, 32], [139, 49, 32], [140, 50, 32], [141, 51, 31], [142, 52, 31], [143, 52, 31], [144, 53, 30], [145, 54, 30], [146, 54, 30], [147, 55, 29], [147, 56, 29], [148, 57, 29], [149, 58, 29], [150, 58, 28], [151, 59, 28], [152, 60, 28], [153, 61, 27], [154, 62, 27], [154, 63, 27], [155, 64, 26], [156, 64, 26], [157, 65, 26], [158, 66, 26], [159, 67, 25], [159, 68, 25], [160, 69, 25], [161, 70, 25], [162, 71, 24], [163, 72, 24], [163, 73, 24], [164, 74, 24], [165, 74, 23], [166, 75, 23], [166, 76, 23], [167, 77, 23], [168, 78, 22], [168, 79, 22], [169, 80, 22], [170, 81, 22], [171, 82, 22], [171, 83, 21], [172, 84, 21], [173, 85, 21], [173, 86, 21], [174, 87, 21], [175, 88, 20], [175, 89, 20], [176, 90, 20], [177, 91, 20], [177, 92, 20], [178, 93, 20], [178, 94, 20], [179, 95, 20], [180, 96, 19], [180, 97, 19], [181, 98, 19], [182, 99, 19], [182, 100, 19], [183, 101, 19], [183, 102, 19], [184, 104, 19], [184, 105, 19], [185, 106, 19], [186, 107, 19], [186, 108, 19], [187, 109, 19], [187, 110, 19], [188, 111, 19], [188, 112, 19], [189, 113, 19], [190, 114, 19], [190, 115, 19], [191, 116, 19], [191, 117, 19], [192, 118, 19], [192, 119, 20], [193, 121, 20], [193, 122, 20], [194, 123, 20], [194, 124, 20], [195, 125, 20], [195, 126, 21], [196, 127, 21], [196, 128, 21], [197, 129, 21], [197, 130, 21], [198, 132, 22], [198, 133, 22], [199, 134, 22], [199, 135, 22], [199, 136, 23], [200, 137, 23], [200, 138, 23], [201, 139, 24], [201, 140, 24], [202, 142, 24], [202, 143, 25], [203, 144, 25], [203, 145, 25], [203, 146, 26], [204, 147, 26], [204, 148, 26], [205, 150, 27], [205, 151, 27], [206, 152, 28], [206, 153, 28], [206, 154, 28], [207, 155, 29], [207, 156, 29], [208, 158, 30], [208, 159, 30], [208, 160, 31], [209, 161, 31], [209, 162, 32], [209, 164, 32], [210, 165, 32], [210, 166, 33], [211, 167, 33], [211, 168, 34], [211, 169, 34], [212, 171, 35], [212, 172, 36], [212, 173, 36], [213, 174, 37], [213, 175, 37], [213, 177, 38], [214, 178, 38], [214, 179, 39], [214, 180, 39], [215, 181, 40], [215, 183, 40], [215, 184, 41], [215, 185, 42], [216, 186, 42], [216, 188, 43], [216, 189, 43], [217, 190, 44], [217, 191, 44], [217, 193, 45], [217, 194, 46], [218, 195, 46], [218, 196, 47], [218, 198, 47], [218, 199, 48], [219, 200, 49], [219, 201, 49], [219, 203, 50], [219, 204, 50], [220, 205, 51], [220, 206, 52], [220, 208, 52], [220, 209, 53], [221, 210, 54], [221, 212, 54], [221, 213, 55], [221, 214, 55], [221, 215, 56], [222, 217, 57], [222, 218, 57], [222, 219, 58], [222, 221, 59], [222, 222, 59], [222, 223, 60], [223, 225, 61], [223, 226, 61], [223, 227, 62], [223, 229, 63], [223, 230, 63], [223, 231, 64], [223, 233, 65], [224, 234, 65], [224, 235, 66], [224, 237, 67], [224, 238, 67], [224, 240, 68], [224, 241, 69], [224, 242, 69], [224, 244, 70], [224, 245, 71], [224, 246, 71], [224, 248, 72], [224, 249, 73], [224, 251, 73], [225, 252, 74], [225, 253, 75], ] _SPEED = [ [255, 253, 205], [254, 252, 203], [254, 250, 201], [253, 249, 199], [252, 248, 197], [252, 247, 194], [251, 246, 192], [250, 244, 190], [249, 243, 188], [249, 242, 186], [248, 241, 184], [247, 240, 182], [247, 238, 180], [246, 237, 177], [246, 236, 175], [245, 235, 173], [244, 234, 171], [243, 233, 169], [243, 231, 167], [242, 230, 165], [241, 229, 162], [241, 228, 160], [240, 227, 158], [239, 226, 156], [239, 225, 154], [238, 223, 152], [237, 222, 150], [237, 221, 147], [236, 220, 145], [235, 219, 143], [234, 218, 141], [234, 217, 139], [233, 216, 137], [232, 215, 134], [231, 214, 132], [231, 213, 130], [230, 212, 128], [229, 211, 126], [228, 210, 123], [227, 208, 121], [227, 207, 119], [226, 206, 117], [225, 205, 115], [224, 205, 113], [223, 204, 110], [222, 203, 108], [221, 202, 106], [220, 201, 104], [219, 200, 102], [218, 199, 100], [217, 198, 97], [216, 197, 95], [215, 196, 93], [214, 195, 91], [213, 194, 89], [212, 193, 87], [211, 193, 85], [210, 192, 83], [209, 191, 81], [208, 190, 79], [206, 189, 76], [205, 189, 74], [204, 188, 72], [203, 187, 70], [201, 186, 69], [200, 185, 67], [199, 185, 65], [197, 184, 63], [196, 183, 61], [195, 183, 59], [193, 182, 57], [192, 181, 55], [190, 180, 54], [189, 180, 52], [187, 179, 50], [186, 178, 48], [184, 178, 47], [183, 177, 45], [181, 176, 43], [180, 176, 42], [178, 175, 40], [177, 174, 39], [175, 174, 37], [173, 173, 35], [172, 173, 34], [170, 172, 32], [169, 171, 31], [167, 171, 30], [165, 170, 28], [164, 169, 27], [162, 169, 25], [160, 168, 24], [159, 168, 23], [157, 167, 21], [155, 166, 20], [154, 166, 19], [152, 165, 18], [150, 165, 16], [149, 164, 15], [147, 163, 14], [145, 163, 13], [143, 162, 12], [142, 162, 11], [140, 161, 10], [138, 160, 9], [136, 160, 8], [135, 159, 8], [133, 159, 7], [131, 158, 7], [129, 157, 6], [128, 157, 6], [126, 156, 6], [124, 156, 6], [122, 155, 6], [121, 154, 6], [119, 154, 6], [117, 153, 6], [115, 153, 6], [113, 152, 6], [112, 151, 7], [110, 151, 7], [108, 150, 7], [106, 149, 8], [104, 149, 9], [102, 148, 9], [101, 148, 10], [99, 147, 11], [97, 146, 11], [95, 146, 12], [93, 145, 13], [92, 144, 14], [90, 144, 15], [88, 143, 15], [86, 142, 16], [84, 142, 17], [82, 141, 18], [81, 140, 18], [79, 140, 19], [77, 139, 20], [75, 138, 21], [73, 138, 22], [72, 137, 22], [70, 136, 23], [68, 136, 24], [66, 135, 25], [64, 134, 25], [63, 133, 26], [61, 133, 27], [59, 132, 28], [57, 131, 28], [56, 131, 29], [54, 130, 30], [52, 129, 30], [50, 128, 31], [49, 127, 32], [47, 127, 32], [45, 126, 33], [44, 125, 33], [42, 124, 34], [40, 124, 35], [39, 123, 35], [37, 122, 36], [36, 121, 36], [34, 120, 37], [33, 120, 37], [31, 119, 38], [30, 118, 38], [28, 117, 39], [27, 116, 39], [26, 115, 39], [24, 115, 40], [23, 114, 40], [22, 113, 41], [21, 112, 41], [19, 111, 41], [18, 110, 42], [17, 109, 42], [16, 108, 42], [15, 108, 43], [15, 107, 43], [14, 106, 43], [13, 105, 43], [13, 104, 43], [12, 103, 44], [12, 102, 44], [11, 101, 44], [11, 100, 44], [11, 99, 44], [11, 99, 44], [11, 98, 45], [11, 97, 45], [11, 96, 45], [11, 95, 45], [11, 94, 45], [12, 93, 45], [12, 92, 45], [12, 91, 45], [13, 90, 45], [13, 89, 45], [14, 88, 45], [14, 87, 45], [15, 86, 44], [15, 85, 44], [16, 84, 44], [16, 84, 44], [16, 83, 44], [17, 82, 44], [17, 81, 44], [18, 80, 43], [18, 79, 43], [19, 78, 43], [19, 77, 43], [20, 76, 42], [20, 75, 42], [20, 74, 42], [21, 73, 42], [21, 72, 41], [22, 71, 41], [22, 70, 41], [22, 69, 40], [23, 68, 40], [23, 67, 39], [23, 66, 39], [23, 65, 39], [24, 64, 38], [24, 63, 38], [24, 63, 37], [24, 62, 37], [25, 61, 36], [25, 60, 36], [25, 59, 35], [25, 58, 35], [25, 57, 34], [25, 56, 34], [25, 55, 33], [25, 54, 33], [25, 53, 32], [25, 52, 31], [25, 51, 31], [25, 50, 30], [25, 49, 30], [25, 48, 29], [25, 47, 28], [25, 46, 28], [25, 45, 27], [25, 44, 26], [25, 44, 25], [25, 43, 25], [25, 42, 24], [24, 41, 23], [24, 40, 23], [24, 39, 22], [24, 38, 21], [24, 37, 20], [23, 36, 19], [23, 35, 19], ] _TEMPO = [ [255, 246, 244], [253, 245, 243], [252, 244, 241], [251, 243, 240], [249, 242, 238], [248, 241, 237], [247, 240, 235], [245, 239, 234], [244, 238, 232], [242, 237, 231], [241, 236, 229], [240, 235, 228], [238, 234, 226], [237, 234, 225], [235, 233, 223], [234, 232, 222], [233, 231, 221], [231, 230, 219], [230, 229, 218], [228, 228, 216], [227, 227, 215], [226, 226, 214], [224, 226, 212], [223, 225, 211], [221, 224, 209], [220, 223, 208], [219, 222, 207], [217, 221, 205], [216, 221, 204], [214, 220, 203], [213, 219, 201], [211, 218, 200], [210, 217, 199], [209, 216, 197], [207, 216, 196], [206, 215, 195], [204, 214, 193], [203, 213, 192], [201, 212, 191], [200, 212, 190], [198, 211, 188], [197, 210, 187], [195, 209, 186], [194, 209, 185], [192, 208, 183], [191, 207, 182], [189, 206, 181], [188, 206, 180], [186, 205, 179], [185, 204, 178], [183, 203, 176], [182, 203, 175], [180, 202, 174], [179, 201, 173], [177, 200, 172], [176, 200, 171], [174, 199, 170], [172, 198, 169], [171, 197, 168], [169, 197, 166], [168, 196, 165], [166, 195, 164], [164, 195, 163], [163, 194, 162], [161, 193, 161], [160, 192, 160], [158, 192, 159], [156, 191, 159], [155, 190, 158], [153, 190, 157], [151, 189, 156], [150, 188, 155], [148, 188, 154], [146, 187, 153], [145, 186, 152], [143, 186, 151], [141, 185, 151], [139, 184, 150], [138, 183, 149], [136, 183, 148], [134, 182, 147], [133, 181, 147], [131, 181, 146], [129, 180, 145], [127, 179, 144], [125, 179, 144], [124, 178, 143], [122, 177, 142], [120, 177, 142], [118, 176, 141], [116, 175, 141], [114, 175, 140], [113, 174, 139], [111, 173, 139], [109, 173, 138], [107, 172, 138], [105, 171, 137], [103, 171, 137], [101, 170, 136], [99, 169, 136], [97, 169, 135], [95, 168, 135], [93, 167, 134], [91, 166, 134], [89, 166, 133], [87, 165, 133], [86, 164, 133], [84, 164, 132], [82, 163, 132], [80, 162, 132], [78, 161, 131], [75, 161, 131], [73, 160, 131], [71, 159, 130], [69, 159, 130], [67, 158, 130], [65, 157, 130], [63, 156, 129], [61, 156, 129], [59, 155, 129], [58, 154, 129], [56, 153, 129], [54, 152, 128], [52, 152, 128], [50, 151, 128], [48, 150, 128], [46, 149, 128], [44, 148, 127], [42, 147, 127], [41, 147, 127], [39, 146, 127], [37, 145, 127], [36, 144, 127], [34, 143, 126], [33, 142, 126], [31, 141, 126], [30, 141, 126], [28, 140, 126], [27, 139, 125], [26, 138, 125], [25, 137, 125], [23, 136, 125], [22, 135, 124], [22, 134, 124], [21, 133, 124], [20, 132, 124], [19, 132, 123], [19, 131, 123], [18, 130, 123], [18, 129, 123], [17, 128, 122], [17, 127, 122], [17, 126, 122], [17, 125, 121], [17, 124, 121], [17, 123, 121], [17, 122, 120], [17, 121, 120], [17, 120, 120], [17, 119, 119], [17, 118, 119], [18, 118, 118], [18, 117, 118], [18, 116, 118], [19, 115, 117], [19, 114, 117], [19, 113, 116], [20, 112, 116], [20, 111, 115], [20, 110, 115], [21, 109, 115], [21, 108, 114], [22, 107, 114], [22, 106, 113], [22, 105, 113], [23, 104, 112], [23, 103, 112], [23, 102, 111], [24, 101, 111], [24, 101, 110], [24, 100, 110], [25, 99, 109], [25, 98, 109], [25, 97, 108], [25, 96, 108], [26, 95, 107], [26, 94, 107], [26, 93, 106], [26, 92, 106], [26, 91, 105], [27, 90, 104], [27, 89, 104], [27, 88, 103], [27, 88, 103], [27, 87, 102], [27, 86, 102], [28, 85, 101], [28, 84, 101], [28, 83, 100], [28, 82, 99], [28, 81, 99], [28, 80, 98], [28, 79, 98], [28, 78, 97], [28, 77, 97], [28, 76, 96], [28, 76, 95], [28, 75, 95], [28, 74, 94], [28, 73, 94], [28, 72, 93], [28, 71, 93], [28, 70, 92], [28, 69, 91], [28, 68, 91], [28, 67, 90], [28, 66, 90], [28, 66, 89], [28, 65, 88], [28, 64, 88], [27, 63, 87], [27, 62, 87], [27, 61, 86], [27, 60, 86], [27, 59, 85], [27, 58, 84], [27, 57, 84], [27, 56, 83], [26, 55, 83], [26, 54, 82], [26, 54, 81], [26, 53, 81], [26, 52, 80], [26, 51, 80], [25, 50, 79], [25, 49, 79], [25, 48, 78], [25, 47, 77], [25, 46, 77], [24, 45, 76], [24, 44, 76], [24, 43, 75], [24, 42, 75], [24, 41, 74], [23, 40, 74], [23, 39, 73], [23, 38, 72], [23, 37, 72], [23, 36, 71], [22, 35, 71], [22, 34, 70], [22, 33, 70], [22, 32, 69], [21, 31, 69], [21, 30, 68], [21, 29, 68], ] _THERMAL = [ [4, 35, 51], [4, 36, 53], [4, 37, 55], [4, 37, 57], [5, 38, 59], [5, 39, 61], [5, 39, 63], [5, 40, 65], [5, 41, 67], [6, 41, 69], [6, 42, 71], [6, 43, 73], [7, 43, 75], [7, 44, 77], [7, 44, 80], [8, 45, 82], [8, 46, 84], [9, 46, 86], [9, 47, 89], [10, 47, 91], [11, 48, 93], [12, 48, 96], [12, 48, 98], [13, 49, 101], [14, 49, 103], [15, 50, 106], [16, 50, 108], [18, 50, 111], [19, 51, 114], [20, 51, 116], [22, 51, 119], [23, 51, 122], [25, 51, 124], [26, 52, 127], [28, 52, 130], [30, 52, 132], [31, 52, 135], [33, 52, 138], [35, 52, 140], [37, 52, 143], [39, 52, 145], [42, 51, 147], [44, 51, 149], [46, 51, 151], [48, 51, 153], [51, 51, 155], [53, 51, 156], [55, 51, 157], [57, 51, 158], [60, 51, 159], [62, 52, 159], [64, 52, 159], [66, 52, 160], [68, 53, 160], [70, 53, 160], [71, 54, 160], [73, 54, 159], [75, 55, 159], [77, 55, 159], [78, 56, 158], [80, 57, 158], [82, 57, 157], [83, 58, 157], [85, 59, 157], [86, 59, 156], [88, 60, 156], [89, 61, 155], [91, 61, 155], [92, 62, 154], [94, 63, 154], [95, 63, 153], [96, 64, 153], [98, 65, 152], [99, 65, 152], [101, 66, 151], [102, 67, 151], [103, 67, 150], [105, 68, 150], [106, 69, 149], [108, 69, 149], [109, 70, 148], [110, 71, 148], [112, 71, 148], [113, 72, 147], [114, 72, 147], [116, 73, 146], [117, 74, 146], [118, 74, 146], [120, 75, 145], [121, 75, 145], [122, 76, 145], [124, 77, 144], [125, 77, 144], [126, 78, 144], [128, 78, 143], [129, 79, 143], [131, 80, 143], [132, 80, 142], [133, 81, 142], [135, 81, 142], [136, 82, 141], [137, 82, 141], [139, 83, 141], [140, 83, 140], [142, 84, 140], [143, 84, 140], [144, 85, 139], [146, 85, 139], [147, 86, 139], [149, 86, 138], [150, 87, 138], [151, 87, 138], [153, 88, 137], [154, 88, 137], [156, 89, 137], [157, 89, 136], [159, 90, 136], [160, 90, 135], [162, 91, 135], [163, 91, 134], [165, 92, 134], [166, 92, 134], [168, 93, 133], [169, 93, 132], [171, 93, 132], [172, 94, 131], [174, 94, 131], [175, 95, 130], [177, 95, 130], [178, 96, 129], [180, 96, 128], [181, 97, 128], [183, 97, 127], [184, 98, 126], [186, 98, 126], [187, 98, 125], [189, 99, 124], [190, 99, 123], [192, 100, 123], [193, 100, 122], [195, 101, 121], [196, 101, 120], [198, 102, 119], [199, 102, 118], [201, 103, 117], [202, 103, 116], [204, 104, 115], [205, 104, 114], [206, 105, 113], [208, 105, 112], [209, 106, 111], [211, 106, 110], [212, 107, 109], [214, 108, 108], [215, 108, 107], [216, 109, 106], [218, 110, 105], [219, 110, 104], [220, 111, 102], [222, 112, 101], [223, 112, 100], [224, 113, 99], [225, 114, 98], [227, 114, 96], [228, 115, 95], [229, 116, 94], [230, 117, 93], [231, 118, 91], [232, 119, 90], [234, 120, 89], [235, 121, 88], [236, 121, 86], [237, 122, 85], [238, 123, 84], [238, 125, 83], [239, 126, 82], [240, 127, 80], [241, 128, 79], [242, 129, 78], [243, 130, 77], [243, 131, 76], [244, 133, 75], [245, 134, 74], [245, 135, 73], [246, 136, 72], [246, 138, 71], [247, 139, 70], [247, 140, 69], [248, 142, 68], [248, 143, 67], [249, 145, 67], [249, 146, 66], [249, 147, 65], [250, 149, 65], [250, 150, 64], [250, 152, 63], [251, 153, 63], [251, 155, 62], [251, 156, 62], [251, 158, 62], [251, 159, 61], [251, 161, 61], [252, 163, 61], [252, 164, 61], [252, 166, 60], [252, 167, 60], [252, 169, 60], [252, 170, 60], [252, 172, 60], [252, 174, 60], [252, 175, 60], [252, 177, 60], [251, 178, 61], [251, 180, 61], [251, 182, 61], [251, 183, 61], [251, 185, 62], [251, 187, 62], [251, 188, 62], [250, 190, 63], [250, 191, 63], [250, 193, 64], [250, 195, 64], [249, 196, 65], [249, 198, 65], [249, 200, 66], [248, 201, 67], [248, 203, 67], [248, 205, 68], [247, 206, 69], [247, 208, 69], [247, 210, 70], [246, 211, 71], [246, 213, 71], [245, 215, 72], [245, 216, 73], [244, 218, 74], [244, 220, 75], [243, 221, 75], [243, 223, 76], [242, 225, 77], [242, 226, 78], [241, 228, 79], [241, 230, 80], [240, 232, 81], [239, 233, 81], [239, 235, 82], [238, 237, 83], [237, 238, 84], [237, 240, 85], [236, 242, 86], [235, 244, 87], [234, 245, 88], [234, 247, 89], [233, 249, 90], [232, 250, 91], ] _TURBID = [ [233, 246, 171], [232, 245, 170], [232, 243, 168], [231, 242, 167], [230, 241, 165], [230, 240, 164], [229, 239, 162], [229, 238, 161], [228, 236, 159], [228, 235, 158], [227, 234, 156], [227, 233, 155], [226, 232, 154], [226, 231, 152], [225, 229, 151], [224, 228, 149], [224, 227, 148], [223, 226, 146], [223, 225, 145], [222, 224, 143], [222, 223, 142], [221, 221, 141], [221, 220, 139], [220, 219, 138], [220, 218, 136], [219, 217, 135], [219, 216, 134], [218, 215, 132], [218, 213, 131], [217, 212, 130], [217, 211, 128], [217, 210, 127], [216, 209, 126], [216, 208, 124], [215, 207, 123], [215, 206, 122], [214, 204, 120], [214, 203, 119], [213, 202, 118], [213, 201, 116], [212, 200, 115], [212, 199, 114], [211, 198, 113], [211, 197, 111], [211, 195, 110], [210, 194, 109], [210, 193, 108], [209, 192, 107], [209, 191, 105], [208, 190, 104], [208, 189, 103], [207, 188, 102], [207, 187, 101], [207, 186, 100], [206, 184, 98], [206, 183, 97], [205, 182, 96], [205, 181, 95], [204, 180, 94], [204, 179, 93], [203, 178, 92], [203, 177, 91], [202, 176, 90], [202, 175, 89], [202, 174, 88], [201, 172, 87], [201, 171, 86], [200, 170, 85], [200, 169, 84], [199, 168, 83], [199, 167, 82], [198, 166, 81], [198, 165, 81], [197, 164, 80], [197, 163, 79], [196, 162, 78], [196, 161, 77], [195, 160, 77], [195, 159, 76], [194, 158, 75], [194, 156, 74], [193, 155, 74], [193, 154, 73], [192, 153, 72], [192, 152, 72], [191, 151, 71], [191, 150, 71], [190, 149, 70], [189, 148, 69], [189, 147, 69], [188, 146, 68], [188, 145, 68], [187, 144, 67], [187, 143, 67], [186, 142, 66], [185, 141, 66], [185, 140, 66], [184, 139, 65], [183, 138, 65], [183, 137, 64], [182, 137, 64], [182, 136, 64], [181, 135, 64], [180, 134, 63], [179, 133, 63], [179, 132, 63], [178, 131, 62], [177, 130, 62], [177, 129, 62], [176, 128, 62], [175, 127, 61], [175, 126, 61], [174, 125, 61], [173, 125, 61], [172, 124, 61], [172, 123, 61], [171, 122, 60], [170, 121, 60], [169, 120, 60], [168, 119, 60], [168, 119, 60], [167, 118, 60], [166, 117, 60], [165, 116, 60], [164, 115, 59], [164, 114, 59], [163, 114, 59], [162, 113, 59], [161, 112, 59], [160, 111, 59], [159, 110, 59], [158, 110, 59], [158, 109, 59], [157, 108, 59], [156, 107, 59], [155, 107, 59], [154, 106, 59], [153, 105, 59], [152, 104, 59], [151, 104, 58], [150, 103, 58], [150, 102, 58], [149, 101, 58], [148, 101, 58], [147, 100, 58], [146, 99, 58], [145, 98, 58], [144, 98, 58], [143, 97, 58], [142, 96, 58], [141, 96, 58], [140, 95, 58], [139, 94, 58], [138, 94, 58], [137, 93, 58], [136, 92, 58], [135, 92, 57], [134, 91, 57], [133, 90, 57], [132, 90, 57], [131, 89, 57], [130, 88, 57], [129, 88, 57], [128, 87, 57], [127, 86, 57], [126, 86, 57], [125, 85, 56], [124, 84, 56], [123, 84, 56], [122, 83, 56], [121, 83, 56], [120, 82, 56], [119, 81, 56], [118, 81, 56], [117, 80, 55], [116, 79, 55], [115, 79, 55], [114, 78, 55], [113, 78, 55], [112, 77, 55], [111, 76, 54], [110, 76, 54], [109, 75, 54], [108, 75, 54], [107, 74, 53], [106, 73, 53], [105, 73, 53], [103, 72, 53], [102, 72, 53], [101, 71, 52], [100, 70, 52], [99, 70, 52], [98, 69, 52], [97, 69, 51], [96, 68, 51], [95, 67, 51], [94, 67, 51], [93, 66, 50], [92, 66, 50], [91, 65, 50], [90, 65, 49], [89, 64, 49], [88, 63, 49], [87, 63, 48], [86, 62, 48], [85, 62, 48], [84, 61, 48], [83, 60, 47], [82, 60, 47], [81, 59, 47], [80, 59, 46], [79, 58, 46], [78, 57, 46], [77, 57, 45], [75, 56, 45], [74, 56, 44], [73, 55, 44], [72, 54, 44], [71, 54, 43], [70, 53, 43], [69, 53, 43], [68, 52, 42], [67, 51, 42], [66, 51, 41], [65, 50, 41], [64, 50, 41], [63, 49, 40], [62, 48, 40], [61, 48, 39], [60, 47, 39], [59, 47, 39], [58, 46, 38], [57, 45, 38], [56, 45, 37], [55, 44, 37], [54, 43, 36], [53, 43, 36], [52, 42, 36], [51, 42, 35], [50, 41, 35], [49, 40, 34], [48, 40, 34], [47, 39, 33], [46, 38, 33], [45, 38, 32], [44, 37, 32], [43, 36, 31], [42, 36, 31], [41, 35, 31], [40, 35, 30], [39, 34, 30], [38, 33, 29], [37, 33, 29], [36, 32, 28], [35, 31, 28], [34, 31, 27], ] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/cmocean/diverging.py0000644000076500000240000000146113052672644021622 0ustar00jiffyclubstaff""" Diverging color maps from the cmocean package: https://github.com/matplotlib/cmocean. """ from __future__ import absolute_import import itertools from . import cmoceanpalette from . import colormaps from .. import utils _PALETTE_TYPE = 'diverging' _NAMES_TO_DATA = { 'Balance': colormaps._BALANCE, 'Curl': colormaps._CURL, 'Delta': colormaps._DELTA, } _NAME_MAP = utils.make_name_map(_NAMES_TO_DATA.keys()) _NAMES_AND_LENGTHS = utils.make_names_and_lengths( sorted(_NAMES_TO_DATA.keys())) print_maps = utils.print_maps_factory( 'diverging cmocean', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'divergine cmocean', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, cmoceanpalette.CmoceanMap) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/cmocean/sequential.py0000644000076500000240000000215213052672644022014 0ustar00jiffyclubstaff""" Sequential color maps from the cmocean package: https://github.com/matplotlib/cmocean. """ from __future__ import absolute_import import itertools from . import cmoceanpalette from . import colormaps from .. import utils _PALETTE_TYPE = 'sequential' _NAMES_TO_DATA = { 'Algae': colormaps._ALGAE, 'Amp': colormaps._AMP, 'Deep': colormaps._DEEP, 'Dense': colormaps._DENSE, 'Gray': colormaps._GRAY, 'Haline': colormaps._HALINE, 'Ice': colormaps._ICE, 'Matter': colormaps._MATTER, 'Oxy': colormaps._OXY, 'Phase': colormaps._PHASE, 'Solar': colormaps._SOLAR, 'Speed': colormaps._SPEED, 'Tempo': colormaps._TEMPO, 'Thermal': colormaps._THERMAL, 'Turbid': colormaps._TURBID, } _NAMES_AND_LENGTHS = utils.make_names_and_lengths( sorted(_NAMES_TO_DATA.keys())) print_maps = utils.print_maps_factory( 'sequential cmocean', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'sequential cmocean', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, cmoceanpalette.CmoceanMap) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1681945963.324146 palettable-3.3.3/palettable/colorbrewer/0000755000076500000240000000000014420072553020201 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/palettable/colorbrewer/__init__.py0000644000076500000240000000016412475521673022325 0ustar00jiffyclubstafffrom __future__ import absolute_import from .colorbrewer import * from . import diverging, qualitative, sequential ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1680752834.0 palettable-3.3.3/palettable/colorbrewer/colorbrewer.py0000644000076500000240000001424514413440302023077 0ustar00jiffyclubstafffrom __future__ import absolute_import from __future__ import print_function import webbrowser from ..palette import Palette from .colorbrewer_all_schemes import COLOR_MAPS __all__ = ('COLOR_MAPS', 'print_maps', 'print_all_maps', 'print_maps_by_type', 'get_map', 'MAP_TYPES', 'BrewerMap') MAP_TYPES = ('sequential', 'diverging', 'qualitative') def print_maps(map_type=None, number=None): """ Print maps by type and/or number of defined colors. Parameters ---------- map_type : {'sequential', 'diverging', 'qualitative'}, optional Filter output by map type. By default all maps are printed. number : int, optional Filter output by number of defined colors. By default there is no numeric filtering. """ if not map_type and not number: print_all_maps() elif map_type: print_maps_by_type(map_type, number) else: s = ('Invalid parameter combination. ' 'number without map_type is not supported.') raise ValueError(s) def print_all_maps(): """ Print the name and number of defined colors of all available color maps. """ for t in MAP_TYPES: print_maps_by_type(t) def print_maps_by_type(map_type, number=None): """ Print all available maps of a given type. Parameters ---------- map_type : {'sequential', 'diverging', 'qualitative'} Select map type to print. number : int, optional Filter output by number of defined colors. By default there is no numeric filtering. """ if map_type.lower() not in MAP_TYPES: s = 'Invalid map type, must be one of {0}'.format(MAP_TYPES) raise ValueError(s) print(map_type) # maps are keyed by capitalized types in COLOR_MAPS map_type = map_type.capitalize() map_keys = sorted(COLOR_MAPS[map_type].keys()) format_str = '{0:8} : {1}' for mk in map_keys: num_keys = sorted(COLOR_MAPS[map_type][mk].keys(), key=int) if not number or str(number) in num_keys: num_str = '{' + ', '.join(num_keys) + '}' print(format_str.format(mk, num_str)) class BrewerMap(Palette): """ Representation of a colorbrewer2 color map with matplotlib compatible views of the map. Parameters ---------- name : str map_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. colorbrewer2_url : str hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap """ @property def colorbrewer2_url(self): """ URL that can be used to view the color map at colorbrewer2.org. """ url = 'http://colorbrewer2.org/index.html?type={0}&scheme={1}&n={2}' return url.format(self.type.lower(), self.name, self.number) def colorbrewer2(self): """ View this color map at colorbrewer2.org. This will open colorbrewer2.org in your default web browser. """ webbrowser.open_new_tab(self.colorbrewer2_url) # pragma: no cover def get_map(name, map_type, number, reverse=False): """ Return a `BrewerMap` representation of the specified color map. Parameters ---------- name : str Name of color map. Use `print_maps` to see available color maps. map_type : {'sequential', 'diverging', 'qualitative'} Select color map type. number : int Number of defined colors in color map. reverse : bool, optional Set to True to get the reversed color map. """ number = str(number) # check for valid type if map_type.lower() not in MAP_TYPES: s = 'Invalid map type, must be one of {0}'.format(MAP_TYPES) raise ValueError(s) # maps are keyed by capitalized types in COLOR_MAPS map_type = map_type.capitalize() # make a dict of lower case map name to map name so this can be # insensitive to case. # this would be a perfect spot for a dict comprehension but going to # wait on that to preserve 2.6 compatibility. # map_names = {k.lower(): k for k in COLOR_MAPS[map_type].iterkeys()} map_names = dict((k.lower(), k) for k in COLOR_MAPS[map_type].keys()) # check for valid name if name.lower() not in map_names: s = 'Invalid color map name {0!r} for type {1!r}.\n' s = s.format(name, map_type) valid_names = [str(k) for k in COLOR_MAPS[map_type].keys()] valid_names.sort() s += 'Valid names are: {0}'.format(valid_names) raise ValueError(s) name = map_names[name.lower()] # check for valid number if number not in COLOR_MAPS[map_type][name]: s = 'Invalid number for map type {0!r} and name {1!r}.\n' s = s.format(map_type, str(name)) valid_numbers = [int(k) for k in COLOR_MAPS[map_type][name].keys()] valid_numbers.sort() s += 'Valid numbers are : {0}'.format(valid_numbers) raise ValueError(s) colors = COLOR_MAPS[map_type][name][number]['Colors'] if reverse: name += '_r' colors = [x for x in reversed(colors)] return BrewerMap(name, map_type.lower(), colors) def _load_maps_by_type(map_type): """ Load all maps of a given type into a dictionary. Color maps are loaded as BrewerMap objects. Dictionary is keyed by map name and then integer numbers of defined colors. There is an additional 'max' key that points to the color map with the largest number of defined colors. Parameters ---------- map_type : {'sequential', 'diverging', 'qualitative'} Returns ------- maps : dict of BrewerMap """ map_type = map_type.capitalize() seq_maps = COLOR_MAPS[map_type] loaded_maps = {} for map_name in seq_maps: for num in seq_maps[map_name]: inum = int(num) name = '{0}_{1}'.format(map_name, num) loaded_maps[name] = get_map(map_name, map_type, inum) loaded_maps[name + '_r'] = get_map( map_name, map_type, inum, reverse=True) return loaded_maps ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1680752834.0 palettable-3.3.3/palettable/colorbrewer/colorbrewer_all_schemes.py0000644000076500000240000030224714413440302025440 0ustar00jiffyclubstaffCOLOR_MAPS = { "Sequential": { "Blues": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 222, 235, 247 ], [ 158, 202, 225 ], [ 49, 130, 189 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 239, 243, 255 ], [ 189, 215, 231 ], [ 107, 174, 214 ], [ 33, 113, 181 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 239, 243, 255 ], [ 189, 215, 231 ], [ 107, 174, 214 ], [ 49, 130, 189 ], [ 8, 81, 156 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 239, 243, 255 ], [ 198, 219, 239 ], [ 158, 202, 225 ], [ 107, 174, 214 ], [ 49, 130, 189 ], [ 8, 81, 156 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 239, 243, 255 ], [ 198, 219, 239 ], [ 158, 202, 225 ], [ 107, 174, 214 ], [ 66, 146, 198 ], [ 33, 113, 181 ], [ 8, 69, 148 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 247, 251, 255 ], [ 222, 235, 247 ], [ 198, 219, 239 ], [ 158, 202, 225 ], [ 107, 174, 214 ], [ 66, 146, 198 ], [ 33, 113, 181 ], [ 8, 69, 148 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 247, 251, 255 ], [ 222, 235, 247 ], [ 198, 219, 239 ], [ 158, 202, 225 ], [ 107, 174, 214 ], [ 66, 146, 198 ], [ 33, 113, 181 ], [ 8, 81, 156 ], [ 8, 48, 107 ] ] } }, "BuGn": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 229, 245, 249 ], [ 153, 216, 201 ], [ 44, 162, 95 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 178, 226, 226 ], [ 102, 194, 164 ], [ 35, 139, 69 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 178, 226, 226 ], [ 102, 194, 164 ], [ 44, 162, 95 ], [ 0, 109, 44 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 204, 236, 230 ], [ 153, 216, 201 ], [ 102, 194, 164 ], [ 44, 162, 95 ], [ 0, 109, 44 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 204, 236, 230 ], [ 153, 216, 201 ], [ 102, 194, 164 ], [ 65, 174, 118 ], [ 35, 139, 69 ], [ 0, 88, 36 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 247, 252, 253 ], [ 229, 245, 249 ], [ 204, 236, 230 ], [ 153, 216, 201 ], [ 102, 194, 164 ], [ 65, 174, 118 ], [ 35, 139, 69 ], [ 0, 88, 36 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 247, 252, 253 ], [ 229, 245, 249 ], [ 204, 236, 230 ], [ 153, 216, 201 ], [ 102, 194, 164 ], [ 65, 174, 118 ], [ 35, 139, 69 ], [ 0, 109, 44 ], [ 0, 68, 27 ] ] } }, "BuPu": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 224, 236, 244 ], [ 158, 188, 218 ], [ 136, 86, 167 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 179, 205, 227 ], [ 140, 150, 198 ], [ 136, 65, 157 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 179, 205, 227 ], [ 140, 150, 198 ], [ 136, 86, 167 ], [ 129, 15, 124 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 191, 211, 230 ], [ 158, 188, 218 ], [ 140, 150, 198 ], [ 136, 86, 167 ], [ 129, 15, 124 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 237, 248, 251 ], [ 191, 211, 230 ], [ 158, 188, 218 ], [ 140, 150, 198 ], [ 140, 107, 177 ], [ 136, 65, 157 ], [ 110, 1, 107 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 247, 252, 253 ], [ 224, 236, 244 ], [ 191, 211, 230 ], [ 158, 188, 218 ], [ 140, 150, 198 ], [ 140, 107, 177 ], [ 136, 65, 157 ], [ 110, 1, 107 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 247, 252, 253 ], [ 224, 236, 244 ], [ 191, 211, 230 ], [ 158, 188, 218 ], [ 140, 150, 198 ], [ 140, 107, 177 ], [ 136, 65, 157 ], [ 129, 15, 124 ], [ 77, 0, 75 ] ] } }, "GnBu": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 224, 243, 219 ], [ 168, 221, 181 ], [ 67, 162, 202 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 240, 249, 232 ], [ 186, 228, 188 ], [ 123, 204, 196 ], [ 43, 140, 190 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 240, 249, 232 ], [ 186, 228, 188 ], [ 123, 204, 196 ], [ 67, 162, 202 ], [ 8, 104, 172 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 240, 249, 232 ], [ 204, 235, 197 ], [ 168, 221, 181 ], [ 123, 204, 196 ], [ 67, 162, 202 ], [ 8, 104, 172 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 240, 249, 232 ], [ 204, 235, 197 ], [ 168, 221, 181 ], [ 123, 204, 196 ], [ 78, 179, 211 ], [ 43, 140, 190 ], [ 8, 88, 158 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 247, 252, 240 ], [ 224, 243, 219 ], [ 204, 235, 197 ], [ 168, 221, 181 ], [ 123, 204, 196 ], [ 78, 179, 211 ], [ 43, 140, 190 ], [ 8, 88, 158 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 247, 252, 240 ], [ 224, 243, 219 ], [ 204, 235, 197 ], [ 168, 221, 181 ], [ 123, 204, 196 ], [ 78, 179, 211 ], [ 43, 140, 190 ], [ 8, 104, 172 ], [ 8, 64, 129 ] ] } }, "Greens": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 229, 245, 224 ], [ 161, 217, 155 ], [ 49, 163, 84 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 237, 248, 233 ], [ 186, 228, 179 ], [ 116, 196, 118 ], [ 35, 139, 69 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 237, 248, 233 ], [ 186, 228, 179 ], [ 116, 196, 118 ], [ 49, 163, 84 ], [ 0, 109, 44 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 237, 248, 233 ], [ 199, 233, 192 ], [ 161, 217, 155 ], [ 116, 196, 118 ], [ 49, 163, 84 ], [ 0, 109, 44 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 237, 248, 233 ], [ 199, 233, 192 ], [ 161, 217, 155 ], [ 116, 196, 118 ], [ 65, 171, 93 ], [ 35, 139, 69 ], [ 0, 90, 50 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 247, 252, 245 ], [ 229, 245, 224 ], [ 199, 233, 192 ], [ 161, 217, 155 ], [ 116, 196, 118 ], [ 65, 171, 93 ], [ 35, 139, 69 ], [ 0, 90, 50 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 247, 252, 245 ], [ 229, 245, 224 ], [ 199, 233, 192 ], [ 161, 217, 155 ], [ 116, 196, 118 ], [ 65, 171, 93 ], [ 35, 139, 69 ], [ 0, 109, 44 ], [ 0, 68, 27 ] ] } }, "Greys": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 240, 240, 240 ], [ 189, 189, 189 ], [ 99, 99, 99 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 247, 247, 247 ], [ 204, 204, 204 ], [ 150, 150, 150 ], [ 82, 82, 82 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 247, 247, 247 ], [ 204, 204, 204 ], [ 150, 150, 150 ], [ 99, 99, 99 ], [ 37, 37, 37 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 247, 247, 247 ], [ 217, 217, 217 ], [ 189, 189, 189 ], [ 150, 150, 150 ], [ 99, 99, 99 ], [ 37, 37, 37 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 247, 247, 247 ], [ 217, 217, 217 ], [ 189, 189, 189 ], [ 150, 150, 150 ], [ 115, 115, 115 ], [ 82, 82, 82 ], [ 37, 37, 37 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 255, 255 ], [ 240, 240, 240 ], [ 217, 217, 217 ], [ 189, 189, 189 ], [ 150, 150, 150 ], [ 115, 115, 115 ], [ 82, 82, 82 ], [ 37, 37, 37 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 255, 255 ], [ 240, 240, 240 ], [ 217, 217, 217 ], [ 189, 189, 189 ], [ 150, 150, 150 ], [ 115, 115, 115 ], [ 82, 82, 82 ], [ 37, 37, 37 ], [ 0, 0, 0 ] ] } }, "Oranges": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 254, 230, 206 ], [ 253, 174, 107 ], [ 230, 85, 13 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 254, 237, 222 ], [ 253, 190, 133 ], [ 253, 141, 60 ], [ 217, 71, 1 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 254, 237, 222 ], [ 253, 190, 133 ], [ 253, 141, 60 ], [ 230, 85, 13 ], [ 166, 54, 3 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 254, 237, 222 ], [ 253, 208, 162 ], [ 253, 174, 107 ], [ 253, 141, 60 ], [ 230, 85, 13 ], [ 166, 54, 3 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 254, 237, 222 ], [ 253, 208, 162 ], [ 253, 174, 107 ], [ 253, 141, 60 ], [ 241, 105, 19 ], [ 217, 72, 1 ], [ 140, 45, 4 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 245, 235 ], [ 254, 230, 206 ], [ 253, 208, 162 ], [ 253, 174, 107 ], [ 253, 141, 60 ], [ 241, 105, 19 ], [ 217, 72, 1 ], [ 140, 45, 4 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 245, 235 ], [ 254, 230, 206 ], [ 253, 208, 162 ], [ 253, 174, 107 ], [ 253, 141, 60 ], [ 241, 105, 19 ], [ 217, 72, 1 ], [ 166, 54, 3 ], [ 127, 39, 4 ] ] } }, "OrRd": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 254, 232, 200 ], [ 253, 187, 132 ], [ 227, 74, 51 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 254, 240, 217 ], [ 253, 204, 138 ], [ 252, 141, 89 ], [ 215, 48, 31 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 254, 240, 217 ], [ 253, 204, 138 ], [ 252, 141, 89 ], [ 227, 74, 51 ], [ 179, 0, 0 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 254, 240, 217 ], [ 253, 212, 158 ], [ 253, 187, 132 ], [ 252, 141, 89 ], [ 227, 74, 51 ], [ 179, 0, 0 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 254, 240, 217 ], [ 253, 212, 158 ], [ 253, 187, 132 ], [ 252, 141, 89 ], [ 239, 101, 72 ], [ 215, 48, 31 ], [ 153, 0, 0 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 247, 236 ], [ 254, 232, 200 ], [ 253, 212, 158 ], [ 253, 187, 132 ], [ 252, 141, 89 ], [ 239, 101, 72 ], [ 215, 48, 31 ], [ 153, 0, 0 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 247, 236 ], [ 254, 232, 200 ], [ 253, 212, 158 ], [ 253, 187, 132 ], [ 252, 141, 89 ], [ 239, 101, 72 ], [ 215, 48, 31 ], [ 179, 0, 0 ], [ 127, 0, 0 ] ] } }, "PuBu": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 236, 231, 242 ], [ 166, 189, 219 ], [ 43, 140, 190 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 189, 201, 225 ], [ 116, 169, 207 ], [ 5, 112, 176 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 189, 201, 225 ], [ 116, 169, 207 ], [ 43, 140, 190 ], [ 4, 90, 141 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 116, 169, 207 ], [ 43, 140, 190 ], [ 4, 90, 141 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 116, 169, 207 ], [ 54, 144, 192 ], [ 5, 112, 176 ], [ 3, 78, 123 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 247, 251 ], [ 236, 231, 242 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 116, 169, 207 ], [ 54, 144, 192 ], [ 5, 112, 176 ], [ 3, 78, 123 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 247, 251 ], [ 236, 231, 242 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 116, 169, 207 ], [ 54, 144, 192 ], [ 5, 112, 176 ], [ 4, 90, 141 ], [ 2, 56, 88 ] ] } }, "PuBuGn": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 236, 226, 240 ], [ 166, 189, 219 ], [ 28, 144, 153 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 246, 239, 247 ], [ 189, 201, 225 ], [ 103, 169, 207 ], [ 2, 129, 138 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 246, 239, 247 ], [ 189, 201, 225 ], [ 103, 169, 207 ], [ 28, 144, 153 ], [ 1, 108, 89 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 246, 239, 247 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 103, 169, 207 ], [ 28, 144, 153 ], [ 1, 108, 89 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 246, 239, 247 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 103, 169, 207 ], [ 54, 144, 192 ], [ 2, 129, 138 ], [ 1, 100, 80 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 247, 251 ], [ 236, 226, 240 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 103, 169, 207 ], [ 54, 144, 192 ], [ 2, 129, 138 ], [ 1, 100, 80 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 247, 251 ], [ 236, 226, 240 ], [ 208, 209, 230 ], [ 166, 189, 219 ], [ 103, 169, 207 ], [ 54, 144, 192 ], [ 2, 129, 138 ], [ 1, 108, 89 ], [ 1, 70, 54 ] ] } }, "PuRd": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 231, 225, 239 ], [ 201, 148, 199 ], [ 221, 28, 119 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 215, 181, 216 ], [ 223, 101, 176 ], [ 206, 18, 86 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 215, 181, 216 ], [ 223, 101, 176 ], [ 221, 28, 119 ], [ 152, 0, 67 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 212, 185, 218 ], [ 201, 148, 199 ], [ 223, 101, 176 ], [ 221, 28, 119 ], [ 152, 0, 67 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 241, 238, 246 ], [ 212, 185, 218 ], [ 201, 148, 199 ], [ 223, 101, 176 ], [ 231, 41, 138 ], [ 206, 18, 86 ], [ 145, 0, 63 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 247, 244, 249 ], [ 231, 225, 239 ], [ 212, 185, 218 ], [ 201, 148, 199 ], [ 223, 101, 176 ], [ 231, 41, 138 ], [ 206, 18, 86 ], [ 145, 0, 63 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 247, 244, 249 ], [ 231, 225, 239 ], [ 212, 185, 218 ], [ 201, 148, 199 ], [ 223, 101, 176 ], [ 231, 41, 138 ], [ 206, 18, 86 ], [ 152, 0, 67 ], [ 103, 0, 31 ] ] } }, "Purples": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 239, 237, 245 ], [ 188, 189, 220 ], [ 117, 107, 177 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 242, 240, 247 ], [ 203, 201, 226 ], [ 158, 154, 200 ], [ 106, 81, 163 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 242, 240, 247 ], [ 203, 201, 226 ], [ 158, 154, 200 ], [ 117, 107, 177 ], [ 84, 39, 143 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 242, 240, 247 ], [ 218, 218, 235 ], [ 188, 189, 220 ], [ 158, 154, 200 ], [ 117, 107, 177 ], [ 84, 39, 143 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 242, 240, 247 ], [ 218, 218, 235 ], [ 188, 189, 220 ], [ 158, 154, 200 ], [ 128, 125, 186 ], [ 106, 81, 163 ], [ 74, 20, 134 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 252, 251, 253 ], [ 239, 237, 245 ], [ 218, 218, 235 ], [ 188, 189, 220 ], [ 158, 154, 200 ], [ 128, 125, 186 ], [ 106, 81, 163 ], [ 74, 20, 134 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 252, 251, 253 ], [ 239, 237, 245 ], [ 218, 218, 235 ], [ 188, 189, 220 ], [ 158, 154, 200 ], [ 128, 125, 186 ], [ 106, 81, 163 ], [ 84, 39, 143 ], [ 63, 0, 125 ] ] } }, "RdPu": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 253, 224, 221 ], [ 250, 159, 181 ], [ 197, 27, 138 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 254, 235, 226 ], [ 251, 180, 185 ], [ 247, 104, 161 ], [ 174, 1, 126 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 254, 235, 226 ], [ 251, 180, 185 ], [ 247, 104, 161 ], [ 197, 27, 138 ], [ 122, 1, 119 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 254, 235, 226 ], [ 252, 197, 192 ], [ 250, 159, 181 ], [ 247, 104, 161 ], [ 197, 27, 138 ], [ 122, 1, 119 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 254, 235, 226 ], [ 252, 197, 192 ], [ 250, 159, 181 ], [ 247, 104, 161 ], [ 221, 52, 151 ], [ 174, 1, 126 ], [ 122, 1, 119 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 247, 243 ], [ 253, 224, 221 ], [ 252, 197, 192 ], [ 250, 159, 181 ], [ 247, 104, 161 ], [ 221, 52, 151 ], [ 174, 1, 126 ], [ 122, 1, 119 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 247, 243 ], [ 253, 224, 221 ], [ 252, 197, 192 ], [ 250, 159, 181 ], [ 247, 104, 161 ], [ 221, 52, 151 ], [ 174, 1, 126 ], [ 122, 1, 119 ], [ 73, 0, 106 ] ] } }, "Reds": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 254, 224, 210 ], [ 252, 146, 114 ], [ 222, 45, 38 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 254, 229, 217 ], [ 252, 174, 145 ], [ 251, 106, 74 ], [ 203, 24, 29 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 254, 229, 217 ], [ 252, 174, 145 ], [ 251, 106, 74 ], [ 222, 45, 38 ], [ 165, 15, 21 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 254, 229, 217 ], [ 252, 187, 161 ], [ 252, 146, 114 ], [ 251, 106, 74 ], [ 222, 45, 38 ], [ 165, 15, 21 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 254, 229, 217 ], [ 252, 187, 161 ], [ 252, 146, 114 ], [ 251, 106, 74 ], [ 239, 59, 44 ], [ 203, 24, 29 ], [ 153, 0, 13 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 245, 240 ], [ 254, 224, 210 ], [ 252, 187, 161 ], [ 252, 146, 114 ], [ 251, 106, 74 ], [ 239, 59, 44 ], [ 203, 24, 29 ], [ 153, 0, 13 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 245, 240 ], [ 254, 224, 210 ], [ 252, 187, 161 ], [ 252, 146, 114 ], [ 251, 106, 74 ], [ 239, 59, 44 ], [ 203, 24, 29 ], [ 165, 15, 21 ], [ 103, 0, 13 ] ] } }, "YlGn": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 247, 252, 185 ], [ 173, 221, 142 ], [ 49, 163, 84 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 194, 230, 153 ], [ 120, 198, 121 ], [ 35, 132, 67 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 194, 230, 153 ], [ 120, 198, 121 ], [ 49, 163, 84 ], [ 0, 104, 55 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 217, 240, 163 ], [ 173, 221, 142 ], [ 120, 198, 121 ], [ 49, 163, 84 ], [ 0, 104, 55 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 217, 240, 163 ], [ 173, 221, 142 ], [ 120, 198, 121 ], [ 65, 171, 93 ], [ 35, 132, 67 ], [ 0, 90, 50 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 255, 229 ], [ 247, 252, 185 ], [ 217, 240, 163 ], [ 173, 221, 142 ], [ 120, 198, 121 ], [ 65, 171, 93 ], [ 35, 132, 67 ], [ 0, 90, 50 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 255, 229 ], [ 247, 252, 185 ], [ 217, 240, 163 ], [ 173, 221, 142 ], [ 120, 198, 121 ], [ 65, 171, 93 ], [ 35, 132, 67 ], [ 0, 104, 55 ], [ 0, 69, 41 ] ] } }, "YlGnBu": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 237, 248, 177 ], [ 127, 205, 187 ], [ 44, 127, 184 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 161, 218, 180 ], [ 65, 182, 196 ], [ 34, 94, 168 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 161, 218, 180 ], [ 65, 182, 196 ], [ 44, 127, 184 ], [ 37, 52, 148 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 199, 233, 180 ], [ 127, 205, 187 ], [ 65, 182, 196 ], [ 44, 127, 184 ], [ 37, 52, 148 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 199, 233, 180 ], [ 127, 205, 187 ], [ 65, 182, 196 ], [ 29, 145, 192 ], [ 34, 94, 168 ], [ 12, 44, 132 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 255, 217 ], [ 237, 248, 177 ], [ 199, 233, 180 ], [ 127, 205, 187 ], [ 65, 182, 196 ], [ 29, 145, 192 ], [ 34, 94, 168 ], [ 12, 44, 132 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 255, 217 ], [ 237, 248, 177 ], [ 199, 233, 180 ], [ 127, 205, 187 ], [ 65, 182, 196 ], [ 29, 145, 192 ], [ 34, 94, 168 ], [ 37, 52, 148 ], [ 8, 29, 88 ] ] } }, "YlOrBr": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 255, 247, 188 ], [ 254, 196, 79 ], [ 217, 95, 14 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 255, 255, 212 ], [ 254, 217, 142 ], [ 254, 153, 41 ], [ 204, 76, 2 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 255, 255, 212 ], [ 254, 217, 142 ], [ 254, 153, 41 ], [ 217, 95, 14 ], [ 153, 52, 4 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 255, 255, 212 ], [ 254, 227, 145 ], [ 254, 196, 79 ], [ 254, 153, 41 ], [ 217, 95, 14 ], [ 153, 52, 4 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 255, 255, 212 ], [ 254, 227, 145 ], [ 254, 196, 79 ], [ 254, 153, 41 ], [ 236, 112, 20 ], [ 204, 76, 2 ], [ 140, 45, 4 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 255, 229 ], [ 255, 247, 188 ], [ 254, 227, 145 ], [ 254, 196, 79 ], [ 254, 153, 41 ], [ 236, 112, 20 ], [ 204, 76, 2 ], [ 140, 45, 4 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 255, 229 ], [ 255, 247, 188 ], [ 254, 227, 145 ], [ 254, 196, 79 ], [ 254, 153, 41 ], [ 236, 112, 20 ], [ 204, 76, 2 ], [ 153, 52, 4 ], [ 102, 37, 6 ] ] } }, "YlOrRd": { "3": { "NumOfColors": 3, "Type": "seq", "Colors": [ [ 255, 237, 160 ], [ 254, 178, 76 ], [ 240, 59, 32 ] ] }, "4": { "NumOfColors": 4, "Type": "seq", "Colors": [ [ 255, 255, 178 ], [ 254, 204, 92 ], [ 253, 141, 60 ], [ 227, 26, 28 ] ] }, "5": { "NumOfColors": 5, "Type": "seq", "Colors": [ [ 255, 255, 178 ], [ 254, 204, 92 ], [ 253, 141, 60 ], [ 240, 59, 32 ], [ 189, 0, 38 ] ] }, "6": { "NumOfColors": 6, "Type": "seq", "Colors": [ [ 255, 255, 178 ], [ 254, 217, 118 ], [ 254, 178, 76 ], [ 253, 141, 60 ], [ 240, 59, 32 ], [ 189, 0, 38 ] ] }, "7": { "NumOfColors": 7, "Type": "seq", "Colors": [ [ 255, 255, 178 ], [ 254, 217, 118 ], [ 254, 178, 76 ], [ 253, 141, 60 ], [ 252, 78, 42 ], [ 227, 26, 28 ], [ 177, 0, 38 ] ] }, "8": { "NumOfColors": 8, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 255, 237, 160 ], [ 254, 217, 118 ], [ 254, 178, 76 ], [ 253, 141, 60 ], [ 252, 78, 42 ], [ 227, 26, 28 ], [ 177, 0, 38 ] ] }, "9": { "NumOfColors": 9, "Type": "seq", "Colors": [ [ 255, 255, 204 ], [ 255, 237, 160 ], [ 254, 217, 118 ], [ 254, 178, 76 ], [ 253, 141, 60 ], [ 252, 78, 42 ], [ 227, 26, 28 ], [ 189, 0, 38 ], [ 128, 0, 38 ] ] } } }, "Diverging": { "BrBG": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 216, 179, 101 ], [ 245, 245, 245 ], [ 90, 180, 172 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 166, 97, 26 ], [ 223, 194, 125 ], [ 128, 205, 193 ], [ 1, 133, 113 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 166, 97, 26 ], [ 223, 194, 125 ], [ 245, 245, 245 ], [ 128, 205, 193 ], [ 1, 133, 113 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 140, 81, 10 ], [ 216, 179, 101 ], [ 246, 232, 195 ], [ 199, 234, 229 ], [ 90, 180, 172 ], [ 1, 102, 94 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 140, 81, 10 ], [ 216, 179, 101 ], [ 246, 232, 195 ], [ 245, 245, 245 ], [ 199, 234, 229 ], [ 90, 180, 172 ], [ 1, 102, 94 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 140, 81, 10 ], [ 191, 129, 45 ], [ 223, 194, 125 ], [ 246, 232, 195 ], [ 199, 234, 229 ], [ 128, 205, 193 ], [ 53, 151, 143 ], [ 1, 102, 94 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 140, 81, 10 ], [ 191, 129, 45 ], [ 223, 194, 125 ], [ 246, 232, 195 ], [ 245, 245, 245 ], [ 199, 234, 229 ], [ 128, 205, 193 ], [ 53, 151, 143 ], [ 1, 102, 94 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 84, 48, 5 ], [ 140, 81, 10 ], [ 191, 129, 45 ], [ 223, 194, 125 ], [ 246, 232, 195 ], [ 199, 234, 229 ], [ 128, 205, 193 ], [ 53, 151, 143 ], [ 1, 102, 94 ], [ 0, 60, 48 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 84, 48, 5 ], [ 140, 81, 10 ], [ 191, 129, 45 ], [ 223, 194, 125 ], [ 246, 232, 195 ], [ 245, 245, 245 ], [ 199, 234, 229 ], [ 128, 205, 193 ], [ 53, 151, 143 ], [ 1, 102, 94 ], [ 0, 60, 48 ] ] } }, "PiYG": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 233, 163, 201 ], [ 247, 247, 247 ], [ 161, 215, 106 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 208, 28, 139 ], [ 241, 182, 218 ], [ 184, 225, 134 ], [ 77, 172, 38 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 208, 28, 139 ], [ 241, 182, 218 ], [ 247, 247, 247 ], [ 184, 225, 134 ], [ 77, 172, 38 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 197, 27, 125 ], [ 233, 163, 201 ], [ 253, 224, 239 ], [ 230, 245, 208 ], [ 161, 215, 106 ], [ 77, 146, 33 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 197, 27, 125 ], [ 233, 163, 201 ], [ 253, 224, 239 ], [ 247, 247, 247 ], [ 230, 245, 208 ], [ 161, 215, 106 ], [ 77, 146, 33 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 197, 27, 125 ], [ 222, 119, 174 ], [ 241, 182, 218 ], [ 253, 224, 239 ], [ 230, 245, 208 ], [ 184, 225, 134 ], [ 127, 188, 65 ], [ 77, 146, 33 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 197, 27, 125 ], [ 222, 119, 174 ], [ 241, 182, 218 ], [ 253, 224, 239 ], [ 247, 247, 247 ], [ 230, 245, 208 ], [ 184, 225, 134 ], [ 127, 188, 65 ], [ 77, 146, 33 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 142, 1, 82 ], [ 197, 27, 125 ], [ 222, 119, 174 ], [ 241, 182, 218 ], [ 253, 224, 239 ], [ 230, 245, 208 ], [ 184, 225, 134 ], [ 127, 188, 65 ], [ 77, 146, 33 ], [ 39, 100, 25 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 142, 1, 82 ], [ 197, 27, 125 ], [ 222, 119, 174 ], [ 241, 182, 218 ], [ 253, 224, 239 ], [ 247, 247, 247 ], [ 230, 245, 208 ], [ 184, 225, 134 ], [ 127, 188, 65 ], [ 77, 146, 33 ], [ 39, 100, 25 ] ] } }, "PRGn": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 175, 141, 195 ], [ 247, 247, 247 ], [ 127, 191, 123 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 123, 50, 148 ], [ 194, 165, 207 ], [ 166, 219, 160 ], [ 0, 136, 55 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 123, 50, 148 ], [ 194, 165, 207 ], [ 247, 247, 247 ], [ 166, 219, 160 ], [ 0, 136, 55 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 118, 42, 131 ], [ 175, 141, 195 ], [ 231, 212, 232 ], [ 217, 240, 211 ], [ 127, 191, 123 ], [ 27, 120, 55 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 118, 42, 131 ], [ 175, 141, 195 ], [ 231, 212, 232 ], [ 247, 247, 247 ], [ 217, 240, 211 ], [ 127, 191, 123 ], [ 27, 120, 55 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 118, 42, 131 ], [ 153, 112, 171 ], [ 194, 165, 207 ], [ 231, 212, 232 ], [ 217, 240, 211 ], [ 166, 219, 160 ], [ 90, 174, 97 ], [ 27, 120, 55 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 118, 42, 131 ], [ 153, 112, 171 ], [ 194, 165, 207 ], [ 231, 212, 232 ], [ 247, 247, 247 ], [ 217, 240, 211 ], [ 166, 219, 160 ], [ 90, 174, 97 ], [ 27, 120, 55 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 64, 0, 75 ], [ 118, 42, 131 ], [ 153, 112, 171 ], [ 194, 165, 207 ], [ 231, 212, 232 ], [ 217, 240, 211 ], [ 166, 219, 160 ], [ 90, 174, 97 ], [ 27, 120, 55 ], [ 0, 68, 27 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 64, 0, 75 ], [ 118, 42, 131 ], [ 153, 112, 171 ], [ 194, 165, 207 ], [ 231, 212, 232 ], [ 247, 247, 247 ], [ 217, 240, 211 ], [ 166, 219, 160 ], [ 90, 174, 97 ], [ 27, 120, 55 ], [ 0, 68, 27 ] ] } }, "PuOr": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 241, 163, 64 ], [ 247, 247, 247 ], [ 153, 142, 195 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 230, 97, 1 ], [ 253, 184, 99 ], [ 178, 171, 210 ], [ 94, 60, 153 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 230, 97, 1 ], [ 253, 184, 99 ], [ 247, 247, 247 ], [ 178, 171, 210 ], [ 94, 60, 153 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 179, 88, 6 ], [ 241, 163, 64 ], [ 254, 224, 182 ], [ 216, 218, 235 ], [ 153, 142, 195 ], [ 84, 39, 136 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 179, 88, 6 ], [ 241, 163, 64 ], [ 254, 224, 182 ], [ 247, 247, 247 ], [ 216, 218, 235 ], [ 153, 142, 195 ], [ 84, 39, 136 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 179, 88, 6 ], [ 224, 130, 20 ], [ 253, 184, 99 ], [ 254, 224, 182 ], [ 216, 218, 235 ], [ 178, 171, 210 ], [ 128, 115, 172 ], [ 84, 39, 136 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 179, 88, 6 ], [ 224, 130, 20 ], [ 253, 184, 99 ], [ 254, 224, 182 ], [ 247, 247, 247 ], [ 216, 218, 235 ], [ 178, 171, 210 ], [ 128, 115, 172 ], [ 84, 39, 136 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 127, 59, 8 ], [ 179, 88, 6 ], [ 224, 130, 20 ], [ 253, 184, 99 ], [ 254, 224, 182 ], [ 216, 218, 235 ], [ 178, 171, 210 ], [ 128, 115, 172 ], [ 84, 39, 136 ], [ 45, 0, 75 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 127, 59, 8 ], [ 179, 88, 6 ], [ 224, 130, 20 ], [ 253, 184, 99 ], [ 254, 224, 182 ], [ 247, 247, 247 ], [ 216, 218, 235 ], [ 178, 171, 210 ], [ 128, 115, 172 ], [ 84, 39, 136 ], [ 45, 0, 75 ] ] } }, "RdBu": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 239, 138, 98 ], [ 247, 247, 247 ], [ 103, 169, 207 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 202, 0, 32 ], [ 244, 165, 130 ], [ 146, 197, 222 ], [ 5, 113, 176 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 202, 0, 32 ], [ 244, 165, 130 ], [ 247, 247, 247 ], [ 146, 197, 222 ], [ 5, 113, 176 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 239, 138, 98 ], [ 253, 219, 199 ], [ 209, 229, 240 ], [ 103, 169, 207 ], [ 33, 102, 172 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 239, 138, 98 ], [ 253, 219, 199 ], [ 247, 247, 247 ], [ 209, 229, 240 ], [ 103, 169, 207 ], [ 33, 102, 172 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 209, 229, 240 ], [ 146, 197, 222 ], [ 67, 147, 195 ], [ 33, 102, 172 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 247, 247, 247 ], [ 209, 229, 240 ], [ 146, 197, 222 ], [ 67, 147, 195 ], [ 33, 102, 172 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 103, 0, 31 ], [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 209, 229, 240 ], [ 146, 197, 222 ], [ 67, 147, 195 ], [ 33, 102, 172 ], [ 5, 48, 97 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 103, 0, 31 ], [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 247, 247, 247 ], [ 209, 229, 240 ], [ 146, 197, 222 ], [ 67, 147, 195 ], [ 33, 102, 172 ], [ 5, 48, 97 ] ] } }, "RdGy": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 239, 138, 98 ], [ 255, 255, 255 ], [ 153, 153, 153 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 202, 0, 32 ], [ 244, 165, 130 ], [ 186, 186, 186 ], [ 64, 64, 64 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 202, 0, 32 ], [ 244, 165, 130 ], [ 255, 255, 255 ], [ 186, 186, 186 ], [ 64, 64, 64 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 239, 138, 98 ], [ 253, 219, 199 ], [ 224, 224, 224 ], [ 153, 153, 153 ], [ 77, 77, 77 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 239, 138, 98 ], [ 253, 219, 199 ], [ 255, 255, 255 ], [ 224, 224, 224 ], [ 153, 153, 153 ], [ 77, 77, 77 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 224, 224, 224 ], [ 186, 186, 186 ], [ 135, 135, 135 ], [ 77, 77, 77 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 255, 255, 255 ], [ 224, 224, 224 ], [ 186, 186, 186 ], [ 135, 135, 135 ], [ 77, 77, 77 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 103, 0, 31 ], [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 224, 224, 224 ], [ 186, 186, 186 ], [ 135, 135, 135 ], [ 77, 77, 77 ], [ 26, 26, 26 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 103, 0, 31 ], [ 178, 24, 43 ], [ 214, 96, 77 ], [ 244, 165, 130 ], [ 253, 219, 199 ], [ 255, 255, 255 ], [ 224, 224, 224 ], [ 186, 186, 186 ], [ 135, 135, 135 ], [ 77, 77, 77 ], [ 26, 26, 26 ] ] } }, "RdYlBu": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 252, 141, 89 ], [ 255, 255, 191 ], [ 145, 191, 219 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 215, 25, 28 ], [ 253, 174, 97 ], [ 171, 217, 233 ], [ 44, 123, 182 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 215, 25, 28 ], [ 253, 174, 97 ], [ 255, 255, 191 ], [ 171, 217, 233 ], [ 44, 123, 182 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 252, 141, 89 ], [ 254, 224, 144 ], [ 224, 243, 248 ], [ 145, 191, 219 ], [ 69, 117, 180 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 252, 141, 89 ], [ 254, 224, 144 ], [ 255, 255, 191 ], [ 224, 243, 248 ], [ 145, 191, 219 ], [ 69, 117, 180 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 144 ], [ 224, 243, 248 ], [ 171, 217, 233 ], [ 116, 173, 209 ], [ 69, 117, 180 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 144 ], [ 255, 255, 191 ], [ 224, 243, 248 ], [ 171, 217, 233 ], [ 116, 173, 209 ], [ 69, 117, 180 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 165, 0, 38 ], [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 144 ], [ 224, 243, 248 ], [ 171, 217, 233 ], [ 116, 173, 209 ], [ 69, 117, 180 ], [ 49, 54, 149 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 165, 0, 38 ], [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 144 ], [ 255, 255, 191 ], [ 224, 243, 248 ], [ 171, 217, 233 ], [ 116, 173, 209 ], [ 69, 117, 180 ], [ 49, 54, 149 ] ] } }, "RdYlGn": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 252, 141, 89 ], [ 255, 255, 191 ], [ 145, 207, 96 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 215, 25, 28 ], [ 253, 174, 97 ], [ 166, 217, 106 ], [ 26, 150, 65 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 215, 25, 28 ], [ 253, 174, 97 ], [ 255, 255, 191 ], [ 166, 217, 106 ], [ 26, 150, 65 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 252, 141, 89 ], [ 254, 224, 139 ], [ 217, 239, 139 ], [ 145, 207, 96 ], [ 26, 152, 80 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 252, 141, 89 ], [ 254, 224, 139 ], [ 255, 255, 191 ], [ 217, 239, 139 ], [ 145, 207, 96 ], [ 26, 152, 80 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 217, 239, 139 ], [ 166, 217, 106 ], [ 102, 189, 99 ], [ 26, 152, 80 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 255, 255, 191 ], [ 217, 239, 139 ], [ 166, 217, 106 ], [ 102, 189, 99 ], [ 26, 152, 80 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 165, 0, 38 ], [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 217, 239, 139 ], [ 166, 217, 106 ], [ 102, 189, 99 ], [ 26, 152, 80 ], [ 0, 104, 55 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 165, 0, 38 ], [ 215, 48, 39 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 255, 255, 191 ], [ 217, 239, 139 ], [ 166, 217, 106 ], [ 102, 189, 99 ], [ 26, 152, 80 ], [ 0, 104, 55 ] ] } }, "Spectral": { "3": { "NumOfColors": 3, "Type": "div", "Colors": [ [ 252, 141, 89 ], [ 255, 255, 191 ], [ 153, 213, 148 ] ] }, "4": { "NumOfColors": 4, "Type": "div", "Colors": [ [ 215, 25, 28 ], [ 253, 174, 97 ], [ 171, 221, 164 ], [ 43, 131, 186 ] ] }, "5": { "NumOfColors": 5, "Type": "div", "Colors": [ [ 215, 25, 28 ], [ 253, 174, 97 ], [ 255, 255, 191 ], [ 171, 221, 164 ], [ 43, 131, 186 ] ] }, "6": { "NumOfColors": 6, "Type": "div", "Colors": [ [ 213, 62, 79 ], [ 252, 141, 89 ], [ 254, 224, 139 ], [ 230, 245, 152 ], [ 153, 213, 148 ], [ 50, 136, 189 ] ] }, "7": { "NumOfColors": 7, "Type": "div", "Colors": [ [ 213, 62, 79 ], [ 252, 141, 89 ], [ 254, 224, 139 ], [ 255, 255, 191 ], [ 230, 245, 152 ], [ 153, 213, 148 ], [ 50, 136, 189 ] ] }, "8": { "NumOfColors": 8, "Type": "div", "Colors": [ [ 213, 62, 79 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 230, 245, 152 ], [ 171, 221, 164 ], [ 102, 194, 165 ], [ 50, 136, 189 ] ] }, "9": { "NumOfColors": 9, "Type": "div", "Colors": [ [ 213, 62, 79 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 255, 255, 191 ], [ 230, 245, 152 ], [ 171, 221, 164 ], [ 102, 194, 165 ], [ 50, 136, 189 ] ] }, "10": { "NumOfColors": 10, "Type": "div", "Colors": [ [ 158, 1, 66 ], [ 213, 62, 79 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 230, 245, 152 ], [ 171, 221, 164 ], [ 102, 194, 165 ], [ 50, 136, 189 ], [ 94, 79, 162 ] ] }, "11": { "NumOfColors": 11, "Type": "div", "Colors": [ [ 158, 1, 66 ], [ 213, 62, 79 ], [ 244, 109, 67 ], [ 253, 174, 97 ], [ 254, 224, 139 ], [ 255, 255, 191 ], [ 230, 245, 152 ], [ 171, 221, 164 ], [ 102, 194, 165 ], [ 50, 136, 189 ], [ 94, 79, 162 ] ] } } }, "Qualitative": { "Accent": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 127, 201, 127 ], [ 190, 174, 212 ], [ 253, 192, 134 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 127, 201, 127 ], [ 190, 174, 212 ], [ 253, 192, 134 ], [ 255, 255, 153 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 127, 201, 127 ], [ 190, 174, 212 ], [ 253, 192, 134 ], [ 255, 255, 153 ], [ 56, 108, 176 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 127, 201, 127 ], [ 190, 174, 212 ], [ 253, 192, 134 ], [ 255, 255, 153 ], [ 56, 108, 176 ], [ 240, 2, 127 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 127, 201, 127 ], [ 190, 174, 212 ], [ 253, 192, 134 ], [ 255, 255, 153 ], [ 56, 108, 176 ], [ 240, 2, 127 ], [ 191, 91, 23 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 127, 201, 127 ], [ 190, 174, 212 ], [ 253, 192, 134 ], [ 255, 255, 153 ], [ 56, 108, 176 ], [ 240, 2, 127 ], [ 191, 91, 23 ], [ 102, 102, 102 ] ] } }, "Dark2": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 27, 158, 119 ], [ 217, 95, 2 ], [ 117, 112, 179 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 27, 158, 119 ], [ 217, 95, 2 ], [ 117, 112, 179 ], [ 231, 41, 138 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 27, 158, 119 ], [ 217, 95, 2 ], [ 117, 112, 179 ], [ 231, 41, 138 ], [ 102, 166, 30 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 27, 158, 119 ], [ 217, 95, 2 ], [ 117, 112, 179 ], [ 231, 41, 138 ], [ 102, 166, 30 ], [ 230, 171, 2 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 27, 158, 119 ], [ 217, 95, 2 ], [ 117, 112, 179 ], [ 231, 41, 138 ], [ 102, 166, 30 ], [ 230, 171, 2 ], [ 166, 118, 29 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 27, 158, 119 ], [ 217, 95, 2 ], [ 117, 112, 179 ], [ 231, 41, 138 ], [ 102, 166, 30 ], [ 230, 171, 2 ], [ 166, 118, 29 ], [ 102, 102, 102 ] ] } }, "Paired": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ], [ 253, 191, 111 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ], [ 253, 191, 111 ], [ 255, 127, 0 ] ] }, "9": { "NumOfColors": 9, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ], [ 253, 191, 111 ], [ 255, 127, 0 ], [ 202, 178, 214 ] ] }, "10": { "NumOfColors": 10, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ], [ 253, 191, 111 ], [ 255, 127, 0 ], [ 202, 178, 214 ], [ 106, 61, 154 ] ] }, "11": { "NumOfColors": 11, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ], [ 253, 191, 111 ], [ 255, 127, 0 ], [ 202, 178, 214 ], [ 106, 61, 154 ], [ 255, 255, 153 ] ] }, "12": { "NumOfColors": 12, "Type": "qual", "Colors": [ [ 166, 206, 227 ], [ 31, 120, 180 ], [ 178, 223, 138 ], [ 51, 160, 44 ], [ 251, 154, 153 ], [ 227, 26, 28 ], [ 253, 191, 111 ], [ 255, 127, 0 ], [ 202, 178, 214 ], [ 106, 61, 154 ], [ 255, 255, 153 ], [ 177, 89, 40 ] ] } }, "Pastel1": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ], [ 222, 203, 228 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ], [ 222, 203, 228 ], [ 254, 217, 166 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ], [ 222, 203, 228 ], [ 254, 217, 166 ], [ 255, 255, 204 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ], [ 222, 203, 228 ], [ 254, 217, 166 ], [ 255, 255, 204 ], [ 229, 216, 189 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ], [ 222, 203, 228 ], [ 254, 217, 166 ], [ 255, 255, 204 ], [ 229, 216, 189 ], [ 253, 218, 236 ] ] }, "9": { "NumOfColors": 9, "Type": "qual", "Colors": [ [ 251, 180, 174 ], [ 179, 205, 227 ], [ 204, 235, 197 ], [ 222, 203, 228 ], [ 254, 217, 166 ], [ 255, 255, 204 ], [ 229, 216, 189 ], [ 253, 218, 236 ], [ 242, 242, 242 ] ] } }, "Pastel2": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 179, 226, 205 ], [ 253, 205, 172 ], [ 203, 213, 232 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 179, 226, 205 ], [ 253, 205, 172 ], [ 203, 213, 232 ], [ 244, 202, 228 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 179, 226, 205 ], [ 253, 205, 172 ], [ 203, 213, 232 ], [ 244, 202, 228 ], [ 230, 245, 201 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 179, 226, 205 ], [ 253, 205, 172 ], [ 203, 213, 232 ], [ 244, 202, 228 ], [ 230, 245, 201 ], [ 255, 242, 174 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 179, 226, 205 ], [ 253, 205, 172 ], [ 203, 213, 232 ], [ 244, 202, 228 ], [ 230, 245, 201 ], [ 255, 242, 174 ], [ 241, 226, 204 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 179, 226, 205 ], [ 253, 205, 172 ], [ 203, 213, 232 ], [ 244, 202, 228 ], [ 230, 245, 201 ], [ 255, 242, 174 ], [ 241, 226, 204 ], [ 204, 204, 204 ] ] } }, "Set1": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ], [ 152, 78, 163 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ], [ 152, 78, 163 ], [ 255, 127, 0 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ], [ 152, 78, 163 ], [ 255, 127, 0 ], [ 255, 255, 51 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ], [ 152, 78, 163 ], [ 255, 127, 0 ], [ 255, 255, 51 ], [ 166, 86, 40 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ], [ 152, 78, 163 ], [ 255, 127, 0 ], [ 255, 255, 51 ], [ 166, 86, 40 ], [ 247, 129, 191 ] ] }, "9": { "NumOfColors": 9, "Type": "qual", "Colors": [ [ 228, 26, 28 ], [ 55, 126, 184 ], [ 77, 175, 74 ], [ 152, 78, 163 ], [ 255, 127, 0 ], [ 255, 255, 51 ], [ 166, 86, 40 ], [ 247, 129, 191 ], [ 153, 153, 153 ] ] } }, "Set2": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 102, 194, 165 ], [ 252, 141, 98 ], [ 141, 160, 203 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 102, 194, 165 ], [ 252, 141, 98 ], [ 141, 160, 203 ], [ 231, 138, 195 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 102, 194, 165 ], [ 252, 141, 98 ], [ 141, 160, 203 ], [ 231, 138, 195 ], [ 166, 216, 84 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 102, 194, 165 ], [ 252, 141, 98 ], [ 141, 160, 203 ], [ 231, 138, 195 ], [ 166, 216, 84 ], [ 255, 217, 47 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 102, 194, 165 ], [ 252, 141, 98 ], [ 141, 160, 203 ], [ 231, 138, 195 ], [ 166, 216, 84 ], [ 255, 217, 47 ], [ 229, 196, 148 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 102, 194, 165 ], [ 252, 141, 98 ], [ 141, 160, 203 ], [ 231, 138, 195 ], [ 166, 216, 84 ], [ 255, 217, 47 ], [ 229, 196, 148 ], [ 179, 179, 179 ] ] } }, "Set3": { "3": { "NumOfColors": 3, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ] ] }, "4": { "NumOfColors": 4, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ] ] }, "5": { "NumOfColors": 5, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ] ] }, "6": { "NumOfColors": 6, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ] ] }, "7": { "NumOfColors": 7, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ], [ 179, 222, 105 ] ] }, "8": { "NumOfColors": 8, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ], [ 179, 222, 105 ], [ 252, 205, 229 ] ] }, "9": { "NumOfColors": 9, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ], [ 179, 222, 105 ], [ 252, 205, 229 ], [ 217, 217, 217 ] ] }, "10": { "NumOfColors": 10, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ], [ 179, 222, 105 ], [ 252, 205, 229 ], [ 217, 217, 217 ], [ 188, 128, 189 ] ] }, "11": { "NumOfColors": 11, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ], [ 179, 222, 105 ], [ 252, 205, 229 ], [ 217, 217, 217 ], [ 188, 128, 189 ], [ 204, 235, 197 ] ] }, "12": { "NumOfColors": 12, "Type": "qual", "Colors": [ [ 141, 211, 199 ], [ 255, 255, 179 ], [ 190, 186, 218 ], [ 251, 128, 114 ], [ 128, 177, 211 ], [ 253, 180, 98 ], [ 179, 222, 105 ], [ 252, 205, 229 ], [ 217, 217, 217 ], [ 188, 128, 189 ], [ 204, 235, 197 ], [ 255, 237, 111 ] ] } } } }././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3273218 palettable-3.3.3/palettable/colorbrewer/data/0000755000076500000240000000000014420072553021112 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/palettable/colorbrewer/data/colorbrewer_all_schemes.csv0000644000076500000240000011055012475521673026527 0ustar00jiffyclubstaffColorName,NumOfColors,Type,CritVal,ColorNum,ColorLetter,R,G,B,SchemeType Accent,3,qual,,1,A,127,201,127,Qualitative ,,,,2,B,190,174,212, ,,,,3,C,253,192,134, Accent,4,qual,,1,A,127,201,127, ,,,,2,B,190,174,212, ,,,,3,C,253,192,134, ,,,,4,D,255,255,153, Accent,5,qual,,1,A,127,201,127, ,,,,2,B,190,174,212, ,,,,3,C,253,192,134, ,,,,4,D,255,255,153, ,,,,5,E,56,108,176, Accent,6,qual,,1,A,127,201,127, ,,,,2,B,190,174,212, ,,,,3,C,253,192,134, ,,,,4,D,255,255,153, ,,,,5,E,56,108,176, ,,,,6,F,240,2,127, Accent,7,qual,,1,A,127,201,127, ,,,,2,B,190,174,212, ,,,,3,C,253,192,134, ,,,,4,D,255,255,153, ,,,,5,E,56,108,176, ,,,,6,F,240,2,127, ,,,,7,G,191,91,23, Accent,8,qual,,1,A,127,201,127, ,,,,2,B,190,174,212, ,,,,3,C,253,192,134, ,,,,4,D,255,255,153, ,,,,5,E,56,108,176, ,,,,6,F,240,2,127, ,,,,7,G,191,91,23, ,,,,8,H,102,102,102, Blues,3,seq,,1,C,222,235,247,Sequential ,,,,2,F,158,202,225, ,,,,3,I,49,130,189, Blues,4,seq,,1,B,239,243,255, ,,,,2,E,189,215,231, ,,,,3,G,107,174,214, ,,,,4,J,33,113,181, Blues,5,seq,,1,B,239,243,255, ,,,,2,E,189,215,231, ,,,,3,G,107,174,214, ,,,,4,I,49,130,189, ,,,,5,K,8,81,156, Blues,6,seq,,1,B,239,243,255, ,,,,2,D,198,219,239, ,,,,3,F,158,202,225, ,,,,4,G,107,174,214, ,,,,5,I,49,130,189, ,,,,6,K,8,81,156, Blues,7,seq,,1,B,239,243,255, ,,,,2,D,198,219,239, ,,,,3,F,158,202,225, ,,,,4,G,107,174,214, ,,,,5,H,66,146,198, ,,,,6,J,33,113,181, ,,,,7,L,8,69,148, Blues,8,seq,,1,A,247,251,255, ,,,,2,C,222,235,247, ,,,,3,D,198,219,239, ,,,,4,F,158,202,225, ,,,,5,G,107,174,214, ,,,,6,H,66,146,198, ,,,,7,J,33,113,181, ,,,,8,L,8,69,148, Blues,9,seq,,1,A,247,251,255, ,,,,2,C,222,235,247, ,,,,3,D,198,219,239, ,,,,4,F,158,202,225, ,,,,5,G,107,174,214, ,,,,6,H,66,146,198, ,,,,7,J,33,113,181, ,,,,8,K,8,81,156, ,,,,9,M,8,48,107, BrBG,3,div,2,1,E,216,179,101,Diverging ,,,,2,H,245,245,245, ,,,,3,K,90,180,172, BrBG,4,div,2.5,1,C,166,97,26, ,,,,2,F,223,194,125, ,,,,3,J,128,205,193, ,,,,4,M,1,133,113, BrBG,5,div,3,1,C,166,97,26, ,,,,2,F,223,194,125, ,,,,3,H,245,245,245, ,,,,4,J,128,205,193, ,,,,5,M,1,133,113, BrBG,6,div,3.5,1,B,140,81,10, ,,,,2,E,216,179,101, ,,,,3,G,246,232,195, ,,,,4,I,199,234,229, ,,,,5,K,90,180,172, ,,,,6,N,1,102,94, BrBG,7,div,4,1,B,140,81,10, ,,,,2,E,216,179,101, ,,,,3,G,246,232,195, ,,,,4,H,245,245,245, ,,,,5,I,199,234,229, ,,,,6,K,90,180,172, ,,,,7,N,1,102,94, BrBG,8,div,4.5,1,B,140,81,10, ,,,,2,D,191,129,45, ,,,,3,F,223,194,125, ,,,,4,G,246,232,195, ,,,,5,I,199,234,229, ,,,,6,J,128,205,193, ,,,,7,L,53,151,143, ,,,,8,N,1,102,94, BrBG,9,div,5,1,B,140,81,10, ,,,,2,D,191,129,45, ,,,,3,F,223,194,125, ,,,,4,G,246,232,195, ,,,,5,H,245,245,245, ,,,,6,I,199,234,229, ,,,,7,J,128,205,193, ,,,,8,L,53,151,143, ,,,,9,N,1,102,94, BrBG,10,div,5.5,1,A,84,48,5, ,,,,2,B,140,81,10, ,,,,3,D,191,129,45, ,,,,4,F,223,194,125, ,,,,5,G,246,232,195, ,,,,6,I,199,234,229, ,,,,7,J,128,205,193, ,,,,8,L,53,151,143, ,,,,9,N,1,102,94, ,,,,10,O,0,60,48, BrBG,11,div,6,1,A,84,48,5, ,,,,2,B,140,81,10, ,,,,3,D,191,129,45, ,,,,4,F,223,194,125, ,,,,5,G,246,232,195, ,,,,6,H,245,245,245, ,,,,7,I,199,234,229, ,,,,8,J,128,205,193, ,,,,9,L,53,151,143, ,,,,10,N,1,102,94, ,,,,11,O,0,60,48, BuGn,3,seq,,1,C,229,245,249,Sequential ,,,,2,F,153,216,201, ,,,,3,I,44,162,95, BuGn,4,seq,,1,B,237,248,251, ,,,,2,E,178,226,226, ,,,,3,G,102,194,164, ,,,,4,J,35,139,69, BuGn,5,seq,,1,B,237,248,251, ,,,,2,E,178,226,226, ,,,,3,G,102,194,164, ,,,,4,I,44,162,95, ,,,,5,K,0,109,44, BuGn,6,seq,,1,B,237,248,251, ,,,,2,D,204,236,230, ,,,,3,F,153,216,201, ,,,,4,G,102,194,164, ,,,,5,I,44,162,95, ,,,,6,K,0,109,44, BuGn,7,seq,,1,B,237,248,251, ,,,,2,D,204,236,230, ,,,,3,F,153,216,201, ,,,,4,G,102,194,164, ,,,,5,H,65,174,118, ,,,,6,J,35,139,69, ,,,,7,L,0,88,36, BuGn,8,seq,,1,A,247,252,253, ,,,,2,C,229,245,249, ,,,,3,D,204,236,230, ,,,,4,F,153,216,201, ,,,,5,G,102,194,164, ,,,,6,H,65,174,118, ,,,,7,J,35,139,69, ,,,,8,L,0,88,36, BuGn,9,seq,,1,A,247,252,253, ,,,,2,C,229,245,249, ,,,,3,D,204,236,230, ,,,,4,F,153,216,201, ,,,,5,G,102,194,164, ,,,,6,H,65,174,118, ,,,,7,J,35,139,69, ,,,,8,K,0,109,44, ,,,,9,M,0,68,27, BuPu,3,seq,,1,C,224,236,244,Sequential ,,,,2,F,158,188,218, ,,,,3,I,136,86,167, BuPu,4,seq,,1,B,237,248,251, ,,,,2,E,179,205,227, ,,,,3,G,140,150,198, ,,,,4,J,136,65,157, BuPu,5,seq,,1,B,237,248,251, ,,,,2,E,179,205,227, ,,,,3,G,140,150,198, ,,,,4,I,136,86,167, ,,,,5,K,129,15,124, BuPu,6,seq,,1,B,237,248,251, ,,,,2,D,191,211,230, ,,,,3,F,158,188,218, ,,,,4,G,140,150,198, ,,,,5,I,136,86,167, ,,,,6,K,129,15,124, BuPu,7,seq,,1,B,237,248,251, ,,,,2,D,191,211,230, ,,,,3,F,158,188,218, ,,,,4,G,140,150,198, ,,,,5,H,140,107,177, ,,,,6,J,136,65,157, ,,,,7,L,110,1,107, BuPu,8,seq,,1,A,247,252,253, ,,,,2,C,224,236,244, ,,,,3,D,191,211,230, ,,,,4,F,158,188,218, ,,,,5,G,140,150,198, ,,,,6,H,140,107,177, ,,,,7,J,136,65,157, ,,,,8,L,110,1,107, BuPu,9,seq,,1,A,247,252,253, ,,,,2,C,224,236,244, ,,,,3,D,191,211,230, ,,,,4,F,158,188,218, ,,,,5,G,140,150,198, ,,,,6,H,140,107,177, ,,,,7,J,136,65,157, ,,,,8,K,129,15,124, ,,,,9,M,77,0,75, Dark2,3,qual,,1,A,27,158,119,Qualitative ,,,,2,B,217,95,2, ,,,,3,C,117,112,179, Dark2,4,qual,,1,A,27,158,119, ,,,,2,B,217,95,2, ,,,,3,C,117,112,179, ,,,,4,D,231,41,138, Dark2,5,qual,,1,A,27,158,119, ,,,,2,B,217,95,2, ,,,,3,C,117,112,179, ,,,,4,D,231,41,138, ,,,,5,E,102,166,30, Dark2,6,qual,,1,A,27,158,119, ,,,,2,B,217,95,2, ,,,,3,C,117,112,179, ,,,,4,D,231,41,138, ,,,,5,E,102,166,30, ,,,,6,F,230,171,2, Dark2,7,qual,,1,A,27,158,119, ,,,,2,B,217,95,2, ,,,,3,C,117,112,179, ,,,,4,D,231,41,138, ,,,,5,E,102,166,30, ,,,,6,F,230,171,2, ,,,,7,G,166,118,29, Dark2,8,qual,,1,A,27,158,119, ,,,,2,B,217,95,2, ,,,,3,C,117,112,179, ,,,,4,D,231,41,138, ,,,,5,E,102,166,30, ,,,,6,F,230,171,2, ,,,,7,G,166,118,29, ,,,,8,H,102,102,102, GnBu,3,seq,,1,C,224,243,219,Sequential ,,,,2,F,168,221,181, ,,,,3,I,67,162,202, GnBu,4,seq,,1,B,240,249,232, ,,,,2,E,186,228,188, ,,,,3,G,123,204,196, ,,,,4,J,43,140,190, GnBu,5,seq,,1,B,240,249,232, ,,,,2,E,186,228,188, ,,,,3,G,123,204,196, ,,,,4,I,67,162,202, ,,,,5,K,8,104,172, GnBu,6,seq,,1,B,240,249,232, ,,,,2,D,204,235,197, ,,,,3,F,168,221,181, ,,,,4,G,123,204,196, ,,,,5,I,67,162,202, ,,,,6,K,8,104,172, GnBu,7,seq,,1,B,240,249,232, ,,,,2,D,204,235,197, ,,,,3,F,168,221,181, ,,,,4,G,123,204,196, ,,,,5,H,78,179,211, ,,,,6,J,43,140,190, ,,,,7,L,8,88,158, GnBu,8,seq,,1,A,247,252,240, ,,,,2,C,224,243,219, ,,,,3,D,204,235,197, ,,,,4,F,168,221,181, ,,,,5,G,123,204,196, ,,,,6,H,78,179,211, ,,,,7,J,43,140,190, ,,,,8,L,8,88,158, GnBu,9,seq,,1,A,247,252,240, ,,,,2,C,224,243,219, ,,,,3,D,204,235,197, ,,,,4,F,168,221,181, ,,,,5,G,123,204,196, ,,,,6,H,78,179,211, ,,,,7,J,43,140,190, ,,,,8,K,8,104,172, ,,,,9,M,8,64,129, Greens,3,seq,,1,C,229,245,224,Sequential ,,,,2,F,161,217,155, ,,,,3,I,49,163,84, Greens,4,seq,,1,B,237,248,233, ,,,,2,E,186,228,179, ,,,,3,G,116,196,118, ,,,,4,J,35,139,69, Greens,5,seq,,1,B,237,248,233, ,,,,2,E,186,228,179, ,,,,3,G,116,196,118, ,,,,4,I,49,163,84, ,,,,5,K,0,109,44, Greens,6,seq,,1,B,237,248,233, ,,,,2,D,199,233,192, ,,,,3,F,161,217,155, ,,,,4,G,116,196,118, ,,,,5,I,49,163,84, ,,,,6,K,0,109,44, Greens,7,seq,,1,B,237,248,233, ,,,,2,D,199,233,192, ,,,,3,F,161,217,155, ,,,,4,G,116,196,118, ,,,,5,H,65,171,93, ,,,,6,J,35,139,69, ,,,,7,L,0,90,50, Greens,8,seq,,1,A,247,252,245, ,,,,2,C,229,245,224, ,,,,3,D,199,233,192, ,,,,4,F,161,217,155, ,,,,5,G,116,196,118, ,,,,6,H,65,171,93, ,,,,7,J,35,139,69, ,,,,8,L,0,90,50, Greens,9,seq,,1,A,247,252,245, ,,,,2,C,229,245,224, ,,,,3,D,199,233,192, ,,,,4,F,161,217,155, ,,,,5,G,116,196,118, ,,,,6,H,65,171,93, ,,,,7,J,35,139,69, ,,,,8,K,0,109,44, ,,,,9,M,0,68,27, Greys,3,seq,,1,C,240,240,240,Sequential ,,,,2,F,189,189,189, ,,,,3,I,99,99,99, Greys,4,seq,,1,B,247,247,247, ,,,,2,E,204,204,204, ,,,,3,G,150,150,150, ,,,,4,J,82,82,82, Greys,5,seq,,1,B,247,247,247, ,,,,2,E,204,204,204, ,,,,3,G,150,150,150, ,,,,4,I,99,99,99, ,,,,5,K,37,37,37, Greys,6,seq,,1,B,247,247,247, ,,,,2,D,217,217,217, ,,,,3,F,189,189,189, ,,,,4,G,150,150,150, ,,,,5,I,99,99,99, ,,,,6,K,37,37,37, Greys,7,seq,,1,B,247,247,247, ,,,,2,D,217,217,217, ,,,,3,F,189,189,189, ,,,,4,G,150,150,150, ,,,,5,H,115,115,115, ,,,,6,J,82,82,82, ,,,,7,L,37,37,37, Greys,8,seq,,1,A,255,255,255, ,,,,2,C,240,240,240, ,,,,3,D,217,217,217, ,,,,4,F,189,189,189, ,,,,5,G,150,150,150, ,,,,6,H,115,115,115, ,,,,7,J,82,82,82, ,,,,8,L,37,37,37, Greys,9,seq,,1,A,255,255,255, ,,,,2,C,240,240,240, ,,,,3,D,217,217,217, ,,,,4,F,189,189,189, ,,,,5,G,150,150,150, ,,,,6,H,115,115,115, ,,,,7,J,82,82,82, ,,,,8,K,37,37,37, ,,,,9,M,0,0,0, Oranges,3,seq,,1,C,254,230,206,Sequential ,,,,2,F,253,174,107, ,,,,3,I,230,85,13, Oranges,4,seq,,1,B,254,237,222, ,,,,2,E,253,190,133, ,,,,3,G,253,141,60, ,,,,4,J,217,71,1, Oranges,5,seq,,1,B,254,237,222, ,,,,2,E,253,190,133, ,,,,3,G,253,141,60, ,,,,4,I,230,85,13, ,,,,5,K,166,54,3, Oranges,6,seq,,1,B,254,237,222, ,,,,2,D,253,208,162, ,,,,3,F,253,174,107, ,,,,4,G,253,141,60, ,,,,5,I,230,85,13, ,,,,6,K,166,54,3, Oranges,7,seq,,1,B,254,237,222, ,,,,2,D,253,208,162, ,,,,3,F,253,174,107, ,,,,4,G,253,141,60, ,,,,5,H,241,105,19, ,,,,6,J,217,72,1, ,,,,7,L,140,45,4, Oranges,8,seq,,1,A,255,245,235, ,,,,2,C,254,230,206, ,,,,3,D,253,208,162, ,,,,4,F,253,174,107, ,,,,5,G,253,141,60, ,,,,6,H,241,105,19, ,,,,7,J,217,72,1, ,,,,8,L,140,45,4, Oranges,9,seq,,1,A,255,245,235, ,,,,2,C,254,230,206, ,,,,3,D,253,208,162, ,,,,4,F,253,174,107, ,,,,5,G,253,141,60, ,,,,6,H,241,105,19, ,,,,7,J,217,72,1, ,,,,8,K,166,54,3, ,,,,9,M,127,39,4, OrRd,3,seq,,1,C,254,232,200,Sequential ,,,,2,F,253,187,132, ,,,,3,I,227,74,51, OrRd,4,seq,,1,B,254,240,217, ,,,,2,E,253,204,138, ,,,,3,G,252,141,89, ,,,,4,J,215,48,31, OrRd,5,seq,,1,B,254,240,217, ,,,,2,E,253,204,138, ,,,,3,G,252,141,89, ,,,,4,I,227,74,51, ,,,,5,K,179,0,0, OrRd,6,seq,,1,B,254,240,217, ,,,,2,D,253,212,158, ,,,,3,F,253,187,132, ,,,,4,G,252,141,89, ,,,,5,I,227,74,51, ,,,,6,K,179,0,0, OrRd,7,seq,,1,B,254,240,217, ,,,,2,D,253,212,158, ,,,,3,F,253,187,132, ,,,,4,G,252,141,89, ,,,,5,H,239,101,72, ,,,,6,J,215,48,31, ,,,,7,L,153,0,0, OrRd,8,seq,,1,A,255,247,236, ,,,,2,C,254,232,200, ,,,,3,D,253,212,158, ,,,,4,F,253,187,132, ,,,,5,G,252,141,89, ,,,,6,H,239,101,72, ,,,,7,J,215,48,31, ,,,,8,L,153,0,0, OrRd,9,seq,,1,A,255,247,236, ,,,,2,C,254,232,200, ,,,,3,D,253,212,158, ,,,,4,F,253,187,132, ,,,,5,G,252,141,89, ,,,,6,H,239,101,72, ,,,,7,J,215,48,31, ,,,,8,K,179,0,0, ,,,,9,M,127,0,0, Paired,3,qual,,1,A,166,206,227,Qualitative ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, Paired,4,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, Paired,5,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, Paired,6,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, Paired,7,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, ,,,,7,G,253,191,111, Paired,8,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, ,,,,7,G,253,191,111, ,,,,8,H,255,127,0, Paired,9,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, ,,,,7,G,253,191,111, ,,,,8,H,255,127,0, ,,,,9,I,202,178,214, Paired,10,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, ,,,,7,G,253,191,111, ,,,,8,H,255,127,0, ,,,,9,I,202,178,214, ,,,,10,J,106,61,154, Paired,11,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, ,,,,7,G,253,191,111, ,,,,8,H,255,127,0, ,,,,9,I,202,178,214, ,,,,10,J,106,61,154, ,,,,11,K,255,255,153, Paired,12,qual,,1,A,166,206,227, ,,,,2,B,31,120,180, ,,,,3,C,178,223,138, ,,,,4,D,51,160,44, ,,,,5,E,251,154,153, ,,,,6,F,227,26,28, ,,,,7,G,253,191,111, ,,,,8,H,255,127,0, ,,,,9,I,202,178,214, ,,,,10,J,106,61,154, ,,,,11,K,255,255,153, ,,,,12,L,177,89,40, Pastel1,3,qual,,1,A,251,180,174,Qualitative ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, Pastel1,4,qual,,1,A,251,180,174, ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, ,,,,4,D,222,203,228, Pastel1,5,qual,,1,A,251,180,174, ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, ,,,,4,D,222,203,228, ,,,,5,E,254,217,166, Pastel1,6,qual,,1,A,251,180,174, ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, ,,,,4,D,222,203,228, ,,,,5,E,254,217,166, ,,,,6,F,255,255,204, Pastel1,7,qual,,1,A,251,180,174, ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, ,,,,4,D,222,203,228, ,,,,5,E,254,217,166, ,,,,6,F,255,255,204, ,,,,7,G,229,216,189, Pastel1,8,qual,,1,A,251,180,174, ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, ,,,,4,D,222,203,228, ,,,,5,E,254,217,166, ,,,,6,F,255,255,204, ,,,,7,G,229,216,189, ,,,,8,H,253,218,236, Pastel1,9,qual,,1,A,251,180,174, ,,,,2,B,179,205,227, ,,,,3,C,204,235,197, ,,,,4,D,222,203,228, ,,,,5,E,254,217,166, ,,,,6,F,255,255,204, ,,,,7,G,229,216,189, ,,,,8,H,253,218,236, ,,,,9,I,242,242,242, Pastel2,3,qual,,1,A,179,226,205,Qualitative ,,,,2,B,253,205,172, ,,,,3,C,203,213,232, Pastel2,4,qual,,1,A,179,226,205, ,,,,2,B,253,205,172, ,,,,3,C,203,213,232, ,,,,4,D,244,202,228, Pastel2,5,qual,,1,A,179,226,205, ,,,,2,B,253,205,172, ,,,,3,C,203,213,232, ,,,,4,D,244,202,228, ,,,,5,E,230,245,201, Pastel2,6,qual,,1,A,179,226,205, ,,,,2,B,253,205,172, ,,,,3,C,203,213,232, ,,,,4,D,244,202,228, ,,,,5,E,230,245,201, ,,,,6,F,255,242,174, Pastel2,7,qual,,1,A,179,226,205, ,,,,2,B,253,205,172, ,,,,3,C,203,213,232, ,,,,4,D,244,202,228, ,,,,5,E,230,245,201, ,,,,6,F,255,242,174, ,,,,7,G,241,226,204, Pastel2,8,qual,,1,A,179,226,205, ,,,,2,B,253,205,172, ,,,,3,C,203,213,232, ,,,,4,D,244,202,228, ,,,,5,E,230,245,201, ,,,,6,F,255,242,174, ,,,,7,G,241,226,204, ,,,,8,H,204,204,204, PiYG,3,div,2,1,E,233,163,201,Diverging ,,,,2,H,247,247,247, ,,,,3,K,161,215,106, PiYG,4,div,2.5,1,C,208,28,139, ,,,,2,F,241,182,218, ,,,,3,J,184,225,134, ,,,,4,M,77,172,38, PiYG,5,div,3,1,C,208,28,139, ,,,,2,F,241,182,218, ,,,,3,H,247,247,247, ,,,,4,J,184,225,134, ,,,,5,M,77,172,38, PiYG,6,div,3.5,1,B,197,27,125, ,,,,2,E,233,163,201, ,,,,3,G,253,224,239, ,,,,4,I,230,245,208, ,,,,5,K,161,215,106, ,,,,6,N,77,146,33, PiYG,7,div,4,1,B,197,27,125, ,,,,2,E,233,163,201, ,,,,3,G,253,224,239, ,,,,4,H,247,247,247, ,,,,5,I,230,245,208, ,,,,6,K,161,215,106, ,,,,7,N,77,146,33, PiYG,8,div,4.5,1,B,197,27,125, ,,,,2,D,222,119,174, ,,,,3,F,241,182,218, ,,,,4,G,253,224,239, ,,,,5,I,230,245,208, ,,,,6,J,184,225,134, ,,,,7,L,127,188,65, ,,,,8,N,77,146,33, PiYG,9,div,5,1,B,197,27,125, ,,,,2,D,222,119,174, ,,,,3,F,241,182,218, ,,,,4,G,253,224,239, ,,,,5,H,247,247,247, ,,,,6,I,230,245,208, ,,,,7,J,184,225,134, ,,,,8,L,127,188,65, ,,,,9,N,77,146,33, PiYG,10,div,5.5,1,A,142,1,82, ,,,,2,B,197,27,125, ,,,,3,D,222,119,174, ,,,,4,F,241,182,218, ,,,,5,G,253,224,239, ,,,,6,I,230,245,208, ,,,,7,J,184,225,134, ,,,,8,L,127,188,65, ,,,,9,N,77,146,33, ,,,,10,O,39,100,25, PiYG,11,div,6,1,A,142,1,82, ,,,,2,B,197,27,125, ,,,,3,D,222,119,174, ,,,,4,F,241,182,218, ,,,,5,G,253,224,239, ,,,,6,H,247,247,247, ,,,,7,I,230,245,208, ,,,,8,J,184,225,134, ,,,,9,L,127,188,65, ,,,,10,N,77,146,33, ,,,,11,O,39,100,25, PRGn,3,div,2,1,E,175,141,195,Diverging ,,,,2,H,247,247,247, ,,,,3,K,127,191,123, PRGn,4,div,2.5,1,C,123,50,148, ,,,,2,F,194,165,207, ,,,,3,J,166,219,160, ,,,,4,M,0,136,55, PRGn,5,div,3,1,C,123,50,148, ,,,,2,F,194,165,207, ,,,,3,H,247,247,247, ,,,,4,J,166,219,160, ,,,,5,M,0,136,55, PRGn,6,div,3.5,1,B,118,42,131, ,,,,2,E,175,141,195, ,,,,3,G,231,212,232, ,,,,4,I,217,240,211, ,,,,5,K,127,191,123, ,,,,6,N,27,120,55, PRGn,7,div,4,1,B,118,42,131, ,,,,2,E,175,141,195, ,,,,3,G,231,212,232, ,,,,4,H,247,247,247, ,,,,5,I,217,240,211, ,,,,6,K,127,191,123, ,,,,7,N,27,120,55, PRGn,8,div,4.5,1,B,118,42,131, ,,,,2,D,153,112,171, ,,,,3,F,194,165,207, ,,,,4,G,231,212,232, ,,,,5,I,217,240,211, ,,,,6,J,166,219,160, ,,,,7,L,90,174,97, ,,,,8,N,27,120,55, PRGn,9,div,5,1,B,118,42,131, ,,,,2,D,153,112,171, ,,,,3,F,194,165,207, ,,,,4,G,231,212,232, ,,,,5,H,247,247,247, ,,,,6,I,217,240,211, ,,,,7,J,166,219,160, ,,,,8,L,90,174,97, ,,,,9,N,27,120,55, PRGn,10,div,5.5,1,A,64,0,75, ,,,,2,B,118,42,131, ,,,,3,D,153,112,171, ,,,,4,F,194,165,207, ,,,,5,G,231,212,232, ,,,,6,I,217,240,211, ,,,,7,J,166,219,160, ,,,,8,L,90,174,97, ,,,,9,N,27,120,55, ,,,,10,O,0,68,27, PRGn,11,div,6,1,A,64,0,75, ,,,,2,B,118,42,131, ,,,,3,D,153,112,171, ,,,,4,F,194,165,207, ,,,,5,G,231,212,232, ,,,,6,H,247,247,247, ,,,,7,I,217,240,211, ,,,,8,J,166,219,160, ,,,,9,L,90,174,97, ,,,,10,N,27,120,55, ,,,,11,O,0,68,27, PuBu,3,seq,,1,C,236,231,242,Sequential ,,,,2,F,166,189,219, ,,,,3,I,43,140,190, PuBu,4,seq,,1,B,241,238,246, ,,,,2,E,189,201,225, ,,,,3,G,116,169,207, ,,,,4,J,5,112,176, PuBu,5,seq,,1,B,241,238,246, ,,,,2,E,189,201,225, ,,,,3,G,116,169,207, ,,,,4,I,43,140,190, ,,,,5,K,4,90,141, PuBu,6,seq,,1,B,241,238,246, ,,,,2,D,208,209,230, ,,,,3,F,166,189,219, ,,,,4,G,116,169,207, ,,,,5,I,43,140,190, ,,,,6,K,4,90,141, PuBu,7,seq,,1,B,241,238,246, ,,,,2,D,208,209,230, ,,,,3,F,166,189,219, ,,,,4,G,116,169,207, ,,,,5,H,54,144,192, ,,,,6,J,5,112,176, ,,,,7,L,3,78,123, PuBu,8,seq,,1,A,255,247,251, ,,,,2,C,236,231,242, ,,,,3,D,208,209,230, ,,,,4,F,166,189,219, ,,,,5,G,116,169,207, ,,,,6,H,54,144,192, ,,,,7,J,5,112,176, ,,,,8,L,3,78,123, PuBu,9,seq,,1,A,255,247,251, ,,,,2,C,236,231,242, ,,,,3,D,208,209,230, ,,,,4,F,166,189,219, ,,,,5,G,116,169,207, ,,,,6,H,54,144,192, ,,,,7,J,5,112,176, ,,,,8,K,4,90,141, ,,,,9,M,2,56,88, PuBuGn,3,seq,,1,C,236,226,240,Sequential ,,,,2,F,166,189,219, ,,,,3,I,28,144,153, PuBuGn,4,seq,,1,B,246,239,247, ,,,,2,E,189,201,225, ,,,,3,G,103,169,207, ,,,,4,J,2,129,138, PuBuGn,5,seq,,1,B,246,239,247, ,,,,2,E,189,201,225, ,,,,3,G,103,169,207, ,,,,4,I,28,144,153, ,,,,5,K,1,108,89, PuBuGn,6,seq,,1,B,246,239,247, ,,,,2,D,208,209,230, ,,,,3,F,166,189,219, ,,,,4,G,103,169,207, ,,,,5,I,28,144,153, ,,,,6,K,1,108,89, PuBuGn,7,seq,,1,B,246,239,247, ,,,,2,D,208,209,230, ,,,,3,F,166,189,219, ,,,,4,G,103,169,207, ,,,,5,H,54,144,192, ,,,,6,J,2,129,138, ,,,,7,L,1,100,80, PuBuGn,8,seq,,1,A,255,247,251, ,,,,2,C,236,226,240, ,,,,3,D,208,209,230, ,,,,4,F,166,189,219, ,,,,5,G,103,169,207, ,,,,6,H,54,144,192, ,,,,7,J,2,129,138, ,,,,8,L,1,100,80, PuBuGn,9,seq,,1,A,255,247,251, ,,,,2,C,236,226,240, ,,,,3,D,208,209,230, ,,,,4,F,166,189,219, ,,,,5,G,103,169,207, ,,,,6,H,54,144,192, ,,,,7,J,2,129,138, ,,,,8,K,1,108,89, ,,,,9,M,1,70,54, PuOr,3,div,2,1,E,241,163,64,Diverging ,,,,2,H,247,247,247, ,,,,3,K,153,142,195, PuOr,4,div,2.5,1,C,230,97,1, ,,,,2,F,253,184,99, ,,,,3,J,178,171,210, ,,,,4,M,94,60,153, PuOr,5,div,3,1,C,230,97,1, ,,,,2,F,253,184,99, ,,,,3,H,247,247,247, ,,,,4,J,178,171,210, ,,,,5,M,94,60,153, PuOr,6,div,3.5,1,B,179,88,6, ,,,,2,E,241,163,64, ,,,,3,G,254,224,182, ,,,,4,I,216,218,235, ,,,,5,K,153,142,195, ,,,,6,N,84,39,136, PuOr,7,div,4,1,B,179,88,6, ,,,,2,E,241,163,64, ,,,,3,G,254,224,182, ,,,,4,H,247,247,247, ,,,,5,I,216,218,235, ,,,,6,K,153,142,195, ,,,,7,N,84,39,136, PuOr,8,div,4.5,1,B,179,88,6, ,,,,2,D,224,130,20, ,,,,3,F,253,184,99, ,,,,4,G,254,224,182, ,,,,5,I,216,218,235, ,,,,6,J,178,171,210, ,,,,7,L,128,115,172, ,,,,8,N,84,39,136, PuOr,9,div,5,1,B,179,88,6, ,,,,2,D,224,130,20, ,,,,3,F,253,184,99, ,,,,4,G,254,224,182, ,,,,5,H,247,247,247, ,,,,6,I,216,218,235, ,,,,7,J,178,171,210, ,,,,8,L,128,115,172, ,,,,9,N,84,39,136, PuOr,10,div,5.5,1,A,127,59,8, ,,,,2,B,179,88,6, ,,,,3,D,224,130,20, ,,,,4,F,253,184,99, ,,,,5,G,254,224,182, ,,,,6,I,216,218,235, ,,,,7,J,178,171,210, ,,,,8,L,128,115,172, ,,,,9,N,84,39,136, ,,,,10,O,45,0,75, PuOr,11,div,6,1,A,127,59,8, ,,,,2,B,179,88,6, ,,,,3,D,224,130,20, ,,,,4,F,253,184,99, ,,,,5,G,254,224,182, ,,,,6,H,247,247,247, ,,,,7,I,216,218,235, ,,,,8,J,178,171,210, ,,,,9,L,128,115,172, ,,,,10,N,84,39,136, ,,,,11,O,45,0,75, PuRd,3,seq,,1,C,231,225,239,Sequential ,,,,2,F,201,148,199, ,,,,3,I,221,28,119, PuRd,4,seq,,1,B,241,238,246, ,,,,2,E,215,181,216, ,,,,3,G,223,101,176, ,,,,4,J,206,18,86, PuRd,5,seq,,1,B,241,238,246, ,,,,2,E,215,181,216, ,,,,3,G,223,101,176, ,,,,4,I,221,28,119, ,,,,5,K,152,0,67, PuRd,6,seq,,1,B,241,238,246, ,,,,2,D,212,185,218, ,,,,3,F,201,148,199, ,,,,4,G,223,101,176, ,,,,5,I,221,28,119, ,,,,6,K,152,0,67, PuRd,7,seq,,1,B,241,238,246, ,,,,2,D,212,185,218, ,,,,3,F,201,148,199, ,,,,4,G,223,101,176, ,,,,5,H,231,41,138, ,,,,6,J,206,18,86, ,,,,7,L,145,0,63, PuRd,8,seq,,1,A,247,244,249, ,,,,2,C,231,225,239, ,,,,3,D,212,185,218, ,,,,4,F,201,148,199, ,,,,5,G,223,101,176, ,,,,6,H,231,41,138, ,,,,7,J,206,18,86, ,,,,8,L,145,0,63, PuRd,9,seq,,1,A,247,244,249, ,,,,2,C,231,225,239, ,,,,3,D,212,185,218, ,,,,4,F,201,148,199, ,,,,5,G,223,101,176, ,,,,6,H,231,41,138, ,,,,7,J,206,18,86, ,,,,8,K,152,0,67, ,,,,9,M,103,0,31, Purples,3,seq,,1,C,239,237,245,Sequential ,,,,2,F,188,189,220, ,,,,3,I,117,107,177, Purples,4,seq,,1,B,242,240,247, ,,,,2,E,203,201,226, ,,,,3,G,158,154,200, ,,,,4,J,106,81,163, Purples,5,seq,,1,B,242,240,247, ,,,,2,E,203,201,226, ,,,,3,G,158,154,200, ,,,,4,I,117,107,177, ,,,,5,K,84,39,143, Purples,6,seq,,1,B,242,240,247, ,,,,2,D,218,218,235, ,,,,3,F,188,189,220, ,,,,4,G,158,154,200, ,,,,5,I,117,107,177, ,,,,6,K,84,39,143, Purples,7,seq,,1,B,242,240,247, ,,,,2,D,218,218,235, ,,,,3,F,188,189,220, ,,,,4,G,158,154,200, ,,,,5,H,128,125,186, ,,,,6,J,106,81,163, ,,,,7,L,74,20,134, Purples,8,seq,,1,A,252,251,253, ,,,,2,C,239,237,245, ,,,,3,D,218,218,235, ,,,,4,F,188,189,220, ,,,,5,G,158,154,200, ,,,,6,H,128,125,186, ,,,,7,J,106,81,163, ,,,,8,L,74,20,134, Purples,9,seq,,1,A,252,251,253, ,,,,2,C,239,237,245, ,,,,3,D,218,218,235, ,,,,4,F,188,189,220, ,,,,5,G,158,154,200, ,,,,6,H,128,125,186, ,,,,7,J,106,81,163, ,,,,8,K,84,39,143, ,,,,9,M,63,0,125, RdBu,3,div,2,1,E,239,138,98,Diverging ,,,,2,H,247,247,247, ,,,,3,K,103,169,207, RdBu,4,div,2.5,1,C,202,0,32, ,,,,2,F,244,165,130, ,,,,3,J,146,197,222, ,,,,4,M,5,113,176, RdBu,5,div,3,1,C,202,0,32, ,,,,2,F,244,165,130, ,,,,3,H,247,247,247, ,,,,4,J,146,197,222, ,,,,5,M,5,113,176, RdBu,6,div,3.5,1,B,178,24,43, ,,,,2,E,239,138,98, ,,,,3,G,253,219,199, ,,,,4,I,209,229,240, ,,,,5,K,103,169,207, ,,,,6,N,33,102,172, RdBu,7,div,4,1,B,178,24,43, ,,,,2,E,239,138,98, ,,,,3,G,253,219,199, ,,,,4,H,247,247,247, ,,,,5,I,209,229,240, ,,,,6,K,103,169,207, ,,,,7,N,33,102,172, RdBu,8,div,4.5,1,B,178,24,43, ,,,,2,D,214,96,77, ,,,,3,F,244,165,130, ,,,,4,G,253,219,199, ,,,,5,I,209,229,240, ,,,,6,J,146,197,222, ,,,,7,L,67,147,195, ,,,,8,N,33,102,172, RdBu,9,div,5,1,B,178,24,43, ,,,,2,D,214,96,77, ,,,,3,F,244,165,130, ,,,,4,G,253,219,199, ,,,,5,H,247,247,247, ,,,,6,I,209,229,240, ,,,,7,J,146,197,222, ,,,,8,L,67,147,195, ,,,,9,N,33,102,172, RdBu,10,div,5.5,1,A,103,0,31, ,,,,2,B,178,24,43, ,,,,3,D,214,96,77, ,,,,4,F,244,165,130, ,,,,5,G,253,219,199, ,,,,6,I,209,229,240, ,,,,7,J,146,197,222, ,,,,8,L,67,147,195, ,,,,9,N,33,102,172, ,,,,10,O,5,48,97, RdBu,11,div,6,1,A,103,0,31, ,,,,2,B,178,24,43, ,,,,3,D,214,96,77, ,,,,4,F,244,165,130, ,,,,5,G,253,219,199, ,,,,6,H,247,247,247, ,,,,7,I,209,229,240, ,,,,8,J,146,197,222, ,,,,9,L,67,147,195, ,,,,10,N,33,102,172, ,,,,11,O,5,48,97, RdGy,3,div,2,1,E,239,138,98,Diverging ,,,,2,H,255,255,255, ,,,,3,K,153,153,153, RdGy,4,div,2.5,1,C,202,0,32, ,,,,2,F,244,165,130, ,,,,3,J,186,186,186, ,,,,4,M,64,64,64, RdGy,5,div,3,1,C,202,0,32, ,,,,2,F,244,165,130, ,,,,3,H,255,255,255, ,,,,4,J,186,186,186, ,,,,5,M,64,64,64, RdGy,6,div,3.5,1,B,178,24,43, ,,,,2,E,239,138,98, ,,,,3,G,253,219,199, ,,,,4,I,224,224,224, ,,,,5,K,153,153,153, ,,,,6,N,77,77,77, RdGy,7,div,4,1,B,178,24,43, ,,,,2,E,239,138,98, ,,,,3,G,253,219,199, ,,,,4,H,255,255,255, ,,,,5,I,224,224,224, ,,,,6,K,153,153,153, ,,,,7,N,77,77,77, RdGy,8,div,4.5,1,B,178,24,43, ,,,,2,D,214,96,77, ,,,,3,F,244,165,130, ,,,,4,G,253,219,199, ,,,,5,I,224,224,224, ,,,,6,J,186,186,186, ,,,,7,L,135,135,135, ,,,,8,N,77,77,77, RdGy,9,div,5,1,B,178,24,43, ,,,,2,D,214,96,77, ,,,,3,F,244,165,130, ,,,,4,G,253,219,199, ,,,,5,H,255,255,255, ,,,,6,I,224,224,224, ,,,,7,J,186,186,186, ,,,,8,L,135,135,135, ,,,,9,N,77,77,77, RdGy,10,div,5.5,1,A,103,0,31, ,,,,2,B,178,24,43, ,,,,3,D,214,96,77, ,,,,4,F,244,165,130, ,,,,5,G,253,219,199, ,,,,6,I,224,224,224, ,,,,7,J,186,186,186, ,,,,8,L,135,135,135, ,,,,9,N,77,77,77, ,,,,10,O,26,26,26, RdGy,11,div,6,1,A,103,0,31, ,,,,2,B,178,24,43, ,,,,3,D,214,96,77, ,,,,4,F,244,165,130, ,,,,5,G,253,219,199, ,,,,6,H,255,255,255, ,,,,7,I,224,224,224, ,,,,8,J,186,186,186, ,,,,9,L,135,135,135, ,,,,10,N,77,77,77, ,,,,11,O,26,26,26, RdPu,3,seq,,1,C,253,224,221,Sequential ,,,,2,F,250,159,181, ,,,,3,I,197,27,138, RdPu,4,seq,,1,B,254,235,226, ,,,,2,E,251,180,185, ,,,,3,G,247,104,161, ,,,,4,J,174,1,126, RdPu,5,seq,,1,B,254,235,226, ,,,,2,E,251,180,185, ,,,,3,G,247,104,161, ,,,,4,I,197,27,138, ,,,,5,K,122,1,119, RdPu,6,seq,,1,B,254,235,226, ,,,,2,D,252,197,192, ,,,,3,F,250,159,181, ,,,,4,G,247,104,161, ,,,,5,I,197,27,138, ,,,,6,K,122,1,119, RdPu,7,seq,,1,B,254,235,226, ,,,,2,D,252,197,192, ,,,,3,F,250,159,181, ,,,,4,G,247,104,161, ,,,,5,H,221,52,151, ,,,,6,J,174,1,126, ,,,,7,L,122,1,119, RdPu,8,seq,,1,A,255,247,243, ,,,,2,C,253,224,221, ,,,,3,D,252,197,192, ,,,,4,F,250,159,181, ,,,,5,G,247,104,161, ,,,,6,H,221,52,151, ,,,,7,J,174,1,126, ,,,,8,L,122,1,119, RdPu,9,seq,,1,A,255,247,243, ,,,,2,C,253,224,221, ,,,,3,D,252,197,192, ,,,,4,F,250,159,181, ,,,,5,G,247,104,161, ,,,,6,H,221,52,151, ,,,,7,J,174,1,126, ,,,,8,K,122,1,119, ,,,,9,M,73,0,106, Reds,3,seq,,1,C,254,224,210,Sequential ,,,,2,F,252,146,114, ,,,,3,I,222,45,38, Reds,4,seq,,1,B,254,229,217, ,,,,2,E,252,174,145, ,,,,3,G,251,106,74, ,,,,4,J,203,24,29, Reds,5,seq,,1,B,254,229,217, ,,,,2,E,252,174,145, ,,,,3,G,251,106,74, ,,,,4,I,222,45,38, ,,,,5,K,165,15,21, Reds,6,seq,,1,B,254,229,217, ,,,,2,D,252,187,161, ,,,,3,F,252,146,114, ,,,,4,G,251,106,74, ,,,,5,I,222,45,38, ,,,,6,K,165,15,21, Reds,7,seq,,1,B,254,229,217, ,,,,2,D,252,187,161, ,,,,3,F,252,146,114, ,,,,4,G,251,106,74, ,,,,5,H,239,59,44, ,,,,6,J,203,24,29, ,,,,7,L,153,0,13, Reds,8,seq,,1,A,255,245,240, ,,,,2,C,254,224,210, ,,,,3,D,252,187,161, ,,,,4,F,252,146,114, ,,,,5,G,251,106,74, ,,,,6,H,239,59,44, ,,,,7,J,203,24,29, ,,,,8,L,153,0,13, Reds,9,seq,,1,A,255,245,240, ,,,,2,C,254,224,210, ,,,,3,D,252,187,161, ,,,,4,F,252,146,114, ,,,,5,G,251,106,74, ,,,,6,H,239,59,44, ,,,,7,J,203,24,29, ,,,,8,K,165,15,21, ,,,,9,M,103,0,13, RdYlBu,3,div,2,1,E,252,141,89,Diverging ,,,,2,H,255,255,191, ,,,,3,K,145,191,219, RdYlBu,4,div,2.5,1,C,215,25,28, ,,,,2,F,253,174,97, ,,,,3,J,171,217,233, ,,,,4,M,44,123,182, RdYlBu,5,div,3,1,C,215,25,28, ,,,,2,F,253,174,97, ,,,,3,H,255,255,191, ,,,,4,J,171,217,233, ,,,,5,M,44,123,182, RdYlBu,6,div,3.5,1,B,215,48,39, ,,,,2,E,252,141,89, ,,,,3,G,254,224,144, ,,,,4,I,224,243,248, ,,,,5,K,145,191,219, ,,,,6,N,69,117,180, RdYlBu,7,div,4,1,B,215,48,39, ,,,,2,E,252,141,89, ,,,,3,G,254,224,144, ,,,,4,H,255,255,191, ,,,,5,I,224,243,248, ,,,,6,K,145,191,219, ,,,,7,N,69,117,180, RdYlBu,8,div,4.5,1,B,215,48,39, ,,,,2,D,244,109,67, ,,,,3,F,253,174,97, ,,,,4,G,254,224,144, ,,,,5,I,224,243,248, ,,,,6,J,171,217,233, ,,,,7,L,116,173,209, ,,,,8,N,69,117,180, RdYlBu,9,div,5,1,B,215,48,39, ,,,,2,D,244,109,67, ,,,,3,F,253,174,97, ,,,,4,G,254,224,144, ,,,,5,H,255,255,191, ,,,,6,I,224,243,248, ,,,,7,J,171,217,233, ,,,,8,L,116,173,209, ,,,,9,N,69,117,180, RdYlBu,10,div,5.5,1,A,165,0,38, ,,,,2,B,215,48,39, ,,,,3,D,244,109,67, ,,,,4,F,253,174,97, ,,,,5,G,254,224,144, ,,,,6,I,224,243,248, ,,,,7,J,171,217,233, ,,,,8,L,116,173,209, ,,,,9,N,69,117,180, ,,,,10,O,49,54,149, RdYlBu,11,div,6,1,A,165,0,38, ,,,,2,B,215,48,39, ,,,,3,D,244,109,67, ,,,,4,F,253,174,97, ,,,,5,G,254,224,144, ,,,,6,H,255,255,191, ,,,,7,I,224,243,248, ,,,,8,J,171,217,233, ,,,,9,L,116,173,209, ,,,,10,N,69,117,180, ,,,,11,O,49,54,149, RdYlGn,3,div,2,1,E,252,141,89,Diverging ,,,,2,H,255,255,191, ,,,,3,K,145,207,96, RdYlGn,4,div,2.5,1,C,215,25,28, ,,,,2,F,253,174,97, ,,,,3,J,166,217,106, ,,,,4,M,26,150,65, RdYlGn,5,div,3,1,C,215,25,28, ,,,,2,F,253,174,97, ,,,,3,H,255,255,191, ,,,,4,J,166,217,106, ,,,,5,M,26,150,65, RdYlGn,6,div,3.5,1,B,215,48,39, ,,,,2,E,252,141,89, ,,,,3,G,254,224,139, ,,,,4,I,217,239,139, ,,,,5,K,145,207,96, ,,,,6,N,26,152,80, RdYlGn,7,div,4,1,B,215,48,39, ,,,,2,E,252,141,89, ,,,,3,G,254,224,139, ,,,,4,H,255,255,191, ,,,,5,I,217,239,139, ,,,,6,K,145,207,96, ,,,,7,N,26,152,80, RdYlGn,8,div,4.5,1,B,215,48,39, ,,,,2,D,244,109,67, ,,,,3,F,253,174,97, ,,,,4,G,254,224,139, ,,,,5,I,217,239,139, ,,,,6,J,166,217,106, ,,,,7,L,102,189,99, ,,,,8,N,26,152,80, RdYlGn,9,div,5,1,B,215,48,39, ,,,,2,D,244,109,67, ,,,,3,F,253,174,97, ,,,,4,G,254,224,139, ,,,,5,H,255,255,191, ,,,,6,I,217,239,139, ,,,,7,J,166,217,106, ,,,,8,L,102,189,99, ,,,,9,N,26,152,80, RdYlGn,10,div,5.5,1,A,165,0,38, ,,,,2,B,215,48,39, ,,,,3,D,244,109,67, ,,,,4,F,253,174,97, ,,,,5,G,254,224,139, ,,,,6,I,217,239,139, ,,,,7,J,166,217,106, ,,,,8,L,102,189,99, ,,,,9,N,26,152,80, ,,,,10,O,0,104,55, RdYlGn,11,div,6,1,A,165,0,38, ,,,,2,B,215,48,39, ,,,,3,D,244,109,67, ,,,,4,F,253,174,97, ,,,,5,G,254,224,139, ,,,,6,H,255,255,191, ,,,,7,I,217,239,139, ,,,,8,J,166,217,106, ,,,,9,L,102,189,99, ,,,,10,N,26,152,80, ,,,,11,O,0,104,55, Set1,3,qual,,1,A,228,26,28,Qualitative ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, Set1,4,qual,,1,A,228,26,28, ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, ,,,,4,D,152,78,163, Set1,5,qual,,1,A,228,26,28, ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, ,,,,4,D,152,78,163, ,,,,5,E,255,127,0, Set1,6,qual,,1,A,228,26,28, ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, ,,,,4,D,152,78,163, ,,,,5,E,255,127,0, ,,,,6,F,255,255,51, Set1,7,qual,,1,A,228,26,28, ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, ,,,,4,D,152,78,163, ,,,,5,E,255,127,0, ,,,,6,F,255,255,51, ,,,,7,G,166,86,40, Set1,8,qual,,1,A,228,26,28, ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, ,,,,4,D,152,78,163, ,,,,5,E,255,127,0, ,,,,6,F,255,255,51, ,,,,7,G,166,86,40, ,,,,8,H,247,129,191, Set1,9,qual,,1,A,228,26,28, ,,,,2,B,55,126,184, ,,,,3,C,77,175,74, ,,,,4,D,152,78,163, ,,,,5,E,255,127,0, ,,,,6,F,255,255,51, ,,,,7,G,166,86,40, ,,,,8,H,247,129,191, ,,,,9,I,153,153,153, Set2,3,qual,,1,A,102,194,165,Qualitative ,,,,2,B,252,141,98, ,,,,3,C,141,160,203, Set2,4,qual,,1,A,102,194,165, ,,,,2,B,252,141,98, ,,,,3,C,141,160,203, ,,,,4,D,231,138,195, Set2,5,qual,,1,A,102,194,165, ,,,,2,B,252,141,98, ,,,,3,C,141,160,203, ,,,,4,D,231,138,195, ,,,,5,E,166,216,84, Set2,6,qual,,1,A,102,194,165, ,,,,2,B,252,141,98, ,,,,3,C,141,160,203, ,,,,4,D,231,138,195, ,,,,5,E,166,216,84, ,,,,6,F,255,217,47, Set2,7,qual,,1,A,102,194,165, ,,,,2,B,252,141,98, ,,,,3,C,141,160,203, ,,,,4,D,231,138,195, ,,,,5,E,166,216,84, ,,,,6,F,255,217,47, ,,,,7,G,229,196,148, Set2,8,qual,,1,A,102,194,165, ,,,,2,B,252,141,98, ,,,,3,C,141,160,203, ,,,,4,D,231,138,195, ,,,,5,E,166,216,84, ,,,,6,F,255,217,47, ,,,,7,G,229,196,148, ,,,,8,H,179,179,179, Set3,3,qual,,1,A,141,211,199,Qualitative ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, Set3,4,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, Set3,5,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, Set3,6,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, Set3,7,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, ,,,,7,G,179,222,105, Set3,8,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, ,,,,7,G,179,222,105, ,,,,8,H,252,205,229, Set3,9,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, ,,,,7,G,179,222,105, ,,,,8,H,252,205,229, ,,,,9,I,217,217,217, Set3,10,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, ,,,,7,G,179,222,105, ,,,,8,H,252,205,229, ,,,,9,I,217,217,217, ,,,,10,J,188,128,189, Set3,11,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, ,,,,7,G,179,222,105, ,,,,8,H,252,205,229, ,,,,9,I,217,217,217, ,,,,10,J,188,128,189, ,,,,11,K,204,235,197, Set3,12,qual,,1,A,141,211,199, ,,,,2,B,255,255,179, ,,,,3,C,190,186,218, ,,,,4,D,251,128,114, ,,,,5,E,128,177,211, ,,,,6,F,253,180,98, ,,,,7,G,179,222,105, ,,,,8,H,252,205,229, ,,,,9,I,217,217,217, ,,,,10,J,188,128,189, ,,,,11,K,204,235,197, ,,,,12,L,255,237,111, Spectral,3,div,2,1,E,252,141,89,Diverging ,,,,2,H,255,255,191, ,,,,3,K,153,213,148, Spectral,4,div,2.5,1,C,215,25,28, ,,,,2,F,253,174,97, ,,,,3,J,171,221,164, ,,,,4,M,43,131,186, Spectral,5,div,3,1,C,215,25,28, ,,,,2,F,253,174,97, ,,,,3,H,255,255,191, ,,,,4,J,171,221,164, ,,,,5,M,43,131,186, Spectral,6,div,3.5,1,B,213,62,79, ,,,,2,E,252,141,89, ,,,,3,G,254,224,139, ,,,,4,I,230,245,152, ,,,,5,K,153,213,148, ,,,,6,N,50,136,189, Spectral,7,div,4,1,B,213,62,79, ,,,,2,E,252,141,89, ,,,,3,G,254,224,139, ,,,,4,H,255,255,191, ,,,,5,I,230,245,152, ,,,,6,K,153,213,148, ,,,,7,N,50,136,189, Spectral,8,div,4.5,1,B,213,62,79, ,,,,2,D,244,109,67, ,,,,3,F,253,174,97, ,,,,4,G,254,224,139, ,,,,5,I,230,245,152, ,,,,6,J,171,221,164, ,,,,7,L,102,194,165, ,,,,8,N,50,136,189, Spectral,9,div,5,1,B,213,62,79, ,,,,2,D,244,109,67, ,,,,3,F,253,174,97, ,,,,4,G,254,224,139, ,,,,5,H,255,255,191, ,,,,6,I,230,245,152, ,,,,7,J,171,221,164, ,,,,8,L,102,194,165, ,,,,9,N,50,136,189, Spectral,10,div,5.5,1,A,158,1,66, ,,,,2,B,213,62,79, ,,,,3,D,244,109,67, ,,,,4,F,253,174,97, ,,,,5,G,254,224,139, ,,,,6,I,230,245,152, ,,,,7,J,171,221,164, ,,,,8,L,102,194,165, ,,,,9,N,50,136,189, ,,,,10,O,94,79,162, Spectral,11,div,6,1,A,158,1,66, ,,,,2,B,213,62,79, ,,,,3,D,244,109,67, ,,,,4,F,253,174,97, ,,,,5,G,254,224,139, ,,,,6,H,255,255,191, ,,,,7,I,230,245,152, ,,,,8,J,171,221,164, ,,,,9,L,102,194,165, ,,,,10,N,50,136,189, ,,,,11,O,94,79,162, YlGn,3,seq,,1,C,247,252,185,Sequential ,,,,2,F,173,221,142, ,,,,3,I,49,163,84, YlGn,4,seq,,1,B,255,255,204, ,,,,2,E,194,230,153, ,,,,3,G,120,198,121, ,,,,4,J,35,132,67, YlGn,5,seq,,1,B,255,255,204, ,,,,2,E,194,230,153, ,,,,3,G,120,198,121, ,,,,4,I,49,163,84, ,,,,5,K,0,104,55, YlGn,6,seq,,1,B,255,255,204, ,,,,2,D,217,240,163, ,,,,3,F,173,221,142, ,,,,4,G,120,198,121, ,,,,5,I,49,163,84, ,,,,6,K,0,104,55, YlGn,7,seq,,1,B,255,255,204, ,,,,2,D,217,240,163, ,,,,3,F,173,221,142, ,,,,4,G,120,198,121, ,,,,5,H,65,171,93, ,,,,6,J,35,132,67, ,,,,7,L,0,90,50, YlGn,8,seq,,1,A,255,255,229, ,,,,2,C,247,252,185, ,,,,3,D,217,240,163, ,,,,4,F,173,221,142, ,,,,5,G,120,198,121, ,,,,6,H,65,171,93, ,,,,7,J,35,132,67, ,,,,8,L,0,90,50, YlGn,9,seq,,1,A,255,255,229, ,,,,2,C,247,252,185, ,,,,3,D,217,240,163, ,,,,4,F,173,221,142, ,,,,5,G,120,198,121, ,,,,6,H,65,171,93, ,,,,7,J,35,132,67, ,,,,8,K,0,104,55, ,,,,9,M,0,69,41, YlGnBu,3,seq,,1,C,237,248,177,Sequential ,,,,2,F,127,205,187, ,,,,3,I,44,127,184, YlGnBu,4,seq,,1,B,255,255,204, ,,,,2,E,161,218,180, ,,,,3,G,65,182,196, ,,,,4,J,34,94,168, YlGnBu,5,seq,,1,B,255,255,204, ,,,,2,E,161,218,180, ,,,,3,G,65,182,196, ,,,,4,I,44,127,184, ,,,,5,K,37,52,148, YlGnBu,6,seq,,1,B,255,255,204, ,,,,2,D,199,233,180, ,,,,3,F,127,205,187, ,,,,4,G,65,182,196, ,,,,5,I,44,127,184, ,,,,6,K,37,52,148, YlGnBu,7,seq,,1,B,255,255,204, ,,,,2,D,199,233,180, ,,,,3,F,127,205,187, ,,,,4,G,65,182,196, ,,,,5,H,29,145,192, ,,,,6,J,34,94,168, ,,,,7,L,12,44,132, YlGnBu,8,seq,,1,A,255,255,217, ,,,,2,C,237,248,177, ,,,,3,D,199,233,180, ,,,,4,F,127,205,187, ,,,,5,G,65,182,196, ,,,,6,H,29,145,192, ,,,,7,J,34,94,168, ,,,,8,L,12,44,132, YlGnBu,9,seq,,1,A,255,255,217, ,,,,2,C,237,248,177, ,,,,3,D,199,233,180, ,,,,4,F,127,205,187, ,,,,5,G,65,182,196, ,,,,6,H,29,145,192, ,,,,7,J,34,94,168, ,,,,8,K,37,52,148, ,,,,9,M,8,29,88, YlOrBr,3,seq,,1,C,255,247,188,Sequential ,,,,2,F,254,196,79, ,,,,3,I,217,95,14, YlOrBr,4,seq,,1,B,255,255,212, ,,,,2,E,254,217,142, ,,,,3,G,254,153,41, ,,,,4,J,204,76,2, YlOrBr,5,seq,,1,B,255,255,212, ,,,,2,E,254,217,142, ,,,,3,G,254,153,41, ,,,,4,I,217,95,14, ,,,,5,K,153,52,4, YlOrBr,6,seq,,1,B,255,255,212, ,,,,2,D,254,227,145, ,,,,3,F,254,196,79, ,,,,4,G,254,153,41, ,,,,5,I,217,95,14, ,,,,6,K,153,52,4, YlOrBr,7,seq,,1,B,255,255,212, ,,,,2,D,254,227,145, ,,,,3,F,254,196,79, ,,,,4,G,254,153,41, ,,,,5,H,236,112,20, ,,,,6,J,204,76,2, ,,,,7,L,140,45,4, YlOrBr,8,seq,,1,A,255,255,229, ,,,,2,C,255,247,188, ,,,,3,D,254,227,145, ,,,,4,F,254,196,79, ,,,,5,G,254,153,41, ,,,,6,H,236,112,20, ,,,,7,J,204,76,2, ,,,,8,L,140,45,4, YlOrBr,9,seq,,1,A,255,255,229, ,,,,2,C,255,247,188, ,,,,3,D,254,227,145, ,,,,4,F,254,196,79, ,,,,5,G,254,153,41, ,,,,6,H,236,112,20, ,,,,7,J,204,76,2, ,,,,8,K,153,52,4, ,,,,9,M,102,37,6, YlOrRd,3,seq,,1,C,255,237,160,Sequential ,,,,2,F,254,178,76, ,,,,3,I,240,59,32, YlOrRd,4,seq,,1,B,255,255,178, ,,,,2,E,254,204,92, ,,,,3,G,253,141,60, ,,,,4,J,227,26,28, YlOrRd,5,seq,,1,B,255,255,178, ,,,,2,E,254,204,92, ,,,,3,G,253,141,60, ,,,,4,I,240,59,32, ,,,,5,K,189,0,38, YlOrRd,6,seq,,1,B,255,255,178, ,,,,2,D,254,217,118, ,,,,3,F,254,178,76, ,,,,4,G,253,141,60, ,,,,5,I,240,59,32, ,,,,6,K,189,0,38, YlOrRd,7,seq,,1,B,255,255,178, ,,,,2,D,254,217,118, ,,,,3,F,254,178,76, ,,,,4,G,253,141,60, ,,,,5,H,252,78,42, ,,,,6,J,227,26,28, ,,,,7,L,177,0,38, YlOrRd,8,seq,,1,A,255,255,204, ,,,,2,C,255,237,160, ,,,,3,D,254,217,118, ,,,,4,F,254,178,76, ,,,,5,G,253,141,60, ,,,,6,H,252,78,42, ,,,,7,J,227,26,28, ,,,,8,L,177,0,38, YlOrRd,9,seq,,1,A,255,255,204, ,,,,2,C,255,237,160, ,,,,3,D,254,217,118, ,,,,4,F,254,178,76, ,,,,5,G,253,141,60, ,,,,6,H,252,78,42, ,,,,7,J,227,26,28, ,,,,8,K,189,0,38, ,,,,9,M,128,0,38, ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/palettable/colorbrewer/data/colorbrewer_licence.txt0000644000076500000240000000326012475521673025675 0ustar00jiffyclubstaffApache-Style Software License for ColorBrewer software and ColorBrewer Color Schemes Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions as source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The name "ColorBrewer" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact Cynthia Brewer at cbrewer@psu.edu. 5. Products derived from this software may not be called "ColorBrewer", nor may "ColorBrewer" appear in their name, without prior written permission of Cynthia Brewer. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1680752834.0 palettable-3.3.3/palettable/colorbrewer/data/colorbrewer_schemes_csv_to_py.py0000644000076500000240000000404714413440302027603 0ustar00jiffyclubstaff""" Color maps come from colorbrewer2.org as an Excel file. I've converted the Excel file to CSV and here I convert it to JSON for easy reading into Python. """ import sys from csv import DictReader from collections import OrderedDict import json def new_sub_map(row, sm_dict): num_colors = int(row['NumOfColors']) sm_dict[num_colors] = OrderedDict() sub_map = sm_dict[num_colors] sub_map['NumOfColors'] = num_colors sub_map['Type'] = row['Type'] sub_map['Colors'] = [(int(row['R']), int(row['G']), int(row['B']))] return sub_map def read_csv_to_dict(): color_maps = OrderedDict() for scheme_type in ('Sequential', 'Diverging', 'Qualitative'): color_maps[scheme_type] = OrderedDict() with open('colorbrewer_all_schemes.csv', 'r') as csvf: csv = DictReader(csvf) for row in csv: if row['SchemeType']: # first row of a new color map block color_maps[row['SchemeType']][row['ColorName']] = OrderedDict() current_map = color_maps[row['SchemeType']][row['ColorName']] current_submap = new_sub_map(row, current_map) elif row['ColorName']: # first row of a new sub-map block current_submap = new_sub_map(row, current_map) elif not row['ColorName']: # continuation of a sub-map block current_submap['Colors'].append((int(row['R']), int(row['G']), int(row['B']))) return color_maps def save_to_json(color_maps): # A JSON dump of color_maps is valid Python code to create nested # dicts/lists, so we'll just treat the JSON as Python code and store the # value in a variable. with open('../colorbrewer_all_schemes.py', 'w') as f: f.write("COLOR_MAPS = ") json.dump(color_maps, f, indent=1) def main(): color_maps = read_csv_to_dict() save_to_json(color_maps) if __name__ == '__main__': sys.exit(main()) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/colorbrewer/diverging.py0000644000076500000240000000020713052672644022537 0ustar00jiffyclubstafffrom __future__ import absolute_import from .colorbrewer import _load_maps_by_type globals().update(_load_maps_by_type('diverging')) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/colorbrewer/qualitative.py0000644000076500000240000000021113052672644023104 0ustar00jiffyclubstafffrom __future__ import absolute_import from .colorbrewer import _load_maps_by_type globals().update(_load_maps_by_type('qualitative')) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/colorbrewer/sequential.py0000644000076500000240000000021013052672644022725 0ustar00jiffyclubstafffrom __future__ import absolute_import from .colorbrewer import _load_maps_by_type globals().update(_load_maps_by_type('sequential')) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3287897 palettable-3.3.3/palettable/cubehelix/0000755000076500000240000000000014420072553017624 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1430454916.0 palettable-3.3.3/palettable/cubehelix/__init__.py0000644000076500000240000000023112520601204021717 0ustar00jiffyclubstafffrom __future__ import absolute_import from .cubehelix import __doc__, Cubehelix, print_maps, get_map, _get_all_maps globals().update(_get_all_maps()) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1430454916.0 palettable-3.3.3/palettable/cubehelix/cubehelix.py0000644000076500000240000003210712520601204022137 0ustar00jiffyclubstaff# coding: utf-8 """ Cubehelix color maps and palettes. The Cubehelix algorithm makes color scales with monotonic changes in perceived brightness. This means that a cubehelix color map gracefully degrades into a monotonic grayscale color map when rendered without color. Cubehelix maps are generated algorithmically, giving the user flexibility in desiging a color map that is also safe for grayscale printers. This module provides several cubehelix realizations, while also exposing the algorithm directly through the :class:`Cubehelix` class. Cubehelix was developed by `D.A Green, 2011, BASI, 39, 289 `_. The original Python port was done by James R. A. Davenport (see License). Original License ---------------- Copyright (c) 2014, James R. A. Davenport and contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ from __future__ import absolute_import, print_function try: import numpy as np except ImportError: # pragma: no cover HAVE_NPY = False else: HAVE_NPY = True from ..palette import Palette url = 'http://adsabs.harvard.edu/abs/2011arXiv1108.5083G' palette_type = 'sequential' palette_names = [ 'classic_16', 'perceptual_rainbow_16', 'purple_16', 'jim_special_16', 'red_16', 'cubehelix1_16', 'cubehelix2_16', 'cubehelix3_16' ] palette_rgb = dict(( ('classic_16', # dict(start=0.5, rotation=-1.5, gamma=1.0, sat=1.2, # min_light=0., max_light=1., n=16) [[0, 0, 0], [22, 10, 34], [24, 32, 68], [16, 62, 83], [14, 94, 74], [35, 116, 51], [80, 125, 35], [138, 122, 45], [190, 117, 85], [218, 121, 145], [219, 138, 203], [204, 167, 240], [191, 201, 251], [195, 229, 244], [220, 246, 239], [255, 255, 255]]), ('perceptual_rainbow_16', # Similar to Matteo Niccoli's Perceptual Rainbow: # http://mycarta.wordpress.com/2013/02/21/perceptual-rainbow-palette-the-method/ # https://github.com/jradavenport/cubehelix # dict(start_hue=240., end_hue=-300., min_sat=1., max_sat=2.5, # min_light=0.3, max_light=0.8, gamma=.9, n=16) [[135, 59, 97], [143, 64, 127], [143, 72, 157], [135, 85, 185], [121, 102, 207], [103, 123, 220], [84, 146, 223], [69, 170, 215], [59, 192, 197], [60, 210, 172], [71, 223, 145], [93, 229, 120], [124, 231, 103], [161, 227, 95], [198, 220, 100], [233, 213, 117]]), ('purple_16', # dict(start=0., rotation=0.0, n=16) [[0, 0, 0], [15, 14, 35], [31, 28, 68], [47, 43, 99], [63, 59, 127], [79, 75, 152], [96, 91, 174], [113, 107, 194], [130, 124, 211], [147, 142, 225], [164, 160, 237], [182, 178, 246], [200, 196, 252], [218, 215, 255], [236, 235, 255], [255, 255, 255]]), ('jim_special_16', # http://www.ifweassume.com/2014/04/cubehelix-colormap-for-python.html # dict(start=0.3, rotation=-0.5, n=16) [[0, 0, 0], [22, 10, 34], [37, 25, 68], [47, 43, 99], [52, 65, 125], [55, 88, 146], [59, 112, 160], [64, 137, 169], [74, 160, 173], [89, 181, 175], [109, 199, 177], [134, 214, 180], [163, 227, 189], [195, 237, 203], [226, 246, 225], [255, 255, 255]]), ('red_16', # http://www.ifweassume.com/2014/04/cubehelix-colormap-for-python.html # dict(start=0., rotation=0.5, n=16) [[0, 0, 0], [19, 12, 35], [44, 22, 65], [73, 32, 90], [104, 41, 107], [134, 53, 118], [162, 67, 124], [185, 83, 126], [204, 102, 128], [216, 124, 130], [225, 148, 136], [229, 172, 147], [232, 196, 164], [236, 219, 189], [242, 238, 219], [255, 255, 255]]), ('cubehelix1_16', # http://nbviewer.ipython.org/gist/anonymous/a4fa0adb08f9e9ea4f94 # dict(gamma=1.0, start=1.5, rotation=-1.0, sat=1.5, n=16) [[0, 0, 0], [27, 15, 0], [65, 23, 4], [104, 27, 32], [133, 33, 75], [147, 45, 126], [144, 66, 175], [129, 96, 210], [111, 131, 227], [99, 166, 226], [101, 197, 211], [120, 219, 194], [153, 233, 185], [193, 240, 191], [230, 245, 216], [255, 255, 255]]), ('cubehelix2_16', # http://nbviewer.ipython.org/gist/anonymous/a4fa0adb08f9e9ea4f94 # dict(gamma=1.0, start=2.0, rotation=1.0, sat=1.5, n=16) [[0, 0, 0], [0, 28, 14], [0, 51, 47], [7, 65, 91], [35, 71, 135], [78, 72, 168], [129, 72, 184], [177, 77, 181], [214, 90, 165], [235, 113, 143], [238, 142, 128], [230, 175, 127], [219, 206, 144], [216, 231, 178], [226, 247, 219], [255, 255, 255]]), ('cubehelix3_16', # http://nbviewer.ipython.org/gist/anonymous/a4fa0adb08f9e9ea4f94 # dict(gamma=1.0, start=2.0, rotation=1.0, sat=3, n=16) [[0, 0, 0], [0, 39, 12], [0, 68, 60], [0, 80, 131], [3, 75, 202], [72, 60, 252], [156, 43, 255], [235, 36, 244], [255, 45, 194], [255, 73, 134], [255, 115, 86], [255, 164, 67], [235, 209, 85], [211, 241, 135], [215, 255, 200], [255, 255, 255]]), )) class Cubehelix(Palette): """ Representation of a Cubehelix color map with matplotlib compatible views of the map. Parameters ---------- name : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap """ url = url def __init__(self, name, colors): super(Cubehelix, self).__init__(name, palette_type, colors) @classmethod def make(cls, start=0.5, rotation=-1.5, gamma=1.0, start_hue=None, end_hue=None, sat=None, min_sat=1.2, max_sat=1.2, min_light=0., max_light=1., n=256., reverse=False, name='custom_cubehelix'): """ Create an arbitrary Cubehelix color palette from the algorithm. See http://adsabs.harvard.edu/abs/2011arXiv1108.5083G for a technical explanation of the algorithm. Parameters ---------- start : scalar, optional Sets the starting position in the RGB color space. 0=blue, 1=red, 2=green. Default is ``0.5`` (purple). rotation : scalar, optional The number of rotations through the rainbow. Can be positive or negative, indicating direction of rainbow. Negative values correspond to Blue->Red direction. Default is ``-1.5``. start_hue : scalar, optional Sets the starting color, ranging from [-360, 360]. Combined with `end_hue`, this parameter overrides ``start`` and ``rotation``. This parameter is based on the D3 implementation by @mbostock. Default is ``None``. end_hue : scalar, optional Sets the ending color, ranging from [-360, 360]. Combined with `start_hue`, this parameter overrides ``start`` and ``rotation``. This parameter is based on the D3 implementation by @mbostock. Default is ``None``. gamma : scalar, optional The gamma correction for intensity. Values of ``gamma < 1`` emphasize low intensities while ``gamma > 1`` emphasises high intensities. Default is ``1.0``. sat : scalar, optional The uniform saturation intensity factor. ``sat=0`` produces grayscale, while ``sat=1`` retains the full saturation. Setting ``sat>1`` oversaturates the color map, at the risk of clipping the color scale. Note that ``sat`` overrides both ``min_stat`` and ``max_sat`` if set. min_sat : scalar, optional Saturation at the minimum level. Default is ``1.2``. max_sat : scalar, optional Satuation at the maximum level. Default is ``1.2``. min_light : scalar, optional Minimum lightness value. Default is ``0``. max_light : scalar, optional Maximum lightness value. Default is ``1``. n : scalar, optional Number of discrete rendered colors. Default is ``256``. reverse : bool, optional Set to ``True`` to reverse the color map. Will go from black to white. Good for density plots where shade -> density. Default is ``False``. name : str, optional Name of the color map (defaults to ``'custom_cubehelix'``). Returns ------- palette : `Cubehelix` A Cubehelix color palette. """ if not HAVE_NPY: # pragma: no cover raise RuntimeError('numpy not available.') # start_hue/end_hue were popularized by D3's implementation # and will override start/rotation if set if start_hue is not None and end_hue is not None: start = (start_hue / 360. - 1.) * 3. rotation = end_hue / 360. - start / 3. - 1. # lambd is effectively the color map grid lambd = np.linspace(min_light, max_light, n) # apply the gamma correction lambd_gamma = lambd ** gamma # Rotation angle # NOTE the equation for phi in Green 2011 does not have an extra `+1` # but the Fortran code does, as does the original cubehelix.py # I'm leaving out the +1 to keep to the original equation, but # worth investigating. In practice I see no difference! phi = 2.0 * np.pi * (start / 3.0 + rotation * lambd) if sat is None: sat = np.linspace(min_sat, max_sat, n) # Amplitude of helix from grayscale map amp = sat * lambd_gamma * (1. - lambd_gamma) / 2. # Compute the RGB vectors according to Green 2011 Eq 2 rot_matrix = np.array([[-0.14861, +1.78277], [-0.29227, -0.90649], [+1.97294, 0.0]]) sin_cos = np.array([np.cos(phi), np.sin(phi)]) rgb = (lambd_gamma + amp * np.dot(rot_matrix, sin_cos)).T * 255. # Clipping is necessary in some cases when sat > 1 np.clip(rgb, 0., 255., out=rgb) if reverse: rgb = rgb[::-1, :] colors = rgb.astype(int).tolist() return cls(name, colors) def print_maps(): """ Print a list of pre-made Cubehelix palettes. """ namelen = max(len(name) for name in palette_names) fmt = '{0:' + str(namelen + 4) + '}{1:16}' for name in palette_names: print(fmt.format(name, palette_type)) def get_map(name, reverse=False): """ Get a pre-made Cubehelix palette by name. Parameters ---------- name : str Name of map. Use `print_maps()` to see available names. reverse : bool, optional If True reverse colors from their default order. Returns ------- palette : Cubehelix """ try: # Make everthing lower case for matching index = [s.lower() for s in palette_names].index(name.lower()) except ValueError: msg = "{0!r} is an unknown Cubehelix palette." raise KeyError(msg.format(name)) real_name = palette_names[index] colors = palette_rgb[real_name] if reverse: real_name = real_name + '_r' colors = list(reversed(colors)) return Cubehelix(real_name, colors) def _get_all_maps(): """ Returns a dictionary of all Cubehelix palettes, including reversed ones. These default palettes are rendered with 16 colours. """ d = {} for name in palette_names: d[name] = get_map(name) d[name + '_r'] = get_map(name, reverse=True) return d ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1681945963.332691 palettable-3.3.3/palettable/lightbartlein/0000755000076500000240000000000014420072553020504 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1562885047.0 palettable-3.3.3/palettable/lightbartlein/__init__.py0000644000076500000240000000011413511735667022625 0ustar00jiffyclubstafffrom __future__ import absolute_import from . import diverging, sequential ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1562885047.0 palettable-3.3.3/palettable/lightbartlein/colordata.py0000644000076500000240000001045613511735667023050 0ustar00jiffyclubstaff""" Color data for Light and Bartlein color maps. See more at http://geog.uoregon.edu/datagraphics/color_scales.htm. """ # # Diverging Colormaps # _BROWN_TO_BLUE_10 = [ [102, 47, 0], [153, 96, 53], [204, 155, 122], [216, 175, 151], [242, 218, 205], [204, 253, 255], [153, 248, 255], [101, 239, 255], [50, 227, 255], [0, 169, 204], ] _BROWN_TO_BLUE_12 = [ [51, 25, 0], [2, 47, 0], [53, 96, 53], [4, 155, 122], [16, 175, 151], [42, 218, 205], [4, 253, 255], [53, 248, 255], [1, 239, 255], [50, 227, 255], [0, 169, 204], [0, 122, 153], ] _BLUE_TO_ORANGE_8 = [ [0, 127, 255], [76, 195, 255], [153, 237, 255], [204, 255, 255], [255, 255, 204], [255, 238, 153], [255, 195, 76], [255, 127, 0], ] _BLUE_TO_ORANGE_10 = [ [0, 84, 255], [50, 153, 255], [101, 204, 255], [153, 237, 255], [204, 255, 255], [255, 255, 204], [255, 238, 153], [255, 204, 101], [255, 153, 50], [255, 85, 0], ] _BLUE_TO_ORANGE_12 = [ [0, 42, 255], [25, 101, 255], [50, 153, 255], [153, 237, 255], [101, 204, 255], [204, 255, 255], [255, 255, 204], [255, 238, 153], [255, 204, 101], [255, 153, 50], [255, 102, 25], [255, 42, 0], ] _GREEN_TO_MAGENTA = [ [0, 80, 0], [0, 134, 0], [0, 187, 0], [0, 241, 0], [80, 255, 80], [134, 255, 134], [187, 255, 187], [255, 255, 255], [255, 241, 255], [255, 187, 255], [255, 134, 255], [255, 80, 255], [241, 0, 241], [187, 0, 187], [134, 0, 134], [80, 0, 80], ] _BLUE_TO_DARK_RED_12 = [ [41, 10, 216], [38, 77, 255], [63, 160, 255], [114, 217, 255], [170, 247, 255], [224, 255, 255], [255, 255, 191], [255, 224, 153], [255, 173, 114], [247, 109, 94], [216, 38, 50], [165, 0, 33], ] _BLUE_TO_DARK_RED_18 = [ [36, 0, 216], [24, 28, 247], [40, 87, 255], [61, 135, 255], [86, 176, 255], [117, 211, 255], [153, 234, 255], [188, 249, 255], [234, 255, 255], [255, 255, 234], [255, 241, 188], [255, 214, 153], [255, 172, 117], [255, 120, 86], [255, 61, 61], [247, 39, 53], [216, 21, 47], [165, 0, 33], ] _BLUE_TO_DARK_ORANGE_12 = [ [30, 142, 153], [81, 195, 204], [153, 249, 255], [178, 252, 255], [204, 254, 255], [229, 255, 255], [255, 229, 204], [255, 202, 153], [255, 173, 101], [255, 142, 50], [204, 88, 0], [153, 63, 0], ] _BLUE_TO_DARK_ORANGE_18 = [ [0, 102, 102], [0, 153, 153], [0, 204, 204], [0, 255, 255], [51, 255, 255], [101, 255, 255], [153, 255, 255], [178, 255, 255], [203, 255, 255], [229, 255, 255], [255, 229, 203], [255, 202, 153], [255, 173, 101], [255, 142, 51], [255, 110, 0], [204, 85, 0], [153, 61, 0], [102, 39, 0], ] _BLUE_TO_GREEN = [ [0, 0, 255], [51, 51, 255], [101, 101, 255], [153, 153, 255], [178, 178, 255], [203, 203, 255], [229, 229, 255], [229, 255, 229], [203, 255, 203], [178, 255, 178], [153, 255, 153], [101, 255, 101], [51, 255, 51], [0, 255, 0], ] _BLUE_TO_GREY = [ [0, 153, 204], [102, 229, 255], [153, 255, 255], [204, 255, 255], [229, 229, 229], [153, 153, 153], [102, 102, 102], [51, 51, 51], ] _BLUE_ORANGE_RED = [ [7, 90, 255], [50, 118, 255], [89, 144, 255], [140, 178, 255], [191, 212, 255], [229, 238, 255], [247, 249, 255], [255, 255, 204], [255, 255, 153], [255, 255, 0], [255, 204, 0], [255, 153, 0], [255, 102, 0], [255, 0, 0], ] _RED_YELLOW_BLUE = [ [165, 0, 33], [216, 38, 50], [247, 109, 94], [255, 173, 114], [255, 224, 153], [255, 255, 191], [224, 255, 255], [170, 247, 255], [114, 216, 255], [63, 160, 255], [38, 76, 255], ] # # Sequential colormaps # _BLUE_7 = [ [255, 255, 255], [204, 253, 255], [153, 248, 255], [102, 239, 255], [51, 227, 255], [0, 170, 204], [0, 122, 153], ] _BLUE_10 = [ [229, 255, 255], [204, 250, 255], [178, 242, 255], [153, 229, 255], [127, 212, 255], [101, 191, 255], [76, 165, 255], [50, 136, 255], [25, 101, 255], [0, 63, 255], ] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1562885047.0 palettable-3.3.3/palettable/lightbartlein/diverging.py0000644000076500000240000000420513511735667023051 0ustar00jiffyclubstafffrom __future__ import absolute_import, print_function """ Diverging Light & Bartlein palettes as described at http://geog.uoregon.edu/datagraphics/color_scales.htm """ import itertools as it from . import colordata from . import lightbartlein from .. import utils _PALETTE_TYPE = 'diverging' _NAMES_TO_DATA = { 'BlueDarkOrange12': colordata._BLUE_TO_DARK_ORANGE_12, 'BlueDarkOrange18': colordata._BLUE_TO_DARK_ORANGE_18, 'BlueDarkRed12': colordata._BLUE_TO_DARK_RED_12, 'BlueDarkRed18': colordata._BLUE_TO_DARK_RED_18, 'BlueGreen': colordata._BLUE_TO_GREEN, 'BlueGrey': colordata._BLUE_TO_GREY, 'BlueGray': colordata._BLUE_TO_GREY, 'BlueOrange8': colordata._BLUE_TO_ORANGE_8, 'BlueOrange10': colordata._BLUE_TO_ORANGE_10, 'BlueOrange12': colordata._BLUE_TO_ORANGE_12, 'BlueOrangeRed': colordata._BLUE_ORANGE_RED, 'BrownBlue10': colordata._BROWN_TO_BLUE_10, 'BrownBlue12': colordata._BROWN_TO_BLUE_12, 'GreenMagenta': colordata._GREEN_TO_MAGENTA, 'RedYellowBlue': colordata._RED_YELLOW_BLUE, } _MAX_LENS = { 'BlueDarkOrange12': 12, 'BlueDarkOrange18': 18, 'BlueDarkRed12': 12, 'BlueDarkRed18': 18, 'BlueGreen': 14, 'BlueGrey': 8, 'BlueGray': 8, 'BlueOrange8': 8, 'BlueOrange10': 10, 'BlueOrange12': 12, 'BlueOrangeRed': 14, 'BrownBlue10': 10, 'BrownBlue12': 12, 'GreenMagenta': 16, 'RedYellowBlue': 11, } _NAMES_AND_LENGTHS = list( it.chain.from_iterable( utils.make_names_and_lengths([name], range(2, _MAX_LENS[name] + 1)) for name in sorted(_NAMES_TO_DATA) ) ) print_maps = utils.print_maps_factory('diverging Light & Bartlein', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory('diverging Light & Bartlein', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, lightbartlein.LightBartleinMap, is_evenly_spaced=True) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1562885047.0 palettable-3.3.3/palettable/lightbartlein/lightbartlein.py0000644000076500000240000000174613511735667023732 0ustar00jiffyclubstafffrom __future__ import absolute_import, print_function """ Light & Bartlein palettes as described at http://geog.uoregon.edu/datagraphics/color_scales.htm """ from ..palette import Palette class LightBartleinMap(Palette): """ Representation of a Light & Bartlein color map with matplotlib compatible views of the map. Parameters ---------- name : str palette_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap url : str Website with related info. """ url = 'http://geog.uoregon.edu/datagraphics/color_scales.htm' def __init__(self, name, palette_type, colors): super(LightBartleinMap, self).__init__(name, palette_type, colors) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1562885047.0 palettable-3.3.3/palettable/lightbartlein/sequential.py0000644000076500000240000000225213511735667023245 0ustar00jiffyclubstafffrom __future__ import absolute_import, print_function """ Sequential Light & Bartlein palettes as described at http://geog.uoregon.edu/datagraphics/color_scales.htm """ import itertools as it from . import colordata from . import lightbartlein from .. import utils _PALETTE_TYPE = 'sequential' _NAMES_TO_DATA = { 'Blues7': colordata._BLUE_7, 'Blues10': colordata._BLUE_10, } _MAX_LENS = { 'Blues7': 7, 'Blues10': 10, } _NAMES_AND_LENGTHS = list( it.chain.from_iterable( utils.make_names_and_lengths([name], range(2, _MAX_LENS[name] + 1)) for name in sorted(_NAMES_TO_DATA) ) ) print_maps = utils.print_maps_factory('sequential Light & Bartlein', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory('sequential Light & Bartlein', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, lightbartlein.LightBartleinMap, is_evenly_spaced=True) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3376784 palettable-3.3.3/palettable/matplotlib/0000755000076500000240000000000014420072553020023 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/matplotlib/__init__.py0000644000076500000240000000031713052672644022144 0ustar00jiffyclubstafffrom __future__ import absolute_import from .. import utils from .matplotlib import __doc__, print_maps, get_map, _NAMES_AND_LENGTHS globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/matplotlib/colormaps.py0000644000076500000240000010100013052672644022373 0ustar00jiffyclubstaff# Derived from the original at # https://github.com/BIDS/colormap/blob/84cb3771a38dfe3d3977677df31af55f4ab7985e/colormaps.py # # Original header follows: # # New matplotlib colormaps by Nathaniel J. Smith, Stefan van der Walt, # and (in the case of viridis) Eric Firing. # # This file and the colormaps in it are released under the CC0 license / # public domain dedication. We would appreciate credit if you use or # redistribute these colormaps, but do not impose any legal restrictions. # # To the extent possible under law, the persons who associated CC0 with # mpl-colormaps have waived all copyright and related or neighboring rights # to mpl-colormaps. # # You should have received a copy of the CC0 legalcode along with this # work. If not, see . _MAGMA_DATA = [[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]] _INFERNO_DATA = [[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]] _PLASMA_DATA = [[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]] _VIRIDIS_DATA = [[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]] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/matplotlib/matplotlib.py0000644000076500000240000000301413052672644022551 0ustar00jiffyclubstafffrom __future__ import absolute_import, print_function """ New matplotlib color palettes as described at https://bids.github.io/colormap """ import itertools from . import colormaps from .. import utils from ..palette import Palette _PALETTE_TYPE = 'sequential' _NAMES_TO_DATA = { 'Magma': colormaps._MAGMA_DATA, 'Inferno': colormaps._INFERNO_DATA, 'Plasma': colormaps._PLASMA_DATA, 'Viridis': colormaps._VIRIDIS_DATA } _NAME_MAP = utils.make_name_map(_NAMES_TO_DATA.keys()) _NAMES_AND_LENGTHS = utils.make_names_and_lengths( sorted(_NAMES_TO_DATA.keys())) class MatplotlibMap(Palette): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str palette_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap url : str Website with related info. """ url = 'https://bids.github.io/colormap' def __init__(self, name, palette_type, colors): super(MatplotlibMap, self).__init__(name, palette_type, colors) print_maps = utils.print_maps_factory( 'matplotlib', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'matplotlib', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, MatplotlibMap) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3400927 palettable-3.3.3/palettable/mycarta/0000755000076500000240000000000014420072553017314 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/mycarta/__init__.py0000644000076500000240000000031413052672644021432 0ustar00jiffyclubstafffrom __future__ import absolute_import from .. import utils from .mycarta import __doc__, print_maps, get_map, _NAMES_AND_LENGTHS globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/mycarta/colordata.py0000644000076500000240000003542313052672644021654 0ustar00jiffyclubstaff# Via https://mycarta.wordpress.com/color-palettes/ CUBE1 = [ [120, 0, 133], [121, 0, 136], [122, 0, 139], [123, 1, 142], [124, 1, 145], [125, 2, 148], [126, 2, 151], [127, 3, 153], [128, 4, 156], [128, 5, 159], [129, 5, 162], [129, 6, 165], [130, 8, 167], [130, 9, 170], [131, 10, 173], [131, 11, 176], [131, 12, 178], [131, 13, 181], [131, 15, 184], [131, 17, 186], [131, 19, 189], [131, 22, 192], [130, 25, 194], [130, 28, 197], [130, 31, 200], [130, 34, 202], [129, 38, 205], [129, 42, 208], [129, 45, 210], [128, 49, 213], [128, 52, 215], [127, 55, 217], [127, 59, 220], [126, 61, 222], [126, 64, 224], [126, 66, 226], [125, 69, 228], [124, 71, 230], [123, 73, 233], [122, 75, 235], [121, 77, 237], [120, 79, 240], [119, 81, 242], [118, 83, 244], [117, 85, 246], [116, 87, 247], [115, 89, 249], [114, 91, 250], [113, 93, 252], [112, 94, 252], [111, 96, 253], [110, 98, 253], [109, 100, 253], [108, 102, 253], [107, 104, 253], [106, 107, 252], [105, 109, 252], [104, 111, 251], [103, 113, 251], [102, 115, 250], [102, 117, 249], [101, 119, 248], [100, 121, 247], [99, 123, 247], [98, 125, 246], [97, 126, 245], [96, 128, 244], [95, 130, 243], [94, 132, 242], [93, 134, 241], [92, 135, 240], [91, 137, 239], [90, 138, 238], [89, 140, 236], [88, 142, 235], [87, 143, 234], [86, 145, 232], [85, 146, 230], [83, 148, 229], [82, 149, 227], [81, 151, 226], [80, 152, 224], [79, 153, 222], [78, 155, 221], [77, 156, 219], [76, 158, 217], [74, 159, 215], [73, 161, 214], [72, 162, 212], [70, 164, 210], [69, 165, 208], [67, 167, 206], [66, 168, 204], [64, 170, 202], [63, 171, 201], [61, 173, 199], [60, 174, 197], [59, 175, 194], [58, 177, 192], [57, 178, 190], [57, 179, 188], [56, 181, 186], [56, 182, 184], [56, 183, 182], [56, 184, 180], [57, 185, 178], [57, 187, 176], [58, 188, 174], [58, 189, 171], [59, 190, 169], [60, 191, 167], [61, 192, 165], [62, 193, 163], [62, 194, 160], [63, 195, 158], [64, 196, 156], [65, 197, 154], [66, 198, 151], [67, 199, 149], [67, 200, 147], [68, 201, 145], [69, 202, 142], [69, 203, 140], [70, 203, 138], [71, 204, 135], [71, 205, 133], [72, 206, 131], [73, 207, 129], [73, 208, 126], [74, 208, 124], [75, 209, 122], [75, 210, 119], [76, 211, 117], [77, 211, 115], [77, 212, 113], [78, 213, 111], [79, 214, 108], [80, 215, 106], [80, 216, 104], [81, 216, 101], [82, 217, 98], [82, 218, 96], [83, 219, 93], [84, 220, 90], [84, 221, 87], [85, 222, 85], [86, 222, 82], [87, 223, 80], [87, 224, 78], [88, 225, 76], [89, 225, 75], [90, 226, 74], [91, 227, 73], [92, 227, 73], [94, 228, 73], [95, 229, 73], [97, 229, 73], [99, 230, 74], [101, 230, 74], [104, 231, 74], [106, 231, 75], [109, 232, 75], [111, 232, 76], [114, 233, 76], [117, 233, 77], [120, 234, 78], [122, 234, 78], [125, 234, 79], [128, 235, 79], [130, 235, 80], [133, 235, 80], [135, 235, 80], [137, 235, 81], [140, 235, 81], [142, 235, 82], [145, 235, 82], [147, 235, 82], [150, 236, 83], [152, 236, 83], [155, 236, 84], [157, 236, 84], [160, 236, 84], [162, 236, 85], [165, 236, 85], [167, 236, 85], [169, 236, 86], [171, 236, 86], [173, 236, 86], [175, 236, 87], [177, 236, 87], [180, 236, 87], [182, 236, 87], [184, 236, 88], [185, 236, 88], [187, 236, 88], [189, 236, 88], [191, 236, 89], [193, 236, 89], [195, 236, 89], [196, 236, 89], [198, 236, 89], [200, 236, 89], [201, 236, 90], [203, 236, 90], [204, 236, 90], [205, 236, 90], [207, 236, 90], [208, 235, 90], [209, 234, 91], [210, 234, 91], [211, 233, 91], [212, 232, 91], [213, 230, 91], [214, 229, 91], [215, 228, 91], [216, 226, 91], [217, 225, 91], [218, 224, 92], [219, 222, 92], [220, 221, 92], [221, 219, 92], [222, 218, 92], [223, 217, 92], [224, 215, 92], [226, 214, 92], [227, 213, 93], [229, 211, 93], [230, 210, 93], [231, 208, 93], [233, 206, 93], [234, 205, 93], [236, 203, 93], [237, 201, 94], [238, 200, 94], [239, 198, 94], [240, 196, 94], [241, 194, 94], [242, 192, 94], [243, 190, 94], [243, 188, 94], [244, 186, 94], [244, 184, 94], [245, 182, 94], [245, 180, 94], [246, 178, 94], [246, 176, 93], [247, 173, 93], [247, 171, 93], [248, 168, 93], [248, 166, 93], [248, 163, 92], [249, 161, 92], [249, 158, 92], [249, 156, 92], [249, 153, 91], [249, 150, 91]] CUBEYF = [ [123, 2, 144], [123, 3, 146], [124, 4, 149], [125, 5, 151], [126, 6, 153], [127, 7, 156], [128, 8, 158], [129, 9, 160], [129, 10, 163], [130, 11, 165], [131, 12, 168], [131, 12, 171], [132, 12, 174], [133, 13, 177], [133, 15, 179], [134, 17, 181], [134, 19, 184], [134, 21, 186], [134, 24, 188], [134, 26, 190], [134, 29, 192], [134, 31, 194], [134, 34, 196], [134, 36, 198], [133, 39, 200], [133, 41, 203], [133, 43, 204], [133, 45, 206], [132, 47, 208], [132, 49, 210], [132, 51, 212], [131, 53, 214], [131, 55, 216], [130, 56, 218], [130, 58, 219], [129, 60, 221], [129, 62, 223], [128, 64, 224], [128, 66, 226], [127, 68, 228], [127, 69, 230], [126, 71, 232], [125, 72, 234], [125, 74, 235], [122, 77, 238], [121, 78, 240], [120, 80, 241], [119, 81, 242], [118, 83, 244], [117, 84, 245], [117, 86, 247], [115, 87, 248], [115, 89, 250], [114, 90, 251], [113, 91, 251], [113, 92, 252], [112, 94, 252], [111, 95, 252], [110, 97, 253], [110, 98, 253], [109, 100, 253], [108, 101, 254], [108, 103, 254], [106, 104, 254], [106, 106, 254], [105, 107, 255], [105, 108, 255], [104, 110, 255], [104, 112, 254], [104, 113, 254], [103, 115, 253], [103, 116, 253], [102, 118, 252], [101, 119, 251], [100, 120, 250], [99, 122, 249], [98, 124, 248], [97, 126, 246], [97, 128, 245], [96, 130, 244], [95, 131, 243], [94, 132, 242], [93, 134, 241], [92, 135, 240], [91, 136, 239], [90, 137, 238], [90, 138, 237], [89, 139, 236], [88, 141, 234], [87, 142, 233], [86, 143, 232], [85, 144, 231], [84, 145, 230], [84, 147, 228], [82, 148, 227], [82, 150, 225], [81, 151, 224], [80, 152, 223], [79, 153, 222], [78, 154, 221], [77, 156, 219], [76, 157, 218], [76, 158, 217], [75, 159, 216], [74, 160, 215], [73, 161, 214], [72, 163, 212], [71, 164, 211], [70, 165, 210], [69, 167, 208], [67, 169, 205], [66, 170, 203], [65, 171, 202], [64, 172, 200], [64, 173, 199], [63, 174, 197], [62, 175, 196], [61, 176, 195], [60, 177, 193], [60, 178, 191], [59, 179, 190], [58, 180, 189], [57, 181, 187], [56, 182, 185], [56, 182, 184], [55, 184, 182], [55, 184, 181], [56, 185, 179], [57, 186, 177], [57, 187, 176], [58, 188, 175], [58, 188, 173], [59, 189, 171], [59, 190, 170], [60, 191, 168], [61, 192, 166], [61, 192, 164], [62, 193, 163], [62, 193, 161], [63, 194, 159], [64, 195, 158], [64, 196, 156], [65, 197, 153], [66, 198, 150], [67, 199, 148], [67, 200, 147], [68, 201, 145], [69, 202, 143], [69, 202, 141], [70, 203, 140], [70, 203, 138], [70, 204, 136], [71, 205, 134], [71, 205, 133], [72, 206, 131], [72, 207, 129], [73, 208, 128], [73, 208, 126], [74, 209, 124], [75, 210, 122], [75, 210, 120], [76, 211, 118], [76, 211, 116], [77, 212, 114], [77, 212, 113], [78, 213, 111], [79, 214, 109], [79, 214, 107], [80, 215, 106], [80, 215, 104], [81, 216, 102], [82, 217, 101], [82, 217, 100], [83, 218, 98], [84, 219, 95], [85, 220, 92], [86, 220, 90], [87, 221, 88], [88, 222, 87], [88, 222, 85], [89, 223, 84], [89, 223, 82], [89, 224, 81], [90, 225, 80], [90, 225, 79], [91, 226, 78], [91, 226, 76], [92, 227, 74], [92, 227, 73], [93, 228, 71], [95, 229, 71], [96, 229, 71], [98, 229, 72], [99, 229, 72], [101, 230, 72], [103, 230, 73], [104, 231, 73], [106, 231, 74], [108, 231, 74], [110, 232, 75], [111, 232, 75], [113, 232, 76], [115, 233, 77], [116, 233, 77], [118, 233, 77], [120, 233, 77], [123, 233, 78], [126, 233, 79], [130, 234, 80], [132, 235, 80], [134, 235, 80], [136, 235, 81], [138, 235, 81], [140, 235, 82], [142, 235, 82], [145, 235, 82], [147, 236, 83], [149, 236, 83], [152, 236, 84], [154, 236, 84], [156, 236, 84], [159, 236, 85], [161, 236, 85], [163, 236, 85], [164, 236, 85], [165, 236, 85], [166, 236, 86], [168, 236, 86], [171, 236, 86], [172, 236, 86], [173, 236, 86], [174, 236, 86], [176, 236, 87], [178, 236, 87], [180, 236, 87], [180, 236, 87], [182, 236, 87], [183, 236, 88], [184, 236, 88], [184, 236, 88], [187, 236, 88], [189, 236, 88], [191, 236, 89], [192, 236, 89], [192, 236, 89], [194, 236, 89], [197, 236, 89], [199, 236, 90], [200, 236, 90], [201, 236, 90], [202, 236, 90], [204, 236, 90], [204, 236, 90], [205, 236, 90], [207, 236, 91], [209, 235, 91]] LINEARL = [ [4, 4, 4], [10, 3, 8], [13, 4, 11], [16, 5, 14], [18, 5, 16], [21, 6, 18], [22, 7, 19], [24, 8, 21], [26, 8, 22], [27, 9, 24], [28, 10, 25], [30, 11, 26], [31, 12, 27], [32, 12, 28], [33, 13, 29], [35, 14, 31], [36, 14, 32], [37, 15, 32], [38, 15, 33], [39, 16, 34], [40, 17, 35], [41, 17, 36], [42, 18, 38], [43, 19, 38], [44, 19, 39], [46, 20, 41], [46, 20, 45], [46, 21, 50], [45, 21, 55], [45, 21, 60], [45, 22, 64], [45, 23, 67], [45, 23, 71], [45, 24, 75], [45, 24, 77], [45, 25, 81], [45, 25, 84], [44, 26, 87], [44, 27, 90], [45, 27, 92], [45, 28, 95], [44, 29, 98], [44, 29, 100], [44, 30, 103], [44, 31, 106], [44, 31, 109], [44, 32, 110], [44, 33, 113], [44, 34, 116], [43, 34, 118], [42, 35, 121], [40, 38, 120], [38, 40, 119], [36, 42, 120], [34, 44, 120], [33, 46, 120], [32, 47, 120], [31, 49, 121], [30, 50, 122], [30, 51, 123], [29, 52, 123], [29, 53, 125], [28, 55, 125], [28, 56, 126], [27, 57, 127], [28, 58, 128], [28, 59, 129], [27, 60, 129], [27, 61, 131], [27, 62, 132], [27, 63, 133], [28, 64, 134], [27, 65, 135], [27, 66, 136], [27, 68, 137], [27, 69, 138], [25, 71, 136], [22, 73, 134], [21, 74, 133], [20, 76, 131], [17, 78, 129], [16, 79, 128], [15, 81, 126], [14, 82, 125], [10, 84, 123], [10, 85, 122], [9, 87, 120], [8, 88, 119], [7, 89, 118], [6, 91, 117], [4, 92, 115], [4, 94, 114], [4, 95, 114], [3, 96, 112], [1, 98, 111], [1, 99, 110], [0, 100, 109], [0, 101, 108], [0, 103, 107], [0, 104, 106], [0, 105, 105], [0, 107, 104], [0, 108, 101], [0, 110, 100], [0, 111, 99], [0, 112, 98], [0, 114, 96], [0, 115, 95], [0, 116, 93], [0, 118, 92], [0, 119, 90], [0, 120, 89], [0, 121, 88], [0, 123, 86], [0, 124, 85], [0, 125, 83], [0, 127, 82], [0, 128, 80], [0, 129, 79], [0, 131, 77], [0, 132, 75], [0, 133, 73], [0, 134, 72], [0, 136, 70], [0, 137, 68], [0, 138, 66], [0, 139, 65], [0, 141, 64], [0, 142, 63], [0, 143, 61], [0, 145, 60], [0, 146, 60], [0, 147, 58], [0, 149, 57], [0, 150, 56], [0, 151, 55], [0, 153, 53], [0, 154, 52], [0, 155, 51], [0, 157, 50], [0, 158, 48], [0, 159, 47], [0, 160, 45], [0, 162, 44], [0, 163, 42], [0, 164, 41], [0, 165, 39], [0, 167, 36], [0, 168, 34], [0, 169, 31], [0, 170, 23], [0, 169, 8], [9, 170, 0], [20, 171, 0], [29, 172, 0], [35, 173, 0], [40, 174, 0], [45, 175, 0], [48, 176, 0], [52, 177, 0], [55, 178, 0], [59, 179, 0], [61, 180, 0], [64, 181, 0], [66, 182, 0], [68, 183, 0], [71, 184, 0], [73, 185, 0], [76, 186, 0], [78, 187, 0], [79, 188, 0], [81, 189, 0], [83, 190, 0], [85, 191, 0], [87, 192, 0], [92, 193, 0], [99, 193, 0], [106, 193, 0], [114, 193, 0], [119, 194, 0], [125, 194, 0], [130, 194, 0], [135, 195, 0], [140, 195, 0], [145, 195, 0], [149, 196, 0], [153, 196, 0], [157, 197, 0], [161, 197, 0], [165, 197, 0], [169, 198, 0], [172, 198, 0], [176, 199, 0], [180, 199, 0], [184, 199, 0], [186, 200, 0], [190, 201, 0], [193, 201, 0], [197, 201, 0], [200, 202, 0], [201, 201, 24], [203, 202, 51], [206, 202, 65], [207, 203, 77], [209, 203, 87], [212, 203, 95], [213, 204, 103], [215, 205, 109], [218, 205, 116], [219, 206, 121], [221, 207, 127], [223, 207, 132], [226, 207, 138], [227, 208, 143], [229, 209, 147], [231, 209, 151], [232, 210, 155], [235, 211, 159], [237, 211, 164], [238, 212, 168], [240, 212, 172], [243, 213, 175], [243, 214, 179], [245, 214, 183], [248, 215, 186], [248, 216, 189], [248, 218, 193], [247, 219, 195], [247, 220, 198], [247, 222, 201], [248, 223, 204], [247, 224, 206], [247, 226, 209], [247, 227, 211], [247, 229, 214], [247, 230, 216], [247, 231, 218], [247, 232, 220], [248, 234, 224], [247, 235, 225], [247, 236, 229], [247, 238, 231], [247, 239, 232], [248, 240, 235], [248, 242, 237], [247, 243, 239], [248, 244, 241], [248, 246, 244], [248, 247, 246], [248, 248, 248], [249, 249, 249], [251, 251, 251], [252, 252, 252], [253, 253, 253], [254, 254, 254], [255, 255, 255]] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/mycarta/mycarta.py0000644000076500000240000000272313052672644021341 0ustar00jiffyclubstafffrom __future__ import absolute_import, print_function """ Mycarta palettes as described at https://mycarta.wordpress.com/color-palettes/ """ import itertools from . import colordata from .. import utils from ..palette import Palette _PALETTE_TYPE = 'sequential' _NAMES_TO_DATA = { 'Cube1': colordata.CUBE1, 'CubeYF': colordata.CUBEYF, 'LinearL': colordata.LINEARL, } _NAME_MAP = utils.make_name_map(_NAMES_TO_DATA.keys()) _NAMES_AND_LENGTHS = utils.make_names_and_lengths( sorted(_NAMES_TO_DATA.keys())) class MycartaMap(Palette): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str palette_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap url : str Website with related info. """ url = 'https://mycarta.wordpress.com/color-palettes/' def __init__(self, name, palette_type, colors): super(MycartaMap, self).__init__(name, palette_type, colors) print_maps = utils.print_maps_factory( 'mycarta', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'mycarta', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, MycartaMap) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/palette.py0000644000076500000240000001604013152437502017665 0ustar00jiffyclubstaff# coding: utf-8 from __future__ import absolute_import import sys try: import matplotlib.pyplot as plt from matplotlib.colors import ( ListedColormap, BoundaryNorm, Normalize, LinearSegmentedColormap) from matplotlib.colorbar import ColorbarBase except ImportError: # pragma: no cover HAVE_MPL = False except RuntimeError: # e.g. OS X, if Python is not installed as a framework HAVE_MPL = False else: HAVE_MPL = True class Palette(object): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str map_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap """ def __init__(self, name, map_type, colors): self.name = name self.type = map_type self.number = len(colors) self.colors = colors @property def hex_colors(self): """ Colors as a tuple of hex strings. (e.g. '#A912F4') """ hc = [] for color in self.colors: h = '#' + ''.join('{0:>02}'.format(hex(c)[2:].upper()) for c in color) hc.append(h) return hc @property def mpl_colors(self): """ Colors expressed on the range 0-1 as used by matplotlib. """ mc = [] for color in self.colors: mc.append(tuple([x / 255. for x in color])) return mc @property def mpl_colormap(self): """ A basic matplotlib color map. If you want to specify keyword arguments use the `get_mpl_colormap` method. """ return self.get_mpl_colormap() def get_mpl_colormap(self, **kwargs): """ A color map that can be used in matplotlib plots. Requires matplotlib to be importable. Keyword arguments are passed to `matplotlib.colors.LinearSegmentedColormap.from_list`. """ if not HAVE_MPL: # pragma: no cover raise RuntimeError('matplotlib not available.') cmap = LinearSegmentedColormap.from_list(self.name, self.mpl_colors, **kwargs) return cmap def show_as_blocks(self, block_size=100): """ Show colors in the IPython Notebook using ipythonblocks. Parameters ---------- block_size : int, optional Size of displayed blocks. """ from ipythonblocks import BlockGrid grid = BlockGrid(self.number, 1, block_size=block_size) for block, color in zip(grid, self.colors): block.rgb = color grid.show() def _write_image(self, fp, style, format='png', size=(6, 1)): """ Write the color map as an image to a file-like object. Parameters ---------- fp : file-like A file-like object such as an open file pointer or a StringIO/BytesIO instance. style : {'discrete', 'continuous'} Whether to make the color map image as a discrete map or a continuous map. format : str, optional An image format that will be understood by matplotlib. size : tuple of int, optional (width, height) of image to make in units of inches. """ if not HAVE_MPL: # pragma: no cover raise RuntimeError('matplotlib not available.') fig = plt.figure(figsize=size, frameon=False) ax = fig.add_axes([0, 0, 1, 1], frameon=False) ax.set_axis_off() if style == 'discrete': # make a bounded color map showing only the defined colors ncolors = self.number norm = BoundaryNorm(range(ncolors + 1), ncolors=ncolors) cmap = ListedColormap(self.mpl_colors) elif style == 'continuous': # make the smooth, interpolated color map cmap = self.mpl_colormap norm = Normalize(vmin=0, vmax=1) ColorbarBase(ax, cmap=cmap, norm=norm, orientation='horizontal') fig.savefig(fp, format=format) plt.close(fig) def show_discrete_image(self, size=(6, 1)): """ Embed an image of this discrete color map in the IPython Notebook. Parameters ---------- size : tuple of int, optional (width, height) of image to make in units of inches. """ if sys.version_info[0] == 2: from StringIO import StringIO as BytesIO elif sys.version_info[0] == 3: from io import BytesIO from IPython.display import display from IPython.display import Image as ipyImage im = BytesIO() self._write_image(im, 'discrete', format='png', size=size) display(ipyImage(data=im.getvalue(), format='png')) def save_discrete_image(self, filename, size=(6, 1), format=None): """ Save an image of this discrete color map to a file. Parameters ---------- filename : str If `format` is None the format will be inferred from the `filename` extension. size : tuple of int, optional (width, height) of image to make in units of inches. format : str, optional An image format that will be understood by matplotlib. """ with open(filename, 'wb') as f: self._write_image( f, 'discrete', format=filename.split('.')[-1], size=size) def show_continuous_image(self, size=(6, 1)): """ Embed an image of this continuous color map in the IPython Notebook. Parameters ---------- size : tuple of int, optional (width, height) of image to make in units of inches. """ if sys.version_info[0] == 2: from StringIO import StringIO as BytesIO elif sys.version_info[0] == 3: from io import BytesIO from IPython.display import display from IPython.display import Image as ipyImage im = BytesIO() self._write_image(im, 'continuous', format='png', size=size) display(ipyImage(data=im.getvalue(), format='png')) def save_continuous_image(self, filename, size=(6, 1), format=None): """ Save an image of this continuous color map to a file. Parameters ---------- filename : str If `format` is None the format will be inferred from the `filename` extension. size : tuple of int, optional (width, height) of image to make in units of inches. format : str, optional An image format that will be understood by matplotlib. """ with open(filename, 'wb') as f: self._write_image( f, 'continuous', format=filename.split('.')[-1], size=size) ././@PaxHeader0000000000000000000000000000003200000000000010210 xustar0026 mtime=1681945963.34547 palettable-3.3.3/palettable/scientific/0000755000076500000240000000000014420072553017774 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/palettable/scientific/__init__.py0000644000076500000240000000011413535036654022111 0ustar00jiffyclubstafffrom __future__ import absolute_import from . import diverging, sequential ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/palettable/scientific/colordata.py0000644000076500000240000035711313535036654022340 0ustar00jiffyclubstaff# Via http://www.fabiocrameri.ch/colourmaps.php ACTON = ( (46, 33, 77), (47, 34, 77), (48, 35, 78), (49, 36, 79), (50, 37, 80), (51, 38, 81), (52, 38, 82), (53, 39, 83), (54, 40, 84), (55, 41, 85), (56, 42, 86), (57, 43, 87), (58, 44, 88), (59, 45, 88), (60, 46, 89), (61, 47, 90), (62, 48, 91), (63, 48, 92), (65, 49, 93), (66, 50, 94), (67, 51, 95), (68, 52, 96), (69, 53, 97), (70, 54, 98), (71, 55, 99), (72, 56, 100), (73, 57, 100), (74, 58, 101), (75, 59, 102), (76, 60, 103), (77, 61, 104), (79, 61, 105), (80, 62, 106), (81, 63, 107), (82, 64, 108), (83, 65, 109), (84, 66, 110), (85, 67, 111), (86, 68, 112), (88, 69, 113), (89, 70, 114), (90, 71, 114), (91, 72, 115), (92, 73, 116), (94, 73, 117), (95, 74, 118), (96, 75, 119), (97, 76, 120), (99, 77, 121), (100, 78, 122), (101, 79, 123), (102, 80, 123), (104, 80, 124), (105, 81, 125), (106, 82, 126), (107, 83, 127), (109, 84, 128), (110, 84, 128), (111, 85, 129), (113, 86, 130), (114, 87, 131), (115, 87, 131), (117, 88, 132), (118, 89, 133), (119, 90, 134), (121, 90, 134), (122, 91, 135), (123, 91, 136), (125, 92, 136), (126, 93, 137), (127, 93, 137), (129, 94, 138), (130, 94, 139), (131, 95, 139), (133, 95, 140), (134, 96, 140), (135, 96, 141), (136, 97, 141), (138, 97, 142), (139, 97, 142), (140, 98, 142), (141, 98, 143), (143, 98, 143), (144, 99, 144), (145, 99, 144), (146, 99, 144), (148, 100, 144), (149, 100, 145), (150, 100, 145), (151, 100, 145), (152, 100, 145), (153, 101, 146), (155, 101, 146), (156, 101, 146), (157, 101, 146), (158, 101, 146), (159, 101, 147), (160, 101, 147), (161, 101, 147), (162, 102, 147), (164, 102, 147), (165, 102, 147), (166, 102, 148), (167, 102, 148), (168, 102, 148), (169, 102, 148), (170, 102, 148), (171, 102, 148), (172, 102, 148), (173, 103, 149), (175, 103, 149), (176, 103, 149), (177, 103, 149), (178, 103, 149), (179, 103, 149), (180, 104, 150), (181, 104, 150), (183, 104, 150), (184, 105, 150), (185, 105, 151), (186, 105, 151), (187, 106, 152), (189, 106, 152), (190, 107, 152), (191, 107, 153), (192, 108, 153), (193, 109, 154), (195, 109, 154), (196, 110, 155), (197, 111, 156), (198, 112, 156), (199, 112, 157), (200, 113, 158), (201, 114, 158), (202, 115, 159), (203, 116, 160), (204, 117, 161), (205, 118, 161), (206, 119, 162), (207, 120, 163), (208, 121, 164), (208, 122, 164), (209, 123, 165), (209, 124, 166), (210, 125, 167), (210, 126, 167), (211, 127, 168), (211, 128, 169), (211, 129, 170), (212, 130, 170), (212, 131, 171), (212, 132, 172), (212, 133, 172), (212, 134, 173), (213, 135, 174), (213, 136, 174), (213, 137, 175), (213, 138, 176), (213, 139, 176), (213, 140, 177), (213, 140, 178), (213, 141, 178), (213, 142, 179), (213, 143, 179), (213, 144, 180), (212, 145, 181), (212, 145, 181), (212, 146, 182), (212, 147, 182), (212, 148, 183), (212, 149, 184), (212, 149, 184), (212, 150, 185), (212, 151, 185), (212, 152, 186), (212, 153, 187), (212, 154, 187), (212, 154, 188), (212, 155, 188), (212, 156, 189), (211, 157, 189), (211, 158, 190), (211, 159, 191), (211, 159, 191), (211, 160, 192), (211, 161, 193), (211, 162, 193), (211, 163, 194), (211, 164, 194), (211, 165, 195), (211, 166, 196), (212, 166, 196), (212, 167, 197), (212, 168, 197), (212, 169, 198), (212, 170, 199), (212, 171, 199), (212, 172, 200), (212, 173, 201), (212, 174, 201), (212, 175, 202), (213, 175, 203), (213, 176, 203), (213, 177, 204), (213, 178, 205), (213, 179, 205), (213, 180, 206), (214, 181, 206), (214, 182, 207), (214, 183, 208), (214, 184, 208), (214, 185, 209), (215, 186, 210), (215, 187, 210), (215, 188, 211), (215, 189, 212), (216, 190, 213), (216, 191, 213), (216, 192, 214), (217, 193, 215), (217, 194, 215), (217, 195, 216), (218, 196, 217), (218, 197, 217), (218, 198, 218), (218, 199, 219), (219, 200, 219), (219, 201, 220), (219, 202, 221), (220, 203, 221), (220, 204, 222), (221, 205, 223), (221, 206, 224), (221, 207, 224), (222, 208, 225), (222, 209, 226), (222, 210, 226), (223, 211, 227), (223, 212, 228), (223, 213, 228), (224, 214, 229), (224, 215, 230), (225, 216, 231), (225, 217, 231), (225, 218, 232), (226, 219, 233), (226, 220, 233), (227, 221, 234), (227, 222, 235), (227, 223, 235), (228, 224, 236), (228, 225, 237), (228, 226, 238), (229, 227, 238), (229, 228, 239), (230, 230, 240), ) BAMAKO = ( (0, 64, 76), (1, 64, 76), (2, 65, 76), (2, 65, 75), (3, 65, 75), (4, 66, 75), (4, 66, 74), (5, 66, 74), (6, 67, 74), (6, 67, 73), (7, 68, 73), (8, 68, 73), (9, 68, 72), (9, 69, 72), (10, 69, 71), (11, 70, 71), (11, 70, 71), (12, 70, 70), (13, 71, 70), (13, 71, 70), (14, 72, 69), (15, 72, 69), (15, 72, 68), (16, 73, 68), (17, 73, 68), (17, 74, 67), (18, 74, 67), (18, 74, 67), (19, 75, 66), (20, 75, 66), (20, 76, 65), (21, 76, 65), (21, 76, 65), (22, 77, 64), (23, 77, 64), (23, 78, 64), (24, 78, 63), (25, 79, 63), (25, 79, 62), (26, 79, 62), (26, 80, 62), (27, 80, 61), (28, 81, 61), (28, 81, 60), (29, 82, 60), (30, 82, 60), (30, 82, 59), (31, 83, 59), (32, 83, 58), (32, 84, 58), (33, 84, 58), (34, 85, 57), (34, 85, 57), (35, 85, 56), (36, 86, 56), (36, 86, 55), (37, 87, 55), (38, 87, 55), (38, 88, 54), (39, 88, 54), (40, 89, 53), (40, 89, 53), (41, 90, 52), (42, 90, 52), (43, 90, 52), (43, 91, 51), (44, 91, 51), (45, 92, 50), (45, 92, 50), (46, 93, 49), (47, 93, 49), (48, 94, 49), (48, 94, 48), (49, 95, 48), (50, 95, 47), (51, 96, 47), (51, 96, 46), (52, 97, 46), (53, 97, 45), (54, 98, 45), (54, 98, 45), (55, 99, 44), (56, 99, 44), (57, 100, 43), (57, 100, 43), (58, 101, 42), (59, 101, 42), (60, 102, 41), (61, 102, 41), (61, 103, 40), (62, 103, 40), (63, 104, 39), (64, 104, 39), (65, 105, 39), (65, 105, 38), (66, 106, 38), (67, 106, 37), (68, 107, 37), (69, 107, 36), (70, 108, 36), (70, 109, 35), (71, 109, 35), (72, 110, 34), (73, 110, 34), (74, 111, 33), (75, 111, 33), (76, 112, 32), (76, 113, 32), (77, 113, 31), (78, 114, 31), (79, 114, 30), (80, 115, 29), (81, 115, 29), (82, 116, 28), (83, 117, 28), (84, 117, 27), (85, 118, 27), (86, 119, 26), (87, 119, 26), (88, 120, 25), (89, 120, 25), (90, 121, 24), (91, 122, 23), (92, 122, 23), (93, 123, 22), (94, 124, 22), (95, 124, 21), (96, 125, 21), (97, 126, 20), (98, 126, 19), (99, 127, 19), (100, 128, 18), (101, 128, 18), (103, 129, 17), (104, 130, 16), (105, 130, 16), (106, 131, 15), (107, 132, 14), (108, 132, 14), (110, 133, 13), (111, 134, 12), (112, 134, 12), (113, 135, 11), (115, 136, 10), (116, 136, 9), (117, 137, 9), (118, 137, 8), (120, 138, 7), (121, 138, 7), (122, 139, 6), (124, 139, 6), (125, 140, 5), (126, 140, 5), (128, 141, 4), (129, 141, 4), (130, 141, 4), (131, 142, 3), (133, 142, 3), (134, 142, 3), (135, 142, 3), (137, 143, 3), (138, 143, 3), (139, 143, 3), (141, 143, 3), (142, 144, 3), (143, 144, 3), (145, 144, 4), (146, 145, 4), (147, 145, 5), (149, 145, 6), (150, 146, 6), (152, 146, 7), (153, 147, 8), (155, 147, 9), (156, 148, 11), (158, 149, 12), (160, 149, 13), (161, 150, 15), (163, 151, 16), (165, 152, 17), (166, 153, 19), (168, 154, 20), (170, 155, 22), (171, 156, 24), (173, 157, 25), (175, 158, 27), (176, 159, 28), (178, 160, 30), (180, 161, 32), (182, 163, 33), (183, 164, 35), (185, 165, 37), (187, 166, 39), (188, 168, 41), (190, 169, 42), (192, 170, 44), (193, 171, 46), (195, 173, 48), (197, 174, 50), (198, 175, 52), (200, 176, 54), (201, 178, 56), (203, 179, 58), (204, 180, 59), (205, 181, 61), (207, 183, 63), (208, 184, 65), (209, 185, 67), (211, 186, 69), (212, 187, 71), (213, 188, 73), (214, 189, 75), (216, 190, 77), (217, 191, 79), (218, 192, 81), (219, 193, 82), (220, 194, 84), (221, 195, 86), (222, 196, 88), (223, 197, 90), (224, 198, 92), (225, 199, 94), (226, 200, 95), (227, 201, 97), (228, 202, 99), (229, 203, 101), (230, 204, 103), (231, 205, 104), (231, 206, 106), (232, 207, 108), (233, 208, 110), (234, 208, 111), (235, 209, 113), (236, 210, 115), (237, 211, 117), (238, 212, 118), (239, 213, 120), (239, 214, 122), (240, 215, 124), (241, 216, 125), (242, 216, 127), (243, 217, 129), (244, 218, 131), (245, 219, 132), (246, 220, 134), (246, 221, 136), (247, 222, 137), (248, 223, 139), (249, 223, 141), (250, 224, 143), (251, 225, 144), (252, 226, 146), (252, 227, 148), (253, 228, 150), (254, 229, 151), (255, 229, 153), ) BATLOW = ( (1, 25, 89), (2, 27, 89), (2, 28, 90), (3, 29, 90), (3, 30, 90), (4, 31, 90), (4, 32, 90), (5, 33, 91), (5, 34, 91), (6, 35, 91), (6, 36, 91), (7, 37, 91), (7, 38, 91), (8, 39, 92), (8, 40, 92), (9, 41, 92), (9, 42, 92), (10, 43, 92), (10, 44, 92), (11, 45, 93), (11, 46, 93), (11, 47, 93), (12, 48, 93), (12, 49, 93), (13, 50, 94), (13, 51, 94), (13, 52, 94), (14, 53, 94), (14, 54, 94), (14, 55, 94), (15, 56, 95), (15, 58, 95), (15, 59, 95), (16, 60, 95), (16, 61, 95), (17, 62, 95), (17, 63, 96), (17, 64, 96), (18, 65, 96), (18, 66, 96), (19, 67, 96), (19, 68, 96), (19, 69, 96), (20, 70, 96), (20, 71, 97), (21, 72, 97), (21, 74, 97), (22, 75, 97), (22, 76, 97), (23, 77, 97), (24, 78, 97), (24, 79, 97), (25, 80, 97), (26, 81, 97), (26, 82, 97), (27, 83, 97), (28, 84, 97), (29, 85, 97), (29, 86, 97), (30, 87, 97), (31, 88, 97), (32, 89, 96), (33, 90, 96), (34, 91, 96), (35, 92, 96), (36, 93, 95), (37, 94, 95), (38, 95, 95), (40, 96, 95), (41, 97, 94), (42, 97, 94), (43, 98, 93), (44, 99, 93), (46, 100, 92), (47, 101, 92), (48, 102, 91), (50, 102, 91), (51, 103, 90), (52, 104, 90), (54, 105, 89), (55, 105, 88), (56, 106, 88), (58, 107, 87), (59, 107, 86), (61, 108, 86), (62, 108, 85), (64, 109, 84), (65, 110, 83), (66, 110, 83), (68, 111, 82), (69, 111, 81), (71, 112, 80), (72, 113, 80), (74, 113, 79), (75, 114, 78), (77, 114, 77), (78, 115, 76), (80, 115, 75), (81, 116, 75), (83, 116, 74), (84, 117, 73), (86, 117, 72), (87, 118, 71), (89, 118, 70), (90, 119, 70), (92, 119, 69), (93, 120, 68), (95, 120, 67), (96, 120, 66), (98, 121, 65), (99, 121, 65), (101, 122, 64), (102, 122, 63), (104, 123, 62), (106, 123, 61), (107, 124, 60), (109, 124, 60), (110, 125, 59), (112, 125, 58), (113, 126, 57), (115, 126, 56), (117, 126, 56), (118, 127, 55), (120, 127, 54), (122, 128, 53), (123, 128, 53), (125, 129, 52), (127, 129, 51), (129, 130, 51), (130, 130, 50), (132, 131, 50), (134, 131, 49), (136, 132, 48), (137, 132, 48), (139, 133, 47), (141, 133, 47), (143, 134, 47), (145, 134, 46), (147, 134, 46), (149, 135, 46), (151, 135, 46), (153, 136, 46), (155, 136, 46), (157, 137, 46), (159, 137, 46), (161, 138, 46), (163, 138, 46), (165, 139, 46), (168, 139, 47), (170, 140, 47), (172, 140, 48), (174, 141, 49), (176, 141, 49), (178, 141, 50), (180, 142, 51), (183, 142, 52), (185, 143, 53), (187, 143, 54), (189, 144, 55), (191, 144, 56), (193, 144, 57), (195, 145, 59), (197, 145, 60), (199, 145, 61), (201, 146, 63), (203, 146, 64), (205, 147, 66), (207, 147, 67), (209, 147, 69), (211, 148, 70), (213, 148, 72), (215, 149, 74), (217, 149, 75), (218, 149, 77), (220, 150, 79), (222, 150, 81), (224, 151, 83), (225, 151, 85), (227, 152, 86), (228, 152, 88), (230, 152, 90), (232, 153, 92), (233, 153, 94), (234, 154, 96), (236, 154, 99), (237, 155, 101), (238, 156, 103), (239, 156, 105), (241, 157, 107), (242, 157, 109), (243, 158, 111), (244, 158, 113), (245, 159, 116), (245, 160, 118), (246, 160, 120), (247, 161, 122), (248, 162, 124), (248, 162, 126), (249, 163, 128), (249, 164, 131), (250, 164, 133), (250, 165, 135), (251, 166, 137), (251, 166, 139), (252, 167, 141), (252, 168, 143), (252, 168, 146), (252, 169, 148), (253, 170, 150), (253, 170, 152), (253, 171, 154), (253, 172, 156), (253, 172, 158), (253, 173, 160), (253, 174, 162), (253, 175, 164), (253, 175, 166), (253, 176, 168), (253, 177, 171), (253, 177, 173), (253, 178, 175), (253, 179, 177), (253, 180, 179), (253, 180, 181), (253, 181, 183), (253, 182, 185), (253, 182, 187), (253, 183, 189), (253, 184, 191), (253, 185, 194), (253, 185, 196), (253, 186, 198), (253, 187, 200), (253, 187, 202), (253, 188, 204), (253, 189, 206), (253, 190, 208), (253, 190, 211), (252, 191, 213), (252, 192, 215), (252, 193, 217), (252, 193, 219), (252, 194, 221), (252, 195, 224), (252, 196, 226), (252, 196, 228), (252, 197, 230), (251, 198, 232), (251, 199, 235), (251, 199, 237), (251, 200, 239), (251, 201, 241), (251, 202, 243), (251, 203, 246), (250, 203, 248), (250, 204, 250), ) BERLIN = ( (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), ) BILBAO = ( (255, 255, 255), (254, 254, 254), (252, 252, 252), (251, 251, 251), (250, 250, 250), (248, 248, 248), (247, 247, 247), (246, 246, 246), (245, 245, 244), (243, 243, 243), (242, 242, 242), (241, 241, 240), (239, 239, 239), (238, 238, 238), (237, 237, 236), (236, 236, 235), (234, 234, 234), (233, 233, 232), (232, 232, 231), (231, 230, 230), (229, 229, 228), (228, 228, 227), (227, 227, 225), (226, 225, 224), (225, 224, 223), (223, 223, 221), (222, 222, 220), (221, 220, 218), (220, 219, 217), (219, 218, 216), (218, 217, 214), (217, 216, 213), (215, 215, 211), (214, 213, 210), (213, 212, 208), (212, 211, 207), (211, 210, 205), (210, 209, 204), (210, 208, 202), (209, 207, 201), (208, 206, 199), (207, 205, 198), (206, 204, 196), (205, 203, 195), (205, 202, 194), (204, 201, 192), (203, 200, 191), (202, 200, 189), (202, 199, 188), (201, 198, 186), (201, 197, 185), (200, 196, 184), (199, 196, 182), (199, 195, 181), (198, 194, 179), (198, 194, 178), (197, 193, 177), (197, 192, 175), (196, 192, 174), (196, 191, 173), (195, 190, 171), (195, 190, 170), (194, 189, 169), (194, 188, 167), (194, 188, 166), (193, 187, 165), (193, 187, 163), (192, 186, 162), (192, 185, 161), (192, 185, 159), (191, 184, 158), (191, 184, 157), (190, 183, 156), (190, 183, 154), (190, 182, 153), (189, 181, 152), (189, 181, 150), (189, 180, 149), (188, 179, 148), (188, 179, 146), (187, 178, 145), (187, 177, 144), (187, 177, 143), (186, 176, 141), (186, 175, 140), (185, 175, 139), (185, 174, 137), (185, 173, 136), (184, 172, 135), (184, 171, 133), (183, 171, 132), (183, 170, 131), (182, 169, 129), (182, 168, 128), (181, 167, 127), (181, 166, 126), (181, 165, 124), (180, 164, 123), (180, 163, 122), (179, 162, 121), (179, 161, 120), (178, 160, 119), (178, 159, 118), (178, 158, 117), (177, 157, 116), (177, 156, 115), (177, 155, 114), (176, 154, 113), (176, 153, 112), (175, 152, 112), (175, 151, 111), (175, 150, 110), (174, 149, 109), (174, 148, 109), (174, 147, 108), (173, 146, 108), (173, 145, 107), (173, 144, 106), (172, 144, 106), (172, 143, 105), (172, 142, 105), (172, 141, 104), (171, 140, 104), (171, 139, 104), (171, 138, 103), (171, 137, 103), (170, 136, 102), (170, 135, 102), (170, 134, 101), (169, 134, 101), (169, 133, 101), (169, 132, 100), (169, 131, 100), (168, 130, 99), (168, 129, 99), (168, 128, 99), (168, 127, 98), (167, 126, 98), (167, 126, 98), (167, 125, 97), (167, 124, 97), (166, 123, 96), (166, 122, 96), (166, 121, 96), (166, 120, 95), (165, 119, 95), (165, 119, 94), (165, 118, 94), (165, 117, 94), (164, 116, 93), (164, 115, 93), (164, 114, 93), (164, 113, 92), (163, 112, 92), (163, 112, 91), (163, 111, 91), (163, 110, 91), (162, 109, 90), (162, 108, 90), (162, 107, 89), (162, 106, 89), (161, 105, 89), (161, 104, 88), (161, 104, 88), (160, 103, 87), (160, 102, 87), (160, 101, 87), (159, 100, 86), (159, 99, 86), (159, 98, 85), (158, 97, 85), (158, 96, 84), (158, 95, 84), (157, 94, 83), (157, 93, 83), (157, 92, 82), (156, 91, 82), (156, 90, 81), (155, 89, 81), (155, 88, 80), (154, 87, 79), (154, 86, 79), (153, 85, 78), (153, 84, 77), (152, 83, 77), (151, 82, 76), (151, 81, 75), (150, 80, 75), (150, 79, 74), (149, 78, 73), (148, 77, 72), (147, 75, 71), (147, 74, 71), (146, 73, 70), (145, 72, 69), (144, 71, 68), (143, 70, 67), (142, 69, 66), (141, 67, 65), (140, 66, 64), (139, 65, 63), (139, 64, 62), (138, 63, 61), (137, 62, 60), (136, 60, 59), (135, 59, 58), (133, 58, 57), (132, 57, 56), (131, 56, 55), (130, 55, 54), (129, 54, 52), (128, 52, 51), (127, 51, 50), (126, 50, 49), (125, 49, 48), (124, 48, 47), (123, 47, 46), (122, 46, 45), (120, 44, 44), (119, 43, 43), (118, 42, 42), (117, 41, 40), (116, 40, 39), (115, 39, 38), (114, 38, 37), (112, 37, 36), (111, 35, 35), (110, 34, 34), (109, 33, 33), (108, 32, 32), (107, 31, 31), (105, 30, 30), (104, 29, 29), (103, 28, 28), (102, 26, 27), (101, 25, 26), (100, 24, 25), (98, 23, 24), (97, 22, 23), (96, 21, 22), (95, 19, 21), (93, 18, 20), (92, 17, 19), (91, 16, 18), (90, 14, 17), (89, 13, 16), (87, 12, 15), (86, 10, 13), (85, 9, 12), (84, 7, 11), (83, 6, 9), (81, 5, 8), (80, 4, 6), (79, 3, 4), (78, 1, 3), (77, 0, 1), ) BROC = ( (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), ) BUDA = ( (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), ) CORK = ( (44, 26, 76), (44, 27, 78), (44, 29, 79), (44, 30, 81), (44, 31, 82), (44, 33, 83), (44, 34, 85), (43, 36, 86), (43, 37, 88), (43, 39, 89), (43, 40, 91), (43, 41, 92), (43, 43, 93), (43, 44, 95), (43, 46, 96), (43, 47, 98), (42, 49, 99), (42, 50, 101), (42, 52, 102), (42, 53, 104), (42, 54, 105), (42, 56, 107), (42, 57, 108), (42, 59, 110), (42, 60, 111), (42, 62, 113), (42, 63, 114), (42, 65, 116), (42, 67, 117), (42, 68, 119), (42, 70, 120), (42, 71, 122), (42, 73, 123), (43, 74, 125), (43, 76, 126), (43, 78, 128), (44, 79, 129), (45, 81, 131), (45, 82, 132), (46, 84, 133), (47, 86, 135), (48, 87, 136), (49, 89, 138), (50, 91, 139), (51, 92, 141), (52, 94, 142), (54, 96, 143), (55, 98, 145), (57, 99, 146), (58, 101, 147), (60, 103, 149), (61, 104, 150), (63, 106, 151), (65, 108, 153), (67, 109, 154), (69, 111, 155), (70, 113, 156), (72, 114, 158), (74, 116, 159), (76, 118, 160), (78, 119, 161), (80, 121, 162), (82, 123, 164), (84, 124, 165), (87, 126, 166), (89, 128, 167), (91, 129, 168), (93, 131, 169), (95, 133, 171), (97, 135, 172), (99, 136, 173), (101, 138, 174), (103, 140, 175), (106, 141, 176), (108, 143, 178), (110, 145, 179), (112, 146, 180), (114, 148, 181), (117, 150, 182), (119, 151, 183), (121, 153, 185), (123, 155, 186), (125, 156, 187), (128, 158, 188), (130, 160, 189), (132, 161, 190), (134, 163, 192), (136, 165, 193), (139, 167, 194), (141, 168, 195), (143, 170, 196), (145, 172, 197), (148, 173, 199), (150, 175, 200), (152, 177, 201), (154, 179, 202), (157, 180, 203), (159, 182, 205), (161, 184, 206), (163, 185, 207), (166, 187, 208), (168, 189, 209), (170, 191, 211), (172, 192, 212), (175, 194, 213), (177, 196, 214), (179, 198, 215), (182, 199, 216), (184, 201, 218), (186, 203, 219), (188, 204, 220), (191, 206, 221), (193, 208, 222), (195, 210, 223), (197, 211, 224), (199, 213, 225), (201, 215, 226), (203, 216, 227), (205, 218, 228), (207, 220, 228), (209, 221, 229), (211, 223, 229), (213, 224, 230), (214, 225, 230), (215, 226, 230), (216, 228, 230), (217, 229, 230), (218, 229, 229), (219, 230, 229), (219, 231, 228), (219, 231, 227), (219, 231, 226), (218, 231, 225), (218, 231, 223), (217, 231, 222), (216, 231, 220), (214, 230, 219), (213, 230, 217), (212, 229, 215), (210, 228, 213), (208, 227, 211), (207, 226, 209), (205, 225, 207), (203, 224, 206), (201, 223, 204), (199, 222, 202), (197, 221, 200), (195, 220, 198), (193, 219, 196), (191, 218, 194), (189, 216, 192), (187, 215, 190), (185, 214, 188), (183, 213, 186), (181, 212, 184), (179, 211, 182), (177, 209, 180), (175, 208, 178), (173, 207, 176), (171, 206, 174), (169, 205, 172), (167, 203, 170), (165, 202, 168), (163, 201, 166), (161, 200, 164), (159, 199, 162), (157, 198, 160), (155, 196, 158), (153, 195, 156), (151, 194, 154), (149, 193, 153), (147, 192, 151), (145, 190, 149), (143, 189, 147), (141, 188, 145), (139, 187, 143), (137, 186, 141), (135, 185, 139), (133, 183, 137), (131, 182, 135), (129, 181, 133), (127, 180, 131), (125, 179, 129), (123, 178, 127), (121, 176, 125), (119, 175, 124), (117, 174, 122), (115, 173, 120), (113, 172, 118), (111, 170, 116), (109, 169, 114), (107, 168, 112), (105, 167, 110), (103, 165, 108), (101, 164, 106), (99, 163, 104), (97, 161, 102), (96, 160, 100), (94, 159, 98), (92, 157, 96), (90, 156, 93), (88, 155, 91), (86, 153, 89), (85, 152, 87), (83, 150, 85), (81, 148, 83), (80, 147, 80), (78, 145, 78), (77, 144, 76), (75, 142, 74), (74, 140, 72), (73, 139, 69), (72, 137, 67), (71, 135, 65), (70, 133, 63), (69, 132, 61), (68, 130, 59), (67, 128, 57), (67, 127, 55), (66, 125, 53), (66, 123, 51), (65, 122, 49), (65, 120, 48), (65, 118, 46), (65, 117, 44), (65, 115, 43), (65, 114, 41), (64, 112, 39), (64, 111, 38), (64, 109, 36), (64, 108, 35), (65, 107, 34), (65, 105, 32), (65, 104, 31), (65, 102, 29), (65, 101, 28), (65, 100, 27), (65, 99, 25), (65, 97, 24), (65, 96, 23), (65, 95, 22), (65, 93, 20), (66, 92, 19), (66, 91, 18), (66, 90, 16), (66, 88, 15), (66, 87, 14), (66, 86, 12), (66, 85, 11), (66, 84, 10), (66, 82, 8), (66, 81, 7), (66, 80, 6), (66, 79, 5), (66, 78, 4), (66, 77, 3), ) DAVOS = ( (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), ) DEVON = ( (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), ) GRAYC = ( (255, 255, 255), (254, 254, 254), (253, 253, 253), (252, 252, 252), (250, 250, 250), (249, 249, 249), (248, 248, 248), (247, 247, 247), (246, 246, 246), (245, 245, 245), (244, 244, 244), (243, 243, 243), (241, 241, 241), (240, 240, 240), (239, 239, 239), (238, 238, 238), (237, 237, 237), (236, 236, 236), (235, 235, 235), (234, 234, 234), (232, 232, 232), (231, 231, 231), (230, 230, 230), (229, 229, 229), (228, 228, 228), (227, 227, 227), (226, 226, 226), (225, 225, 225), (224, 224, 224), (222, 222, 222), (221, 221, 221), (220, 220, 220), (219, 219, 219), (218, 218, 218), (217, 217, 217), (216, 216, 216), (215, 215, 215), (214, 214, 214), (213, 213, 213), (211, 211, 211), (210, 210, 210), (209, 209, 209), (208, 208, 208), (207, 207, 207), (206, 206, 206), (205, 205, 205), (204, 204, 204), (203, 203, 203), (202, 202, 202), (201, 201, 201), (199, 199, 199), (198, 198, 198), (197, 197, 197), (196, 196, 196), (195, 195, 195), (194, 194, 194), (193, 193, 193), (192, 192, 192), (191, 191, 191), (190, 190, 190), (189, 189, 189), (188, 188, 188), (186, 186, 186), (185, 185, 185), (184, 184, 184), (183, 183, 183), (182, 182, 182), (181, 181, 181), (180, 180, 180), (179, 179, 179), (178, 178, 178), (177, 177, 177), (176, 176, 176), (175, 175, 175), (174, 174, 174), (173, 173, 173), (172, 172, 172), (171, 171, 171), (169, 169, 169), (168, 168, 168), (167, 167, 167), (166, 166, 166), (165, 165, 165), (164, 164, 164), (163, 163, 163), (162, 162, 162), (161, 161, 161), (160, 160, 160), (159, 159, 159), (158, 158, 158), (157, 157, 157), (156, 156, 156), (155, 155, 155), (154, 154, 154), (153, 153, 153), (152, 152, 152), (151, 151, 151), (150, 150, 150), (149, 149, 149), (148, 148, 148), (147, 147, 147), (146, 146, 146), (145, 145, 145), (144, 144, 144), (143, 143, 143), (141, 141, 141), (140, 140, 140), (139, 139, 139), (138, 138, 138), (137, 137, 137), (136, 136, 136), (135, 135, 135), (134, 134, 134), (133, 133, 133), (132, 132, 132), (131, 131, 131), (130, 130, 130), (129, 129, 129), (128, 128, 128), (127, 127, 127), (126, 126, 126), (125, 125, 125), (124, 124, 124), (123, 123, 123), (122, 122, 122), (121, 121, 121), (120, 120, 120), (119, 119, 119), (118, 118, 118), (117, 117, 117), (116, 116, 116), (115, 115, 115), (114, 114, 114), (114, 114, 114), (113, 113, 113), (112, 112, 112), (111, 111, 111), (110, 110, 110), (109, 109, 109), (108, 108, 108), (107, 107, 107), (106, 106, 106), (105, 105, 105), (104, 104, 104), (103, 103, 103), (102, 102, 102), (101, 101, 101), (100, 100, 100), (99, 99, 99), (98, 98, 98), (97, 97, 97), (96, 96, 96), (95, 95, 95), (94, 94, 94), (93, 93, 93), (92, 92, 92), (91, 91, 91), (90, 90, 90), (90, 90, 90), (89, 89, 89), (88, 88, 88), (87, 87, 87), (86, 86, 86), (85, 85, 85), (84, 84, 84), (83, 83, 83), (82, 82, 82), (81, 81, 81), (80, 80, 80), (79, 79, 79), (78, 78, 78), (77, 77, 77), (77, 77, 77), (76, 76, 76), (75, 75, 75), (74, 74, 74), (73, 73, 73), (72, 72, 72), (71, 71, 71), (70, 70, 70), (69, 69, 69), (68, 68, 68), (67, 67, 67), (67, 67, 67), (66, 66, 66), (65, 65, 65), (64, 64, 64), (63, 63, 63), (62, 62, 62), (61, 61, 61), (60, 60, 60), (60, 60, 60), (59, 59, 59), (58, 58, 58), (57, 57, 57), (56, 56, 56), (55, 55, 55), (54, 54, 54), (53, 53, 53), (53, 53, 53), (52, 52, 52), (51, 51, 51), (50, 50, 50), (49, 49, 49), (48, 48, 48), (47, 47, 47), (47, 47, 47), (46, 46, 46), (45, 45, 45), (44, 44, 44), (43, 43, 43), (42, 42, 42), (42, 42, 42), (41, 41, 41), (40, 40, 40), (39, 39, 39), (38, 38, 38), (37, 37, 37), (37, 37, 37), (36, 36, 36), (35, 35, 35), (34, 34, 34), (33, 33, 33), (33, 33, 33), (32, 32, 32), (31, 31, 31), (30, 30, 30), (29, 29, 29), (29, 29, 29), (28, 28, 28), (27, 27, 27), (26, 26, 26), (26, 26, 26), (25, 25, 25), (24, 24, 24), (23, 23, 23), (22, 22, 22), (22, 22, 22), (21, 21, 21), (20, 20, 20), (19, 19, 19), (18, 18, 18), (17, 17, 17), (16, 16, 16), (15, 15, 15), (14, 14, 14), (13, 13, 13), (11, 11, 11), (10, 10, 10), (9, 9, 9), (7, 7, 7), (6, 6, 6), (4, 4, 4), (3, 3, 3), (1, 1, 1), (0, 0, 0), ) HAWAII = ( (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), ) IMOLA = ( (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), ) LAJOLLA = ( (255, 255, 204), (255, 254, 202), (255, 254, 200), (255, 253, 199), (255, 252, 197), (255, 252, 195), (254, 251, 193), (254, 250, 192), (254, 250, 190), (254, 249, 188), (254, 249, 186), (254, 248, 184), (254, 247, 183), (254, 247, 181), (254, 246, 179), (253, 245, 177), (253, 245, 175), (253, 244, 174), (253, 243, 172), (253, 243, 170), (253, 242, 168), (253, 241, 166), (252, 240, 165), (252, 240, 163), (252, 239, 161), (252, 238, 159), (252, 238, 157), (252, 237, 156), (251, 236, 154), (251, 235, 152), (251, 234, 150), (251, 234, 148), (251, 233, 146), (250, 232, 144), (250, 231, 143), (250, 230, 141), (250, 229, 139), (250, 228, 137), (249, 227, 135), (249, 226, 133), (249, 225, 132), (249, 224, 130), (248, 223, 128), (248, 222, 126), (248, 221, 124), (248, 220, 123), (247, 218, 121), (247, 217, 119), (247, 216, 117), (246, 215, 116), (246, 214, 114), (246, 212, 112), (246, 211, 111), (245, 210, 109), (245, 208, 108), (245, 207, 106), (244, 206, 105), (244, 204, 104), (244, 203, 102), (243, 202, 101), (243, 200, 100), (243, 199, 99), (242, 197, 98), (242, 196, 97), (242, 195, 96), (241, 193, 95), (241, 192, 94), (241, 191, 93), (241, 189, 92), (240, 188, 91), (240, 187, 91), (240, 185, 90), (239, 184, 89), (239, 183, 89), (239, 181, 88), (238, 180, 88), (238, 179, 87), (238, 178, 87), (238, 176, 87), (237, 175, 86), (237, 174, 86), (237, 173, 86), (237, 171, 85), (236, 170, 85), (236, 169, 85), (236, 168, 85), (236, 167, 84), (235, 165, 84), (235, 164, 84), (235, 163, 84), (235, 162, 84), (234, 161, 83), (234, 159, 83), (234, 158, 83), (234, 157, 83), (233, 156, 83), (233, 155, 83), (233, 154, 83), (233, 152, 82), (232, 151, 82), (232, 150, 82), (232, 149, 82), (231, 148, 82), (231, 147, 82), (231, 145, 82), (231, 144, 82), (230, 143, 82), (230, 142, 82), (230, 141, 81), (230, 140, 81), (229, 138, 81), (229, 137, 81), (229, 136, 81), (228, 135, 81), (228, 134, 81), (228, 132, 81), (227, 131, 81), (227, 130, 81), (227, 129, 80), (226, 128, 80), (226, 126, 80), (225, 125, 80), (225, 124, 80), (224, 123, 80), (224, 121, 80), (223, 120, 80), (223, 119, 79), (222, 118, 79), (222, 116, 79), (221, 115, 79), (221, 114, 79), (220, 112, 79), (219, 111, 79), (218, 110, 78), (218, 108, 78), (217, 107, 78), (216, 106, 78), (215, 105, 78), (214, 103, 78), (213, 102, 77), (212, 101, 77), (211, 99, 77), (210, 98, 77), (208, 97, 76), (207, 95, 76), (206, 94, 76), (205, 93, 76), (203, 92, 75), (202, 91, 75), (200, 89, 75), (199, 88, 75), (197, 87, 74), (196, 86, 74), (194, 85, 74), (193, 84, 73), (191, 83, 73), (189, 82, 72), (188, 81, 72), (186, 80, 72), (184, 79, 71), (182, 78, 71), (181, 77, 70), (179, 77, 70), (177, 76, 70), (175, 75, 69), (174, 74, 69), (172, 74, 68), (170, 73, 68), (168, 72, 67), (166, 71, 67), (165, 71, 66), (163, 70, 66), (161, 70, 65), (159, 69, 65), (157, 68, 64), (156, 68, 63), (154, 67, 63), (152, 67, 62), (150, 66, 62), (148, 66, 61), (147, 65, 60), (145, 65, 60), (143, 64, 59), (141, 64, 58), (139, 63, 58), (138, 63, 57), (136, 62, 56), (134, 62, 55), (132, 61, 55), (131, 61, 54), (129, 60, 53), (127, 59, 52), (125, 59, 52), (123, 58, 51), (122, 58, 50), (120, 57, 49), (118, 57, 49), (116, 56, 48), (115, 56, 47), (113, 55, 46), (111, 55, 45), (110, 54, 45), (108, 54, 44), (106, 53, 43), (104, 53, 42), (103, 52, 41), (101, 51, 40), (99, 51, 40), (97, 50, 39), (96, 50, 38), (94, 49, 37), (92, 49, 36), (91, 48, 36), (89, 48, 35), (87, 47, 34), (86, 47, 33), (84, 46, 32), (82, 46, 32), (81, 45, 31), (79, 44, 30), (78, 44, 29), (76, 43, 29), (74, 43, 28), (73, 42, 27), (71, 42, 26), (69, 41, 26), (68, 41, 25), (66, 40, 24), (65, 40, 23), (63, 39, 23), (62, 39, 22), (60, 38, 21), (58, 38, 21), (57, 37, 20), (55, 37, 19), (54, 36, 19), (52, 36, 18), (51, 35, 17), (49, 35, 17), (48, 34, 16), (46, 34, 15), (45, 33, 14), (43, 33, 13), (42, 32, 13), (41, 31, 12), (39, 31, 11), (38, 30, 10), (36, 30, 9), (35, 29, 8), (34, 29, 7), (32, 28, 6), (31, 28, 5), (30, 27, 4), (28, 27, 3), (27, 26, 2), (26, 26, 1), ) LAPAZ = ( (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), ) LISBON = ( (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), ) NUUK = ( (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), ) OLERON = ( (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), ) OSLO = ( (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), ) ROMA = ( (127, 25, 0), (128, 28, 1), (129, 31, 2), (130, 34, 3), (131, 37, 4), (132, 39, 5), (134, 42, 5), (135, 44, 6), (136, 47, 7), (137, 49, 8), (138, 51, 8), (139, 53, 9), (140, 56, 10), (141, 58, 11), (143, 60, 12), (144, 62, 13), (145, 64, 14), (146, 66, 15), (147, 68, 16), (148, 71, 16), (149, 73, 17), (150, 75, 18), (151, 77, 19), (152, 79, 20), (153, 81, 21), (154, 83, 22), (155, 85, 22), (156, 87, 23), (157, 89, 24), (158, 91, 25), (159, 93, 26), (160, 95, 27), (161, 97, 28), (162, 99, 28), (163, 101, 29), (164, 103, 30), (165, 105, 31), (166, 107, 32), (167, 109, 33), (168, 111, 33), (169, 113, 34), (170, 114, 35), (171, 116, 36), (172, 118, 37), (173, 120, 38), (173, 122, 39), (174, 124, 39), (175, 126, 40), (176, 128, 41), (177, 130, 42), (178, 132, 43), (179, 134, 44), (180, 136, 45), (181, 138, 46), (182, 140, 47), (183, 143, 48), (184, 145, 49), (185, 147, 51), (186, 149, 52), (187, 151, 53), (188, 153, 54), (189, 155, 56), (191, 157, 57), (192, 159, 58), (193, 162, 60), (194, 164, 62), (195, 166, 63), (196, 168, 65), (197, 171, 67), (198, 173, 69), (200, 175, 71), (201, 177, 73), (202, 180, 75), (203, 182, 77), (205, 184, 79), (206, 187, 82), (207, 189, 84), (208, 191, 87), (209, 193, 89), (211, 195, 92), (212, 198, 95), (213, 200, 97), (214, 202, 100), (215, 204, 103), (216, 206, 106), (217, 207, 109), (218, 209, 111), (219, 211, 114), (220, 213, 117), (221, 214, 120), (222, 216, 123), (222, 217, 126), (223, 219, 128), (224, 220, 131), (224, 221, 134), (225, 222, 137), (225, 223, 139), (226, 224, 142), (226, 225, 144), (226, 226, 147), (227, 227, 149), (227, 228, 152), (227, 229, 154), (227, 229, 157), (227, 230, 159), (227, 231, 161), (226, 231, 163), (226, 232, 166), (226, 232, 168), (225, 233, 170), (225, 233, 172), (224, 234, 174), (224, 234, 176), (223, 234, 178), (222, 234, 180), (221, 235, 182), (220, 235, 183), (219, 235, 185), (218, 235, 187), (217, 235, 188), (215, 235, 190), (214, 236, 192), (212, 236, 193), (211, 236, 195), (209, 236, 196), (208, 235, 197), (206, 235, 199), (204, 235, 200), (202, 235, 201), (200, 235, 202), (198, 235, 203), (196, 234, 204), (194, 234, 205), (191, 234, 206), (189, 233, 207), (187, 233, 208), (184, 232, 209), (182, 232, 210), (179, 231, 211), (177, 230, 211), (174, 230, 212), (171, 229, 212), (169, 228, 213), (166, 227, 213), (163, 227, 214), (160, 226, 214), (158, 225, 215), (155, 224, 215), (152, 223, 215), (149, 221, 215), (146, 220, 215), (143, 219, 216), (141, 218, 216), (138, 216, 216), (135, 215, 216), (132, 214, 216), (130, 212, 216), (127, 211, 215), (124, 209, 215), (122, 208, 215), (119, 206, 215), (117, 204, 214), (114, 203, 214), (112, 201, 214), (110, 199, 213), (107, 198, 213), (105, 196, 213), (103, 194, 212), (101, 193, 212), (99, 191, 211), (97, 189, 211), (96, 187, 210), (94, 186, 209), (92, 184, 209), (91, 182, 208), (89, 180, 208), (88, 178, 207), (87, 177, 206), (85, 175, 206), (84, 173, 205), (83, 171, 204), (82, 170, 204), (80, 168, 203), (79, 166, 202), (78, 164, 201), (77, 163, 201), (76, 161, 200), (75, 159, 199), (74, 157, 199), (74, 156, 198), (73, 154, 197), (72, 152, 197), (71, 150, 196), (70, 149, 195), (69, 147, 194), (69, 145, 194), (68, 144, 193), (67, 142, 192), (66, 140, 191), (66, 138, 191), (65, 137, 190), (64, 135, 189), (64, 133, 189), (63, 132, 188), (62, 130, 187), (61, 129, 187), (61, 127, 186), (60, 125, 185), (59, 124, 184), (59, 122, 184), (58, 120, 183), (57, 119, 182), (57, 117, 182), (56, 116, 181), (56, 114, 180), (55, 112, 180), (54, 111, 179), (54, 109, 178), (53, 108, 177), (52, 106, 177), (52, 104, 176), (51, 103, 175), (50, 101, 175), (50, 100, 174), (49, 98, 173), (48, 97, 173), (48, 95, 172), (47, 94, 171), (47, 92, 171), (46, 90, 170), (45, 89, 169), (45, 87, 169), (44, 86, 168), (43, 84, 167), (43, 83, 167), (42, 81, 166), (41, 80, 165), (41, 78, 165), (40, 77, 164), (39, 75, 163), (39, 74, 163), (38, 72, 162), (37, 71, 161), (37, 69, 161), (36, 68, 160), (35, 66, 160), (34, 65, 159), (34, 63, 158), (33, 62, 158), (32, 60, 157), (31, 59, 156), (30, 57, 156), (29, 56, 155), (28, 54, 154), (27, 53, 154), (26, 51, 153), ) TOFINO = ( (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), ) TOKYO = ( (26, 14, 52), (28, 15, 52), (29, 16, 53), (31, 16, 54), (33, 17, 55), (34, 17, 56), (36, 18, 57), (37, 18, 57), (39, 19, 58), (40, 19, 59), (42, 20, 60), (43, 20, 61), (45, 21, 62), (46, 21, 63), (48, 22, 63), (49, 22, 64), (51, 23, 65), (52, 24, 66), (54, 24, 67), (55, 25, 68), (57, 26, 69), (58, 26, 70), (60, 27, 71), (61, 28, 71), (63, 28, 72), (64, 29, 73), (66, 30, 74), (67, 31, 75), (69, 32, 76), (70, 32, 77), (72, 33, 78), (74, 34, 79), (75, 35, 80), (77, 36, 81), (78, 37, 82), (80, 38, 83), (81, 39, 84), (83, 40, 85), (84, 41, 86), (86, 42, 87), (87, 43, 88), (89, 44, 89), (90, 45, 89), (92, 46, 90), (93, 47, 91), (95, 48, 92), (96, 49, 93), (97, 50, 94), (99, 51, 95), (100, 53, 96), (102, 54, 97), (103, 55, 98), (104, 56, 99), (105, 57, 100), (107, 58, 100), (108, 60, 101), (109, 61, 102), (110, 62, 103), (112, 63, 104), (113, 64, 104), (114, 66, 105), (115, 67, 106), (116, 68, 107), (117, 69, 108), (118, 70, 108), (119, 72, 109), (120, 73, 110), (121, 74, 110), (122, 75, 111), (122, 76, 112), (123, 78, 112), (124, 79, 113), (125, 80, 114), (126, 81, 114), (126, 82, 115), (127, 83, 115), (128, 84, 116), (128, 85, 116), (129, 87, 117), (129, 88, 117), (130, 89, 118), (131, 90, 118), (131, 91, 119), (132, 92, 119), (132, 93, 120), (133, 94, 120), (133, 95, 121), (134, 96, 121), (134, 97, 122), (134, 98, 122), (135, 99, 122), (135, 100, 123), (135, 101, 123), (136, 102, 123), (136, 103, 124), (137, 104, 124), (137, 105, 125), (137, 106, 125), (137, 107, 125), (138, 108, 126), (138, 109, 126), (138, 110, 126), (139, 111, 127), (139, 112, 127), (139, 113, 127), (139, 114, 128), (140, 115, 128), (140, 116, 128), (140, 117, 128), (140, 118, 129), (140, 119, 129), (141, 119, 129), (141, 120, 130), (141, 121, 130), (141, 122, 130), (141, 123, 130), (142, 124, 131), (142, 125, 131), (142, 126, 131), (142, 127, 132), (142, 128, 132), (142, 129, 132), (143, 130, 132), (143, 131, 133), (143, 131, 133), (143, 132, 133), (143, 133, 133), (143, 134, 134), (144, 135, 134), (144, 136, 134), (144, 137, 134), (144, 138, 135), (144, 139, 135), (144, 140, 135), (145, 141, 135), (145, 141, 136), (145, 142, 136), (145, 143, 136), (145, 144, 136), (145, 145, 137), (145, 146, 137), (146, 147, 137), (146, 148, 137), (146, 149, 138), (146, 150, 138), (146, 151, 138), (146, 152, 138), (147, 152, 139), (147, 153, 139), (147, 154, 139), (147, 155, 139), (147, 156, 140), (147, 157, 140), (148, 158, 140), (148, 159, 140), (148, 160, 141), (148, 161, 141), (148, 162, 141), (148, 163, 141), (149, 164, 142), (149, 165, 142), (149, 165, 142), (149, 166, 143), (149, 167, 143), (150, 168, 143), (150, 169, 143), (150, 170, 144), (150, 171, 144), (151, 172, 144), (151, 173, 144), (151, 174, 145), (151, 175, 145), (152, 176, 145), (152, 177, 146), (152, 178, 146), (153, 179, 146), (153, 180, 147), (153, 181, 147), (154, 182, 147), (154, 183, 148), (154, 184, 148), (155, 185, 148), (155, 187, 149), (156, 188, 149), (156, 189, 149), (157, 190, 150), (157, 191, 150), (158, 192, 151), (159, 193, 151), (159, 194, 152), (160, 196, 152), (161, 197, 153), (161, 198, 153), (162, 199, 154), (163, 201, 155), (164, 202, 155), (165, 203, 156), (166, 204, 157), (167, 206, 157), (168, 207, 158), (169, 208, 159), (170, 210, 160), (172, 211, 160), (173, 212, 161), (174, 214, 162), (176, 215, 163), (177, 216, 164), (178, 218, 165), (180, 219, 166), (182, 221, 167), (183, 222, 168), (185, 223, 169), (186, 225, 170), (188, 226, 171), (190, 227, 172), (192, 229, 174), (193, 230, 175), (195, 231, 176), (197, 232, 177), (199, 234, 178), (201, 235, 180), (202, 236, 181), (204, 237, 182), (206, 238, 183), (208, 239, 184), (210, 240, 186), (212, 241, 187), (213, 242, 188), (215, 243, 189), (217, 243, 190), (218, 244, 191), (220, 245, 193), (222, 246, 194), (224, 246, 195), (225, 247, 196), (227, 248, 197), (228, 248, 198), (230, 249, 199), (231, 249, 200), (233, 250, 201), (234, 250, 202), (236, 250, 203), (237, 251, 204), (239, 251, 205), (240, 252, 206), (241, 252, 207), (243, 252, 208), (244, 253, 209), (245, 253, 210), (247, 253, 211), (248, 253, 212), (249, 254, 213), (251, 254, 214), (252, 254, 215), (253, 254, 216), (254, 254, 216), ) TURKU = ( (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), ) VIK = ( (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), ) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/palettable/scientific/diverging.py0000644000076500000240000000143713535036654022341 0ustar00jiffyclubstaff""" Diverging colormaps from Scientific Colour-Maps: http://www.fabiocrameri.ch/colourmaps.php """ from __future__ import absolute_import from . import scientific from . import colordata from .. import utils _PALETTE_TYPE = 'diverging' _MAP_NAMES = ( 'Broc', 'Cork', 'Vik', 'Lisbon', 'Tofino', 'Berlin', 'Roma' ) _NAMES_TO_DATA = { name: getattr(colordata, name.upper()) for name in _MAP_NAMES } _NAMES_AND_LENGTHS = utils.make_names_and_lengths(_MAP_NAMES) print_maps = utils.print_maps_factory( 'diverging scientific', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'diverging scientific', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, scientific.ScientificMap, is_evenly_spaced=True) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/palettable/scientific/scientific.py0000644000076500000240000000157013535036654022501 0ustar00jiffyclubstaff""" Scientific Colour-Maps: http://www.fabiocrameri.ch/colourmaps.php """ from ..palette import Palette class ScientificMap(Palette): """ Representation of a Scientific color map with matplotlib compatible views of the map. Parameters ---------- name : str palette_type : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap url : str Website with related info. """ url = 'http://www.fabiocrameri.ch/colourmaps.php' def __init__(self, name, palette_type, colors): super(ScientificMap, self).__init__(name, palette_type, colors) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/palettable/scientific/sequential.py0000644000076500000240000000161313535036654022531 0ustar00jiffyclubstaff""" Sequential colormaps from Scientific Colour-Maps: http://www.fabiocrameri.ch/colourmaps.php """ from __future__ import absolute_import from . import scientific from . import colordata from .. import utils _PALETTE_TYPE = 'sequential' _MAP_NAMES = ( 'Devon', 'LaJolla', 'Bamako', 'Davos', 'Bilbao', 'Nuuk', 'Oslo', 'GrayC', 'Hawaii', 'LaPaz', 'Tokyo', 'Buda', 'Acton', 'Turku', 'Imola', 'Batlow', 'Oleron' ) _NAMES_TO_DATA = { name: getattr(colordata, name.upper()) for name in _MAP_NAMES } _NAMES_AND_LENGTHS = utils.make_names_and_lengths(_MAP_NAMES) print_maps = utils.print_maps_factory( 'sequential scientific', _NAMES_AND_LENGTHS, _PALETTE_TYPE) get_map = utils.get_map_factory( 'sequential scientific', __name__, _NAMES_TO_DATA, _PALETTE_TYPE, scientific.ScientificMap, is_evenly_spaced=True) globals().update(utils.load_all_palettes(_NAMES_AND_LENGTHS, get_map)) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3467736 palettable-3.3.3/palettable/tableau/0000755000076500000240000000000014420072553017271 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/palettable/tableau/__init__.py0000644000076500000240000000021412475521673021411 0ustar00jiffyclubstafffrom __future__ import absolute_import from .tableau import __doc__, print_maps, get_map, _get_all_maps globals().update(_get_all_maps()) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1425449915.0 palettable-3.3.3/palettable/tableau/tableau.py0000644000076500000240000001344112475521673021275 0ustar00jiffyclubstaff# coding: utf-8 """ Color palettes derived from Tableau: http://www.tableausoftware.com/ See also: http://kb.tableausoftware.com/articles/knowledgebase/creating-custom-color-palettes http://tableaufriction.blogspot.ro/2012/11/finally-you-can-use-tableau-data-colors.html """ from __future__ import absolute_import, print_function from ..palette import Palette # There is no documentation page that lists the color palettes. url = 'http://www.tableausoftware.com' palette_type = 'qualitative' palette_names = [ 'Tableau_10', 'TableauLight_10', 'TableauMedium_10', 'Tableau_20', 'Gray_5', 'ColorBlind_10', 'TrafficLight_9', 'PurpleGray_6', 'PurpleGray_12', 'BlueRed_6', 'BlueRed_12', 'GreenOrange_6', 'GreenOrange_12' ] # Dictionary from name or short name to index. lookup = dict((name.lower(), i) for i, name in enumerate(palette_names)) colors_rgb = [ # Tableau 10 [[ 31, 119, 180], [255, 127, 14], [ 44, 160, 44], [214, 39, 40], [148, 103, 189], [140, 86, 75], [227, 119, 194], [127, 127, 127], [188, 189, 34], [ 23, 190, 207]], # Tableau 10 Light [[174, 199, 232], [255, 187, 120], [152, 223, 138], [255, 152, 150], [197, 176, 213], [196, 156, 148], [247, 182, 210], [199, 199, 199], [219, 219, 141], [158, 218, 229]], # Tableau 10 Medium [[114, 158, 206], [255, 158, 74], [103, 191, 92], [237, 102, 93], [173, 139, 201], [168, 120, 110], [237, 151, 202], [162, 162, 162], [205, 204, 93], [109, 204, 218]], # Tableau 20 [[ 31, 119, 180], [174, 199, 232], [255, 127, 14], [255, 187, 120], [ 44, 160, 44], [152, 223, 138], [214, 39, 40], [255, 152, 150], [148, 103, 189], [197, 176, 213], [140, 86, 75], [196, 156, 148], [227, 119, 194], [247, 182, 210], [127, 127, 127], [199, 199, 199], [188, 189, 34], [219, 219, 141], [ 23, 190, 207], [158, 218, 229]], # Gray 5 [[ 96, 99, 106], [165, 172, 175], [ 65, 68, 81], [143, 135, 130], [207, 207, 207]], # Color Blind 10 [[ 0, 107, 164], [255, 128, 14], [171, 171, 171], [ 89, 89, 89], [ 95, 158, 209], [200, 82, 0], [137, 137, 137], [162, 200, 236], [255, 188, 121], [207, 207, 207]], # Traffic Light 9 [[177, 3, 24], [219, 161, 58], [ 48, 147, 67], [216, 37, 38], [255, 193, 86], [105, 183, 100], [242, 108, 100], [255, 221, 113], [159, 205, 153]], # Purple-Gray 6 [[123, 102, 210], [220, 95, 189], [148, 145, 123], [153, 86, 136], [208, 152, 238], [215, 213, 197]], # Purple-Gray 12 [[123, 102, 210], [166, 153, 232], [220, 95, 189], [255, 192, 218], [ 95, 90, 65], [180, 177, 155], [153, 86, 136], [216, 152, 186], [171, 106, 213], [208, 152, 238], [139, 124, 110], [219, 212, 197]], # Blue-Red 6 [[ 44, 105, 176], [240, 39, 32], [172, 97, 60], [107, 163, 214], [234, 107, 115], [233, 195, 155]], # Blue-Red 12 [[ 44, 105, 176], [181, 200, 226], [240, 39, 32], [255, 182, 176], [172, 97, 60], [233, 195, 155], [107, 163, 214], [181, 223, 253], [172, 135, 99], [221, 201, 180], [189, 10, 54], [244, 115, 122]], # Green-Orange 6 [[ 50, 162, 81], [255, 127, 15], [ 60, 183, 204], [255, 217, 74], [ 57, 115, 124], [184, 90, 13]], # Green-Orange 12 [[ 50, 162, 81], [172, 217, 141], [255, 127, 15], [255, 185, 119], [ 60, 183, 204], [152, 217, 228], [184, 90, 13], [255, 217, 74], [ 57, 115, 124], [134, 180, 169], [130, 133, 59], [204, 201, 77]] ] class TableauMap(Palette): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str colors : list Colors as list of 0-255 RGB triplets. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap """ url = url def __init__(self, name, colors): super(TableauMap, self).__init__(name, palette_type, colors) def print_maps(): """ Print a list of Tableau palettes. """ namelen = max(len(name) for name in palette_names) fmt = '{0:' + str(namelen + 4) + '}{1:16}{2:}' for i, name in enumerate(palette_names): print(fmt.format(name, palette_type, len(colors_rgb[i]))) def get_map(name, reverse=False): """ Get a Tableau palette by name. Parameters ---------- name : str Name of map. Use `print_maps` to see available names. If `None`, then return a list of all colormaps. reverse : bool, optional If True reverse colors from their default order. Returns ------- palette : TableauMap """ try: index = lookup[name.lower()] except KeyError: msg = "{0!r} is an unknown Tableau palette." raise KeyError(msg.format(name)) colors = colors_rgb[index] if reverse: name = name + '_r' colors = list(reversed(colors)) return TableauMap(name, colors) def _get_all_maps(): """ Returns a dictionary of all Tableau palettes, including reversed ones. """ d = dict((name, get_map(name)) for name in palette_names) d.update(dict( (name + '_r', get_map(name, reverse=True)) for name in palette_names)) return d ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/palettable/utils.py0000644000076500000240000001572413152437502017377 0ustar00jiffyclubstafffrom __future__ import absolute_import, division import itertools import math import sys import textwrap def round_as_py3(value): """ Implement round behaviour consistent with Python 3 for use in Python 2. (Such that halves are rounded toward the even side. Only for positive numbers.) Adapted from https://github.com/python/cpython/blob/6b678aea1ca5c3c3728cd5a7a6eb112b2dad8553/Python/pytime.c#L71 """ if math.fmod(value, 1) == 0.5: return 2 * round(value / 2) else: return round(value) if sys.version_info[0] >= 3: round_ = round else: round_ = round_as_py3 def n_to_indices(num, length): """ Calculate `num` evenly spaced indices for a sequence of length `length`. Should be used with num >= 2, result will always include first and last. Parameters ---------- num : int length : int Returns ------- list of int """ if num < 2: raise ValueError('num must be 2 or larger, got {0}'.format(num)) elif num > length: raise ValueError('num cannot be greater than length') # subtract 1 from length to make it equivalent to the last index, # subtract 1 from num to make the calculation include the last index step = (length - 1) / (num - 1) return (int(round_(step * i)) for i in range(num)) def evenly_spaced_values(num, data): """ Returns `num` evenly spaced values from sequence `data`. Parameters ---------- num : int data : sequence Returns ------- values : list """ return [data[i] for i in n_to_indices(num, len(data))] def make_name_map(names): """ Create a dictionary mapping lowercase names to capitalized names. Parameters ---------- names : sequence Returns ------- dict """ return dict((name.lower(), name) for name in names) def make_names_and_lengths(names, lengths=None): """ Create a list pairing palette names with lengths. (Mostly used to define the set of palettes that are automatically built.) Parameters ---------- names : sequence of str lengths : sequence of int, optional Returns ------- list of tuple Pairs of names and lengths. """ lengths = lengths or range(3, 21) return list(itertools.product(names, lengths)) def palette_name(name, length): """Create a palette name like CubeYF_8""" return '{0}_{1}'.format(name, length) def split_name_length(name): """Split name and length from a name like CubeYF_8""" split = name.split('_') return split[0], int(split[1]) def print_maps_factory(desc, names_and_lengths, palette_type): """ Create a function that will print the names and lengths of palettes. Parameters ---------- desc : str Short description of palettes, for example "sequential cmocean". Used to populate the print_maps docstring. names_and_lengths : sequence of tuple Pairs of names and lengths. palette_type : str Palette type to include in printed messages. Returns ------- function Takes no arguments. """ def print_maps(): namelen = max( len(palette_name(name, length)) for name, length in names_and_lengths) fmt = '{0:' + str(namelen + 4) + '}{1:16}{2:}' for name, length in names_and_lengths: print(fmt.format( palette_name(name, length), palette_type, length)) print_maps.__doc__ = 'Print a list of {0} palettes'.format(desc) return print_maps def get_map_factory(desc, mod_path, names_to_data, palette_type, palette_class, is_evenly_spaced=True): """ Create a function that builds a Palette instance from available data and the given Palette sub-class. Parameters ---------- desc : str Short description of palettes, for example "sequential cmocean". Used to populate the get_map docstring. mod_path : str Path to module where get_map will be used. Use to point users to the print_maps function. E.g. 'palettable.cmocean.sequential'. names_to_data : dict Dictionary mapping string palette names to color data. (Lists of 0-255 integer RGB tuples.) palette_type : str Palette type to pass into Palette subclass, e.g. 'diverging'. palette_class : Palette subclass Subclass of Palette to use when creating new Palettes. Must have __init__ signature (name, palette_type, colors). is_evenly_spaced : bool Sets sampling of palette. If True, then choose values evenly spaced in palette array, otherwise choose colors from the beginning of the array. Returns ------- function The function will have the definition: def get_map(name, reverse=False): """ name_map = make_name_map(names_to_data.keys()) def get_map(name, reverse=False): # name will be something like Viridis_8 name, length = split_name_length(name) name_lower = name.lower() if name_lower not in name_map: raise KeyError('Unknown palette name: {0}'.format(name)) name = name_map[name_lower] if len(names_to_data[name]) < length: raise ValueError('Number of requested colors larger than ' 'the number available in {0}'.format(name)) if is_evenly_spaced: colors = evenly_spaced_values(length, names_to_data[name]) else: colors = names_to_data[name][:length] # add number back to name name = palette_name(name, length) if reverse: name += '_r' colors = list(reversed(colors)) return palette_class(name, palette_type, colors) get_map.__doc__ = textwrap.dedent("""\ Get a {0} palette by name. Parameters ---------- name : str Name of map. Use {1}.print_maps to see available names. reverse : bool, optional If True reverse colors from their default order. Returns ------- {2} """).format(desc, mod_path, palette_class.__class__.__name__) return get_map def load_all_palettes(names_and_lengths, get_map_func): """ Load all palettes (including reversed ones) into a dictionary, given a dictionary of names and lengths, plus a get_map function. Parameters ---------- names_and_lengths : dict names_and_lengths : sequence of tuple Pairs of names and lengths. get_map_func : function Function with signature get_map(name, reverse=False) that returns a Palette subclass instance. Returns ------- dict Maps Name_Length strings to instances of a Palette subclass. """ maps = {} for name, length in names_and_lengths: map_name = palette_name(name, length) maps[map_name] = get_map_func(map_name) maps[map_name + '_r'] = get_map_func(map_name, reverse=True) return maps ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1681945963.348268 palettable-3.3.3/palettable/wesanderson/0000755000076500000240000000000014420072553020204 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1487631780.0 palettable-3.3.3/palettable/wesanderson/__init__.py0000644000076500000240000000023413052672644022323 0ustar00jiffyclubstafffrom __future__ import absolute_import from .wesanderson import __doc__, _palettes, print_maps, get_map, _get_all_maps globals().update(_get_all_maps()) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567881476.0 palettable-3.3.3/palettable/wesanderson/wesanderson.py0000644000076500000240000003045313534774404023124 0ustar00jiffyclubstafffrom __future__ import absolute_import from __future__ import print_function """ Color palettes derived from http://wesandersonpalettes.tumblr.com/. """ import webbrowser from ..palette import Palette _tumblr_template = 'http://wesandersonpalettes.tumblr.com/post/{0}' _palette_type = 'qualitative' # Tumblr palettes in chronological order _palettes = { 'Chevalier': { 'colors': [ (53, 82, 67), (254, 202, 73), (201, 213, 213), (187, 162, 137) ], 'type': _palette_type, 'url': _tumblr_template.format('79263620764/hotel-chevalier') }, 'Moonrise1': { 'colors': [ (114, 202, 221), (240, 165, 176), (140, 133, 54), (195, 180, 119), (250, 208, 99) ], 'type': _palette_type, 'url': _tumblr_template.format( '79263667140/sam-i-love-you-but-you-dont-know-what-youre') }, 'Mendl': { 'colors': [ (222, 141, 185), (184, 192, 246), (207, 147, 135), (92, 128, 204) ], 'type': _palette_type, 'url': _tumblr_template.format('79348206200/mendls-heaven') }, 'Margot1': { 'colors': [ (137, 119, 18), (243, 194, 164), (246, 159, 151), (254, 214, 140), (98, 144, 117) ], 'type': _palette_type, 'url': _tumblr_template.format('79348364517/margot-takes-a-bath') }, 'Cavalcanti': { 'colors': [ (209, 170, 0), (8, 50, 19), (146, 148, 96), (111, 152, 121), (132, 33, 17) ], 'type': _palette_type, 'url': _tumblr_template.format( '79348553036/castello-cavalcanti-how-can-i-help') }, 'Moonrise2': { 'colors': [ (102, 124, 116), (181, 106, 39), (194, 186, 124), (31, 25, 23) ], 'type': _palette_type, 'url': _tumblr_template.format( '79641731527/sam-why-do-you-always-use-binoculars-suzy-it') }, 'Margot2': { 'colors': [ (118, 139, 147), (188, 36, 15), (249, 236, 197), (212, 115, 41) ], 'type': _palette_type, 'url': _tumblr_template.format('79641785036/margot-takes-a-break') }, 'Moonrise3': { 'colors': [ (242, 218, 82), (197, 157, 0), (203, 203, 201), (27, 30, 20) ], 'type': _palette_type, 'url': _tumblr_template.format( '79783357790/suzy-ive-always-wanted-to-be-an-orphan-most-of') }, 'GrandBudapest1': { 'colors': [ (238, 174, 101), (251, 79, 85), (72, 19, 19), (204, 95, 39) ], 'type': _palette_type, 'url': _tumblr_template.format('79784389334/the-grand-budapest-hotel') }, 'Moonrise4': { 'colors': [ (123, 135, 97), (193, 166, 46), (79, 143, 107), (59, 69, 60), (159, 50, 8) ], 'type': _palette_type, 'url': _tumblr_template.format('79956897654/coming-soon') }, 'Zissou': { 'colors': [ (0, 153, 230), (18, 37, 90), (242, 56, 20), (223, 183, 139), (182, 195, 197) ], 'type': _palette_type, 'url': _tumblr_template.format( '79956949771/steve-zissou-dont-point-that-gun-at-him-hes-an') }, 'Royal1': { 'colors': [ (121, 164, 58), (242, 214, 175), (94, 72, 41), (24, 20, 1) ], 'type': _palette_type, 'url': _tumblr_template.format( '79957796915/royal-o-reilly-tenenbaum-1932-2001') }, 'Darjeeling1': { 'colors': [ (158, 151, 151), (194, 142, 0), (131, 102, 89), (156, 90, 51) ], 'type': _palette_type, 'url': _tumblr_template.format( '80149649946/jack-i-wonder-if-the-three-of-us-wouldve-been') }, 'FantasticFox1': { 'colors': [ (249, 219, 32), (147, 75, 78), (66, 23, 13), (194, 121, 34), (226, 200, 167) ], 'type': _palette_type, 'url': _tumblr_template.format( '80149872170/mrs-fox-you-know-you-really-are-fantastic-mr') }, 'Margot3': { 'colors': [ (135, 162, 164), (202, 160, 101), (214, 202, 191), (214, 160, 160) ], 'type': _palette_type, 'url': _tumblr_template.format( '109473707895/etheline-raleigh-says-youve-been-spending-six') }, 'GrandBudapest2': { 'colors': [ (255, 166, 142), (251, 204, 183), (140, 17, 8), (41, 11, 4) ], 'type': _palette_type, 'url': _tumblr_template.format( '109473911685/m-gustave-you-see-there-are-still-faint') }, 'Aquatic1': { 'colors': [ (52, 36, 25), (28, 64, 39), (241, 201, 14), (102, 88, 153), (184, 147, 130) ], 'type': _palette_type, 'url': _tumblr_template.format( '109568074320/steve-zissou-the-deeper-you-go-the-weirder-life') }, 'Darjeeling2': { 'colors': [ (213, 227, 216), (97, 138, 152), (249, 218, 149), (174, 75, 22), (120, 112, 100) ], 'type': _palette_type, 'url': _tumblr_template.format('109980167015/peter-fuck-the-itinerary') }, 'FantasticFox2': { 'colors': [ (228, 191, 68), (198, 87, 66), (154, 208, 187), (51, 39, 55), (171, 161, 141) ], 'type': _palette_type, 'url': _tumblr_template.format('110716093015/ash-should-we-dance') }, 'GrandBudapest3': { 'colors': [ (255, 220, 182), (37, 56, 69), (231, 173, 157), (102, 117, 110), (139, 63, 49), (150, 109, 53) ], 'type': _palette_type, 'url': _tumblr_template.format( '112305028860/m-gustave-mendls-is-the-best') }, 'Royal2': { 'colors': [ (194, 171, 186), (140, 59, 73), (182, 172, 166), (33, 32, 83), (209, 211, 213) ], 'type': _palette_type, 'url': _tumblr_template.format( '115124780615/royal-anybody-interested-in-grabbing-a-couple-of') }, 'Moonrise5': { 'colors': [ (223, 140, 144), (216, 210, 142), (245, 190, 37), (61, 74, 28), (209, 48, 96), (168, 107, 76) ], 'type': _palette_type, 'url': _tumblr_template.format( '116909186645/walt-bishop-our-daughters-been-abducted-by-one') }, 'GrandBudapest4': { 'colors': [ (186, 110, 0), (80, 32, 86), (255, 246, 187), (154, 127, 25), (31, 18, 27) ], 'type': _palette_type, 'url': _tumblr_template.format( '117849683385/concierge-and-how-long-will-you-be-staying-with') }, 'Moonrise6': { 'colors': [ (191, 81, 61), (201, 162, 150), (197, 193, 136), (123, 177, 145), (217, 174, 48) ], 'type': _palette_type, 'url': _tumblr_template.format( '118877161325/sam-im-not-that-strong-of-a-swimmer-so-i-wear-a') }, 'GrandBudapest5': { 'colors': [ (225, 146, 131), (140, 27, 76), (209, 147, 54), (231, 199, 190), (51, 12, 0) ], 'type': _palette_type, 'url': _tumblr_template.format( '122169507295/m-gustave-its-quite-a-thing-winning-the-loyalty') }, 'Aquatic2': { 'colors': [ (139, 156, 184), (233, 229, 65), (88, 159, 194), (160, 141, 94), (189, 185, 206) ], 'type': _palette_type, 'url': _tumblr_template.format( '125170837755/steve-zissou-please-dont-make-fun-of-me-i-just') }, 'Royal3': { 'colors': [ (252, 87, 108), (237, 126, 83), (226, 153, 139), (46, 23, 24), (251, 214, 202) ], 'type': _palette_type, 'url': _tumblr_template.format( '129921576355/royal-ive-always-been-considered-an-asshole-for') }, 'Moonrise7': { 'colors': [ (35, 35, 85), (97, 104, 96), (167, 91, 68), (145, 43, 41), (255, 227, 143) ], 'type': _palette_type, 'url': _tumblr_template.format( '137096576550/social-services-access-denied') }, 'Aquatic3': { 'colors': [ (214, 161, 66), (194, 128, 114), (200, 183, 161), (189, 68, 45), (100, 84, 60) ], 'type': _palette_type, 'url': _tumblr_template.format( '139482629630/ah-weve-never-made-great-husbands-have-we-of') }, 'Darjeeling3': { 'colors': [ (168, 171, 80), (255, 232, 61), (169, 211, 210), (36, 71, 125), (90, 145, 124) ], 'type': _palette_type, 'url': _tumblr_template.format( '143938510215/the-chief-steward-welcome-aboard') }, 'Darjeeling4': { 'colors': [ (116, 103, 104), (104, 71, 98), (128, 8, 6), (188, 132, 14), (174, 89, 92) ], 'type': _palette_type, 'url': _tumblr_template.format( '160334044570/i-wonder-if-the-three-of-us-wouldve-been-friends') }, 'IsleOfDogs1': { 'colors': [ (254, 197, 175), (174, 126, 113), (210, 103, 50), (50, 35, 35), (24, 18, 19) ], 'type': _palette_type, 'url': _tumblr_template.format( '172304342835/were-a-pack-of-scary-indestructible-alpha-dogs') }, 'IsleOfDogs2': { 'colors': [ (152, 108, 150), (138, 31, 31), (213, 171, 85), (14, 12, 12), (220, 194, 201), (130, 114, 108) ], 'type': _palette_type, 'url': _tumblr_template.format( '172586941620/be-advised-that-small-dogs-still-pose-a-threat-to') }, 'IsleOfDogs3': { 'colors': [ (229, 142, 167), (224, 193, 160), (30, 18, 99), (216, 177, 72) ], 'type': _palette_type, 'url': _tumblr_template.format( '184134532240/tracy-walker-that-crook-hes-stealing-the') }, } _map_names = {} for k in _palettes: _map_names[k.lower()] = k class WesAndersonMap(Palette): """ Representation of a color map with matplotlib compatible views of the map. Parameters ---------- name : str map_type : str colors : list Colors as list of 0-255 RGB triplets. url : str URL on the web where this color map can be viewed. Attributes ---------- name : str type : str number : int Number of colors in color map. colors : list Colors as list of 0-255 RGB triplets. hex_colors : list mpl_colors : list mpl_colormap : matplotlib LinearSegmentedColormap wap_url : str URL on the web where this color map can be viewed. """ def __init__(self, name, map_type, colors, url): super(WesAndersonMap, self).__init__(name, map_type, colors) self.url = url def wap(self): """ View this color palette on the web. Will open a new tab in your web browser. """ webbrowser.open_new_tab(self.url) # pragma: no cover def print_maps(): """ Print a list of Wes Anderson palettes. """ namelen = max(len(k) for k in _palettes) fmt = '{0:' + str(namelen + 4) + '}{1:16}{2:}' for k in sorted(_palettes.keys()): print(fmt.format(k, _palettes[k]['type'], len(_palettes[k]['colors']))) def get_map(name, reverse=False): """ Get a Wes Anderson palette by name. Parameters ---------- name : str Name of map. Use palettable.wesanderson.print_maps to see available names. reverse : bool, optional If True reverse colors from their default order. Returns ------- palette : WesAndersonMap """ name = _map_names[name.lower()] palette = _palettes[name] if reverse: name += '_r' palette['colors'] = list(reversed(palette['colors'])) return WesAndersonMap( name, palette['type'], palette['colors'], palette['url']) def _get_all_maps(): """ Returns a dictionary of all Wes Anderson palettes, including reversed ones. """ fmt = '{0}_{1}'.format d = dict( (fmt(name, m.number), m) for name, m in ((name, get_map(name)) for name in _palettes)) fmt = '{0}_{1}_r'.format d.update( dict( (fmt(name, m.number), m) for name, m in ( (name, get_map(name, reverse=True)) for name in _palettes))) return d ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.2846813 palettable-3.3.3/palettable.egg-info/0000755000076500000240000000000014420072553017346 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681945963.0 palettable-3.3.3/palettable.egg-info/PKG-INFO0000644000076500000240000000630414420072553020446 0ustar00jiffyclubstaffMetadata-Version: 2.1 Name: palettable Version: 3.3.3 Summary: Color palettes for Python Author-email: Matt Davis License: palettable Copyright (c) 2019 Matt Davis 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. Project-URL: homepage, https://jiffyclub.github.io/palettable/ Project-URL: repository, https://github.com/jiffyclub/palettable.git Project-URL: changelog, https://github.com/jiffyclub/palettable/blob/master/CHANGELOG.rst Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Scientific/Engineering :: Visualization Requires-Python: >=3.7 Description-Content-Type: text/x-rst Palettable ========== .. image:: https://github.com/jiffyclub/palettable/actions/workflows/ci.yml/badge.svg :target: https://github.com/jiffyclub/palettable/actions/workflows/ci.yml :alt: Build Status .. image:: https://coveralls.io/repos/jiffyclub/palettable/badge.svg :target: https://coveralls.io/r/jiffyclub/palettable :alt: Coveralls .. image:: https://img.shields.io/pypi/v/palettable.svg :target: https://pypi.python.org/pypi/palettable/ :alt: Latest Version .. image:: https://img.shields.io/pypi/pyversions/snakeviz.svg :target: https://pypi.python.org/pypi/snakeviz/ :alt: Supported Python versions .. image:: https://img.shields.io/pypi/wheel/palettable.svg :target: https://pypi.python.org/pypi/palettable/ :alt: Wheel Status Color Palettes for Python ------------------------- Palettable (formerly brewer2mpl) is a library of color palettes for Python. It's written in pure Python with no dependencies, but it can supply color maps for matplotlib. You can use Palettable to customize matplotlib plots or supply colors for a web application. For more information see the `documentation `_. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681945963.0 palettable-3.3.3/palettable.egg-info/SOURCES.txt0000644000076500000240000000361614420072553021240 0ustar00jiffyclubstaffMANIFEST.in README.rst license.txt pyproject.toml setup.cfg docs/gendocs.py docs/_python/__init__.py docs/_python/filters.py palettable/__init__.py palettable/palette.py palettable/utils.py palettable.egg-info/PKG-INFO palettable.egg-info/SOURCES.txt palettable.egg-info/dependency_links.txt palettable.egg-info/top_level.txt palettable/cartocolors/__init__.py palettable/cartocolors/cartocolorspalette.py palettable/cartocolors/colormaps.py palettable/cartocolors/diverging.py palettable/cartocolors/qualitative.py palettable/cartocolors/sequential.py palettable/cmocean/__init__.py palettable/cmocean/cmoceanpalette.py palettable/cmocean/colormaps.py palettable/cmocean/diverging.py palettable/cmocean/sequential.py palettable/colorbrewer/__init__.py palettable/colorbrewer/colorbrewer.py palettable/colorbrewer/colorbrewer_all_schemes.py palettable/colorbrewer/diverging.py palettable/colorbrewer/qualitative.py palettable/colorbrewer/sequential.py palettable/colorbrewer/data/colorbrewer_all_schemes.csv palettable/colorbrewer/data/colorbrewer_licence.txt palettable/colorbrewer/data/colorbrewer_schemes_csv_to_py.py palettable/cubehelix/__init__.py palettable/cubehelix/cubehelix.py palettable/lightbartlein/__init__.py palettable/lightbartlein/colordata.py palettable/lightbartlein/diverging.py palettable/lightbartlein/lightbartlein.py palettable/lightbartlein/sequential.py palettable/matplotlib/__init__.py palettable/matplotlib/colormaps.py palettable/matplotlib/matplotlib.py palettable/mycarta/__init__.py palettable/mycarta/colordata.py palettable/mycarta/mycarta.py palettable/scientific/__init__.py palettable/scientific/colordata.py palettable/scientific/diverging.py palettable/scientific/scientific.py palettable/scientific/sequential.py palettable/tableau/__init__.py palettable/tableau/tableau.py palettable/wesanderson/__init__.py palettable/wesanderson/wesanderson.py scripts/scientific.py test/test_installed.py././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681945963.0 palettable-3.3.3/palettable.egg-info/dependency_links.txt0000644000076500000240000000000114420072553023414 0ustar00jiffyclubstaff ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681945963.0 palettable-3.3.3/palettable.egg-info/top_level.txt0000644000076500000240000000005514420072553022100 0ustar00jiffyclubstaffbuild demo dist docs palettable scripts test ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1681690822.0 palettable-3.3.3/pyproject.toml0000644000076500000240000000207714417110306016454 0ustar00jiffyclubstaff[build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "palettable" authors = [ {name = "Matt Davis", email = "jiffyclub@gmail.com"}, ] description = "Color palettes for Python" readme = "README.rst" license = { file = "license.txt" } requires-python = ">=3.7" dynamic = ["version"] classifiers = [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Topic :: Scientific/Engineering :: Visualization" ] [project.urls] homepage = "https://jiffyclub.github.io/palettable/" repository = "https://github.com/jiffyclub/palettable.git" changelog = "https://github.com/jiffyclub/palettable/blob/master/CHANGELOG.rst" [tool.setuptools.dynamic] version = {attr = "palettable.VERSION"} [tool.setuptools.packages.find] exclude = ["*.test"] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3489375 palettable-3.3.3/scripts/0000755000076500000240000000000014420072553015226 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1567899052.0 palettable-3.3.3/scripts/scientific.py0000644000076500000240000000222113535036654017725 0ustar00jiffyclubstaff""" Script for translating the .txt RGB files in http://www.fabiocrameri.ch/colourmaps.php to a colordata.py file. This means converting 0-1 floats to 0-255 integers and formatting the data as lists of lists. """ import sys from pathlib import Path from typing import Iterable, TextIO, Tuple import click def float_rgb_to_int(value: float) -> int: return round(value * 255) def read_rgb_txt(filename: Path) -> Iterable[Tuple[float, float, float]]: with filename.open('r') as fp: yield from ( tuple(float_rgb_to_int(float(x)) for x in row.split()) for row in fp ) def process_file(filename: str, dest: TextIO): filename: Path = Path(filename) dest.write(f'{filename.stem.upper()} = (\n') for rgb in read_rgb_txt(filename): dest.write(f' {rgb},\n') dest.write(')\n\n') @click.command() @click.argument("dest", type=click.File("w")) @click.argument("sources", nargs=-1) def main(dest: TextIO, sources: Tuple): dest.write('# Via http://www.fabiocrameri.ch/colourmaps.php\n\n') for filename in sources: process_file(filename, dest) if __name__ == "__main__": sys.exit(main()) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1681945963.3522549 palettable-3.3.3/setup.cfg0000644000076500000240000000010314420072553015352 0ustar00jiffyclubstaff[bdist_wheel] universal = 1 [egg_info] tag_build = tag_date = 0 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1681945963.349658 palettable-3.3.3/test/0000755000076500000240000000000014420072553014516 5ustar00jiffyclubstaff././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1504329538.0 palettable-3.3.3/test/test_installed.py0000644000076500000240000000220213152437502020102 0ustar00jiffyclubstaff""" Test installed palettable to make sure everything is accessible. """ import palettable from palettable.palette import Palette def test_colorbrewer(): assert isinstance(palettable.colorbrewer.diverging.PuOr_6, Palette) assert isinstance(palettable.colorbrewer.qualitative.Pastel1_9, Palette) assert isinstance(palettable.colorbrewer.sequential.PuBuGn_9, Palette) def test_cubehelix(): assert isinstance(palettable.cubehelix.classic_16, Palette) def test_tableau(): assert isinstance(palettable.tableau.ColorBlind_10, Palette) def test_wes_anderson(): assert isinstance(palettable.wesanderson.Aquatic1_5, Palette) def test_matplotlib(): assert isinstance(palettable.matplotlib.Viridis_8, Palette) def test_mycarta(): assert isinstance(palettable.mycarta.CubeYF_8, Palette) def test_cmocean(): assert isinstance(palettable.cmocean.sequential.Amp_8, Palette) assert isinstance(palettable.cmocean.diverging.Balance_8, Palette) def test_cartocolors(): assert isinstance(palettable.cartocolors.sequential.Mint_7, Palette) assert isinstance(palettable.cartocolors.diverging.Earth_7, Palette)