palettable-3.3.0/0000755000076500000240000000000013535037137014741 5ustar jiffyclubstaff00000000000000palettable-3.3.0/MANIFEST.in0000644000076500000240000000007313276321025016471 0ustar jiffyclubstaff00000000000000include README.rst include license.txt include ez_setup.py palettable-3.3.0/PKG-INFO0000644000076500000240000000365013535037137016042 0ustar jiffyclubstaff00000000000000Metadata-Version: 1.1 Name: palettable Version: 3.3.0 Summary: Color palettes for Python Home-page: https://jiffyclub.github.io/palettable/ Author: Matt Davis Author-email: jiffyclub@gmail.com License: UNKNOWN Description: Palettable ========== .. image:: https://travis-ci.org/jiffyclub/palettable.png?branch=master :alt: Travis-CI :target: https://travis-ci.org/jiffyclub/palettable .. image:: https://coveralls.io/repos/jiffyclub/palettable/badge.png :alt: Coveralls :target: https://coveralls.io/r/jiffyclub/palettable .. image:: https://img.shields.io/pypi/v/palettable.svg :alt: PyPI :target: https://pypi.python.org/pypi/palettable/ .. 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 `_. Platform: UNKNOWN Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Topic :: Scientific/Engineering :: Visualization palettable-3.3.0/README.rst0000644000076500000240000000173112550244036016424 0ustar jiffyclubstaff00000000000000Palettable ========== .. image:: https://travis-ci.org/jiffyclub/palettable.png?branch=master :alt: Travis-CI :target: https://travis-ci.org/jiffyclub/palettable .. image:: https://coveralls.io/repos/jiffyclub/palettable/badge.png :alt: Coveralls :target: https://coveralls.io/r/jiffyclub/palettable .. image:: https://img.shields.io/pypi/v/palettable.svg :alt: PyPI :target: https://pypi.python.org/pypi/palettable/ .. 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 `_. palettable-3.3.0/ez_setup.py0000644000076500000240000002435412404364016017152 0ustar jiffyclubstaff00000000000000#!/usr/bin/env python """Bootstrap setuptools installation To use setuptools in your package's setup.py, include this file in the same directory and add this to the top of your setup.py:: from ez_setup import use_setuptools use_setuptools() To require a specific version of setuptools, set a download mirror, or use an alternate download directory, simply supply the appropriate options to ``use_setuptools()``. This file can also be run as a script to install or upgrade setuptools. """ import os import shutil import sys import tempfile import zipfile import optparse import subprocess import platform import textwrap import contextlib from distutils import log try: from urllib.request import urlopen except ImportError: from urllib2 import urlopen try: from site import USER_SITE except ImportError: USER_SITE = None DEFAULT_VERSION = "5.7" DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/" def _python_cmd(*args): """ Return True if the command succeeded. """ args = (sys.executable,) + args return subprocess.call(args) == 0 def _install(archive_filename, install_args=()): with archive_context(archive_filename): # installing log.warn('Installing Setuptools') if not _python_cmd('setup.py', 'install', *install_args): log.warn('Something went wrong during the installation.') log.warn('See the error message above.') # exitcode will be 2 return 2 def _build_egg(egg, archive_filename, to_dir): with archive_context(archive_filename): # building an egg log.warn('Building a Setuptools egg in %s', to_dir) _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir) # returning the result log.warn(egg) if not os.path.exists(egg): raise IOError('Could not build the egg.') class ContextualZipFile(zipfile.ZipFile): """ Supplement ZipFile class to support context manager for Python 2.6 """ def __enter__(self): return self def __exit__(self, type, value, traceback): self.close() def __new__(cls, *args, **kwargs): """ Construct a ZipFile or ContextualZipFile as appropriate """ if hasattr(zipfile.ZipFile, '__exit__'): return zipfile.ZipFile(*args, **kwargs) return super(ContextualZipFile, cls).__new__(cls) @contextlib.contextmanager def archive_context(filename): # extracting the archive tmpdir = tempfile.mkdtemp() log.warn('Extracting in %s', tmpdir) old_wd = os.getcwd() try: os.chdir(tmpdir) with ContextualZipFile(filename) as archive: archive.extractall() # going in the directory subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) os.chdir(subdir) log.warn('Now working in %s', subdir) yield finally: os.chdir(old_wd) shutil.rmtree(tmpdir) def _do_download(version, download_base, to_dir, download_delay): egg = os.path.join(to_dir, 'setuptools-%s-py%d.%d.egg' % (version, sys.version_info[0], sys.version_info[1])) if not os.path.exists(egg): archive = download_setuptools(version, download_base, to_dir, download_delay) _build_egg(egg, archive, to_dir) sys.path.insert(0, egg) # Remove previously-imported pkg_resources if present (see # https://bitbucket.org/pypa/setuptools/pull-request/7/ for details). if 'pkg_resources' in sys.modules: del sys.modules['pkg_resources'] import setuptools setuptools.bootstrap_install_from = egg def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, download_delay=15): to_dir = os.path.abspath(to_dir) rep_modules = 'pkg_resources', 'setuptools' imported = set(sys.modules).intersection(rep_modules) try: import pkg_resources except ImportError: return _do_download(version, download_base, to_dir, download_delay) try: pkg_resources.require("setuptools>=" + version) return except pkg_resources.DistributionNotFound: return _do_download(version, download_base, to_dir, download_delay) except pkg_resources.VersionConflict as VC_err: if imported: msg = textwrap.dedent(""" The required version of setuptools (>={version}) is not available, and can't be installed while this script is running. Please install a more recent version first, using 'easy_install -U setuptools'. (Currently using {VC_err.args[0]!r}) """).format(VC_err=VC_err, version=version) sys.stderr.write(msg) sys.exit(2) # otherwise, reload ok del pkg_resources, sys.modules['pkg_resources'] return _do_download(version, download_base, to_dir, download_delay) def _clean_check(cmd, target): """ Run the command to download target. If the command fails, clean up before re-raising the error. """ try: subprocess.check_call(cmd) except subprocess.CalledProcessError: if os.access(target, os.F_OK): os.unlink(target) raise def download_file_powershell(url, target): """ Download the file at url to target using Powershell (which will validate trust). Raise an exception if the command cannot complete. """ target = os.path.abspath(target) ps_cmd = ( "[System.Net.WebRequest]::DefaultWebProxy.Credentials = " "[System.Net.CredentialCache]::DefaultCredentials; " "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" % vars() ) cmd = [ 'powershell', '-Command', ps_cmd, ] _clean_check(cmd, target) def has_powershell(): if platform.system() != 'Windows': return False cmd = ['powershell', '-Command', 'echo test'] with open(os.path.devnull, 'wb') as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: return False return True download_file_powershell.viable = has_powershell def download_file_curl(url, target): cmd = ['curl', url, '--silent', '--output', target] _clean_check(cmd, target) def has_curl(): cmd = ['curl', '--version'] with open(os.path.devnull, 'wb') as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: return False return True download_file_curl.viable = has_curl def download_file_wget(url, target): cmd = ['wget', url, '--quiet', '--output-document', target] _clean_check(cmd, target) def has_wget(): cmd = ['wget', '--version'] with open(os.path.devnull, 'wb') as devnull: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except Exception: return False return True download_file_wget.viable = has_wget def download_file_insecure(url, target): """ Use Python to download the file, even though it cannot authenticate the connection. """ src = urlopen(url) try: # Read all the data in one block. data = src.read() finally: src.close() # Write all the data in one block to avoid creating a partial file. with open(target, "wb") as dst: dst.write(data) download_file_insecure.viable = lambda: True def get_best_downloader(): downloaders = ( download_file_powershell, download_file_curl, download_file_wget, download_file_insecure, ) viable_downloaders = (dl for dl in downloaders if dl.viable()) return next(viable_downloaders, None) def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, delay=15, downloader_factory=get_best_downloader): """ Download setuptools from a specified location and return its filename `version` should be a valid setuptools version number that is available as an sdist for download under the `download_base` URL (which should end with a '/'). `to_dir` is the directory where the egg will be downloaded. `delay` is the number of seconds to pause before an actual download attempt. ``downloader_factory`` should be a function taking no arguments and returning a function for downloading a URL to a target. """ # making sure we use the absolute path to_dir = os.path.abspath(to_dir) zip_name = "setuptools-%s.zip" % version url = download_base + zip_name saveto = os.path.join(to_dir, zip_name) if not os.path.exists(saveto): # Avoid repeated downloads log.warn("Downloading %s", url) downloader = downloader_factory() downloader(url, saveto) return os.path.realpath(saveto) def _build_install_args(options): """ Build the arguments to 'python setup.py install' on the setuptools package """ return ['--user'] if options.user_install else [] def _parse_args(): """ Parse the command line for options """ parser = optparse.OptionParser() parser.add_option( '--user', dest='user_install', action='store_true', default=False, help='install in user site package (requires Python 2.6 or later)') parser.add_option( '--download-base', dest='download_base', metavar="URL", default=DEFAULT_URL, help='alternative URL from where to download the setuptools package') parser.add_option( '--insecure', dest='downloader_factory', action='store_const', const=lambda: download_file_insecure, default=get_best_downloader, help='Use internal, non-validating downloader' ) parser.add_option( '--version', help="Specify which version to download", default=DEFAULT_VERSION, ) options, args = parser.parse_args() # positional arguments are ignored return options def main(): """Install or upgrade setuptools and EasyInstall""" options = _parse_args() archive = download_setuptools( version=options.version, download_base=options.download_base, downloader_factory=options.downloader_factory, ) return _install(archive, _build_install_args(options)) if __name__ == '__main__': sys.exit(main()) palettable-3.3.0/license.txt0000644000076500000240000000205113511740131017107 0ustar jiffyclubstaff00000000000000palettable 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. palettable-3.3.0/palettable/0000755000076500000240000000000013535037137017056 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/__init__.py0000644000076500000240000000074113535037054021167 0ustar jiffyclubstaff00000000000000""" 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__ = '3.3.0' palettable-3.3.0/palettable/cartocolors/0000755000076500000240000000000013535037137021410 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/cartocolors/__init__.py0000644000076500000240000000013113152437502023507 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from . import diverging, sequential, qualitative palettable-3.3.0/palettable/cartocolors/cartocolorspalette.py0000644000076500000240000000164413152437502025673 0ustar jiffyclubstaff00000000000000""" 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) palettable-3.3.0/palettable/cartocolors/colormaps.py0000644000076500000240000001373013152437502023760 0ustar jiffyclubstaff00000000000000""" 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], ] palettable-3.3.0/palettable/cartocolors/diverging.py0000644000076500000240000000203113152437502023727 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/cartocolors/qualitative.py0000644000076500000240000000237413152437502024313 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/cartocolors/sequential.py0000644000076500000240000000260213535036654024137 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/cmocean/0000755000076500000240000000000013535037137020463 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/cmocean/__init__.py0000644000076500000240000000011413052672644022572 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from . import diverging, sequential palettable-3.3.0/palettable/cmocean/cmoceanpalette.py0000644000076500000240000000156413052672644024031 0ustar jiffyclubstaff00000000000000""" 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) palettable-3.3.0/palettable/cmocean/colormaps.py0000644000076500000240000030560513052672644023047 0ustar jiffyclubstaff00000000000000""" 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], ] palettable-3.3.0/palettable/cmocean/diverging.py0000644000076500000240000000146113052672644023017 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/cmocean/sequential.py0000644000076500000240000000215213052672644023211 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/colorbrewer/0000755000076500000240000000000013535037137021403 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/colorbrewer/__init__.py0000644000076500000240000000016412475521673023522 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .colorbrewer import * from . import diverging, qualitative, sequential palettable-3.3.0/palettable/colorbrewer/colorbrewer.py0000644000076500000240000001443212475521673024313 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from __future__ import print_function import json import webbrowser from pkg_resources import resource_string from ..palette import Palette __all__ = ('COLOR_MAPS', 'print_maps', 'print_all_maps', 'print_maps_by_type', 'get_map', 'MAP_TYPES', 'BrewerMap') f = resource_string(__name__, 'data/colorbrewer_all_schemes.json') COLOR_MAPS = json.loads(f.decode('ascii')) 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 palettable-3.3.0/palettable/colorbrewer/data/0000755000076500000240000000000013535037137022314 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/colorbrewer/data/colorbrewer_all_schemes.csv0000644000076500000240000011055012475521673027724 0ustar jiffyclubstaff00000000000000ColorName,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, palettable-3.3.0/palettable/colorbrewer/data/colorbrewer_all_schemes.json0000644000076500000240000031516612475521673030114 0ustar jiffyclubstaff00000000000000{ "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 ] ] } } } }palettable-3.3.0/palettable/colorbrewer/data/colorbrewer_licence.txt0000644000076500000240000000326012475521673027072 0ustar jiffyclubstaff00000000000000Apache-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. palettable-3.3.0/palettable/colorbrewer/data/colorbrewer_schemes_csv_to_json.py0000644000076500000240000000352712475521673031344 0ustar jiffyclubstaff00000000000000""" 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): with open('colorbrewer_all_schemes.json', 'w') as f: 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()) palettable-3.3.0/palettable/colorbrewer/diverging.py0000644000076500000240000000020713052672644023734 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .colorbrewer import _load_maps_by_type globals().update(_load_maps_by_type('diverging')) palettable-3.3.0/palettable/colorbrewer/qualitative.py0000644000076500000240000000021113052672644024301 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .colorbrewer import _load_maps_by_type globals().update(_load_maps_by_type('qualitative')) palettable-3.3.0/palettable/colorbrewer/sequential.py0000644000076500000240000000021013052672644024122 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .colorbrewer import _load_maps_by_type globals().update(_load_maps_by_type('sequential')) palettable-3.3.0/palettable/cubehelix/0000755000076500000240000000000013535037137021026 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/cubehelix/__init__.py0000644000076500000240000000023112520601204023114 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .cubehelix import __doc__, Cubehelix, print_maps, get_map, _get_all_maps globals().update(_get_all_maps()) palettable-3.3.0/palettable/cubehelix/cubehelix.py0000644000076500000240000003210712520601204023334 0ustar jiffyclubstaff00000000000000# 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 palettable-3.3.0/palettable/lightbartlein/0000755000076500000240000000000013535037137021706 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/lightbartlein/__init__.py0000644000076500000240000000011413511735667024022 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from . import diverging, sequential palettable-3.3.0/palettable/lightbartlein/colordata.py0000644000076500000240000001045613511735667024245 0ustar jiffyclubstaff00000000000000""" 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], ] palettable-3.3.0/palettable/lightbartlein/diverging.py0000644000076500000240000000420513511735667024246 0ustar jiffyclubstaff00000000000000from __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)) palettable-3.3.0/palettable/lightbartlein/lightbartlein.py0000644000076500000240000000174613511735667025127 0ustar jiffyclubstaff00000000000000from __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) palettable-3.3.0/palettable/lightbartlein/sequential.py0000644000076500000240000000225213511735667024442 0ustar jiffyclubstaff00000000000000from __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)) palettable-3.3.0/palettable/matplotlib/0000755000076500000240000000000013535037137021225 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/matplotlib/__init__.py0000644000076500000240000000031713052672644023341 0ustar jiffyclubstaff00000000000000from __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)) palettable-3.3.0/palettable/matplotlib/colormaps.py0000644000076500000240000010100013052672644023570 0ustar jiffyclubstaff00000000000000# 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]] palettable-3.3.0/palettable/matplotlib/matplotlib.py0000644000076500000240000000301413052672644023746 0ustar jiffyclubstaff00000000000000from __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) palettable-3.3.0/palettable/mycarta/0000755000076500000240000000000013535037137020516 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/mycarta/__init__.py0000644000076500000240000000031413052672644022627 0ustar jiffyclubstaff00000000000000from __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)) palettable-3.3.0/palettable/mycarta/colordata.py0000644000076500000240000003542313052672644023051 0ustar jiffyclubstaff00000000000000# 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]] palettable-3.3.0/palettable/mycarta/mycarta.py0000644000076500000240000000272313052672644022536 0ustar jiffyclubstaff00000000000000from __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) palettable-3.3.0/palettable/palette.py0000644000076500000240000001604013152437502021062 0ustar jiffyclubstaff00000000000000# 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) palettable-3.3.0/palettable/scientific/0000755000076500000240000000000013535037137021176 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/scientific/__init__.py0000644000076500000240000000011413535036654023306 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from . import diverging, sequential palettable-3.3.0/palettable/scientific/colordata.py0000644000076500000240000035711313535036654023535 0ustar jiffyclubstaff00000000000000# 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), ) palettable-3.3.0/palettable/scientific/diverging.py0000644000076500000240000000143713535036654023536 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/scientific/scientific.py0000644000076500000240000000157013535036654023676 0ustar jiffyclubstaff00000000000000""" 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) palettable-3.3.0/palettable/scientific/sequential.py0000644000076500000240000000161313535036654023726 0ustar jiffyclubstaff00000000000000""" 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)) palettable-3.3.0/palettable/tableau/0000755000076500000240000000000013535037137020473 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/tableau/__init__.py0000644000076500000240000000021412475521673022606 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .tableau import __doc__, print_maps, get_map, _get_all_maps globals().update(_get_all_maps()) palettable-3.3.0/palettable/tableau/tableau.py0000644000076500000240000001344112475521673022472 0ustar jiffyclubstaff00000000000000# 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 palettable-3.3.0/palettable/utils.py0000644000076500000240000001572413152437502020574 0ustar jiffyclubstaff00000000000000from __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 palettable-3.3.0/palettable/wesanderson/0000755000076500000240000000000013535037137021406 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable/wesanderson/__init__.py0000644000076500000240000000023413052672644023520 0ustar jiffyclubstaff00000000000000from __future__ import absolute_import from .wesanderson import __doc__, _palettes, print_maps, get_map, _get_all_maps globals().update(_get_all_maps()) palettable-3.3.0/palettable/wesanderson/wesanderson.py0000644000076500000240000003045313534774404024321 0ustar jiffyclubstaff00000000000000from __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 palettable-3.3.0/palettable.egg-info/0000755000076500000240000000000013535037137020550 5ustar jiffyclubstaff00000000000000palettable-3.3.0/palettable.egg-info/PKG-INFO0000644000076500000240000000365013535037137021651 0ustar jiffyclubstaff00000000000000Metadata-Version: 1.1 Name: palettable Version: 3.3.0 Summary: Color palettes for Python Home-page: https://jiffyclub.github.io/palettable/ Author: Matt Davis Author-email: jiffyclub@gmail.com License: UNKNOWN Description: Palettable ========== .. image:: https://travis-ci.org/jiffyclub/palettable.png?branch=master :alt: Travis-CI :target: https://travis-ci.org/jiffyclub/palettable .. image:: https://coveralls.io/repos/jiffyclub/palettable/badge.png :alt: Coveralls :target: https://coveralls.io/r/jiffyclub/palettable .. image:: https://img.shields.io/pypi/v/palettable.svg :alt: PyPI :target: https://pypi.python.org/pypi/palettable/ .. 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 `_. Platform: UNKNOWN Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Topic :: Scientific/Engineering :: Visualization palettable-3.3.0/palettable.egg-info/SOURCES.txt0000644000076500000240000000350613535037137022440 0ustar jiffyclubstaff00000000000000MANIFEST.in README.rst ez_setup.py license.txt setup.cfg setup.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/diverging.py palettable/colorbrewer/qualitative.py palettable/colorbrewer/sequential.py palettable/colorbrewer/data/colorbrewer_all_schemes.csv palettable/colorbrewer/data/colorbrewer_all_schemes.json palettable/colorbrewer/data/colorbrewer_licence.txt palettable/colorbrewer/data/colorbrewer_schemes_csv_to_json.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 test/test_installed.pypalettable-3.3.0/palettable.egg-info/dependency_links.txt0000644000076500000240000000000113535037137024616 0ustar jiffyclubstaff00000000000000 palettable-3.3.0/palettable.egg-info/top_level.txt0000644000076500000240000000001313535037137023274 0ustar jiffyclubstaff00000000000000palettable palettable-3.3.0/setup.cfg0000644000076500000240000000010313535037137016554 0ustar jiffyclubstaff00000000000000[bdist_wheel] universal = 1 [egg_info] tag_build = tag_date = 0 palettable-3.3.0/setup.py0000644000076500000240000000203713535037046016454 0ustar jiffyclubstaff00000000000000from ez_setup import use_setuptools use_setuptools() from setuptools import setup, find_packages with open('README.rst', 'r') as f: long_description = f.read() setup( name='palettable', version='3.3.0', description=( 'Color palettes for Python'), long_description=long_description, author='Matt Davis', author_email='jiffyclub@gmail.com', url='https://jiffyclub.github.io/palettable/', packages=find_packages(exclude=["*.test"]), package_data={'palettable.colorbrewer': ['data/colorbrewer*']}, classifiers=[ 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Topic :: Scientific/Engineering :: Visualization']) palettable-3.3.0/test/0000755000076500000240000000000013535037137015720 5ustar jiffyclubstaff00000000000000palettable-3.3.0/test/test_installed.py0000644000076500000240000000220213152437502021277 0ustar jiffyclubstaff00000000000000""" 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)