3 # © Copyright 2021-2022, Scott Gasch
5 """A bunch of color names mapped into RGB tuples and some methods for
6 setting the text color, background, etc... using ANSI escape
17 from abc import abstractmethod
18 from typing import Any, Callable, Dict, Iterable, Literal, Optional, Tuple
20 from overrides import overrides
25 logger = logging.getLogger(__name__)
27 # https://en.wikipedia.org/wiki/ANSI_escape_code
30 COLOR_NAMES_TO_RGB: Dict[str, Tuple[int, int, int]] = {
31 "wannabe.house": (0x00, 0x00, 95),
32 "cheetah.house": (95, 0x00, 0x00),
33 "meerkat.cabin": (95, 0x00, 95),
34 "backup.house": (175, 95, 0),
35 "kiosk.house": (90, 95, 0),
37 "black": (0x00, 0x00, 0x00),
38 "navy blue": (0x00, 0x00, 0x80),
39 "dark blue": (0x00, 0x00, 0xC8),
40 "blue": (0x00, 0x00, 0xFF),
41 "stratos": (0x00, 0x07, 0x41),
42 "swamp": (0x00, 0x1B, 0x1C),
43 "resolution blue": (0x00, 0x23, 0x87),
44 "deep fir": (0x00, 0x29, 0x00),
45 "burnham": (0x00, 0x2E, 0x20),
46 "klein blue": (0x00, 0x2F, 0xA7),
47 "prussian blue": (0x00, 0x31, 0x53),
48 "midnight blue": (0x00, 0x33, 0x66),
49 "smalt": (0x00, 0x33, 0x99),
50 "deep teal": (0x00, 0x35, 0x32),
51 "cyprus": (0x00, 0x3E, 0x40),
52 "kaitoke green": (0x00, 0x46, 0x20),
53 "cobalt": (0x00, 0x47, 0xAB),
54 "crusoe": (0x00, 0x48, 0x16),
55 "sherpa blue": (0x00, 0x49, 0x50),
56 "endeavour": (0x00, 0x56, 0xA7),
57 "camarone": (0x00, 0x58, 0x1A),
58 "science blue": (0x00, 0x66, 0xCC),
59 "blue ribbon": (0x00, 0x66, 0xFF),
60 "tropical rain forest": (0x00, 0x75, 0x5E),
61 "allports": (0x00, 0x76, 0xA3),
62 "deep cerulean": (0x00, 0x7B, 0xA7),
63 "lochmara": (0x00, 0x7E, 0xC7),
64 "azure radiance": (0x00, 0x7F, 0xFF),
65 "teal": (0x00, 0x80, 0x80),
66 "bondi blue": (0x00, 0x95, 0xB6),
67 "pacific blue": (0x00, 0x9D, 0xC4),
68 "persian green": (0x00, 0xA6, 0x93),
69 "jade": (0x00, 0xA8, 0x6B),
70 "caribbean green": (0x00, 0xCC, 0x99),
71 "robin's egg blue": (0x00, 0xCC, 0xCC),
72 "green": (0x00, 0xFF, 0x00),
73 "spring green": (0x00, 0xFF, 0x7F),
74 "cyan": (0x00, 0xFF, 0xFF),
75 "aqua": (0x00, 0xFF, 0xFF),
76 "blue charcoal": (0x01, 0x0D, 0x1A),
77 "midnight": (0x01, 0x16, 0x35),
78 "holly": (0x01, 0x1D, 0x13),
79 "daintree": (0x01, 0x27, 0x31),
80 "cardin green": (0x01, 0x36, 0x1C),
81 "county green": (0x01, 0x37, 0x1A),
82 "astronaut blue": (0x01, 0x3E, 0x62),
83 "regal blue": (0x01, 0x3F, 0x6A),
84 "aqua deep": (0x01, 0x4B, 0x43),
85 "orient": (0x01, 0x5E, 0x85),
86 "blue stone": (0x01, 0x61, 0x62),
87 "fun green": (0x01, 0x6D, 0x39),
88 "pine green": (0x01, 0x79, 0x6F),
89 "blue lagoon": (0x01, 0x79, 0x87),
90 "deep sea": (0x01, 0x82, 0x6B),
91 "green haze": (0x01, 0xA3, 0x68),
92 "english holly": (0x02, 0x2D, 0x15),
93 "sherwood green": (0x02, 0x40, 0x2C),
94 "congress blue": (0x02, 0x47, 0x8E),
95 "evening sea": (0x02, 0x4E, 0x46),
96 "bahama blue": (0x02, 0x63, 0x95),
97 "observatory": (0x02, 0x86, 0x6F),
98 "cerulean": (0x02, 0xA4, 0xD3),
99 "tangaroa": (0x03, 0x16, 0x3C),
100 "green vogue": (0x03, 0x2B, 0x52),
101 "mosque": (0x03, 0x6A, 0x6E),
102 "midnight moss": (0x04, 0x10, 0x04),
103 "black pearl": (0x04, 0x13, 0x22),
104 "blue whale": (0x04, 0x2E, 0x4C),
105 "zuccini": (0x04, 0x40, 0x22),
106 "teal blue": (0x04, 0x42, 0x59),
107 "deep cove": (0x05, 0x10, 0x40),
108 "gulf blue": (0x05, 0x16, 0x57),
109 "venice blue": (0x05, 0x59, 0x89),
110 "watercourse": (0x05, 0x6F, 0x57),
111 "catalina blue": (0x06, 0x2A, 0x78),
112 "tiber": (0x06, 0x35, 0x37),
113 "gossamer": (0x06, 0x9B, 0x81),
114 "niagara": (0x06, 0xA1, 0x89),
115 "tarawera": (0x07, 0x3A, 0x50),
116 "jaguar": (0x08, 0x01, 0x10),
117 "black bean": (0x08, 0x19, 0x10),
118 "deep sapphire": (0x08, 0x25, 0x67),
119 "elf green": (0x08, 0x83, 0x70),
120 "bright turquoise": (0x08, 0xE8, 0xDE),
121 "downriver": (0x09, 0x22, 0x56),
122 "palm green": (0x09, 0x23, 0x0F),
123 "madison": (0x09, 0x25, 0x5D),
124 "bottle green": (0x09, 0x36, 0x24),
125 "deep sea green": (0x09, 0x58, 0x59),
126 "salem": (0x09, 0x7F, 0x4B),
127 "black russian": (0x0A, 0x00, 0x1C),
128 "dark fern": (0x0A, 0x48, 0x0D),
129 "japanese laurel": (0x0A, 0x69, 0x06),
130 "atoll": (0x0A, 0x6F, 0x75),
131 "cod gray": (0x0B, 0x0B, 0x0B),
132 "marshland": (0x0B, 0x0F, 0x08),
133 "gordons green": (0x0B, 0x11, 0x07),
134 "black forest": (0x0B, 0x13, 0x04),
135 "san felix": (0x0B, 0x62, 0x07),
136 "malachite": (0x0B, 0xDA, 0x51),
137 "ebony": (0x0C, 0x0B, 0x1D),
138 "woodsmoke": (0x0C, 0x0D, 0x0F),
139 "racing green": (0x0C, 0x19, 0x11),
140 "surfie green": (0x0C, 0x7A, 0x79),
141 "blue chill": (0x0C, 0x89, 0x90),
142 "black rock": (0x0D, 0x03, 0x32),
143 "bunker": (0x0D, 0x11, 0x17),
144 "aztec": (0x0D, 0x1C, 0x19),
145 "bush": (0x0D, 0x2E, 0x1C),
146 "cinder": (0x0E, 0x0E, 0x18),
147 "firefly": (0x0E, 0x2A, 0x30),
148 "torea bay": (0x0F, 0x2D, 0x9E),
149 "vulcan": (0x10, 0x12, 0x1D),
150 "green waterloo": (0x10, 0x14, 0x05),
151 "eden": (0x10, 0x58, 0x52),
152 "arapawa": (0x11, 0x0C, 0x6C),
153 "ultramarine": (0x12, 0x0A, 0x8F),
154 "elephant": (0x12, 0x34, 0x47),
155 "jewel": (0x12, 0x6B, 0x40),
156 "diesel": (0x13, 0x00, 0x00),
157 "asphalt": (0x13, 0x0A, 0x06),
158 "blue zodiac": (0x13, 0x26, 0x4D),
159 "parsley": (0x13, 0x4F, 0x19),
160 "nero": (0x14, 0x06, 0x00),
161 "tory blue": (0x14, 0x50, 0xAA),
162 "bunting": (0x15, 0x1F, 0x4C),
163 "denim": (0x15, 0x60, 0xBD),
164 "genoa": (0x15, 0x73, 0x6B),
165 "mirage": (0x16, 0x19, 0x28),
166 "hunter green": (0x16, 0x1D, 0x10),
167 "big stone": (0x16, 0x2A, 0x40),
168 "celtic": (0x16, 0x32, 0x22),
169 "timber green": (0x16, 0x32, 0x2C),
170 "gable green": (0x16, 0x35, 0x31),
171 "pine tree": (0x17, 0x1F, 0x04),
172 "chathams blue": (0x17, 0x55, 0x79),
173 "deep forest green": (0x18, 0x2D, 0x09),
174 "dark green": (0x18, 0x2D, 0x09),
175 "blumine": (0x18, 0x58, 0x7A),
176 "palm leaf": (0x19, 0x33, 0x0E),
177 "nile blue": (0x19, 0x37, 0x51),
178 "fun blue": (0x19, 0x59, 0xA8),
179 "lucky point": (0x1A, 0x1A, 0x68),
180 "mountain meadow": (0x1A, 0xB3, 0x85),
181 "tolopea": (0x1B, 0x02, 0x45),
182 "haiti": (0x1B, 0x10, 0x35),
183 "deep koamaru": (0x1B, 0x12, 0x7B),
184 "acadia": (0x1B, 0x14, 0x04),
185 "seaweed": (0x1B, 0x2F, 0x11),
186 "biscay": (0x1B, 0x31, 0x62),
187 "matisse": (0x1B, 0x65, 0x9D),
188 "crowshead": (0x1C, 0x12, 0x08),
189 "rangoon green": (0x1C, 0x1E, 0x13),
190 "persian blue": (0x1C, 0x39, 0xBB),
191 "everglade": (0x1C, 0x40, 0x2E),
192 "elm": (0x1C, 0x7C, 0x7D),
193 "green pea": (0x1D, 0x61, 0x42),
194 "creole": (0x1E, 0x0F, 0x04),
195 "karaka": (0x1E, 0x16, 0x09),
196 "el paso": (0x1E, 0x17, 0x08),
197 "cello": (0x1E, 0x38, 0x5B),
198 "te papa green": (0x1E, 0x43, 0x3C),
199 "dodger blue": (0x1E, 0x90, 0xFF),
200 "eastern blue": (0x1E, 0x9A, 0xB0),
201 "night rider": (0x1F, 0x12, 0x0F),
202 "java": (0x1F, 0xC2, 0xC2),
203 "jacksons purple": (0x20, 0x20, 0x8D),
204 "cloud burst": (0x20, 0x2E, 0x54),
205 "blue dianne": (0x20, 0x48, 0x52),
206 "eternity": (0x21, 0x1A, 0x0E),
207 "deep blue": (0x22, 0x08, 0x78),
208 "forest green": (0x22, 0x8B, 0x22),
209 "mallard": (0x23, 0x34, 0x18),
210 "violet": (0x24, 0x0A, 0x40),
211 "kilamanjaro": (0x24, 0x0C, 0x02),
212 "log cabin": (0x24, 0x2A, 0x1D),
213 "black olive": (0x24, 0x2E, 0x16),
214 "green house": (0x24, 0x50, 0x0F),
215 "graphite": (0x25, 0x16, 0x07),
216 "cannon black": (0x25, 0x17, 0x06),
217 "port gore": (0x25, 0x1F, 0x4F),
218 "shark": (0x25, 0x27, 0x2C),
219 "green kelp": (0x25, 0x31, 0x1C),
220 "curious blue": (0x25, 0x96, 0xD1),
221 "paua": (0x26, 0x03, 0x68),
222 "paris m": (0x26, 0x05, 0x6A),
223 "wood bark": (0x26, 0x11, 0x05),
224 "gondola": (0x26, 0x14, 0x14),
225 "steel gray": (0x26, 0x23, 0x35),
226 "light gray": (0x26, 0x23, 0x35),
227 "ebony clay": (0x26, 0x28, 0x3B),
228 "bay of many": (0x27, 0x3A, 0x81),
229 "plantation": (0x27, 0x50, 0x4B),
230 "eucalyptus": (0x27, 0x8A, 0x5B),
231 "oil": (0x28, 0x1E, 0x15),
232 "astronaut": (0x28, 0x3A, 0x77),
233 "mariner": (0x28, 0x6A, 0xCD),
234 "violent violet": (0x29, 0x0C, 0x5E),
235 "bastille": (0x29, 0x21, 0x30),
236 "zeus": (0x29, 0x23, 0x19),
237 "charade": (0x29, 0x29, 0x37),
238 "jelly bean": (0x29, 0x7B, 0x9A),
239 "jungle green": (0x29, 0xAB, 0x87),
240 "cherry pie": (0x2A, 0x03, 0x59),
241 "coffee bean": (0x2A, 0x14, 0x0E),
242 "baltic sea": (0x2A, 0x26, 0x30),
243 "turtle green": (0x2A, 0x38, 0x0B),
244 "cerulean blue": (0x2A, 0x52, 0xBE),
245 "sepia black": (0x2B, 0x02, 0x02),
246 "valhalla": (0x2B, 0x19, 0x4F),
247 "heavy metal": (0x2B, 0x32, 0x28),
248 "blue gem": (0x2C, 0x0E, 0x8C),
249 "revolver": (0x2C, 0x16, 0x32),
250 "bleached cedar": (0x2C, 0x21, 0x33),
251 "lochinvar": (0x2C, 0x8C, 0x84),
252 "mikado": (0x2D, 0x25, 0x10),
253 "outer space": (0x2D, 0x38, 0x3A),
254 "st tropaz": (0x2D, 0x56, 0x9B),
255 "jacaranda": (0x2E, 0x03, 0x29),
256 "jacko bean": (0x2E, 0x19, 0x05),
257 "rangitoto": (0x2E, 0x32, 0x22),
258 "rhino": (0x2E, 0x3F, 0x62),
259 "sea green": (0x2E, 0x8B, 0x57),
260 "scooter": (0x2E, 0xBF, 0xD4),
261 "onion": (0x2F, 0x27, 0x0E),
262 "governor bay": (0x2F, 0x3C, 0xB3),
263 "sapphire": (0x2F, 0x51, 0x9E),
264 "spectra": (0x2F, 0x5A, 0x57),
265 "casal": (0x2F, 0x61, 0x68),
266 "melanzane": (0x30, 0x05, 0x29),
267 "cocoa brown": (0x30, 0x1F, 0x1E),
268 "woodrush": (0x30, 0x2A, 0x0F),
269 "san juan": (0x30, 0x4B, 0x6A),
270 "turquoise": (0x30, 0xD5, 0xC8),
271 "eclipse": (0x31, 0x1C, 0x17),
272 "pickled bluewood": (0x31, 0x44, 0x59),
273 "azure": (0x31, 0x5B, 0xA1),
274 "calypso": (0x31, 0x72, 0x8D),
275 "paradiso": (0x31, 0x7D, 0x82),
276 "persian indigo": (0x32, 0x12, 0x7A),
277 "blackcurrant": (0x32, 0x29, 0x3A),
278 "mine shaft": (0x32, 0x32, 0x32),
279 "stromboli": (0x32, 0x5D, 0x52),
280 "bilbao": (0x32, 0x7C, 0x14),
281 "astral": (0x32, 0x7D, 0xA0),
282 "christalle": (0x33, 0x03, 0x6B),
283 "thunder": (0x33, 0x29, 0x2F),
284 "shamrock": (0x33, 0xCC, 0x99),
285 "tamarind": (0x34, 0x15, 0x15),
286 "mardi gras": (0x35, 0x00, 0x36),
287 "valentino": (0x35, 0x0E, 0x42),
288 "jagger": (0x35, 0x0E, 0x57),
289 "tuna": (0x35, 0x35, 0x42),
290 "chambray": (0x35, 0x4E, 0x8C),
291 "martinique": (0x36, 0x30, 0x50),
292 "tuatara": (0x36, 0x35, 0x34),
293 "waiouru": (0x36, 0x3C, 0x0D),
294 "ming": (0x36, 0x74, 0x7D),
295 "la palma": (0x36, 0x87, 0x16),
296 "chocolate": (0x37, 0x02, 0x02),
297 "clinker": (0x37, 0x1D, 0x09),
298 "brown tumbleweed": (0x37, 0x29, 0x0E),
299 "birch": (0x37, 0x30, 0x21),
300 "oracle": (0x37, 0x74, 0x75),
301 "blue diamond": (0x38, 0x04, 0x74),
302 "grape": (0x38, 0x1A, 0x51),
303 "dune": (0x38, 0x35, 0x33),
304 "oxford blue": (0x38, 0x45, 0x55),
305 "clover": (0x38, 0x49, 0x10),
306 "limed spruce": (0x39, 0x48, 0x51),
307 "dell": (0x39, 0x64, 0x13),
308 "toledo": (0x3A, 0x00, 0x20),
309 "sambuca": (0x3A, 0x20, 0x10),
310 "jacarta": (0x3A, 0x2A, 0x6A),
311 "william": (0x3A, 0x68, 0x6C),
312 "killarney": (0x3A, 0x6A, 0x47),
313 "keppel": (0x3A, 0xB0, 0x9E),
314 "temptress": (0x3B, 0x00, 0x0B),
315 "aubergine": (0x3B, 0x09, 0x10),
316 "jon": (0x3B, 0x1F, 0x1F),
317 "treehouse": (0x3B, 0x28, 0x20),
318 "amazon": (0x3B, 0x7A, 0x57),
319 "boston blue": (0x3B, 0x91, 0xB4),
320 "windsor": (0x3C, 0x08, 0x78),
321 "rebel": (0x3C, 0x12, 0x06),
322 "meteorite": (0x3C, 0x1F, 0x76),
323 "dark ebony": (0x3C, 0x20, 0x05),
324 "camouflage": (0x3C, 0x39, 0x10),
325 "bright gray": (0x3C, 0x41, 0x51),
326 "cape cod": (0x3C, 0x44, 0x43),
327 "lunar green": (0x3C, 0x49, 0x3A),
328 "bean ": (0x3D, 0x0C, 0x02),
329 "bistre": (0x3D, 0x2B, 0x1F),
330 "goblin": (0x3D, 0x7D, 0x52),
331 "kingfisher daisy": (0x3E, 0x04, 0x80),
332 "cedar": (0x3E, 0x1C, 0x14),
333 "english walnut": (0x3E, 0x2B, 0x23),
334 "black marlin": (0x3E, 0x2C, 0x1C),
335 "ship gray": (0x3E, 0x3A, 0x44),
336 "pelorous": (0x3E, 0xAB, 0xBF),
337 "bronze": (0x3F, 0x21, 0x09),
338 "cola": (0x3F, 0x25, 0x00),
339 "madras": (0x3F, 0x30, 0x02),
340 "minsk": (0x3F, 0x30, 0x7F),
341 "cabbage pont": (0x3F, 0x4C, 0x3A),
342 "tom thumb": (0x3F, 0x58, 0x3B),
343 "mineral green": (0x3F, 0x5D, 0x53),
344 "puerto rico": (0x3F, 0xC1, 0xAA),
345 "harlequin": (0x3F, 0xFF, 0x00),
346 "brown pod": (0x40, 0x18, 0x01),
347 "cork": (0x40, 0x29, 0x1D),
348 "masala": (0x40, 0x3B, 0x38),
349 "thatch green": (0x40, 0x3D, 0x19),
350 "fiord": (0x40, 0x51, 0x69),
351 "viridian": (0x40, 0x82, 0x6D),
352 "chateau green": (0x40, 0xA8, 0x60),
353 "ripe plum": (0x41, 0x00, 0x56),
354 "paco": (0x41, 0x1F, 0x10),
355 "deep oak": (0x41, 0x20, 0x10),
356 "merlin": (0x41, 0x3C, 0x37),
357 "gun powder": (0x41, 0x42, 0x57),
358 "east bay": (0x41, 0x4C, 0x7D),
359 "royal blue": (0x41, 0x69, 0xE1),
360 "ocean green": (0x41, 0xAA, 0x78),
361 "burnt maroon": (0x42, 0x03, 0x03),
362 "lisbon brown": (0x42, 0x39, 0x21),
363 "faded jade": (0x42, 0x79, 0x77),
364 "scarlet gum": (0x43, 0x15, 0x60),
365 "iroko": (0x43, 0x31, 0x20),
366 "armadillo": (0x43, 0x3E, 0x37),
367 "river bed": (0x43, 0x4C, 0x59),
368 "green leaf": (0x43, 0x6A, 0x0D),
369 "barossa": (0x44, 0x01, 0x2D),
370 "morocco brown": (0x44, 0x1D, 0x00),
371 "mako": (0x44, 0x49, 0x54),
372 "kelp": (0x45, 0x49, 0x36),
373 "san marino": (0x45, 0x6C, 0xAC),
374 "picton blue": (0x45, 0xB1, 0xE8),
375 "loulou": (0x46, 0x0B, 0x41),
376 "crater brown": (0x46, 0x24, 0x25),
377 "gray asparagus": (0x46, 0x59, 0x45),
378 "steel blue": (0x46, 0x82, 0xB4),
379 "rustic red": (0x48, 0x04, 0x04),
380 "bulgarian rose": (0x48, 0x06, 0x07),
381 "clairvoyant": (0x48, 0x06, 0x56),
382 "cocoa bean": (0x48, 0x1C, 0x1C),
383 "woody brown": (0x48, 0x31, 0x31),
384 "taupe": (0x48, 0x3C, 0x32),
385 "van cleef": (0x49, 0x17, 0x0C),
386 "brown derby": (0x49, 0x26, 0x15),
387 "metallic bronze": (0x49, 0x37, 0x1B),
388 "verdun green": (0x49, 0x54, 0x00),
389 "blue bayoux": (0x49, 0x66, 0x79),
390 "bismark": (0x49, 0x71, 0x83),
391 "bracken": (0x4A, 0x2A, 0x04),
392 "deep bronze": (0x4A, 0x30, 0x04),
393 "mondo": (0x4A, 0x3C, 0x30),
394 "tundora": (0x4A, 0x42, 0x44),
395 "gravel": (0x4A, 0x44, 0x4B),
396 "trout": (0x4A, 0x4E, 0x5A),
397 "pigment indigo": (0x4B, 0x00, 0x82),
398 "nandor": (0x4B, 0x5D, 0x52),
399 "saddle": (0x4C, 0x30, 0x24),
400 "abbey": (0x4C, 0x4F, 0x56),
401 "blackberry": (0x4D, 0x01, 0x35),
402 "cab sav": (0x4D, 0x0A, 0x18),
403 "indian tan": (0x4D, 0x1E, 0x01),
404 "cowboy": (0x4D, 0x28, 0x2D),
405 "livid brown": (0x4D, 0x28, 0x2E),
406 "rock": (0x4D, 0x38, 0x33),
407 "punga": (0x4D, 0x3D, 0x14),
408 "bronzetone": (0x4D, 0x40, 0x0F),
409 "woodland": (0x4D, 0x53, 0x28),
410 "mahogany": (0x4E, 0x06, 0x06),
411 "bossanova": (0x4E, 0x2A, 0x5A),
412 "matterhorn": (0x4E, 0x3B, 0x41),
413 "bronze olive": (0x4E, 0x42, 0x0C),
414 "mulled wine": (0x4E, 0x45, 0x62),
415 "axolotl": (0x4E, 0x66, 0x49),
416 "wedgewood": (0x4E, 0x7F, 0x9E),
417 "shakespeare": (0x4E, 0xAB, 0xD1),
418 "honey flower": (0x4F, 0x1C, 0x70),
419 "daisy bush": (0x4F, 0x23, 0x98),
420 "indigo": (0x4F, 0x69, 0xC6),
421 "fern green": (0x4F, 0x79, 0x42),
422 "fruit salad": (0x4F, 0x9D, 0x5D),
423 "apple": (0x4F, 0xA8, 0x3D),
424 "mortar": (0x50, 0x43, 0x51),
425 "kashmir blue": (0x50, 0x70, 0x96),
426 "cutty sark": (0x50, 0x76, 0x72),
427 "emerald": (0x50, 0xC8, 0x78),
428 "emperor": (0x51, 0x46, 0x49),
429 "chalet green": (0x51, 0x6E, 0x3D),
430 "como": (0x51, 0x7C, 0x66),
431 "smalt blue": (0x51, 0x80, 0x8F),
432 "castro": (0x52, 0x00, 0x1F),
433 "maroon oak": (0x52, 0x0C, 0x17),
434 "gigas": (0x52, 0x3C, 0x94),
435 "voodoo": (0x53, 0x34, 0x55),
436 "victoria": (0x53, 0x44, 0x91),
437 "hippie green": (0x53, 0x82, 0x4B),
438 "heath": (0x54, 0x10, 0x12),
439 "judge gray": (0x54, 0x43, 0x33),
440 "fuscous gray": (0x54, 0x53, 0x4D),
441 "vida loca": (0x54, 0x90, 0x19),
442 "cioccolato": (0x55, 0x28, 0x0C),
443 "saratoga": (0x55, 0x5B, 0x10),
444 "finlandia": (0x55, 0x6D, 0x56),
445 "havelock blue": (0x55, 0x90, 0xD9),
446 "fountain blue": (0x56, 0xB4, 0xBE),
447 "spring leaves": (0x57, 0x83, 0x63),
448 "saddle brown": (0x58, 0x34, 0x01),
449 "scarpa flow": (0x58, 0x55, 0x62),
450 "cactus": (0x58, 0x71, 0x56),
451 "hippie blue": (0x58, 0x9A, 0xAF),
452 "wine berry": (0x59, 0x1D, 0x35),
453 "brown bramble": (0x59, 0x28, 0x04),
454 "congo brown": (0x59, 0x37, 0x37),
455 "millbrook": (0x59, 0x44, 0x33),
456 "waikawa gray": (0x5A, 0x6E, 0x9C),
457 "horizon": (0x5A, 0x87, 0xA0),
458 "jambalaya": (0x5B, 0x30, 0x13),
459 "bordeaux": (0x5C, 0x01, 0x20),
460 "mulberry wood": (0x5C, 0x05, 0x36),
461 "carnaby tan": (0x5C, 0x2E, 0x01),
462 "comet": (0x5C, 0x5D, 0x75),
463 "redwood": (0x5D, 0x1E, 0x0F),
464 "don juan": (0x5D, 0x4C, 0x51),
465 "chicago": (0x5D, 0x5C, 0x58),
466 "verdigris": (0x5D, 0x5E, 0x37),
467 "dingley": (0x5D, 0x77, 0x47),
468 "breaker bay": (0x5D, 0xA1, 0x9F),
469 "kabul": (0x5E, 0x48, 0x3E),
470 "hemlock": (0x5E, 0x5D, 0x3B),
471 "irish coffee": (0x5F, 0x3D, 0x26),
472 "mid gray": (0x5F, 0x5F, 0x6E),
473 "shuttle gray": (0x5F, 0x66, 0x72),
474 "aqua forest": (0x5F, 0xA7, 0x77),
475 "tradewind": (0x5F, 0xB3, 0xAC),
476 "horses neck": (0x60, 0x49, 0x13),
477 "smoky": (0x60, 0x5B, 0x73),
478 "corduroy": (0x60, 0x6E, 0x68),
479 "danube": (0x60, 0x93, 0xD1),
480 "espresso": (0x61, 0x27, 0x18),
481 "eggplant": (0x61, 0x40, 0x51),
482 "costa del sol": (0x61, 0x5D, 0x30),
483 "glade green": (0x61, 0x84, 0x5F),
484 "buccaneer": (0x62, 0x2F, 0x30),
485 "quincy": (0x62, 0x3F, 0x2D),
486 "butterfly bush": (0x62, 0x4E, 0x9A),
487 "west coast": (0x62, 0x51, 0x19),
488 "finch": (0x62, 0x66, 0x49),
489 "patina": (0x63, 0x9A, 0x8F),
490 "fern": (0x63, 0xB7, 0x6C),
491 "blue violet": (0x64, 0x56, 0xB7),
492 "dolphin": (0x64, 0x60, 0x77),
493 "storm dust": (0x64, 0x64, 0x63),
494 "siam": (0x64, 0x6A, 0x54),
495 "nevada": (0x64, 0x6E, 0x75),
496 "cornflower blue": (0x64, 0x95, 0xED),
497 "viking": (0x64, 0xCC, 0xDB),
498 "rosewood": (0x65, 0x00, 0x0B),
499 "cherrywood": (0x65, 0x1A, 0x14),
500 "purple heart": (0x65, 0x2D, 0xC1),
501 "fern frond": (0x65, 0x72, 0x20),
502 "willow grove": (0x65, 0x74, 0x5D),
503 "hoki": (0x65, 0x86, 0x9F),
504 "pompadour": (0x66, 0x00, 0x45),
505 "purple": (0x66, 0x00, 0x99),
506 "dark purple": (0x36, 0x00, 0x79),
507 "tyrian purple": (0x66, 0x02, 0x3C),
508 "dark tan": (0x66, 0x10, 0x10),
509 "silver tree": (0x66, 0xB5, 0x8F),
510 "bright green": (0x66, 0xFF, 0x00),
511 "screamin' green": (0x66, 0xFF, 0x66),
512 "black rose": (0x67, 0x03, 0x2D),
513 "scampi": (0x67, 0x5F, 0xA6),
514 "ironside gray": (0x67, 0x66, 0x62),
515 "viridian green": (0x67, 0x89, 0x75),
516 "christi": (0x67, 0xA7, 0x12),
517 "nutmeg wood finish": (0x68, 0x36, 0x00),
518 "zambezi": (0x68, 0x55, 0x58),
519 "salt box": (0x68, 0x5E, 0x6E),
520 "tawny port": (0x69, 0x25, 0x45),
521 "finn": (0x69, 0x2D, 0x54),
522 "scorpion": (0x69, 0x5F, 0x62),
523 "lynch": (0x69, 0x7E, 0x9A),
524 "spice": (0x6A, 0x44, 0x2E),
525 "himalaya": (0x6A, 0x5D, 0x1B),
526 "soya bean": (0x6A, 0x60, 0x51),
527 "hairy heath": (0x6B, 0x2A, 0x14),
528 "royal purple": (0x6B, 0x3F, 0xA0),
529 "shingle fawn": (0x6B, 0x4E, 0x31),
530 "dorado": (0x6B, 0x57, 0x55),
531 "bermuda gray": (0x6B, 0x8B, 0xA2),
532 "olive drab": (0x6B, 0x8E, 0x23),
533 "eminence": (0x6C, 0x30, 0x82),
534 "turquoise blue": (0x6C, 0xDA, 0xE7),
535 "lonestar": (0x6D, 0x01, 0x01),
536 "pine cone": (0x6D, 0x5E, 0x54),
537 "dove gray": (0x6D, 0x6C, 0x6C),
538 "juniper": (0x6D, 0x92, 0x92),
539 "gothic": (0x6D, 0x92, 0xA1),
540 "red oxide": (0x6E, 0x09, 0x02),
541 "moccaccino": (0x6E, 0x1D, 0x14),
542 "pickled bean": (0x6E, 0x48, 0x26),
543 "dallas": (0x6E, 0x4B, 0x26),
544 "kokoda": (0x6E, 0x6D, 0x57),
545 "pale sky": (0x6E, 0x77, 0x83),
546 "cafe royale": (0x6F, 0x44, 0x0C),
547 "flint": (0x6F, 0x6A, 0x61),
548 "highland": (0x6F, 0x8E, 0x63),
549 "limeade": (0x6F, 0x9D, 0x02),
550 "downy": (0x6F, 0xD0, 0xC5),
551 "persian plum": (0x70, 0x1C, 0x1C),
552 "sepia": (0x70, 0x42, 0x14),
553 "antique bronze": (0x70, 0x4A, 0x07),
554 "ferra": (0x70, 0x4F, 0x50),
555 "coffee": (0x70, 0x65, 0x55),
556 "slate gray": (0x70, 0x80, 0x90),
557 "cedar wood finish": (0x71, 0x1A, 0x00),
558 "metallic copper": (0x71, 0x29, 0x1D),
559 "affair": (0x71, 0x46, 0x93),
560 "studio": (0x71, 0x4A, 0xB2),
561 "tobacco brown": (0x71, 0x5D, 0x47),
562 "yellow metal": (0x71, 0x63, 0x38),
563 "peat": (0x71, 0x6B, 0x56),
564 "olivetone": (0x71, 0x6E, 0x10),
565 "storm gray": (0x71, 0x74, 0x86),
566 "sirocco": (0x71, 0x80, 0x80),
567 "aquamarine blue": (0x71, 0xD9, 0xE2),
568 "venetian red": (0x72, 0x01, 0x0F),
569 "old copper": (0x72, 0x4A, 0x2F),
570 "go ben": (0x72, 0x6D, 0x4E),
571 "raven": (0x72, 0x7B, 0x89),
572 "seance": (0x73, 0x1E, 0x8F),
573 "raw umber": (0x73, 0x4A, 0x12),
574 "kimberly": (0x73, 0x6C, 0x9F),
575 "crocodile": (0x73, 0x6D, 0x58),
576 "crete": (0x73, 0x78, 0x29),
577 "xanadu": (0x73, 0x86, 0x78),
578 "spicy mustard": (0x74, 0x64, 0x0D),
579 "limed ash": (0x74, 0x7D, 0x63),
580 "rolling stone": (0x74, 0x7D, 0x83),
581 "blue smoke": (0x74, 0x88, 0x81),
582 "laurel": (0x74, 0x93, 0x78),
583 "mantis": (0x74, 0xC3, 0x65),
584 "russett": (0x75, 0x5A, 0x57),
585 "deluge": (0x75, 0x63, 0xA8),
586 "cosmic": (0x76, 0x39, 0x5D),
587 "blue marguerite": (0x76, 0x66, 0xC6),
588 "lima": (0x76, 0xBD, 0x17),
589 "sky blue": (0x76, 0xD7, 0xEA),
590 "dark burgundy": (0x77, 0x0F, 0x05),
591 "crown of thorns": (0x77, 0x1F, 0x1F),
592 "walnut": (0x77, 0x3F, 0x1A),
593 "pablo": (0x77, 0x6F, 0x61),
594 "pacifika": (0x77, 0x81, 0x20),
595 "oxley": (0x77, 0x9E, 0x86),
596 "pastel green": (0x77, 0xDD, 0x77),
597 "japanese maple": (0x78, 0x01, 0x09),
598 "mocha": (0x78, 0x2D, 0x19),
599 "peanut": (0x78, 0x2F, 0x16),
600 "camouflage green": (0x78, 0x86, 0x6B),
601 "wasabi": (0x78, 0x8A, 0x25),
602 "ship cove": (0x78, 0x8B, 0xBA),
603 "sea nymph": (0x78, 0xA3, 0x9C),
604 "roman coffee": (0x79, 0x5D, 0x4C),
605 "old lavender": (0x79, 0x68, 0x78),
606 "rum": (0x79, 0x69, 0x89),
607 "fedora": (0x79, 0x6A, 0x78),
608 "sandstone": (0x79, 0x6D, 0x62),
609 "spray": (0x79, 0xDE, 0xEC),
610 "siren": (0x7A, 0x01, 0x3A),
611 "fuchsia blue": (0x7A, 0x58, 0xC1),
612 "boulder": (0x7A, 0x7A, 0x7A),
613 "wild blue yonder": (0x7A, 0x89, 0xB8),
614 "de york": (0x7A, 0xC4, 0x88),
615 "red beech": (0x7B, 0x38, 0x01),
616 "cinnamon": (0x7B, 0x3F, 0x00),
617 "yukon gold": (0x7B, 0x66, 0x08),
618 "tapa": (0x7B, 0x78, 0x74),
619 "waterloo ": (0x7B, 0x7C, 0x94),
620 "flax smoke": (0x7B, 0x82, 0x65),
621 "amulet": (0x7B, 0x9F, 0x80),
622 "asparagus": (0x7B, 0xA0, 0x5B),
623 "kenyan copper": (0x7C, 0x1C, 0x05),
624 "pesto": (0x7C, 0x76, 0x31),
625 "topaz": (0x7C, 0x77, 0x8A),
626 "concord": (0x7C, 0x7B, 0x7A),
627 "jumbo": (0x7C, 0x7B, 0x82),
628 "trendy green": (0x7C, 0x88, 0x1A),
629 "gumbo": (0x7C, 0xA1, 0xA6),
630 "acapulco": (0x7C, 0xB0, 0xA1),
631 "neptune": (0x7C, 0xB7, 0xBB),
632 "pueblo": (0x7D, 0x2C, 0x14),
633 "bay leaf": (0x7D, 0xA9, 0x8D),
634 "malibu": (0x7D, 0xC8, 0xF7),
635 "bermuda": (0x7D, 0xD8, 0xC6),
636 "copper canyon": (0x7E, 0x3A, 0x15),
637 "claret": (0x7F, 0x17, 0x34),
638 "peru tan": (0x7F, 0x3A, 0x02),
639 "falcon": (0x7F, 0x62, 0x6D),
640 "mobster": (0x7F, 0x75, 0x89),
641 "moody blue": (0x7F, 0x76, 0xD3),
642 "chartreuse": (0x7F, 0xFF, 0x00),
643 "aquamarine": (0x7F, 0xFF, 0xD4),
644 "maroon": (0x80, 0x00, 0x00),
645 "rose bud cherry": (0x80, 0x0B, 0x47),
646 "falu red": (0x80, 0x18, 0x18),
647 "red robin": (0x80, 0x34, 0x1F),
648 "vivid violet": (0x80, 0x37, 0x90),
649 "russet": (0x80, 0x46, 0x1B),
650 "friar gray": (0x80, 0x7E, 0x79),
651 "olive": (0x80, 0x80, 0x00),
652 "gray": (0x80, 0x80, 0x80),
653 "gulf stream": (0x80, 0xB3, 0xAE),
654 "glacier": (0x80, 0xB3, 0xC4),
655 "seagull": (0x80, 0xCC, 0xEA),
656 "nutmeg": (0x81, 0x42, 0x2C),
657 "spicy pink": (0x81, 0x6E, 0x71),
658 "empress": (0x81, 0x73, 0x77),
659 "spanish green": (0x81, 0x98, 0x85),
660 "sand dune": (0x82, 0x6F, 0x65),
661 "gunsmoke": (0x82, 0x86, 0x85),
662 "battleship gray": (0x82, 0x8F, 0x72),
663 "merlot": (0x83, 0x19, 0x23),
664 "shadow": (0x83, 0x70, 0x50),
665 "chelsea cucumber": (0x83, 0xAA, 0x5D),
666 "monte carlo": (0x83, 0xD0, 0xC6),
667 "plum": (0x84, 0x31, 0x79),
668 "granny smith": (0x84, 0xA0, 0xA0),
669 "chetwode blue": (0x85, 0x81, 0xD9),
670 "bandicoot": (0x85, 0x84, 0x70),
671 "bali hai": (0x85, 0x9F, 0xAF),
672 "half baked": (0x85, 0xC4, 0xCC),
673 "red devil": (0x86, 0x01, 0x11),
674 "lotus": (0x86, 0x3C, 0x3C),
675 "ironstone": (0x86, 0x48, 0x3C),
676 "bull shot": (0x86, 0x4D, 0x1E),
677 "rusty nail": (0x86, 0x56, 0x0A),
678 "bitter": (0x86, 0x89, 0x74),
679 "regent gray": (0x86, 0x94, 0x9F),
680 "disco": (0x87, 0x15, 0x50),
681 "americano": (0x87, 0x75, 0x6E),
682 "hurricane": (0x87, 0x7C, 0x7B),
683 "oslo gray": (0x87, 0x8D, 0x91),
684 "sushi": (0x87, 0xAB, 0x39),
685 "spicy mix": (0x88, 0x53, 0x42),
686 "kumera": (0x88, 0x62, 0x21),
687 "suva gray": (0x88, 0x83, 0x87),
688 "avocado": (0x88, 0x8D, 0x65),
689 "camelot": (0x89, 0x34, 0x56),
690 "solid pink": (0x89, 0x38, 0x43),
691 "cannon pink": (0x89, 0x43, 0x67),
692 "makara": (0x89, 0x7D, 0x6D),
693 "burnt umber": (0x8A, 0x33, 0x24),
694 "true v": (0x8A, 0x73, 0xD6),
695 "clay creek": (0x8A, 0x83, 0x60),
696 "monsoon": (0x8A, 0x83, 0x89),
697 "stack": (0x8A, 0x8F, 0x8A),
698 "jordy blue": (0x8A, 0xB9, 0xF1),
699 "electric violet": (0x8B, 0x00, 0xFF),
700 "monarch": (0x8B, 0x07, 0x23),
701 "corn harvest": (0x8B, 0x6B, 0x0B),
702 "olive haze": (0x8B, 0x84, 0x70),
703 "schooner": (0x8B, 0x84, 0x7E),
704 "natural gray": (0x8B, 0x86, 0x80),
705 "mantle": (0x8B, 0x9C, 0x90),
706 "portage": (0x8B, 0x9F, 0xEE),
707 "envy": (0x8B, 0xA6, 0x90),
708 "cascade": (0x8B, 0xA9, 0xA5),
709 "riptide": (0x8B, 0xE6, 0xD8),
710 "cardinal pink": (0x8C, 0x05, 0x5E),
711 "mule fawn": (0x8C, 0x47, 0x2F),
712 "potters clay": (0x8C, 0x57, 0x38),
713 "trendy pink": (0x8C, 0x64, 0x95),
714 "paprika": (0x8D, 0x02, 0x26),
715 "sanguine brown": (0x8D, 0x3D, 0x38),
716 "tosca": (0x8D, 0x3F, 0x3F),
717 "cement": (0x8D, 0x76, 0x62),
718 "granite green": (0x8D, 0x89, 0x74),
719 "manatee": (0x8D, 0x90, 0xA1),
720 "polo blue": (0x8D, 0xA8, 0xCC),
721 "red berry": (0x8E, 0x00, 0x00),
722 "rope": (0x8E, 0x4D, 0x1E),
723 "opium": (0x8E, 0x6F, 0x70),
724 "domino": (0x8E, 0x77, 0x5E),
725 "mamba": (0x8E, 0x81, 0x90),
726 "nepal": (0x8E, 0xAB, 0xC1),
727 "pohutukawa": (0x8F, 0x02, 0x1C),
728 "el salva": (0x8F, 0x3E, 0x33),
729 "korma": (0x8F, 0x4B, 0x0E),
730 "squirrel": (0x8F, 0x81, 0x76),
731 "vista blue": (0x8F, 0xD6, 0xB4),
732 "burgundy": (0x90, 0x00, 0x20),
733 "old brick": (0x90, 0x1E, 0x1E),
734 "hemp": (0x90, 0x78, 0x74),
735 "almond frost": (0x90, 0x7B, 0x71),
736 "sycamore": (0x90, 0x8D, 0x39),
737 "sangria": (0x92, 0x00, 0x0A),
738 "cumin": (0x92, 0x43, 0x21),
739 "beaver": (0x92, 0x6F, 0x5B),
740 "stonewall": (0x92, 0x85, 0x73),
741 "venus": (0x92, 0x85, 0x90),
742 "medium purple": (0x93, 0x70, 0xDB),
743 "cornflower": (0x93, 0xCC, 0xEA),
744 "algae green": (0x93, 0xDF, 0xB8),
745 "copper rust": (0x94, 0x47, 0x47),
746 "arrowtown": (0x94, 0x87, 0x71),
747 "scarlett": (0x95, 0x00, 0x15),
748 "strikemaster": (0x95, 0x63, 0x87),
749 "mountain mist": (0x95, 0x93, 0x96),
750 "carmine": (0x96, 0x00, 0x18),
751 "brown": (0x96, 0x4B, 0x00),
752 "leather": (0x96, 0x70, 0x59),
753 "purple mountain's majesty": (0x96, 0x78, 0xB6),
754 "lavender purple": (0x96, 0x7B, 0xB6),
755 "pewter": (0x96, 0xA8, 0xA1),
756 "summer green": (0x96, 0xBB, 0xAB),
757 "au chico": (0x97, 0x60, 0x5D),
758 "wisteria": (0x97, 0x71, 0xB5),
759 "atlantis": (0x97, 0xCD, 0x2D),
760 "vin rouge": (0x98, 0x3D, 0x61),
761 "lilac bush": (0x98, 0x74, 0xD3),
762 "bazaar": (0x98, 0x77, 0x7B),
763 "hacienda": (0x98, 0x81, 0x1B),
764 "pale oyster": (0x98, 0x8D, 0x77),
765 "mint green": (0x98, 0xFF, 0x98),
766 "fresh eggplant": (0x99, 0x00, 0x66),
767 "violet eggplant": (0x99, 0x11, 0x99),
768 "tamarillo": (0x99, 0x16, 0x13),
769 "totem pole": (0x99, 0x1B, 0x07),
770 "copper rose": (0x99, 0x66, 0x66),
771 "amethyst": (0x99, 0x66, 0xCC),
772 "mountbatten pink": (0x99, 0x7A, 0x8D),
773 "blue bell": (0x99, 0x99, 0xCC),
774 "prairie sand": (0x9A, 0x38, 0x20),
775 "toast": (0x9A, 0x6E, 0x61),
776 "gurkha": (0x9A, 0x95, 0x77),
777 "olivine": (0x9A, 0xB9, 0x73),
778 "shadow green": (0x9A, 0xC2, 0xB8),
779 "oregon": (0x9B, 0x47, 0x03),
780 "lemon grass": (0x9B, 0x9E, 0x8F),
781 "stiletto": (0x9C, 0x33, 0x36),
782 "hawaiian tan": (0x9D, 0x56, 0x16),
783 "gull gray": (0x9D, 0xAC, 0xB7),
784 "pistachio": (0x9D, 0xC2, 0x09),
785 "granny smith apple": (0x9D, 0xE0, 0x93),
786 "anakiwa": (0x9D, 0xE5, 0xFF),
787 "chelsea gem": (0x9E, 0x53, 0x02),
788 "sepia skin": (0x9E, 0x5B, 0x40),
789 "sage": (0x9E, 0xA5, 0x87),
790 "citron": (0x9E, 0xA9, 0x1F),
791 "rock blue": (0x9E, 0xB1, 0xCD),
792 "morning glory": (0x9E, 0xDE, 0xE0),
793 "cognac": (0x9F, 0x38, 0x1D),
794 "reef gold": (0x9F, 0x82, 0x1C),
795 "star dust": (0x9F, 0x9F, 0x9C),
796 "santas gray": (0x9F, 0xA0, 0xB1),
797 "sinbad": (0x9F, 0xD7, 0xD3),
798 "feijoa": (0x9F, 0xDD, 0x8C),
799 "tabasco": (0xA0, 0x27, 0x12),
800 "buttered rum": (0xA1, 0x75, 0x0D),
801 "hit gray": (0xA1, 0xAD, 0xB5),
802 "citrus": (0xA1, 0xC5, 0x0A),
803 "aqua island": (0xA1, 0xDA, 0xD7),
804 "water leaf": (0xA1, 0xE9, 0xDE),
805 "flirt": (0xA2, 0x00, 0x6D),
806 "rouge": (0xA2, 0x3B, 0x6C),
807 "cape palliser": (0xA2, 0x66, 0x45),
808 "gray chateau": (0xA2, 0xAA, 0xB3),
809 "edward": (0xA2, 0xAE, 0xAB),
810 "pharlap": (0xA3, 0x80, 0x7B),
811 "amethyst smoke": (0xA3, 0x97, 0xB4),
812 "blizzard blue": (0xA3, 0xE3, 0xED),
813 "delta": (0xA4, 0xA4, 0x9D),
814 "wistful": (0xA4, 0xA6, 0xD3),
815 "green smoke": (0xA4, 0xAF, 0x6E),
816 "jazzberry jam": (0xA5, 0x0B, 0x5E),
817 "zorba": (0xA5, 0x9B, 0x91),
818 "bahia": (0xA5, 0xCB, 0x0C),
819 "roof terracotta": (0xA6, 0x2F, 0x20),
820 "paarl": (0xA6, 0x55, 0x29),
821 "barley corn": (0xA6, 0x8B, 0x5B),
822 "donkey brown": (0xA6, 0x92, 0x79),
823 "dawn": (0xA6, 0xA2, 0x9A),
824 "mexican red": (0xA7, 0x25, 0x25),
825 "luxor gold": (0xA7, 0x88, 0x2C),
826 "rich gold": (0xA8, 0x53, 0x07),
827 "reno sand": (0xA8, 0x65, 0x15),
828 "coral tree": (0xA8, 0x6B, 0x6B),
829 "dusty gray": (0xA8, 0x98, 0x9B),
830 "dull lavender": (0xA8, 0x99, 0xE6),
831 "tallow": (0xA8, 0xA5, 0x89),
832 "bud": (0xA8, 0xAE, 0x9C),
833 "locust": (0xA8, 0xAF, 0x8E),
834 "norway": (0xA8, 0xBD, 0x9F),
835 "chinook": (0xA8, 0xE3, 0xBD),
836 "gray olive": (0xA9, 0xA4, 0x91),
837 "aluminium": (0xA9, 0xAC, 0xB6),
838 "cadet blue": (0xA9, 0xB2, 0xC3),
839 "schist": (0xA9, 0xB4, 0x97),
840 "tower gray": (0xA9, 0xBD, 0xBF),
841 "perano": (0xA9, 0xBE, 0xF2),
842 "opal": (0xA9, 0xC6, 0xC2),
843 "night shadz": (0xAA, 0x37, 0x5A),
844 "fire": (0xAA, 0x42, 0x03),
845 "muesli": (0xAA, 0x8B, 0x5B),
846 "sandal": (0xAA, 0x8D, 0x6F),
847 "shady lady": (0xAA, 0xA5, 0xA9),
848 "logan": (0xAA, 0xA9, 0xCD),
849 "spun pearl": (0xAA, 0xAB, 0xB7),
850 "regent st blue": (0xAA, 0xD6, 0xE6),
851 "magic mint": (0xAA, 0xF0, 0xD1),
852 "lipstick": (0xAB, 0x05, 0x63),
853 "royal heath": (0xAB, 0x34, 0x72),
854 "sandrift": (0xAB, 0x91, 0x7A),
855 "cold purple": (0xAB, 0xA0, 0xD9),
856 "bronco": (0xAB, 0xA1, 0x96),
857 "limed oak": (0xAC, 0x8A, 0x56),
858 "east side": (0xAC, 0x91, 0xCE),
859 "lemon ginger": (0xAC, 0x9E, 0x22),
860 "napa": (0xAC, 0xA4, 0x94),
861 "hillary": (0xAC, 0xA5, 0x86),
862 "cloudy": (0xAC, 0xA5, 0x9F),
863 "silver chalice": (0xAC, 0xAC, 0xAC),
864 "swamp green": (0xAC, 0xB7, 0x8E),
865 "spring rain": (0xAC, 0xCB, 0xB1),
866 "conifer": (0xAC, 0xDD, 0x4D),
867 "celadon": (0xAC, 0xE1, 0xAF),
868 "mandalay": (0xAD, 0x78, 0x1B),
869 "casper": (0xAD, 0xBE, 0xD1),
870 "moss green": (0xAD, 0xDF, 0xAD),
871 "padua": (0xAD, 0xE6, 0xC4),
872 "green yellow": (0xAD, 0xFF, 0x2F),
873 "hippie pink": (0xAE, 0x45, 0x60),
874 "desert": (0xAE, 0x60, 0x20),
875 "bouquet": (0xAE, 0x80, 0x9E),
876 "medium carmine": (0xAF, 0x40, 0x35),
877 "apple blossom": (0xAF, 0x4D, 0x43),
878 "brown rust": (0xAF, 0x59, 0x3E),
879 "driftwood": (0xAF, 0x87, 0x51),
880 "alpine": (0xAF, 0x8F, 0x2C),
881 "lucky": (0xAF, 0x9F, 0x1C),
882 "martini": (0xAF, 0xA0, 0x9E),
883 "bombay": (0xAF, 0xB1, 0xB8),
884 "pigeon post": (0xAF, 0xBD, 0xD9),
885 "cadillac": (0xB0, 0x4C, 0x6A),
886 "matrix": (0xB0, 0x5D, 0x54),
887 "tapestry": (0xB0, 0x5E, 0x81),
888 "mai tai": (0xB0, 0x66, 0x08),
889 "del rio": (0xB0, 0x9A, 0x95),
890 "powder blue": (0xB0, 0xE0, 0xE6),
891 "inch worm": (0xB0, 0xE3, 0x13),
892 "bright red": (0xB1, 0x00, 0x00),
893 "vesuvius": (0xB1, 0x4A, 0x0B),
894 "pumpkin skin": (0xB1, 0x61, 0x0B),
895 "santa fe": (0xB1, 0x6D, 0x52),
896 "teak": (0xB1, 0x94, 0x61),
897 "fringy flower": (0xB1, 0xE2, 0xC1),
898 "ice cold": (0xB1, 0xF4, 0xE7),
899 "shiraz": (0xB2, 0x09, 0x31),
900 "biloba flower": (0xB2, 0xA1, 0xEA),
901 "tall poppy": (0xB3, 0x2D, 0x29),
902 "fiery orange": (0xB3, 0x52, 0x13),
903 "hot toddy": (0xB3, 0x80, 0x07),
904 "taupe gray": (0xB3, 0xAF, 0x95),
905 "la rioja": (0xB3, 0xC1, 0x10),
906 "well read": (0xB4, 0x33, 0x32),
907 "blush": (0xB4, 0x46, 0x68),
908 "jungle mist": (0xB4, 0xCF, 0xD3),
909 "turkish rose": (0xB5, 0x72, 0x81),
910 "lavender": (0xB5, 0x7E, 0xDC),
911 "mongoose": (0xB5, 0xA2, 0x7F),
912 "olive green": (0xB5, 0xB3, 0x5C),
913 "jet stream": (0xB5, 0xD2, 0xCE),
914 "cruise": (0xB5, 0xEC, 0xDF),
915 "hibiscus": (0xB6, 0x31, 0x6C),
916 "thatch": (0xB6, 0x9D, 0x98),
917 "heathered gray": (0xB6, 0xB0, 0x95),
918 "eagle": (0xB6, 0xBA, 0xA4),
919 "spindle": (0xB6, 0xD1, 0xEA),
920 "gum leaf": (0xB6, 0xD3, 0xBF),
921 "rust": (0xB7, 0x41, 0x0E),
922 "muddy waters": (0xB7, 0x8E, 0x5C),
923 "sahara": (0xB7, 0xA2, 0x14),
924 "husk": (0xB7, 0xA4, 0x58),
925 "nobel": (0xB7, 0xB1, 0xB1),
926 "heather": (0xB7, 0xC3, 0xD0),
927 "madang": (0xB7, 0xF0, 0xBE),
928 "milano red": (0xB8, 0x11, 0x04),
929 "copper": (0xB8, 0x73, 0x33),
930 "gimblet": (0xB8, 0xB5, 0x6A),
931 "green spring": (0xB8, 0xC1, 0xB1),
932 "celery": (0xB8, 0xC2, 0x5D),
933 "sail": (0xB8, 0xE0, 0xF9),
934 "chestnut": (0xB9, 0x4E, 0x48),
935 "crail": (0xB9, 0x51, 0x40),
936 "marigold": (0xB9, 0x8D, 0x28),
937 "wild willow": (0xB9, 0xC4, 0x6A),
938 "rainee": (0xB9, 0xC8, 0xAC),
939 "guardsman red": (0xBA, 0x01, 0x01),
940 "rock spray": (0xBA, 0x45, 0x0C),
941 "bourbon": (0xBA, 0x6F, 0x1E),
942 "pirate gold": (0xBA, 0x7F, 0x03),
943 "nomad": (0xBA, 0xB1, 0xA2),
944 "submarine": (0xBA, 0xC7, 0xC9),
945 "charlotte": (0xBA, 0xEE, 0xF9),
946 "medium red violet": (0xBB, 0x33, 0x85),
947 "brandy rose": (0xBB, 0x89, 0x83),
948 "rio grande": (0xBB, 0xD0, 0x09),
949 "surf": (0xBB, 0xD7, 0xC1),
950 "powder ash": (0xBC, 0xC9, 0xC2),
951 "tuscany": (0xBD, 0x5E, 0x2E),
952 "quicksand": (0xBD, 0x97, 0x8E),
953 "silk": (0xBD, 0xB1, 0xA8),
954 "malta": (0xBD, 0xB2, 0xA1),
955 "chatelle": (0xBD, 0xB3, 0xC7),
956 "lavender gray": (0xBD, 0xBB, 0xD7),
957 "french gray": (0xBD, 0xBD, 0xC6),
958 "clay ash": (0xBD, 0xC8, 0xB3),
959 "loblolly": (0xBD, 0xC9, 0xCE),
960 "french pass": (0xBD, 0xED, 0xFD),
961 "london hue": (0xBE, 0xA6, 0xC3),
962 "pink swan": (0xBE, 0xB5, 0xB7),
963 "fuego": (0xBE, 0xDE, 0x0D),
964 "rose of sharon": (0xBF, 0x55, 0x00),
965 "tide": (0xBF, 0xB8, 0xB0),
966 "blue haze": (0xBF, 0xBE, 0xD8),
967 "silver sand": (0xBF, 0xC1, 0xC2),
968 "key lime pie": (0xBF, 0xC9, 0x21),
969 "ziggurat": (0xBF, 0xDB, 0xE2),
970 "lime": (0xBF, 0xFF, 0x00),
971 "thunderbird": (0xC0, 0x2B, 0x18),
972 "mojo": (0xC0, 0x47, 0x37),
973 "old rose": (0xC0, 0x80, 0x81),
974 "silver": (0xC0, 0xC0, 0xC0),
975 "pale leaf": (0xC0, 0xD3, 0xB9),
976 "pixie green": (0xC0, 0xD8, 0xB6),
977 "tia maria": (0xC1, 0x44, 0x0E),
978 "fuchsia pink": (0xC1, 0x54, 0xC1),
979 "buddha gold": (0xC1, 0xA0, 0x04),
980 "bison hide": (0xC1, 0xB7, 0xA4),
981 "tea": (0xC1, 0xBA, 0xB0),
982 "gray suit": (0xC1, 0xBE, 0xCD),
983 "sprout": (0xC1, 0xD7, 0xB0),
984 "sulu": (0xC1, 0xF0, 0x7C),
985 "indochine": (0xC2, 0x6B, 0x03),
986 "twine": (0xC2, 0x95, 0x5D),
987 "cotton seed": (0xC2, 0xBD, 0xB6),
988 "pumice": (0xC2, 0xCA, 0xC4),
989 "jagged ice": (0xC2, 0xE8, 0xE5),
990 "maroon flush": (0xC3, 0x21, 0x48),
991 "indian khaki": (0xC3, 0xB0, 0x91),
992 "pale slate": (0xC3, 0xBF, 0xC1),
993 "gray nickel": (0xC3, 0xC3, 0xBD),
994 "periwinkle gray": (0xC3, 0xCD, 0xE6),
995 "tiara": (0xC3, 0xD1, 0xD1),
996 "tropical blue": (0xC3, 0xDD, 0xF9),
997 "cardinal": (0xC4, 0x1E, 0x3A),
998 "fuzzy wuzzy brown": (0xC4, 0x56, 0x55),
999 "orange roughy": (0xC4, 0x57, 0x19),
1000 "mist gray": (0xC4, 0xC4, 0xBC),
1001 "coriander": (0xC4, 0xD0, 0xB0),
1002 "mint tulip": (0xC4, 0xF4, 0xEB),
1003 "mulberry": (0xC5, 0x4B, 0x8C),
1004 "nugget": (0xC5, 0x99, 0x22),
1005 "tussock": (0xC5, 0x99, 0x4B),
1006 "sea mist": (0xC5, 0xDB, 0xCA),
1007 "yellow green": (0xC5, 0xE1, 0x7A),
1008 "brick red": (0xC6, 0x2D, 0x42),
1009 "contessa": (0xC6, 0x72, 0x6B),
1010 "oriental pink": (0xC6, 0x91, 0x91),
1011 "roti": (0xC6, 0xA8, 0x4B),
1012 "ash": (0xC6, 0xC3, 0xB5),
1013 "kangaroo": (0xC6, 0xC8, 0xBD),
1014 "las palmas": (0xC6, 0xE6, 0x10),
1015 "monza": (0xC7, 0x03, 0x1E),
1016 "red violet": (0xC7, 0x15, 0x85),
1017 "coral reef": (0xC7, 0xBC, 0xA2),
1018 "melrose": (0xC7, 0xC1, 0xFF),
1019 "cloud": (0xC7, 0xC4, 0xBF),
1020 "ghost": (0xC7, 0xC9, 0xD5),
1021 "pine glade": (0xC7, 0xCD, 0x90),
1022 "botticelli": (0xC7, 0xDD, 0xE5),
1023 "antique brass": (0xC8, 0x8A, 0x65),
1024 "lilac": (0xC8, 0xA2, 0xC8),
1025 "hokey pokey": (0xC8, 0xA5, 0x28),
1026 "lily": (0xC8, 0xAA, 0xBF),
1027 "laser": (0xC8, 0xB5, 0x68),
1028 "edgewater": (0xC8, 0xE3, 0xD7),
1029 "piper": (0xC9, 0x63, 0x23),
1030 "pizza": (0xC9, 0x94, 0x15),
1031 "light wisteria": (0xC9, 0xA0, 0xDC),
1032 "rodeo dust": (0xC9, 0xB2, 0x9B),
1033 "sundance": (0xC9, 0xB3, 0x5B),
1034 "earls green": (0xC9, 0xB9, 0x3B),
1035 "silver rust": (0xC9, 0xC0, 0xBB),
1036 "conch": (0xC9, 0xD9, 0xD2),
1037 "reef": (0xC9, 0xFF, 0xA2),
1038 "aero blue": (0xC9, 0xFF, 0xE5),
1039 "flush mahogany": (0xCA, 0x34, 0x35),
1040 "turmeric": (0xCA, 0xBB, 0x48),
1041 "paris white": (0xCA, 0xDC, 0xD4),
1042 "bitter lemon": (0xCA, 0xE0, 0x0D),
1043 "skeptic": (0xCA, 0xE6, 0xDA),
1044 "viola": (0xCB, 0x8F, 0xA9),
1045 "foggy gray": (0xCB, 0xCA, 0xB6),
1046 "green mist": (0xCB, 0xD3, 0xB0),
1047 "nebula": (0xCB, 0xDB, 0xD6),
1048 "persian red": (0xCC, 0x33, 0x33),
1049 "burnt orange": (0xCC, 0x55, 0x00),
1050 "ochre": (0xCC, 0x77, 0x22),
1051 "puce": (0xCC, 0x88, 0x99),
1052 "thistle green": (0xCC, 0xCA, 0xA8),
1053 "periwinkle": (0xCC, 0xCC, 0xFF),
1054 "electric lime": (0xCC, 0xFF, 0x00),
1055 "tenn": (0xCD, 0x57, 0x00),
1056 "chestnut rose": (0xCD, 0x5C, 0x5C),
1057 "brandy punch": (0xCD, 0x84, 0x29),
1058 "onahau": (0xCD, 0xF4, 0xFF),
1059 "sorrell brown": (0xCE, 0xB9, 0x8F),
1060 "cold turkey": (0xCE, 0xBA, 0xBA),
1061 "yuma": (0xCE, 0xC2, 0x91),
1062 "chino": (0xCE, 0xC7, 0xA7),
1063 "eunry": (0xCF, 0xA3, 0x9D),
1064 "old gold": (0xCF, 0xB5, 0x3B),
1065 "tasman": (0xCF, 0xDC, 0xCF),
1066 "surf crest": (0xCF, 0xE5, 0xD2),
1067 "humming bird": (0xCF, 0xF9, 0xF3),
1068 "scandal": (0xCF, 0xFA, 0xF4),
1069 "red stage": (0xD0, 0x5F, 0x04),
1070 "hopbush": (0xD0, 0x6D, 0xA1),
1071 "meteor": (0xD0, 0x7D, 0x12),
1072 "perfume": (0xD0, 0xBE, 0xF8),
1073 "prelude": (0xD0, 0xC0, 0xE5),
1074 "tea green": (0xD0, 0xF0, 0xC0),
1075 "geebung": (0xD1, 0x8F, 0x1B),
1076 "vanilla": (0xD1, 0xBE, 0xA8),
1077 "soft amber": (0xD1, 0xC6, 0xB4),
1078 "celeste": (0xD1, 0xD2, 0xCA),
1079 "mischka": (0xD1, 0xD2, 0xDD),
1080 "pear": (0xD1, 0xE2, 0x31),
1081 "hot cinnamon": (0xD2, 0x69, 0x1E),
1082 "raw sienna": (0xD2, 0x7D, 0x46),
1083 "careys pink": (0xD2, 0x9E, 0xAA),
1084 "tan": (0xD2, 0xB4, 0x8C),
1085 "deco": (0xD2, 0xDA, 0x97),
1086 "blue romance": (0xD2, 0xF6, 0xDE),
1087 "gossip": (0xD2, 0xF8, 0xB0),
1088 "sisal": (0xD3, 0xCB, 0xBA),
1089 "swirl": (0xD3, 0xCD, 0xC5),
1090 "charm": (0xD4, 0x74, 0x94),
1091 "clam shell": (0xD4, 0xB6, 0xAF),
1092 "straw": (0xD4, 0xBF, 0x8D),
1093 "akaroa": (0xD4, 0xC4, 0xA8),
1094 "bird flower": (0xD4, 0xCD, 0x16),
1095 "iron": (0xD4, 0xD7, 0xD9),
1096 "geyser": (0xD4, 0xDF, 0xE2),
1097 "hawkes blue": (0xD4, 0xE2, 0xFC),
1098 "grenadier": (0xD5, 0x46, 0x00),
1099 "can can": (0xD5, 0x91, 0xA4),
1100 "whiskey": (0xD5, 0x9A, 0x6F),
1101 "winter hazel": (0xD5, 0xD1, 0x95),
1102 "granny apple": (0xD5, 0xF6, 0xE3),
1103 "my pink": (0xD6, 0x91, 0x88),
1104 "tacha": (0xD6, 0xC5, 0x62),
1105 "moon raker": (0xD6, 0xCE, 0xF6),
1106 "quill gray": (0xD6, 0xD6, 0xD1),
1107 "snowy mint": (0xD6, 0xFF, 0xDB),
1108 "new york pink": (0xD7, 0x83, 0x7F),
1109 "pavlova": (0xD7, 0xC4, 0x98),
1110 "fog": (0xD7, 0xD0, 0xFF),
1111 "valencia": (0xD8, 0x44, 0x37),
1112 "japonica": (0xD8, 0x7C, 0x63),
1113 "thistle": (0xD8, 0xBF, 0xD8),
1114 "maverick": (0xD8, 0xC2, 0xD5),
1115 "foam": (0xD8, 0xFC, 0xFA),
1116 "cabaret": (0xD9, 0x49, 0x72),
1117 "burning sand": (0xD9, 0x93, 0x76),
1118 "cameo": (0xD9, 0xB9, 0x9B),
1119 "timberwolf": (0xD9, 0xD6, 0xCF),
1120 "tana": (0xD9, 0xDC, 0xC1),
1121 "link water": (0xD9, 0xE4, 0xF5),
1122 "mabel": (0xD9, 0xF7, 0xFF),
1123 "cerise": (0xDA, 0x32, 0x87),
1124 "flame pea": (0xDA, 0x5B, 0x38),
1125 "bamboo": (0xDA, 0x63, 0x04),
1126 "red damask": (0xDA, 0x6A, 0x41),
1127 "orchid": (0xDA, 0x70, 0xD6),
1128 "copperfield": (0xDA, 0x8A, 0x67),
1129 "golden grass": (0xDA, 0xA5, 0x20),
1130 "zanah": (0xDA, 0xEC, 0xD6),
1131 "iceberg": (0xDA, 0xF4, 0xF0),
1132 "oyster bay": (0xDA, 0xFA, 0xFF),
1133 "cranberry": (0xDB, 0x50, 0x79),
1134 "petite orchid": (0xDB, 0x96, 0x90),
1135 "di serria": (0xDB, 0x99, 0x5E),
1136 "alto": (0xDB, 0xDB, 0xDB),
1137 "frosted mint": (0xDB, 0xFF, 0xF8),
1138 "crimson": (0xDC, 0x14, 0x3C),
1139 "punch": (0xDC, 0x43, 0x33),
1140 "galliano": (0xDC, 0xB2, 0x0C),
1141 "blossom": (0xDC, 0xB4, 0xBC),
1142 "wattle": (0xDC, 0xD7, 0x47),
1143 "westar": (0xDC, 0xD9, 0xD2),
1144 "moon mist": (0xDC, 0xDD, 0xCC),
1145 "caper": (0xDC, 0xED, 0xB4),
1146 "swans down": (0xDC, 0xF0, 0xEA),
1147 "swiss coffee": (0xDD, 0xD6, 0xD5),
1148 "white ice": (0xDD, 0xF9, 0xF1),
1149 "cerise red": (0xDE, 0x31, 0x63),
1150 "roman": (0xDE, 0x63, 0x60),
1151 "tumbleweed": (0xDE, 0xA6, 0x81),
1152 "gold tips": (0xDE, 0xBA, 0x13),
1153 "brandy": (0xDE, 0xC1, 0x96),
1154 "wafer": (0xDE, 0xCB, 0xC6),
1155 "sapling": (0xDE, 0xD4, 0xA4),
1156 "barberry": (0xDE, 0xD7, 0x17),
1157 "beryl green": (0xDE, 0xE5, 0xC0),
1158 "pattens blue": (0xDE, 0xF5, 0xFF),
1159 "heliotrope": (0xDF, 0x73, 0xFF),
1160 "apache": (0xDF, 0xBE, 0x6F),
1161 "chenin": (0xDF, 0xCD, 0x6F),
1162 "lola": (0xDF, 0xCF, 0xDB),
1163 "willow brook": (0xDF, 0xEC, 0xDA),
1164 "chartreuse yellow": (0xDF, 0xFF, 0x00),
1165 "mauve": (0xE0, 0xB0, 0xFF),
1166 "anzac": (0xE0, 0xB6, 0x46),
1167 "harvest gold": (0xE0, 0xB9, 0x74),
1168 "calico": (0xE0, 0xC0, 0x95),
1169 "baby blue": (0xE0, 0xFF, 0xFF),
1170 "sunglo": (0xE1, 0x68, 0x65),
1171 "equator": (0xE1, 0xBC, 0x64),
1172 "pink flare": (0xE1, 0xC0, 0xC8),
1173 "periglacial blue": (0xE1, 0xE6, 0xD6),
1174 "kidnapper": (0xE1, 0xEA, 0xD4),
1175 "tara": (0xE1, 0xF6, 0xE8),
1176 "mandy": (0xE2, 0x54, 0x65),
1177 "terracotta": (0xE2, 0x72, 0x5B),
1178 "golden bell": (0xE2, 0x89, 0x13),
1179 "shocking": (0xE2, 0x92, 0xC0),
1180 "dixie": (0xE2, 0x94, 0x18),
1181 "light orchid": (0xE2, 0x9C, 0xD2),
1182 "snuff": (0xE2, 0xD8, 0xED),
1183 "mystic": (0xE2, 0xEB, 0xED),
1184 "apple green": (0xE2, 0xF3, 0xEC),
1185 "razzmatazz": (0xE3, 0x0B, 0x5C),
1186 "alizarin crimson": (0xE3, 0x26, 0x36),
1187 "cinnabar": (0xE3, 0x42, 0x34),
1188 "cavern pink": (0xE3, 0xBE, 0xBE),
1189 "peppermint": (0xE3, 0xF5, 0xE1),
1190 "mindaro": (0xE3, 0xF9, 0x88),
1191 "deep blush": (0xE4, 0x76, 0x98),
1192 "gamboge": (0xE4, 0x9B, 0x0F),
1193 "melanie": (0xE4, 0xC2, 0xD5),
1194 "twilight": (0xE4, 0xCF, 0xDE),
1195 "bone": (0xE4, 0xD1, 0xC0),
1196 "sunflower": (0xE4, 0xD4, 0x22),
1197 "grain brown": (0xE4, 0xD5, 0xB7),
1198 "zombie": (0xE4, 0xD6, 0x9B),
1199 "frostee": (0xE4, 0xF6, 0xE7),
1200 "snow flurry": (0xE4, 0xFF, 0xD1),
1201 "amaranth": (0xE5, 0x2B, 0x50),
1202 "zest": (0xE5, 0x84, 0x1B),
1203 "dust storm": (0xE5, 0xCC, 0xC9),
1204 "stark white": (0xE5, 0xD7, 0xBD),
1205 "hampton": (0xE5, 0xD8, 0xAF),
1206 "bon jour": (0xE5, 0xE0, 0xE1),
1207 "mercury": (0xE5, 0xE5, 0xE5),
1208 "polar": (0xE5, 0xF9, 0xF6),
1209 "trinidad": (0xE6, 0x4E, 0x03),
1210 "gold sand": (0xE6, 0xBE, 0x8A),
1211 "cashmere": (0xE6, 0xBE, 0xA5),
1212 "double spanish white": (0xE6, 0xD7, 0xB9),
1213 "satin linen": (0xE6, 0xE4, 0xD4),
1214 "harp": (0xE6, 0xF2, 0xEA),
1215 "off green": (0xE6, 0xF8, 0xF3),
1216 "hint of green": (0xE6, 0xFF, 0xE9),
1217 "tranquil": (0xE6, 0xFF, 0xFF),
1218 "mango tango": (0xE7, 0x72, 0x00),
1219 "christine": (0xE7, 0x73, 0x0A),
1220 "tonys pink": (0xE7, 0x9F, 0x8C),
1221 "kobi": (0xE7, 0x9F, 0xC4),
1222 "rose fog": (0xE7, 0xBC, 0xB4),
1223 "corn": (0xE7, 0xBF, 0x05),
1224 "putty": (0xE7, 0xCD, 0x8C),
1225 "gray nurse": (0xE7, 0xEC, 0xE6),
1226 "lily white": (0xE7, 0xF8, 0xFF),
1227 "bubbles": (0xE7, 0xFE, 0xFF),
1228 "fire bush": (0xE8, 0x99, 0x28),
1229 "shilo": (0xE8, 0xB9, 0xB3),
1230 "pearl bush": (0xE8, 0xE0, 0xD5),
1231 "green white": (0xE8, 0xEB, 0xE0),
1232 "chrome white": (0xE8, 0xF1, 0xD4),
1233 "gin": (0xE8, 0xF2, 0xEB),
1234 "aqua squeeze": (0xE8, 0xF5, 0xF2),
1235 "clementine": (0xE9, 0x6E, 0x00),
1236 "burnt sienna": (0xE9, 0x74, 0x51),
1237 "tahiti gold": (0xE9, 0x7C, 0x07),
1238 "oyster pink": (0xE9, 0xCE, 0xCD),
1239 "confetti": (0xE9, 0xD7, 0x5A),
1240 "ebb": (0xE9, 0xE3, 0xE3),
1241 "ottoman": (0xE9, 0xF8, 0xED),
1242 "clear day": (0xE9, 0xFF, 0xFD),
1243 "carissma": (0xEA, 0x88, 0xA8),
1244 "porsche": (0xEA, 0xAE, 0x69),
1245 "tulip tree": (0xEA, 0xB3, 0x3B),
1246 "rob roy": (0xEA, 0xC6, 0x74),
1247 "raffia": (0xEA, 0xDA, 0xB8),
1248 "white rock": (0xEA, 0xE8, 0xD4),
1249 "panache": (0xEA, 0xF6, 0xEE),
1250 "solitude": (0xEA, 0xF6, 0xFF),
1251 "aqua spring": (0xEA, 0xF9, 0xF5),
1252 "dew": (0xEA, 0xFF, 0xFE),
1253 "apricot": (0xEB, 0x93, 0x73),
1254 "zinnwaldite": (0xEB, 0xC2, 0xAF),
1255 "fuel yellow": (0xEC, 0xA9, 0x27),
1256 "ronchi": (0xEC, 0xC5, 0x4E),
1257 "french lilac": (0xEC, 0xC7, 0xEE),
1258 "just right": (0xEC, 0xCD, 0xB9),
1259 "wild rice": (0xEC, 0xE0, 0x90),
1260 "fall green": (0xEC, 0xEB, 0xBD),
1261 "aths special": (0xEC, 0xEB, 0xCE),
1262 "starship": (0xEC, 0xF2, 0x45),
1263 "red ribbon": (0xED, 0x0A, 0x3F),
1264 "tango": (0xED, 0x7A, 0x1C),
1265 "carrot orange": (0xED, 0x91, 0x21),
1266 "sea pink": (0xED, 0x98, 0x9E),
1267 "tacao": (0xED, 0xB3, 0x81),
1268 "desert sand": (0xED, 0xC9, 0xAF),
1269 "pancho": (0xED, 0xCD, 0xAB),
1270 "chamois": (0xED, 0xDC, 0xB1),
1271 "primrose": (0xED, 0xEA, 0x99),
1272 "frost": (0xED, 0xF5, 0xDD),
1273 "aqua haze": (0xED, 0xF5, 0xF5),
1274 "zumthor": (0xED, 0xF6, 0xFF),
1275 "narvik": (0xED, 0xF9, 0xF1),
1276 "honeysuckle": (0xED, 0xFC, 0x84),
1277 "lavender magenta": (0xEE, 0x82, 0xEE),
1278 "beauty bush": (0xEE, 0xC1, 0xBE),
1279 "chalky": (0xEE, 0xD7, 0x94),
1280 "almond": (0xEE, 0xD9, 0xC4),
1281 "flax": (0xEE, 0xDC, 0x82),
1282 "bizarre": (0xEE, 0xDE, 0xDA),
1283 "double colonial white": (0xEE, 0xE3, 0xAD),
1284 "cararra": (0xEE, 0xEE, 0xE8),
1285 "manz": (0xEE, 0xEF, 0x78),
1286 "tahuna sands": (0xEE, 0xF0, 0xC8),
1287 "athens gray": (0xEE, 0xF0, 0xF3),
1288 "tusk": (0xEE, 0xF3, 0xC3),
1289 "loafer": (0xEE, 0xF4, 0xDE),
1290 "catskill white": (0xEE, 0xF6, 0xF7),
1291 "twilight blue": (0xEE, 0xFD, 0xFF),
1292 "jonquil": (0xEE, 0xFF, 0x9A),
1293 "rice flower": (0xEE, 0xFF, 0xE2),
1294 "jaffa": (0xEF, 0x86, 0x3F),
1295 "gallery": (0xEF, 0xEF, 0xEF),
1296 "porcelain": (0xEF, 0xF2, 0xF3),
1297 "mauvelous": (0xF0, 0x91, 0xA9),
1298 "golden dream": (0xF0, 0xD5, 0x2D),
1299 "golden sand": (0xF0, 0xDB, 0x7D),
1300 "buff": (0xF0, 0xDC, 0x82),
1301 "prim": (0xF0, 0xE2, 0xEC),
1302 "khaki": (0xF0, 0xE6, 0x8C),
1303 "selago": (0xF0, 0xEE, 0xFD),
1304 "titan white": (0xF0, 0xEE, 0xFF),
1305 "alice blue": (0xF0, 0xF8, 0xFF),
1306 "feta": (0xF0, 0xFC, 0xEA),
1307 "gold drop": (0xF1, 0x82, 0x00),
1308 "wewak": (0xF1, 0x9B, 0xAB),
1309 "sahara sand": (0xF1, 0xE7, 0x88),
1310 "parchment": (0xF1, 0xE9, 0xD2),
1311 "blue chalk": (0xF1, 0xE9, 0xFF),
1312 "mint julep": (0xF1, 0xEE, 0xC1),
1313 "seashell": (0xF1, 0xF1, 0xF1),
1314 "saltpan": (0xF1, 0xF7, 0xF2),
1315 "tidal": (0xF1, 0xFF, 0xAD),
1316 "chiffon": (0xF1, 0xFF, 0xC8),
1317 "flamingo": (0xF2, 0x55, 0x2A),
1318 "tangerine": (0xF2, 0x85, 0x00),
1319 "mandys pink": (0xF2, 0xC3, 0xB2),
1320 "concrete": (0xF2, 0xF2, 0xF2),
1321 "black squeeze": (0xF2, 0xFA, 0xFA),
1322 "pomegranate": (0xF3, 0x47, 0x23),
1323 "buttercup": (0xF3, 0xAD, 0x16),
1324 "new orleans": (0xF3, 0xD6, 0x9D),
1325 "vanilla ice": (0xF3, 0xD9, 0xDF),
1326 "sidecar": (0xF3, 0xE7, 0xBB),
1327 "dawn pink": (0xF3, 0xE9, 0xE5),
1328 "wheatfield": (0xF3, 0xED, 0xCF),
1329 "canary": (0xF3, 0xFB, 0x62),
1330 "orinoco": (0xF3, 0xFB, 0xD4),
1331 "carla": (0xF3, 0xFF, 0xD8),
1332 "hollywood cerise": (0xF4, 0x00, 0xA1),
1333 "sandy brown": (0xF4, 0xA4, 0x60),
1334 "saffron": (0xF4, 0xC4, 0x30),
1335 "ripe lemon": (0xF4, 0xD8, 0x1C),
1336 "janna": (0xF4, 0xEB, 0xD3),
1337 "pampas": (0xF4, 0xF2, 0xEE),
1338 "wild sand": (0xF4, 0xF4, 0xF4),
1339 "zircon": (0xF4, 0xF8, 0xFF),
1340 "froly": (0xF5, 0x75, 0x84),
1341 "cream can": (0xF5, 0xC8, 0x5C),
1342 "manhattan": (0xF5, 0xC9, 0x99),
1343 "maize": (0xF5, 0xD5, 0xA0),
1344 "wheat": (0xF5, 0xDE, 0xB3),
1345 "sandwisp": (0xF5, 0xE7, 0xA2),
1346 "pot pourri": (0xF5, 0xE7, 0xE2),
1347 "albescent white": (0xF5, 0xE9, 0xD3),
1348 "soft peach": (0xF5, 0xED, 0xEF),
1349 "ecru white": (0xF5, 0xF3, 0xE5),
1350 "beige": (0xF5, 0xF5, 0xDC),
1351 "golden fizz": (0xF5, 0xFB, 0x3D),
1352 "australian mint": (0xF5, 0xFF, 0xBE),
1353 "french rose": (0xF6, 0x4A, 0x8A),
1354 "brilliant rose": (0xF6, 0x53, 0xA6),
1355 "illusion": (0xF6, 0xA4, 0xC9),
1356 "merino": (0xF6, 0xF0, 0xE6),
1357 "black haze": (0xF6, 0xF7, 0xF7),
1358 "spring sun": (0xF6, 0xFF, 0xDC),
1359 "violet red": (0xF7, 0x46, 0x8A),
1360 "chilean fire": (0xF7, 0x77, 0x03),
1361 "persian pink": (0xF7, 0x7F, 0xBE),
1362 "rajah": (0xF7, 0xB6, 0x68),
1363 "azalea": (0xF7, 0xC8, 0xDA),
1364 "we peep": (0xF7, 0xDB, 0xE6),
1365 "quarter spanish white": (0xF7, 0xF2, 0xE1),
1366 "whisper": (0xF7, 0xF5, 0xFA),
1367 "snow drift": (0xF7, 0xFA, 0xF7),
1368 "casablanca": (0xF8, 0xB8, 0x53),
1369 "chantilly": (0xF8, 0xC3, 0xDF),
1370 "cherub": (0xF8, 0xD9, 0xE9),
1371 "marzipan": (0xF8, 0xDB, 0x9D),
1372 "energy yellow": (0xF8, 0xDD, 0x5C),
1373 "givry": (0xF8, 0xE4, 0xBF),
1374 "white linen": (0xF8, 0xF0, 0xE8),
1375 "magnolia": (0xF8, 0xF4, 0xFF),
1376 "spring wood": (0xF8, 0xF6, 0xF1),
1377 "coconut cream": (0xF8, 0xF7, 0xDC),
1378 "white lilac": (0xF8, 0xF7, 0xFC),
1379 "desert storm": (0xF8, 0xF8, 0xF7),
1380 "texas": (0xF8, 0xF9, 0x9C),
1381 "corn field": (0xF8, 0xFA, 0xCD),
1382 "mimosa": (0xF8, 0xFD, 0xD3),
1383 "carnation": (0xF9, 0x5A, 0x61),
1384 "saffron mango": (0xF9, 0xBF, 0x58),
1385 "carousel pink": (0xF9, 0xE0, 0xED),
1386 "dairy cream": (0xF9, 0xE4, 0xBC),
1387 "portica": (0xF9, 0xE6, 0x63),
1388 "amour": (0xF9, 0xEA, 0xF3),
1389 "rum swizzle": (0xF9, 0xF8, 0xE4),
1390 "dolly": (0xF9, 0xFF, 0x8B),
1391 "sugar cane": (0xF9, 0xFF, 0xF6),
1392 "ecstasy": (0xFA, 0x78, 0x14),
1393 "tan hide": (0xFA, 0x9D, 0x5A),
1394 "corvette": (0xFA, 0xD3, 0xA2),
1395 "peach yellow": (0xFA, 0xDF, 0xAD),
1396 "turbo": (0xFA, 0xE6, 0x00),
1397 "astra": (0xFA, 0xEA, 0xB9),
1398 "champagne": (0xFA, 0xEC, 0xCC),
1399 "linen": (0xFA, 0xF0, 0xE6),
1400 "fantasy": (0xFA, 0xF3, 0xF0),
1401 "citrine white": (0xFA, 0xF7, 0xD6),
1402 "alabaster": (0xFA, 0xFA, 0xFA),
1403 "hint of yellow": (0xFA, 0xFD, 0xE4),
1404 "milan": (0xFA, 0xFF, 0xA4),
1405 "brink pink": (0xFB, 0x60, 0x7F),
1406 "geraldine": (0xFB, 0x89, 0x89),
1407 "lavender rose": (0xFB, 0xA0, 0xE3),
1408 "sea buckthorn": (0xFB, 0xA1, 0x29),
1409 "sun": (0xFB, 0xAC, 0x13),
1410 "lavender pink": (0xFB, 0xAE, 0xD2),
1411 "rose bud": (0xFB, 0xB2, 0xA3),
1412 "cupid": (0xFB, 0xBE, 0xDA),
1413 "classic rose": (0xFB, 0xCC, 0xE7),
1414 "apricot peach": (0xFB, 0xCE, 0xB1),
1415 "banana mania": (0xFB, 0xE7, 0xB2),
1416 "marigold yellow": (0xFB, 0xE8, 0x70),
1417 "festival": (0xFB, 0xE9, 0x6C),
1418 "sweet corn": (0xFB, 0xEA, 0x8C),
1419 "candy corn": (0xFB, 0xEC, 0x5D),
1420 "hint of red": (0xFB, 0xF9, 0xF9),
1421 "shalimar": (0xFB, 0xFF, 0xBA),
1422 "shocking pink": (0xFC, 0x0F, 0xC0),
1423 "tickle me pink": (0xFC, 0x80, 0xA5),
1424 "tree poppy": (0xFC, 0x9C, 0x1D),
1425 "lightning yellow": (0xFC, 0xC0, 0x1E),
1426 "goldenrod": (0xFC, 0xD6, 0x67),
1427 "candlelight": (0xFC, 0xD9, 0x17),
1428 "cherokee": (0xFC, 0xDA, 0x98),
1429 "double pearl lusta": (0xFC, 0xF4, 0xD0),
1430 "pearl lusta": (0xFC, 0xF4, 0xDC),
1431 "vista white": (0xFC, 0xF8, 0xF7),
1432 "bianca": (0xFC, 0xFB, 0xF3),
1433 "moon glow": (0xFC, 0xFE, 0xDA),
1434 "china ivory": (0xFC, 0xFF, 0xE7),
1435 "ceramic": (0xFC, 0xFF, 0xF9),
1436 "torch red": (0xFD, 0x0E, 0x35),
1437 "wild watermelon": (0xFD, 0x5B, 0x78),
1438 "crusta": (0xFD, 0x7B, 0x33),
1439 "sorbus": (0xFD, 0x7C, 0x07),
1440 "sweet pink": (0xFD, 0x9F, 0xA2),
1441 "light apricot": (0xFD, 0xD5, 0xB1),
1442 "pig pink": (0xFD, 0xD7, 0xE4),
1443 "cinderella": (0xFD, 0xE1, 0xDC),
1444 "golden glow": (0xFD, 0xE2, 0x95),
1445 "lemon": (0xFD, 0xE9, 0x10),
1446 "old lace": (0xFD, 0xF5, 0xE6),
1447 "half colonial white": (0xFD, 0xF6, 0xD3),
1448 "drover": (0xFD, 0xF7, 0xAD),
1449 "pale prim": (0xFD, 0xFE, 0xB8),
1450 "cumulus": (0xFD, 0xFF, 0xD5),
1451 "persian rose": (0xFE, 0x28, 0xA2),
1452 "sunset orange": (0xFE, 0x4C, 0x40),
1453 "bittersweet": (0xFE, 0x6F, 0x5E),
1454 "california": (0xFE, 0x9D, 0x04),
1455 "yellow sea": (0xFE, 0xA9, 0x04),
1456 "melon": (0xFE, 0xBA, 0xAD),
1457 "bright sun": (0xFE, 0xD3, 0x3C),
1458 "dandelion": (0xFE, 0xD8, 0x5D),
1459 "salomie": (0xFE, 0xDB, 0x8D),
1460 "cape honey": (0xFE, 0xE5, 0xAC),
1461 "remy": (0xFE, 0xEB, 0xF3),
1462 "oasis": (0xFE, 0xEF, 0xCE),
1463 "bridesmaid": (0xFE, 0xF0, 0xEC),
1464 "beeswax": (0xFE, 0xF2, 0xC7),
1465 "bleach white": (0xFE, 0xF3, 0xD8),
1466 "pipi": (0xFE, 0xF4, 0xCC),
1467 "half spanish white": (0xFE, 0xF4, 0xDB),
1468 "wisp pink": (0xFE, 0xF4, 0xF8),
1469 "provincial pink": (0xFE, 0xF5, 0xF1),
1470 "half dutch white": (0xFE, 0xF7, 0xDE),
1471 "solitaire": (0xFE, 0xF8, 0xE2),
1472 "white pointer": (0xFE, 0xF8, 0xFF),
1473 "off yellow": (0xFE, 0xF9, 0xE3),
1474 "orange white": (0xFE, 0xFC, 0xED),
1475 "red": (0xFF, 0x00, 0x00),
1476 "dark red": (0x64, 0x00, 0x00),
1477 "rose": (0xFF, 0x00, 0x7F),
1478 "purple pizzazz": (0xFF, 0x00, 0xCC),
1479 "magenta": (0xFF, 0x00, 0xFF),
1480 "fuchsia": (0xFF, 0x00, 0xFF),
1481 "dark magenta": (0xAF, 0x00, 0xAF),
1482 "scarlet": (0xFF, 0x24, 0x00),
1483 "wild strawberry": (0xFF, 0x33, 0x99),
1484 "razzle dazzle rose": (0xFF, 0x33, 0xCC),
1485 "radical red": (0xFF, 0x35, 0x5E),
1486 "red orange": (0xFF, 0x3F, 0x34),
1487 "coral red": (0xFF, 0x40, 0x40),
1488 "vermilion": (0xFF, 0x4D, 0x00),
1489 "international orange": (0xFF, 0x4F, 0x00),
1490 "outrageous orange": (0xFF, 0x60, 0x37),
1491 "blaze orange": (0xFF, 0x66, 0x00),
1492 "pink flamingo": (0xFF, 0x66, 0xFF),
1493 "orange": (0xFF, 0x68, 0x1F),
1494 "hot pink": (0xFF, 0x69, 0xB4),
1495 "persimmon": (0xFF, 0x6B, 0x53),
1496 "blush pink": (0xFF, 0x6F, 0xFF),
1497 "burning orange": (0xFF, 0x70, 0x34),
1498 "pumpkin": (0xFF, 0x75, 0x18),
1499 "flamenco": (0xFF, 0x7D, 0x07),
1500 "flush orange": (0xFF, 0x7F, 0x00),
1501 "coral": (0xFF, 0x7F, 0x50),
1502 "salmon": (0xFF, 0x8C, 0x69),
1503 "pizazz": (0xFF, 0x90, 0x00),
1504 "west side": (0xFF, 0x91, 0x0F),
1505 "pink salmon": (0xFF, 0x91, 0xA4),
1506 "neon carrot": (0xFF, 0x99, 0x33),
1507 "atomic tangerine": (0xFF, 0x99, 0x66),
1508 "vivid tangerine": (0xFF, 0x99, 0x80),
1509 "sunshade": (0xFF, 0x9E, 0x2C),
1510 "orange peel": (0xFF, 0xA0, 0x00),
1511 "mona lisa": (0xFF, 0xA1, 0x94),
1512 "web orange": (0xFF, 0xA5, 0x00),
1513 "carnation pink": (0xFF, 0xA6, 0xC9),
1514 "hit pink": (0xFF, 0xAB, 0x81),
1515 "yellow orange": (0xFF, 0xAE, 0x42),
1516 "cornflower lilac": (0xFF, 0xB0, 0xAC),
1517 "sundown": (0xFF, 0xB1, 0xB3),
1518 "my sin": (0xFF, 0xB3, 0x1F),
1519 "texas rose": (0xFF, 0xB5, 0x55),
1520 "cotton candy": (0xFF, 0xB7, 0xD5),
1521 "macaroni and cheese": (0xFF, 0xB9, 0x7B),
1522 "selective yellow": (0xFF, 0xBA, 0x00),
1523 "koromiko": (0xFF, 0xBD, 0x5F),
1524 "amber": (0xFF, 0xBF, 0x00),
1525 "wax flower": (0xFF, 0xC0, 0xA8),
1526 "pink": (0xFF, 0xC0, 0xCB),
1527 "your pink": (0xFF, 0xC3, 0xC0),
1528 "supernova": (0xFF, 0xC9, 0x01),
1529 "flesh": (0xFF, 0xCB, 0xA4),
1530 "sunglow": (0xFF, 0xCC, 0x33),
1531 "golden tainoi": (0xFF, 0xCC, 0x5C),
1532 "peach orange": (0xFF, 0xCC, 0x99),
1533 "chardonnay": (0xFF, 0xCD, 0x8C),
1534 "pastel pink": (0xFF, 0xD1, 0xDC),
1535 "romantic": (0xFF, 0xD2, 0xB7),
1536 "grandis": (0xFF, 0xD3, 0x8C),
1537 "gold": (0xFF, 0xD7, 0x00),
1538 "school bus yellow": (0xFF, 0xD8, 0x00),
1539 "cosmos": (0xFF, 0xD8, 0xD9),
1540 "mustard": (0xFF, 0xDB, 0x58),
1541 "peach schnapps": (0xFF, 0xDC, 0xD6),
1542 "caramel": (0xFF, 0xDD, 0xAF),
1543 "tuft bush": (0xFF, 0xDD, 0xCD),
1544 "watusi": (0xFF, 0xDD, 0xCF),
1545 "pink lace": (0xFF, 0xDD, 0xF4),
1546 "navajo white": (0xFF, 0xDE, 0xAD),
1547 "frangipani": (0xFF, 0xDE, 0xB3),
1548 "pippin": (0xFF, 0xE1, 0xDF),
1549 "pale rose": (0xFF, 0xE1, 0xF2),
1550 "negroni": (0xFF, 0xE2, 0xC5),
1551 "cream brulee": (0xFF, 0xE5, 0xA0),
1552 "peach": (0xFF, 0xE5, 0xB4),
1553 "tequila": (0xFF, 0xE6, 0xC7),
1554 "kournikova": (0xFF, 0xE7, 0x72),
1555 "sandy beach": (0xFF, 0xEA, 0xC8),
1556 "karry": (0xFF, 0xEA, 0xD4),
1557 "broom": (0xFF, 0xEC, 0x13),
1558 "colonial white": (0xFF, 0xED, 0xBC),
1559 "derby": (0xFF, 0xEE, 0xD8),
1560 "vis vis": (0xFF, 0xEF, 0xA1),
1561 "egg white": (0xFF, 0xEF, 0xC1),
1562 "papaya whip": (0xFF, 0xEF, 0xD5),
1563 "fair pink": (0xFF, 0xEF, 0xEC),
1564 "peach cream": (0xFF, 0xF0, 0xDB),
1565 "lavender blush": (0xFF, 0xF0, 0xF5),
1566 "gorse": (0xFF, 0xF1, 0x4F),
1567 "buttermilk": (0xFF, 0xF1, 0xB5),
1568 "pink lady": (0xFF, 0xF1, 0xD8),
1569 "forget me not": (0xFF, 0xF1, 0xEE),
1570 "tutu": (0xFF, 0xF1, 0xF9),
1571 "picasso": (0xFF, 0xF3, 0x9D),
1572 "chardon": (0xFF, 0xF3, 0xF1),
1573 "paris daisy": (0xFF, 0xF4, 0x6E),
1574 "barley white": (0xFF, 0xF4, 0xCE),
1575 "egg sour": (0xFF, 0xF4, 0xDD),
1576 "sazerac": (0xFF, 0xF4, 0xE0),
1577 "serenade": (0xFF, 0xF4, 0xE8),
1578 "chablis": (0xFF, 0xF4, 0xF3),
1579 "seashell peach": (0xFF, 0xF5, 0xEE),
1580 "sauvignon": (0xFF, 0xF5, 0xF3),
1581 "milk punch": (0xFF, 0xF6, 0xD4),
1582 "varden": (0xFF, 0xF6, 0xDF),
1583 "rose white": (0xFF, 0xF6, 0xF5),
1584 "baja white": (0xFF, 0xF8, 0xD1),
1585 "gin fizz": (0xFF, 0xF9, 0xE2),
1586 "early dawn": (0xFF, 0xF9, 0xE6),
1587 "lemon chiffon": (0xFF, 0xFA, 0xCD),
1588 "bridal heath": (0xFF, 0xFA, 0xF4),
1589 "scotch mist": (0xFF, 0xFB, 0xDC),
1590 "soapstone": (0xFF, 0xFB, 0xF9),
1591 "witch haze": (0xFF, 0xFC, 0x99),
1592 "buttery white": (0xFF, 0xFC, 0xEA),
1593 "island spice": (0xFF, 0xFC, 0xEE),
1594 "cream": (0xFF, 0xFD, 0xD0),
1595 "chilean heath": (0xFF, 0xFD, 0xE6),
1596 "travertine": (0xFF, 0xFD, 0xE8),
1597 "orchid white": (0xFF, 0xFD, 0xF3),
1598 "quarter pearl lusta": (0xFF, 0xFD, 0xF4),
1599 "half and half": (0xFF, 0xFE, 0xE1),
1600 "apricot white": (0xFF, 0xFE, 0xEC),
1601 "rice cake": (0xFF, 0xFE, 0xF0),
1602 "black white": (0xFF, 0xFE, 0xF6),
1603 "romance": (0xFF, 0xFE, 0xFD),
1604 "yellow": (0xFF, 0xFF, 0x00),
1605 "laser lemon": (0xFF, 0xFF, 0x66),
1606 "pale canary": (0xFF, 0xFF, 0x99),
1607 "portafino": (0xFF, 0xFF, 0xB4),
1608 "ivory": (0xFF, 0xFF, 0xF0),
1609 "white": (0xFF, 0xFF, 0xFF),
1617 def clear_screen() -> str:
1625 def normal() -> str:
1633 def italic() -> str:
1637 def italics() -> str:
1641 def underline() -> str:
1645 def strikethrough() -> str:
1649 def strike_through() -> str:
1650 return strikethrough()
1653 def is_16color(num: int) -> bool:
1654 return num in (255, 128)
1657 def is_216color(num: int) -> bool:
1658 return num in set([0, 95, 135, 175, 223, 255])
1661 def _simple_color_number(red: int, green: int, blue: int) -> int:
1665 return b << 2 | g << 1 | r
1668 def fg_16color(red: int, green: int, blue: int) -> str:
1669 code = _simple_color_number(red, green, blue) + 30
1677 if bright_count > 1:
1679 return f"
\e[{code}m"
1682 def bg_16color(red: int, green: int, blue: int) -> str:
1683 code = _simple_color_number(red, green, blue) + 40
1691 if bright_count > 1:
1693 return f"
\e[{code}m"
1696 def _pixel_to_216color(n: int) -> int:
1710 def fg_216color(red: int, green: int, blue: int) -> str:
1711 r = _pixel_to_216color(red)
1712 g = _pixel_to_216color(green)
1713 b = _pixel_to_216color(blue)
1714 code = 16 + r * 36 + g * 6 + b
1715 return f"
\e[38;5;{code}m"
1718 def bg_216color(red: int, green: int, blue: int) -> str:
1719 r = _pixel_to_216color(red)
1720 g = _pixel_to_216color(green)
1721 b = _pixel_to_216color(blue)
1722 code = 16 + r * 36 + g * 6 + b
1723 return f"
\e[48;5;{code}m"
1726 def fg_24bit(red: int, green: int, blue: int) -> str:
1727 return f"
\e[38;2;{red};{green};{blue}m"
1730 def bg_24bit(red: int, green: int, blue: int) -> str:
1731 return f"
\e[48;2;{red};{green};{blue}m"
1734 def _find_color_by_name(name: str) -> Tuple[int, int, int]:
1735 rgb = COLOR_NAMES_TO_RGB.get(name.lower(), None)
1737 name = guess_name(name)
1738 rgb = COLOR_NAMES_TO_RGB.get(name.lower(), None)
1739 assert rgb is not None
1743 @logging_utils.squelch_repeated_log_messages(1)
1745 name: Optional[str] = "",
1746 red: Optional[int] = None,
1747 green: Optional[int] = None,
1748 blue: Optional[int] = None,
1750 force_16color: bool = False,
1751 force_216color: bool = False,
1753 """Return the ANSI escape sequence to change the foreground color
1754 being printed. Target colors may be indicated by name or R/G/B.
1755 Result will use the 16 or 216 color scheme if force_16color or
1756 force_216color are passed (respectively). Otherwise the code will
1757 do what it thinks best.
1759 >>> import string_utils as su
1760 >>> su.to_base64(fg('blue'))
1761 b'G1szODs1OzIxbQ==\\n'
1764 if name is not None and name == 'reset':
1767 if name is not None and string_utils.is_full_string(name):
1768 rgb = _find_color_by_name(name)
1774 force_16color=force_16color,
1775 force_216color=force_216color,
1784 if (is_16color(red) and is_16color(green) and is_16color(blue)) or force_16color:
1785 logger.debug("Using 16-color strategy")
1786 return fg_16color(red, green, blue)
1787 if (is_216color(red) and is_216color(green) and is_216color(blue)) or force_216color:
1788 logger.debug("Using 216-color strategy")
1789 return fg_216color(red, green, blue)
1790 logger.debug("Using 24-bit color strategy")
1791 return fg_24bit(red, green, blue)
1794 def _rgb_to_yiq(rgb: Tuple[int, int, int]) -> int:
1795 return (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) // 1000
1798 def _contrast(rgb: Tuple[int, int, int]) -> Tuple[int, int, int]:
1799 if _rgb_to_yiq(rgb) < 128:
1800 return (0xFF, 0xFF, 0xFF)
1804 def pick_contrasting_color(
1805 name: Optional[str] = "",
1806 red: Optional[int] = None,
1807 green: Optional[int] = None,
1808 blue: Optional[int] = None,
1809 ) -> Tuple[int, int, int]:
1810 """This method will return a red, green, blue tuple representing a
1811 contrasting color given the red, green, blue of a background
1812 color or a color name of the background color.
1814 >>> pick_contrasting_color(None, 20, 20, 20)
1817 >>> pick_contrasting_color("white")
1821 if name is not None and string_utils.is_full_string(name):
1822 rgb = _find_color_by_name(name)
1824 r = red if red is not None else 0
1825 g = green if green is not None else 0
1826 b = blue if blue is not None else 0
1828 assert rgb is not None
1829 return _contrast(rgb)
1832 def guess_name(name: str) -> str:
1835 for possibility in COLOR_NAMES_TO_RGB:
1836 r = difflib.SequenceMatcher(None, name, possibility).ratio()
1837 if max_ratio is None or r > max_ratio:
1839 best_guess = possibility
1840 assert best_guess is not None
1841 logger.debug("Best guess at color name is %s", best_guess)
1845 @logging_utils.squelch_repeated_log_messages(1)
1847 name: Optional[str] = "",
1848 red: Optional[int] = None,
1849 green: Optional[int] = None,
1850 blue: Optional[int] = None,
1852 force_16color: bool = False,
1853 force_216color: bool = False,
1855 """Returns an ANSI color code for changing the current background
1858 >>> import string_utils as su
1859 >>> su.to_base64(bg("red")) # b'\x1b[48;5;196m'
1860 b'G1s0ODs1OzE5Nm0=\\n'
1863 if name is not None and name == 'reset':
1866 if name is not None and string_utils.is_full_string(name):
1867 rgb = _find_color_by_name(name)
1873 force_16color=force_16color,
1874 force_216color=force_216color,
1882 if (is_16color(red) and is_16color(green) and is_16color(blue)) or force_16color:
1883 logger.debug("Using 16-color strategy")
1884 return bg_16color(red, green, blue)
1885 if (is_216color(red) and is_216color(green) and is_216color(blue)) or force_216color:
1886 logger.debug("Using 216-color strategy")
1887 return bg_216color(red, green, blue)
1888 logger.debug("Using 24-bit color strategy")
1889 return bg_24bit(red, green, blue)
1892 class StdoutInterceptor(io.TextIOBase, contextlib.AbstractContextManager):
1893 """An interceptor for data written to stdout. Use as a context."""
1897 self.saved_stdout: io.TextIO = None
1901 def write(self, s: str):
1904 def __enter__(self):
1905 self.saved_stdout = sys.stdout
1909 def __exit__(self, *args) -> Literal[False]:
1910 sys.stdout = self.saved_stdout
1915 class ProgrammableColorizer(StdoutInterceptor):
1916 """A colorizing interceptor; pass it re.Patterns -> methods that do
1917 something (usually add color to) the match.
1923 patterns: Iterable[Tuple[re.Pattern, Callable[[Any, re.Pattern], str]]],
1926 self.patterns = list(patterns)
1929 def write(self, s: str):
1930 for pattern in self.patterns:
1931 s = pattern[0].sub(pattern[1], s)
1935 if __name__ == '__main__':
1942 name = " ".join(sys.argv[1:])
1943 for possibility in COLOR_NAMES_TO_RGB:
1944 if name in possibility:
1947 _ = pick_contrasting_color(possibility)
1948 xf = fg(None, _[0], _[1], _[2])
1949 xb = bg(None, _[0], _[1], _[2])
1950 print(f'{f}{xb}{possibility}{reset()}\t\t\t' f'{b}{xf}{possibility}{reset()}')