GLVis  v4.2
Accurate and flexible finite element visualization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
palettes.cpp
Go to the documentation of this file.
1 // Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
2 // at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3 // LICENSE and NOTICE for details. LLNL-CODE-443271.
4 //
5 // This file is part of the GLVis visualization tool and library. For more
6 // information and source code availability see https://glvis.org.
7 //
8 // GLVis is free software; you can redistribute it and/or modify it under the
9 // terms of the BSD-3 license. We welcome feedback and contributions, see file
10 // CONTRIBUTING.md for details.
11 
12 #include "palettes.hpp"
13 #include "gl/renderer.hpp"
14 
15 #include <cmath>
16 #include <cstdio>
17 #include <cmath>
18 #include <iostream>
19 #include <iomanip>
20 #include <mutex>
21 
22 using namespace std;
23 
24 const int RGB_Palette_1_Size = 5;
26 {
27  { 0, 0, 1 },
28  { 0, 1, 1 },
29  { 0, 1, 0 },
30  { 1, 1, 0 },
31  { 1, 0, 0 }
32 };
33 
34 const int RGB_Palette_2_Size = 2;
36 {
37  { 1.0, 0.0, 0.0 },
38  { 1.0, 0.0, 0.0 }
39 };
40 
41 const int RGB_Palette_3_Size = 65;
43 {
44  { 0, 0, 0.5000 },
45  { 0, 0, 0.5625 },
46  { 0, 0, 0.6250 },
47  { 0, 0, 0.6875 },
48  { 0, 0, 0.7500 },
49  { 0, 0, 0.8125 },
50  { 0, 0, 0.8750 },
51  { 0, 0, 0.9375 },
52  { 0, 0, 1.0000 },
53  { 0, 0.0625, 1.0000 },
54  { 0, 0.1250, 1.0000 },
55  { 0, 0.1875, 1.0000 },
56  { 0, 0.2500, 1.0000 },
57  { 0, 0.3125, 1.0000 },
58  { 0, 0.3750, 1.0000 },
59  { 0, 0.4375, 1.0000 },
60  { 0, 0.5000, 1.0000 },
61  { 0, 0.5625, 1.0000 },
62  { 0, 0.6250, 1.0000 },
63  { 0, 0.6875, 1.0000 },
64  { 0, 0.7500, 1.0000 },
65  { 0, 0.8125, 1.0000 },
66  { 0, 0.8750, 1.0000 },
67  { 0, 0.9375, 1.0000 },
68 
69 #if 0
70  // original
71  { 0, 1.0000, 1.0000 },
72  { 0.0625, 1.0000, 0.9375 },
73  { 0.1250, 1.0000, 0.8750 },
74  { 0.1875, 1.0000, 0.8125 },
75  { 0.2500, 1.0000, 0.7500 },
76  { 0.3125, 1.0000, 0.6875 },
77  { 0.3750, 1.0000, 0.6250 },
78  { 0.4375, 1.0000, 0.5625 },
79  { 0.5000, 1.0000, 0.5000 },
80 
81  { 0.5625, 1.0000, 0.4375 },
82  { 0.6250, 1.0000, 0.3750 },
83  { 0.6875, 1.0000, 0.3125 },
84  { 0.7500, 1.0000, 0.2500 },
85  { 0.8125, 1.0000, 0.1875 },
86  { 0.8750, 1.0000, 0.1250 },
87  { 0.9375, 1.0000, 0.0625 },
88  { 1.0000, 1.0000, 0 },
89 #else
90  // modification
91  { 0, 1.0000, 1.0000 },
92  { 0, 0.9750, 0.8750 },
93  { 0, 0.9500, 0.7500 },
94  { 0, 0.9250, 0.6250 },
95  { 0, 0.9000, 0.5000 },
96  { 0, 0.8750, 0.3750 },
97  { 0, 0.8500, 0.2500 },
98  { 0, 0.8250, 0.1250 },
99  { 0, 0.8000, 0 },
100 
101  // x=[1/8:1/8:1]
102  // red=x.^(.6)
103  { 0.2872, 0.8250, 0 },
104  { 0.4353, 0.8500, 0 },
105  { 0.5552, 0.8750, 0 },
106  { 0.6598, 0.9000, 0 },
107  { 0.7543, 0.9250, 0 },
108  { 0.8415, 0.9500, 0 },
109  { 0.9230, 0.9750, 0 },
110  { 1.0000, 1.0000, 0 },
111 #endif
112 
113  { 1.0000, 0.9375, 0 },
114  { 1.0000, 0.8750, 0 },
115  { 1.0000, 0.8125, 0 },
116  { 1.0000, 0.7500, 0 },
117  { 1.0000, 0.6875, 0 },
118  { 1.0000, 0.6250, 0 },
119  { 1.0000, 0.5625, 0 },
120  { 1.0000, 0.5000, 0 },
121  { 1.0000, 0.4375, 0 },
122  { 1.0000, 0.3750, 0 },
123  { 1.0000, 0.3125, 0 },
124  { 1.0000, 0.2500, 0 },
125  { 1.0000, 0.1875, 0 },
126  { 1.0000, 0.1250, 0 },
127  { 1.0000, 0.0625, 0 },
128  { 1.0000, 0, 0 },
129  { 0.9375, 0, 0 },
130  { 0.8750, 0, 0 },
131  { 0.8125, 0, 0 },
132  { 0.7500, 0, 0 },
133  { 0.6875, 0, 0 },
134  { 0.6250, 0, 0 },
135  { 0.5625, 0, 0 },
136  { 0.5000, 0, 0 }
137 };
138 
139 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
140 const int RGB_Palette_4_Size = 11; // CBR_coldhot.rgb
142 {
143  {0.019531, 0.187500, 0.378906},
144  {0.128906, 0.398438, 0.671875},
145  {0.261719, 0.574219, 0.761719},
146  {0.570312, 0.769531, 0.867188},
147  {0.816406, 0.894531, 0.937500},
148  {0.964844, 0.964844, 0.964844},
149  {0.992188, 0.855469, 0.777344},
150  {0.953125, 0.644531, 0.507812},
151  {0.835938, 0.375000, 0.300781},
152  {0.695312, 0.093750, 0.167969},
153  {0.402344, 0.000000, 0.121094}
154 };
155 
156 const int RGB_Palette_5_Size = 64; // bone
158 {
159  { 0, 0, 0.0052083333 },
160  { 0.013888889, 0.013888889, 0.024305556 },
161  { 0.027777778, 0.027777778, 0.043402778 },
162  { 0.041666667, 0.041666667, 0.0625 },
163  { 0.055555556, 0.055555556, 0.081597222 },
164  { 0.069444444, 0.069444444, 0.10069444 },
165  { 0.083333333, 0.083333333, 0.11979167 },
166  { 0.097222222, 0.097222222, 0.13888889 },
167  { 0.11111111, 0.11111111, 0.15798611 },
168  { 0.125, 0.125, 0.17708333 },
169  { 0.13888889, 0.13888889, 0.19618056 },
170  { 0.15277778, 0.15277778, 0.21527778 },
171  { 0.16666667, 0.16666667, 0.234375 },
172  { 0.18055556, 0.18055556, 0.25347222 },
173  { 0.19444444, 0.19444444, 0.27256944 },
174  { 0.20833333, 0.20833333, 0.29166667 },
175  { 0.22222222, 0.22222222, 0.31076389 },
176  { 0.23611111, 0.23611111, 0.32986111 },
177  { 0.25, 0.25, 0.34895833 },
178  { 0.26388889, 0.26388889, 0.36805556 },
179  { 0.27777778, 0.27777778, 0.38715278 },
180  { 0.29166667, 0.29166667, 0.40625 },
181  { 0.30555556, 0.30555556, 0.42534722 },
182  { 0.31944444, 0.31944444, 0.44444444 },
183  { 0.33333333, 0.33854167, 0.45833333 },
184  { 0.34722222, 0.35763889, 0.47222222 },
185  { 0.36111111, 0.37673611, 0.48611111 },
186  { 0.375, 0.39583333, 0.5 },
187  { 0.38888889, 0.41493056, 0.51388889 },
188  { 0.40277778, 0.43402778, 0.52777778 },
189  { 0.41666667, 0.453125, 0.54166667 },
190  { 0.43055556, 0.47222222, 0.55555556 },
191  { 0.44444444, 0.49131944, 0.56944444 },
192  { 0.45833333, 0.51041667, 0.58333333 },
193  { 0.47222222, 0.52951389, 0.59722222 },
194  { 0.48611111, 0.54861111, 0.61111111 },
195  { 0.5, 0.56770833, 0.625 },
196  { 0.51388889, 0.58680556, 0.63888889 },
197  { 0.52777778, 0.60590278, 0.65277778 },
198  { 0.54166667, 0.625, 0.66666667 },
199  { 0.55555556, 0.64409722, 0.68055556 },
200  { 0.56944444, 0.66319444, 0.69444444 },
201  { 0.58333333, 0.68229167, 0.70833333 },
202  { 0.59722222, 0.70138889, 0.72222222 },
203  { 0.61111111, 0.72048611, 0.73611111 },
204  { 0.625, 0.73958333, 0.75 },
205  { 0.63888889, 0.75868056, 0.76388889 },
206  { 0.65277778, 0.77777778, 0.77777778 },
207  { 0.67447917, 0.79166667, 0.79166667 },
208  { 0.69618056, 0.80555556, 0.80555556 },
209  { 0.71788194, 0.81944444, 0.81944444 },
210  { 0.73958333, 0.83333333, 0.83333333 },
211  { 0.76128472, 0.84722222, 0.84722222 },
212  { 0.78298611, 0.86111111, 0.86111111 },
213  { 0.8046875, 0.875, 0.875 },
214  { 0.82638889, 0.88888889, 0.88888889 },
215  { 0.84809028, 0.90277778, 0.90277778 },
216  { 0.86979167, 0.91666667, 0.91666667 },
217  { 0.89149306, 0.93055556, 0.93055556 },
218  { 0.91319444, 0.94444444, 0.94444444 },
219  { 0.93489583, 0.95833333, 0.95833333 },
220  { 0.95659722, 0.97222222, 0.97222222 },
221  { 0.97829861, 0.98611111, 0.98611111 },
222  { 1, 1, 1 }
223 };
224 
225 const int RGB_Palette_6_Size = 64; // hot
227 {
228  { 0.041666667, 0, 0 },
229  { 0.083333333, 0, 0 },
230  { 0.125, 0, 0 },
231  { 0.16666667, 0, 0 },
232  { 0.20833333, 0, 0 },
233  { 0.25, 0, 0 },
234  { 0.29166667, 0, 0 },
235  { 0.33333333, 0, 0 },
236  { 0.375, 0, 0 },
237  { 0.41666667, 0, 0 },
238  { 0.45833333, 0, 0 },
239  { 0.5, 0, 0 },
240  { 0.54166667, 0, 0 },
241  { 0.58333333, 0, 0 },
242  { 0.625, 0, 0 },
243  { 0.66666667, 0, 0 },
244  { 0.70833333, 0, 0 },
245  { 0.75, 0, 0 },
246  { 0.79166667, 0, 0 },
247  { 0.83333333, 0, 0 },
248  { 0.875, 0, 0 },
249  { 0.91666667, 0, 0 },
250  { 0.95833333, 0, 0 },
251  { 1, 0, 0 },
252  { 1, 0.041666667, 0 },
253  { 1, 0.083333333, 0 },
254  { 1, 0.125, 0 },
255  { 1, 0.16666667, 0 },
256  { 1, 0.20833333, 0 },
257  { 1, 0.25, 0 },
258  { 1, 0.29166667, 0 },
259  { 1, 0.33333333, 0 },
260  { 1, 0.375, 0 },
261  { 1, 0.41666667, 0 },
262  { 1, 0.45833333, 0 },
263  { 1, 0.5, 0 },
264  { 1, 0.54166667, 0 },
265  { 1, 0.58333333, 0 },
266  { 1, 0.625, 0 },
267  { 1, 0.66666667, 0 },
268  { 1, 0.70833333, 0 },
269  { 1, 0.75, 0 },
270  { 1, 0.79166667, 0 },
271  { 1, 0.83333333, 0 },
272  { 1, 0.875, 0 },
273  { 1, 0.91666667, 0 },
274  { 1, 0.95833333, 0 },
275  { 1, 1, 0 },
276  { 1, 1, 0.0625 },
277  { 1, 1, 0.125 },
278  { 1, 1, 0.1875 },
279  { 1, 1, 0.25 },
280  { 1, 1, 0.3125 },
281  { 1, 1, 0.375 },
282  { 1, 1, 0.4375 },
283  { 1, 1, 0.5 },
284  { 1, 1, 0.5625 },
285  { 1, 1, 0.625 },
286  { 1, 1, 0.6875 },
287  { 1, 1, 0.75 },
288  { 1, 1, 0.8125 },
289  { 1, 1, 0.875 },
290  { 1, 1, 0.9375 },
291  { 1, 1, 1 }
292 };
293 
294 const int RGB_Palette_7_Size = 64; // pink
296 {
297  { 0.11785113, 0, 0 },
298  { 0.19585655, 0.1028689, 0.1028689 },
299  { 0.2506605, 0.14547859, 0.14547859 },
300  { 0.29546842, 0.17817416, 0.17817416 },
301  { 0.33432392, 0.2057378, 0.2057378 },
302  { 0.36911162, 0.23002185, 0.23002185 },
303  { 0.40089186, 0.25197632, 0.25197632 },
304  { 0.43033148, 0.27216553, 0.27216553 },
305  { 0.45788217, 0.29095719, 0.29095719 },
306  { 0.4838667, 0.3086067, 0.3086067 },
307  { 0.5085252, 0.32530002, 0.32530002 },
308  { 0.53204209, 0.34117754, 0.34117754 },
309  { 0.5545626, 0.35634832, 0.35634832 },
310  { 0.57620359, 0.37089909, 0.37089909 },
311  { 0.5970607, 0.38490018, 0.38490018 },
312  { 0.6172134, 0.39840954, 0.39840954 },
313  { 0.63672858, 0.4114756, 0.4114756 },
314  { 0.65566316, 0.42413934, 0.42413934 },
315  { 0.67406608, 0.43643578, 0.43643578 },
316  { 0.69197975, 0.44839514, 0.44839514 },
317  { 0.70944124, 0.46004371, 0.46004371 },
318  { 0.72648316, 0.47140452, 0.47140452 },
319  { 0.74313436, 0.48249791, 0.48249791 },
320  { 0.75942055, 0.49334191, 0.49334191 },
321  { 0.76635604, 0.51754917, 0.50395263 },
322  { 0.77322933, 0.54067369, 0.5143445 },
323  { 0.78004206, 0.56284895, 0.52453053 },
324  { 0.78679579, 0.58418305, 0.53452248 },
325  { 0.79349205, 0.60476503, 0.54433105 },
326  { 0.80013226, 0.62466922, 0.55396598 },
327  { 0.80671783, 0.64395849, 0.56343617 },
328  { 0.81325006, 0.66268653, 0.5727498 },
329  { 0.81973024, 0.68089965, 0.58191437 },
330  { 0.8261596, 0.69863813, 0.59093684 },
331  { 0.8325393, 0.71593724, 0.59982361 },
332  { 0.83887049, 0.73282811, 0.60858062 },
333  { 0.84515425, 0.74933833, 0.6172134 },
334  { 0.85139164, 0.76549254, 0.62572709 },
335  { 0.85758366, 0.78131283, 0.63412649 },
336  { 0.86373129, 0.79681907, 0.64241607 },
337  { 0.86983548, 0.81202927, 0.65060005 },
338  { 0.87589712, 0.82695975, 0.65868235 },
339  { 0.8819171, 0.84162541, 0.66666667 },
340  { 0.88789627, 0.85603985, 0.67455649 },
341  { 0.89383544, 0.87021557, 0.68235509 },
342  { 0.89973541, 0.88416403, 0.69006556 },
343  { 0.90559694, 0.89789584, 0.69769082 },
344  { 0.91142078, 0.91142078, 0.70523365 },
345  { 0.91720763, 0.91720763, 0.72716562 },
346  { 0.92295821, 0.92295821, 0.7484552 },
347  { 0.92867317, 0.92867317, 0.76915572 },
348  { 0.93435318, 0.93435318, 0.78931355 },
349  { 0.93999887, 0.93999887, 0.80896923 },
350  { 0.94561086, 0.94561086, 0.82815854 },
351  { 0.95118973, 0.95118973, 0.84691316 },
352  { 0.95673607, 0.95673607, 0.86526138 },
353  { 0.96225045, 0.96225045, 0.88322851 },
354  { 0.9677334, 0.9677334, 0.90083735 },
355  { 0.97318546, 0.97318546, 0.91810853 },
356  { 0.97860715, 0.97860715, 0.93506076 },
357  { 0.98399897, 0.98399897, 0.95171107 },
358  { 0.9893614, 0.9893614, 0.96807506 },
359  { 0.99469492, 0.99469492, 0.98416699 },
360  { 1, 1, 1 }
361 };
362 
363 const int RGB_Palette_8_Size = 64; // cool
365 {
366  { 0, 1, 1 },
367  { 0.015873016, 0.98412698, 1 },
368  { 0.031746032, 0.96825397, 1 },
369  { 0.047619048, 0.95238095, 1 },
370  { 0.063492063, 0.93650794, 1 },
371  { 0.079365079, 0.92063492, 1 },
372  { 0.095238095, 0.9047619, 1 },
373  { 0.11111111, 0.88888889, 1 },
374  { 0.12698413, 0.87301587, 1 },
375  { 0.14285714, 0.85714286, 1 },
376  { 0.15873016, 0.84126984, 1 },
377  { 0.17460317, 0.82539683, 1 },
378  { 0.19047619, 0.80952381, 1 },
379  { 0.20634921, 0.79365079, 1 },
380  { 0.22222222, 0.77777778, 1 },
381  { 0.23809524, 0.76190476, 1 },
382  { 0.25396825, 0.74603175, 1 },
383  { 0.26984127, 0.73015873, 1 },
384  { 0.28571429, 0.71428571, 1 },
385  { 0.3015873, 0.6984127, 1 },
386  { 0.31746032, 0.68253968, 1 },
387  { 0.33333333, 0.66666667, 1 },
388  { 0.34920635, 0.65079365, 1 },
389  { 0.36507937, 0.63492063, 1 },
390  { 0.38095238, 0.61904762, 1 },
391  { 0.3968254, 0.6031746, 1 },
392  { 0.41269841, 0.58730159, 1 },
393  { 0.42857143, 0.57142857, 1 },
394  { 0.44444444, 0.55555556, 1 },
395  { 0.46031746, 0.53968254, 1 },
396  { 0.47619048, 0.52380952, 1 },
397  { 0.49206349, 0.50793651, 1 },
398  { 0.50793651, 0.49206349, 1 },
399  { 0.52380952, 0.47619048, 1 },
400  { 0.53968254, 0.46031746, 1 },
401  { 0.55555556, 0.44444444, 1 },
402  { 0.57142857, 0.42857143, 1 },
403  { 0.58730159, 0.41269841, 1 },
404  { 0.6031746, 0.3968254, 1 },
405  { 0.61904762, 0.38095238, 1 },
406  { 0.63492063, 0.36507937, 1 },
407  { 0.65079365, 0.34920635, 1 },
408  { 0.66666667, 0.33333333, 1 },
409  { 0.68253968, 0.31746032, 1 },
410  { 0.6984127, 0.3015873, 1 },
411  { 0.71428571, 0.28571429, 1 },
412  { 0.73015873, 0.26984127, 1 },
413  { 0.74603175, 0.25396825, 1 },
414  { 0.76190476, 0.23809524, 1 },
415  { 0.77777778, 0.22222222, 1 },
416  { 0.79365079, 0.20634921, 1 },
417  { 0.80952381, 0.19047619, 1 },
418  { 0.82539683, 0.17460317, 1 },
419  { 0.84126984, 0.15873016, 1 },
420  { 0.85714286, 0.14285714, 1 },
421  { 0.87301587, 0.12698413, 1 },
422  { 0.88888889, 0.11111111, 1 },
423  { 0.9047619, 0.095238095, 1 },
424  { 0.92063492, 0.079365079, 1 },
425  { 0.93650794, 0.063492063, 1 },
426  { 0.95238095, 0.047619048, 1 },
427  { 0.96825397, 0.031746032, 1 },
428  { 0.98412698, 0.015873016, 1 },
429  { 1, 0, 1 }
430 };
431 
432 const int RGB_Palette_9_Size = 64; // summer
434 {
435  { 0, 0.5, 0.4 },
436  { 0.015873016, 0.50793651, 0.4 },
437  { 0.031746032, 0.51587302, 0.4 },
438  { 0.047619048, 0.52380952, 0.4 },
439  { 0.063492063, 0.53174603, 0.4 },
440  { 0.079365079, 0.53968254, 0.4 },
441  { 0.095238095, 0.54761905, 0.4 },
442  { 0.11111111, 0.55555556, 0.4 },
443  { 0.12698413, 0.56349206, 0.4 },
444  { 0.14285714, 0.57142857, 0.4 },
445  { 0.15873016, 0.57936508, 0.4 },
446  { 0.17460317, 0.58730159, 0.4 },
447  { 0.19047619, 0.5952381, 0.4 },
448  { 0.20634921, 0.6031746, 0.4 },
449  { 0.22222222, 0.61111111, 0.4 },
450  { 0.23809524, 0.61904762, 0.4 },
451  { 0.25396825, 0.62698413, 0.4 },
452  { 0.26984127, 0.63492063, 0.4 },
453  { 0.28571429, 0.64285714, 0.4 },
454  { 0.3015873, 0.65079365, 0.4 },
455  { 0.31746032, 0.65873016, 0.4 },
456  { 0.33333333, 0.66666667, 0.4 },
457  { 0.34920635, 0.67460317, 0.4 },
458  { 0.36507937, 0.68253968, 0.4 },
459  { 0.38095238, 0.69047619, 0.4 },
460  { 0.3968254, 0.6984127, 0.4 },
461  { 0.41269841, 0.70634921, 0.4 },
462  { 0.42857143, 0.71428571, 0.4 },
463  { 0.44444444, 0.72222222, 0.4 },
464  { 0.46031746, 0.73015873, 0.4 },
465  { 0.47619048, 0.73809524, 0.4 },
466  { 0.49206349, 0.74603175, 0.4 },
467  { 0.50793651, 0.75396825, 0.4 },
468  { 0.52380952, 0.76190476, 0.4 },
469  { 0.53968254, 0.76984127, 0.4 },
470  { 0.55555556, 0.77777778, 0.4 },
471  { 0.57142857, 0.78571429, 0.4 },
472  { 0.58730159, 0.79365079, 0.4 },
473  { 0.6031746, 0.8015873, 0.4 },
474  { 0.61904762, 0.80952381, 0.4 },
475  { 0.63492063, 0.81746032, 0.4 },
476  { 0.65079365, 0.82539683, 0.4 },
477  { 0.66666667, 0.83333333, 0.4 },
478  { 0.68253968, 0.84126984, 0.4 },
479  { 0.6984127, 0.84920635, 0.4 },
480  { 0.71428571, 0.85714286, 0.4 },
481  { 0.73015873, 0.86507937, 0.4 },
482  { 0.74603175, 0.87301587, 0.4 },
483  { 0.76190476, 0.88095238, 0.4 },
484  { 0.77777778, 0.88888889, 0.4 },
485  { 0.79365079, 0.8968254, 0.4 },
486  { 0.80952381, 0.9047619, 0.4 },
487  { 0.82539683, 0.91269841, 0.4 },
488  { 0.84126984, 0.92063492, 0.4 },
489  { 0.85714286, 0.92857143, 0.4 },
490  { 0.87301587, 0.93650794, 0.4 },
491  { 0.88888889, 0.94444444, 0.4 },
492  { 0.9047619, 0.95238095, 0.4 },
493  { 0.92063492, 0.96031746, 0.4 },
494  { 0.93650794, 0.96825397, 0.4 },
495  { 0.95238095, 0.97619048, 0.4 },
496  { 0.96825397, 0.98412698, 0.4 },
497  { 0.98412698, 0.99206349, 0.4 },
498  { 1, 1, 0.4 }
499 };
500 
501 const int RGB_Palette_10_Size = 64; // hsv
503 {
504  { 1, 0, 0 },
505  { 1, 0.09375, 0 },
506  { 1, 0.1875, 0 },
507  { 1, 0.28125, 0 },
508  { 1, 0.375, 0 },
509  { 1, 0.46875, 0 },
510  { 1, 0.5625, 0 },
511  { 1, 0.65625, 0 },
512  { 1, 0.75, 0 },
513  { 1, 0.84375, 0 },
514  { 1, 0.9375, 0 },
515  { 0.96875, 1, 0 },
516  { 0.875, 1, 0 },
517  { 0.78125, 1, 0 },
518  { 0.6875, 1, 0 },
519  { 0.59375, 1, 0 },
520  { 0.5, 1, 0 },
521  { 0.40625, 1, 0 },
522  { 0.3125, 1, 0 },
523  { 0.21875, 1, 0 },
524  { 0.125, 1, 0 },
525  { 0.03125, 1, 0 },
526  { 0, 1, 0.0625 },
527  { 0, 1, 0.15625 },
528  { 0, 1, 0.25 },
529  { 0, 1, 0.34375 },
530  { 0, 1, 0.4375 },
531  { 0, 1, 0.53125 },
532  { 0, 1, 0.625 },
533  { 0, 1, 0.71875 },
534  { 0, 1, 0.8125 },
535  { 0, 1, 0.90625 },
536  { 0, 1, 1 },
537  { 0, 0.90625, 1 },
538  { 0, 0.8125, 1 },
539  { 0, 0.71875, 1 },
540  { 0, 0.625, 1 },
541  { 0, 0.53125, 1 },
542  { 0, 0.4375, 1 },
543  { 0, 0.34375, 1 },
544  { 0, 0.25, 1 },
545  { 0, 0.15625, 1 },
546  { 0, 0.0625, 1 },
547  { 0.03125, 0, 1 },
548  { 0.125, 0, 1 },
549  { 0.21875, 0, 1 },
550  { 0.3125, 0, 1 },
551  { 0.40625, 0, 1 },
552  { 0.5, 0, 1 },
553  { 0.59375, 0, 1 },
554  { 0.6875, 0, 1 },
555  { 0.78125, 0, 1 },
556  { 0.875, 0, 1 },
557  { 0.96875, 0, 1 },
558  { 1, 0, 0.9375 },
559  { 1, 0, 0.84375 },
560  { 1, 0, 0.75 },
561  { 1, 0, 0.65625 },
562  { 1, 0, 0.5625 },
563  { 1, 0, 0.46875 },
564  { 1, 0, 0.375 },
565  { 1, 0, 0.28125 },
566  { 1, 0, 0.1875 },
567  { 1, 0, 0.09375 }
568 };
569 
570 const int RGB_Palette_11_Size = 64; // copper
572 {
573  { 0, 0, 0 },
574  { 0.01984127, 0.0124, 0.0078968254 },
575  { 0.03968254, 0.0248, 0.015793651 },
576  { 0.05952381, 0.0372, 0.023690476 },
577  { 0.079365079, 0.0496, 0.031587302 },
578  { 0.099206349, 0.062, 0.039484127 },
579  { 0.11904762, 0.0744, 0.047380952 },
580  { 0.13888889, 0.0868, 0.055277778 },
581  { 0.15873016, 0.0992, 0.063174603 },
582  { 0.17857143, 0.1116, 0.071071429 },
583  { 0.1984127, 0.124, 0.078968254 },
584  { 0.21825397, 0.1364, 0.086865079 },
585  { 0.23809524, 0.1488, 0.094761905 },
586  { 0.25793651, 0.1612, 0.10265873 },
587  { 0.27777778, 0.1736, 0.11055556 },
588  { 0.29761905, 0.186, 0.11845238 },
589  { 0.31746032, 0.1984, 0.12634921 },
590  { 0.33730159, 0.2108, 0.13424603 },
591  { 0.35714286, 0.2232, 0.14214286 },
592  { 0.37698413, 0.2356, 0.15003968 },
593  { 0.3968254, 0.248, 0.15793651 },
594  { 0.41666667, 0.2604, 0.16583333 },
595  { 0.43650794, 0.2728, 0.17373016 },
596  { 0.45634921, 0.2852, 0.18162698 },
597  { 0.47619048, 0.2976, 0.18952381 },
598  { 0.49603175, 0.31, 0.19742063 },
599  { 0.51587302, 0.3224, 0.20531746 },
600  { 0.53571429, 0.3348, 0.21321429 },
601  { 0.55555556, 0.3472, 0.22111111 },
602  { 0.57539683, 0.3596, 0.22900794 },
603  { 0.5952381, 0.372, 0.23690476 },
604  { 0.61507937, 0.3844, 0.24480159 },
605  { 0.63492063, 0.3968, 0.25269841 },
606  { 0.6547619, 0.4092, 0.26059524 },
607  { 0.67460317, 0.4216, 0.26849206 },
608  { 0.69444444, 0.434, 0.27638889 },
609  { 0.71428571, 0.4464, 0.28428571 },
610  { 0.73412698, 0.4588, 0.29218254 },
611  { 0.75396825, 0.4712, 0.30007937 },
612  { 0.77380952, 0.4836, 0.30797619 },
613  { 0.79365079, 0.496, 0.31587302 },
614  { 0.81349206, 0.5084, 0.32376984 },
615  { 0.83333333, 0.5208, 0.33166667 },
616  { 0.8531746, 0.5332, 0.33956349 },
617  { 0.87301587, 0.5456, 0.34746032 },
618  { 0.89285714, 0.558, 0.35535714 },
619  { 0.91269841, 0.5704, 0.36325397 },
620  { 0.93253968, 0.5828, 0.37115079 },
621  { 0.95238095, 0.5952, 0.37904762 },
622  { 0.97222222, 0.6076, 0.38694444 },
623  { 0.99206349, 0.62, 0.39484127 },
624  { 1, 0.6324, 0.4027381 },
625  { 1, 0.6448, 0.41063492 },
626  { 1, 0.6572, 0.41853175 },
627  { 1, 0.6696, 0.42642857 },
628  { 1, 0.682, 0.4343254 },
629  { 1, 0.6944, 0.44222222 },
630  { 1, 0.7068, 0.45011905 },
631  { 1, 0.7192, 0.45801587 },
632  { 1, 0.7316, 0.4659127 },
633  { 1, 0.744, 0.47380952 },
634  { 1, 0.7564, 0.48170635 },
635  { 1, 0.7688, 0.48960317 },
636  { 1, 0.7812, 0.4975 }
637 };
638 
639 const int RGB_Palette_12_Size = 2;
641 {
642  { 1.0, 1.0, 1.0 },
643  { 1.0, 1.0, 1.0 }
644 };
645 
646 /*
647  const int RGB_Palette_13_Size = 6;
648  double RGB_Palette_13[RGB_Palette_13_Size][3] =
649  {
650  { 0, 0, 1 },
651  { 0, 1, 1 },
652  { 0, 1, 0 },
653  { 1, 1, 0 },
654  { 1, 0, 0 },
655  { 1, 0, 1 }
656  };
657 
658  const int RGB_Palette_14_Size = 4;
659  double RGB_Palette_14[RGB_Palette_14_Size][3] =
660  {
661  { 0, 0, 1 },
662  { 0, 1, 0 },
663  { 1, 1, 0 },
664  { 1, 0, 0 }
665  };
666 
667  const int RGB_Palette_15_Size = 7;
668  double RGB_Palette_15[RGB_Palette_15_Size][3] =
669  {
670  { 0, 0, 1 },
671  { 0, 1, 1 },
672  { 0, 1, 0 },
673  { 1, 1, 0 },
674  { 1, 0.5, 0 },
675  { 1, 0, 0 },
676  { 1, 0, 1 }
677  };
678 
679  const int RGB_Palette_16_Size = 8;
680  double RGB_Palette_16[RGB_Palette_16_Size][3] =
681  {
682  { 0, 0, 1 },
683  { 0, 1, 1 },
684  { 0, 1, 0 },
685  { 1, 1, 0 },
686  { 1, 0.5, 0 },
687  { 1, 0, 0 },
688  { 1, 0, 1 },
689  { 0.5, 0, 1 }
690  };
691 */
692 
693 const int RGB_Palette_13_Size = (4*16+1); // vivid
695 
696 const int RGB_Palette_14_Size = 256; // gimp - BrushedAluminum
698 {
699  { 0.42968750, 0.44531250, 0.41015625 },
700  { 0.43750000, 0.44531250, 0.41406250 },
701  { 0.44140625, 0.44921875, 0.41796875 },
702  { 0.44531250, 0.45312500, 0.42187500 },
703  { 0.44921875, 0.45703125, 0.42578125 },
704  { 0.45312500, 0.46093750, 0.42968750 },
705  { 0.45703125, 0.46484375, 0.43359375 },
706  { 0.46093750, 0.46875000, 0.43750000 },
707  { 0.46484375, 0.47265625, 0.44140625 },
708  { 0.47656250, 0.48437500, 0.45312500 },
709  { 0.48828125, 0.49609375, 0.46484375 },
710  { 0.49609375, 0.50390625, 0.47265625 },
711  { 0.49609375, 0.50781250, 0.47656250 },
712  { 0.50000000, 0.51171875, 0.48046875 },
713  { 0.50390625, 0.51171875, 0.48437500 },
714  { 0.50390625, 0.51562500, 0.48437500 },
715  { 0.50781250, 0.51562500, 0.48828125 },
716  { 0.51171875, 0.51953125, 0.49218750 },
717  { 0.51953125, 0.53125000, 0.50000000 },
718  { 0.54687500, 0.55468750, 0.52734375 },
719  { 0.54687500, 0.55859375, 0.53125000 },
720  { 0.55078125, 0.55859375, 0.53125000 },
721  { 0.55078125, 0.55859375, 0.53125000 },
722  { 0.55078125, 0.55859375, 0.53515625 },
723  { 0.55078125, 0.56250000, 0.53515625 },
724  { 0.55468750, 0.56250000, 0.53515625 },
725  { 0.55468750, 0.56250000, 0.53515625 },
726  { 0.55468750, 0.56250000, 0.53515625 },
727  { 0.55468750, 0.56250000, 0.53515625 },
728  { 0.55468750, 0.56250000, 0.53906250 },
729  { 0.55468750, 0.56250000, 0.53906250 },
730  { 0.55468750, 0.56640625, 0.53906250 },
731  { 0.55859375, 0.57031250, 0.54296875 },
732  { 0.58203125, 0.58984375, 0.56640625 },
733  { 0.59375000, 0.60156250, 0.57421875 },
734  { 0.59765625, 0.60546875, 0.58203125 },
735  { 0.60156250, 0.60937500, 0.58593750 },
736  { 0.60546875, 0.61328125, 0.58984375 },
737  { 0.61328125, 0.62109375, 0.59765625 },
738  { 0.61718750, 0.62500000, 0.60156250 },
739  { 0.62109375, 0.62890625, 0.60546875 },
740  { 0.62500000, 0.63281250, 0.60937500 },
741  { 0.62890625, 0.63671875, 0.61328125 },
742  { 0.63281250, 0.64062500, 0.61718750 },
743  { 0.63671875, 0.64453125, 0.62109375 },
744  { 0.64062500, 0.64843750, 0.62890625 },
745  { 0.64453125, 0.65234375, 0.63281250 },
746  { 0.64843750, 0.65625000, 0.63671875 },
747  { 0.65234375, 0.66015625, 0.64062500 },
748  { 0.66015625, 0.66796875, 0.64843750 },
749  { 0.66796875, 0.67578125, 0.65625000 },
750  { 0.67578125, 0.68359375, 0.66406250 },
751  { 0.68359375, 0.68750000, 0.67187500 },
752  { 0.68359375, 0.69140625, 0.67187500 },
753  { 0.68359375, 0.69140625, 0.67187500 },
754  { 0.68750000, 0.69140625, 0.67578125 },
755  { 0.68750000, 0.69531250, 0.67578125 },
756  { 0.69140625, 0.69531250, 0.67968750 },
757  { 0.69140625, 0.69921875, 0.67968750 },
758  { 0.69531250, 0.69921875, 0.68359375 },
759  { 0.69531250, 0.69921875, 0.68359375 },
760  { 0.69531250, 0.70312500, 0.68750000 },
761  { 0.69921875, 0.70312500, 0.68750000 },
762  { 0.69921875, 0.70703125, 0.68750000 },
763  { 0.70312500, 0.70703125, 0.69140625 },
764  { 0.70312500, 0.70703125, 0.69140625 },
765  { 0.70312500, 0.71093750, 0.69531250 },
766  { 0.70703125, 0.71093750, 0.69531250 },
767  { 0.70703125, 0.71484375, 0.69921875 },
768  { 0.71093750, 0.71484375, 0.69921875 },
769  { 0.71093750, 0.71484375, 0.69921875 },
770  { 0.71093750, 0.71875000, 0.70312500 },
771  { 0.73046875, 0.73437500, 0.71875000 },
772  { 0.74609375, 0.75000000, 0.73437500 },
773  { 0.74609375, 0.75000000, 0.73437500 },
774  { 0.74609375, 0.75000000, 0.73437500 },
775  { 0.74609375, 0.75000000, 0.73828125 },
776  { 0.74609375, 0.75000000, 0.73828125 },
777  { 0.74609375, 0.75000000, 0.73828125 },
778  { 0.75000000, 0.75390625, 0.73828125 },
779  { 0.75000000, 0.75390625, 0.74218750 },
780  { 0.75000000, 0.75390625, 0.74218750 },
781  { 0.75390625, 0.75781250, 0.74609375 },
782  { 0.76171875, 0.76562500, 0.75390625 },
783  { 0.77343750, 0.77734375, 0.76562500 },
784  { 0.79296875, 0.79687500, 0.78906250 },
785  { 0.80078125, 0.80078125, 0.79687500 },
786  { 0.80468750, 0.80468750, 0.80078125 },
787  { 0.80859375, 0.81250000, 0.80859375 },
788  { 0.81640625, 0.81640625, 0.81250000 },
789  { 0.82031250, 0.82421875, 0.81640625 },
790  { 0.82812500, 0.82812500, 0.82421875 },
791  { 0.83203125, 0.83203125, 0.82812500 },
792  { 0.83593750, 0.83984375, 0.83203125 },
793  { 0.83593750, 0.83593750, 0.82812500 },
794  { 0.83203125, 0.83593750, 0.82421875 },
795  { 0.82812500, 0.83203125, 0.81640625 },
796  { 0.82812500, 0.82812500, 0.81250000 },
797  { 0.82421875, 0.82421875, 0.80859375 },
798  { 0.82031250, 0.82031250, 0.80078125 },
799  { 0.81640625, 0.81640625, 0.79687500 },
800  { 0.80859375, 0.80859375, 0.77734375 },
801  { 0.80078125, 0.79687500, 0.76171875 },
802  { 0.82421875, 0.82031250, 0.79296875 },
803  { 0.83593750, 0.83203125, 0.80468750 },
804  { 0.84375000, 0.84375000, 0.81640625 },
805  { 0.85156250, 0.85156250, 0.82812500 },
806  { 0.85937500, 0.85546875, 0.83593750 },
807  { 0.86328125, 0.86328125, 0.84375000 },
808  { 0.87109375, 0.86718750, 0.85156250 },
809  { 0.87500000, 0.87109375, 0.85546875 },
810  { 0.87890625, 0.87500000, 0.86328125 },
811  { 0.88281250, 0.88281250, 0.86718750 },
812  { 0.88671875, 0.88281250, 0.87109375 },
813  { 0.89062500, 0.88671875, 0.87500000 },
814  { 0.89453125, 0.89062500, 0.87890625 },
815  { 0.89453125, 0.89453125, 0.88281250 },
816  { 0.89843750, 0.89843750, 0.88671875 },
817  { 0.90234375, 0.89843750, 0.89062500 },
818  { 0.90234375, 0.90234375, 0.89453125 },
819  { 0.90625000, 0.90625000, 0.89843750 },
820  { 0.90625000, 0.90625000, 0.90234375 },
821  { 0.91015625, 0.91015625, 0.90234375 },
822  { 0.91015625, 0.91015625, 0.90625000 },
823  { 0.91406250, 0.91406250, 0.91015625 },
824  { 0.91796875, 0.91796875, 0.91406250 },
825  { 0.92187500, 0.92187500, 0.91796875 },
826  { 0.92578125, 0.92578125, 0.92187500 },
827  { 0.92968750, 0.92578125, 0.92578125 },
828  { 0.92968750, 0.92968750, 0.92968750 },
829  { 0.92968750, 0.92968750, 0.92968750 },
830  { 0.93359375, 0.92968750, 0.92968750 },
831  { 0.93359375, 0.93359375, 0.93359375 },
832  { 0.92968750, 0.92968750, 0.92968750 },
833  { 0.92578125, 0.92578125, 0.92578125 },
834  { 0.91406250, 0.91406250, 0.91406250 },
835  { 0.90625000, 0.90625000, 0.90625000 },
836  { 0.89453125, 0.89453125, 0.89453125 },
837  { 0.87890625, 0.87890625, 0.87890625 },
838  { 0.85937500, 0.85937500, 0.85937500 },
839  { 0.83203125, 0.83203125, 0.83203125 },
840  { 0.67968750, 0.67968750, 0.68359375 },
841  { 0.73046875, 0.73046875, 0.73828125 },
842  { 0.75390625, 0.75390625, 0.76562500 },
843  { 0.76953125, 0.76953125, 0.78515625 },
844  { 0.77734375, 0.77734375, 0.79296875 },
845  { 0.78515625, 0.78515625, 0.79687500 },
846  { 0.79687500, 0.79296875, 0.80078125 },
847  { 0.80468750, 0.79687500, 0.80078125 },
848  { 0.81250000, 0.80468750, 0.80468750 },
849  { 0.81640625, 0.80468750, 0.80468750 },
850  { 0.80859375, 0.80078125, 0.80078125 },
851  { 0.80468750, 0.79296875, 0.79296875 },
852  { 0.79687500, 0.78906250, 0.78906250 },
853  { 0.79296875, 0.78515625, 0.78515625 },
854  { 0.78515625, 0.77734375, 0.78125000 },
855  { 0.78125000, 0.77343750, 0.77343750 },
856  { 0.77343750, 0.76953125, 0.76953125 },
857  { 0.76171875, 0.75781250, 0.76171875 },
858  { 0.73828125, 0.73828125, 0.73828125 },
859  { 0.72265625, 0.72656250, 0.72656250 },
860  { 0.72265625, 0.73046875, 0.72656250 },
861  { 0.72656250, 0.73437500, 0.72265625 },
862  { 0.72656250, 0.73828125, 0.72265625 },
863  { 0.72656250, 0.74218750, 0.72265625 },
864  { 0.73046875, 0.74218750, 0.71875000 },
865  { 0.73046875, 0.74609375, 0.71875000 },
866  { 0.73046875, 0.75000000, 0.71875000 },
867  { 0.73046875, 0.75390625, 0.71875000 },
868  { 0.73046875, 0.75390625, 0.71875000 },
869  { 0.71875000, 0.73828125, 0.70312500 },
870  { 0.69921875, 0.71484375, 0.68359375 },
871  { 0.67968750, 0.69531250, 0.66796875 },
872  { 0.65234375, 0.66406250, 0.64062500 },
873  { 0.62109375, 0.62890625, 0.61328125 },
874  { 0.61718750, 0.62500000, 0.60937500 },
875  { 0.61718750, 0.62109375, 0.60937500 },
876  { 0.61328125, 0.62109375, 0.60546875 },
877  { 0.60937500, 0.61718750, 0.60156250 },
878  { 0.60546875, 0.61328125, 0.59765625 },
879  { 0.60156250, 0.60546875, 0.59375000 },
880  { 0.59375000, 0.59765625, 0.58984375 },
881  { 0.58203125, 0.58984375, 0.57812500 },
882  { 0.57031250, 0.57421875, 0.56640625 },
883  { 0.54687500, 0.54687500, 0.54296875 },
884  { 0.52343750, 0.52343750, 0.52343750 },
885  { 0.52343750, 0.52343750, 0.52343750 },
886  { 0.52343750, 0.52343750, 0.52343750 },
887  { 0.52343750, 0.52343750, 0.52343750 },
888  { 0.52343750, 0.52343750, 0.51953125 },
889  { 0.52343750, 0.51953125, 0.51953125 },
890  { 0.51953125, 0.51953125, 0.51562500 },
891  { 0.51562500, 0.51171875, 0.50390625 },
892  { 0.50781250, 0.50390625, 0.49218750 },
893  { 0.46484375, 0.45703125, 0.44921875 },
894  { 0.50781250, 0.49218750, 0.49218750 },
895  { 0.54296875, 0.51953125, 0.52734375 },
896  { 0.50781250, 0.51171875, 0.49609375 },
897  { 0.50781250, 0.51171875, 0.49609375 },
898  { 0.50781250, 0.51171875, 0.49609375 },
899  { 0.50781250, 0.51171875, 0.49609375 },
900  { 0.50781250, 0.51171875, 0.49609375 },
901  { 0.50781250, 0.51171875, 0.49609375 },
902  { 0.50781250, 0.50781250, 0.49609375 },
903  { 0.50781250, 0.50781250, 0.49609375 },
904  { 0.50390625, 0.50781250, 0.49218750 },
905  { 0.50390625, 0.50390625, 0.49218750 },
906  { 0.50000000, 0.50390625, 0.49218750 },
907  { 0.50000000, 0.50000000, 0.48828125 },
908  { 0.49609375, 0.49609375, 0.48828125 },
909  { 0.49218750, 0.48828125, 0.48437500 },
910  { 0.48437500, 0.48046875, 0.47656250 },
911  { 0.47656250, 0.46875000, 0.46875000 },
912  { 0.47656250, 0.46484375, 0.46875000 },
913  { 0.47265625, 0.46484375, 0.46484375 },
914  { 0.47265625, 0.46484375, 0.46484375 },
915  { 0.47265625, 0.46484375, 0.46484375 },
916  { 0.47265625, 0.46484375, 0.46484375 },
917  { 0.47265625, 0.46093750, 0.46484375 },
918  { 0.47265625, 0.46093750, 0.46484375 },
919  { 0.47265625, 0.46093750, 0.46484375 },
920  { 0.47265625, 0.46093750, 0.46484375 },
921  { 0.47265625, 0.45703125, 0.46484375 },
922  { 0.46875000, 0.45703125, 0.46093750 },
923  { 0.46875000, 0.45703125, 0.46093750 },
924  { 0.46875000, 0.45703125, 0.46093750 },
925  { 0.46875000, 0.45312500, 0.46093750 },
926  { 0.46484375, 0.45312500, 0.46093750 },
927  { 0.46484375, 0.45312500, 0.45703125 },
928  { 0.46484375, 0.45312500, 0.45703125 },
929  { 0.46484375, 0.45312500, 0.45703125 },
930  { 0.46484375, 0.45312500, 0.45703125 },
931  { 0.46484375, 0.45312500, 0.45703125 },
932  { 0.46484375, 0.45312500, 0.46093750 },
933  { 0.46484375, 0.45312500, 0.46093750 },
934  { 0.46484375, 0.45312500, 0.46093750 },
935  { 0.46484375, 0.45312500, 0.46093750 },
936  { 0.46484375, 0.45312500, 0.46093750 },
937  { 0.46484375, 0.45312500, 0.46093750 },
938  { 0.46875000, 0.45312500, 0.46093750 },
939  { 0.47265625, 0.45703125, 0.46484375 },
940  { 0.46875000, 0.45312500, 0.46093750 },
941  { 0.47656250, 0.45703125, 0.46875000 },
942  { 0.48437500, 0.46484375, 0.47656250 },
943  { 0.48828125, 0.47265625, 0.48437500 },
944  { 0.49609375, 0.48046875, 0.49218750 },
945  { 0.50390625, 0.48828125, 0.50000000 },
946  { 0.51171875, 0.49218750, 0.50390625 },
947  { 0.51562500, 0.49609375, 0.51171875 },
948  { 0.51953125, 0.50390625, 0.51562500 },
949  { 0.52734375, 0.50781250, 0.52343750 },
950  { 0.53125000, 0.51171875, 0.52734375 },
951  { 0.53515625, 0.51953125, 0.53125000 },
952  { 0.54296875, 0.52343750, 0.53906250 },
953  { 0.54687500, 0.52734375, 0.54296875 },
954  { 0.55468750, 0.53515625, 0.54687500 },
955 };
956 
957 const int RGB_Palette_15_Size = 256; // gimp - Sunrise
959 {
960  { 0.85937500, 0.85937500, 0.85937500 },
961  { 0.85937500, 0.85937500, 0.85546875 },
962  { 0.86328125, 0.86328125, 0.85546875 },
963  { 0.86328125, 0.86328125, 0.85546875 },
964  { 0.86328125, 0.86718750, 0.85546875 },
965  { 0.86718750, 0.86718750, 0.85156250 },
966  { 0.86718750, 0.87109375, 0.85156250 },
967  { 0.87109375, 0.87109375, 0.85156250 },
968  { 0.87109375, 0.87500000, 0.85156250 },
969  { 0.87109375, 0.87500000, 0.84765625 },
970  { 0.87500000, 0.87890625, 0.84765625 },
971  { 0.87500000, 0.87890625, 0.84765625 },
972  { 0.87890625, 0.88281250, 0.84765625 },
973  { 0.87890625, 0.88281250, 0.84375000 },
974  { 0.88281250, 0.88671875, 0.84375000 },
975  { 0.88281250, 0.89062500, 0.84375000 },
976  { 0.88281250, 0.89062500, 0.84375000 },
977  { 0.88671875, 0.89453125, 0.83984375 },
978  { 0.88671875, 0.89453125, 0.83984375 },
979  { 0.89062500, 0.89843750, 0.83984375 },
980  { 0.89062500, 0.89843750, 0.83984375 },
981  { 0.89062500, 0.90234375, 0.83593750 },
982  { 0.89453125, 0.90234375, 0.83593750 },
983  { 0.89453125, 0.90625000, 0.83593750 },
984  { 0.89843750, 0.90625000, 0.83593750 },
985  { 0.89843750, 0.91015625, 0.83203125 },
986  { 0.90234375, 0.91015625, 0.83203125 },
987  { 0.90234375, 0.91406250, 0.83203125 },
988  { 0.90625000, 0.91796875, 0.82812500 },
989  { 0.91015625, 0.92187500, 0.82812500 },
990  { 0.91406250, 0.92578125, 0.82421875 },
991  { 0.91796875, 0.92968750, 0.82421875 },
992  { 0.91796875, 0.93750000, 0.82031250 },
993  { 0.92187500, 0.94140625, 0.82031250 },
994  { 0.92578125, 0.94531250, 0.81640625 },
995  { 0.92968750, 0.94921875, 0.81640625 },
996  { 0.93359375, 0.95312500, 0.81250000 },
997  { 0.93750000, 0.95703125, 0.81250000 },
998  { 0.93750000, 0.96093750, 0.80859375 },
999  { 0.94140625, 0.96484375, 0.80859375 },
1000  { 0.94531250, 0.95312500, 0.78906250 },
1001  { 0.94531250, 0.93750000, 0.77343750 },
1002  { 0.94531250, 0.92578125, 0.75781250 },
1003  { 0.94921875, 0.91406250, 0.74218750 },
1004  { 0.94921875, 0.89843750, 0.72265625 },
1005  { 0.95312500, 0.88671875, 0.70703125 },
1006  { 0.95312500, 0.87500000, 0.69140625 },
1007  { 0.95703125, 0.86328125, 0.67187500 },
1008  { 0.95703125, 0.84765625, 0.65625000 },
1009  { 0.95703125, 0.83593750, 0.64062500 },
1010  { 0.96093750, 0.82421875, 0.62500000 },
1011  { 0.96093750, 0.80859375, 0.60546875 },
1012  { 0.96484375, 0.79687500, 0.58984375 },
1013  { 0.96484375, 0.78515625, 0.57421875 },
1014  { 0.96484375, 0.76953125, 0.55859375 },
1015  { 0.96875000, 0.75781250, 0.53906250 },
1016  { 0.96875000, 0.74218750, 0.51953125 },
1017  { 0.97265625, 0.72265625, 0.49609375 },
1018  { 0.97265625, 0.70703125, 0.47265625 },
1019  { 0.97656250, 0.68750000, 0.44921875 },
1020  { 0.98046875, 0.67187500, 0.42578125 },
1021  { 0.98046875, 0.65234375, 0.40625000 },
1022  { 0.98437500, 0.63671875, 0.38281250 },
1023  { 0.98437500, 0.62109375, 0.35937500 },
1024  { 0.98828125, 0.60156250, 0.33593750 },
1025  { 0.98828125, 0.58593750, 0.31250000 },
1026  { 0.99218750, 0.56640625, 0.28906250 },
1027  { 0.99218750, 0.55078125, 0.26953125 },
1028  { 0.98828125, 0.53906250, 0.26562500 },
1029  { 0.98046875, 0.53125000, 0.26171875 },
1030  { 0.97265625, 0.52343750, 0.26171875 },
1031  { 0.96484375, 0.51562500, 0.25781250 },
1032  { 0.95703125, 0.50781250, 0.25781250 },
1033  { 0.94921875, 0.49609375, 0.25390625 },
1034  { 0.94140625, 0.48828125, 0.25390625 },
1035  { 0.93359375, 0.48046875, 0.25390625 },
1036  { 0.92578125, 0.47265625, 0.25000000 },
1037  { 0.91406250, 0.46484375, 0.25000000 },
1038  { 0.90625000, 0.45312500, 0.24609375 },
1039  { 0.89843750, 0.44531250, 0.24609375 },
1040  { 0.89062500, 0.43750000, 0.24218750 },
1041  { 0.88281250, 0.42968750, 0.24218750 },
1042  { 0.87500000, 0.42187500, 0.23828125 },
1043  { 0.86718750, 0.41015625, 0.23828125 },
1044  { 0.85937500, 0.40234375, 0.23437500 },
1045  { 0.85156250, 0.39453125, 0.23437500 },
1046  { 0.84375000, 0.38671875, 0.23046875 },
1047  { 0.83593750, 0.37890625, 0.23046875 },
1048  { 0.82812500, 0.36718750, 0.22656250 },
1049  { 0.82031250, 0.35937500, 0.22656250 },
1050  { 0.81250000, 0.35156250, 0.22265625 },
1051  { 0.80468750, 0.34375000, 0.22265625 },
1052  { 0.79687500, 0.33593750, 0.21875000 },
1053  { 0.78906250, 0.32812500, 0.21875000 },
1054  { 0.77734375, 0.31250000, 0.21484375 },
1055  { 0.75781250, 0.29296875, 0.21093750 },
1056  { 0.74218750, 0.27343750, 0.20703125 },
1057  { 0.72265625, 0.25000000, 0.20312500 },
1058  { 0.70312500, 0.23046875, 0.19921875 },
1059  { 0.68359375, 0.21093750, 0.19140625 },
1060  { 0.66406250, 0.19140625, 0.18750000 },
1061  { 0.64843750, 0.16796875, 0.18359375 },
1062  { 0.62890625, 0.14843750, 0.17968750 },
1063  { 0.60937500, 0.12890625, 0.17578125 },
1064  { 0.58984375, 0.10937500, 0.17187500 },
1065  { 0.57421875, 0.09375000, 0.16406250 },
1066  { 0.56250000, 0.09765625, 0.16015625 },
1067  { 0.55078125, 0.09765625, 0.15625000 },
1068  { 0.53906250, 0.10156250, 0.15234375 },
1069  { 0.52734375, 0.10546875, 0.14843750 },
1070  { 0.51562500, 0.10546875, 0.14062500 },
1071  { 0.50390625, 0.10937500, 0.13671875 },
1072  { 0.49218750, 0.10937500, 0.13281250 },
1073  { 0.48046875, 0.11328125, 0.12890625 },
1074  { 0.46875000, 0.11718750, 0.12500000 },
1075  { 0.45703125, 0.11718750, 0.11718750 },
1076  { 0.44531250, 0.12109375, 0.11328125 },
1077  { 0.43359375, 0.12109375, 0.10937500 },
1078  { 0.42187500, 0.12500000, 0.10546875 },
1079  { 0.41015625, 0.12890625, 0.09765625 },
1080  { 0.39843750, 0.12890625, 0.09375000 },
1081  { 0.38281250, 0.13281250, 0.08984375 },
1082  { 0.37109375, 0.13671875, 0.08203125 },
1083  { 0.35937500, 0.13671875, 0.07812500 },
1084  { 0.34375000, 0.14062500, 0.07421875 },
1085  { 0.33203125, 0.14453125, 0.06640625 },
1086  { 0.32031250, 0.14453125, 0.06250000 },
1087  { 0.30468750, 0.14843750, 0.05468750 },
1088  { 0.29296875, 0.15234375, 0.05078125 },
1089  { 0.28515625, 0.15625000, 0.05078125 },
1090  { 0.28515625, 0.16015625, 0.06640625 },
1091  { 0.28515625, 0.16406250, 0.07812500 },
1092  { 0.28906250, 0.16796875, 0.09375000 },
1093  { 0.28906250, 0.17578125, 0.10546875 },
1094  { 0.28906250, 0.17968750, 0.12109375 },
1095  { 0.28906250, 0.18359375, 0.13281250 },
1096  { 0.29296875, 0.18750000, 0.14843750 },
1097  { 0.29296875, 0.19531250, 0.16015625 },
1098  { 0.29296875, 0.19921875, 0.17578125 },
1099  { 0.29296875, 0.20312500, 0.18750000 },
1100  { 0.29296875, 0.20703125, 0.20312500 },
1101  { 0.29687500, 0.21484375, 0.21484375 },
1102  { 0.29687500, 0.21875000, 0.23046875 },
1103  { 0.29687500, 0.22265625, 0.24218750 },
1104  { 0.29687500, 0.22656250, 0.25781250 },
1105  { 0.30078125, 0.23437500, 0.26953125 },
1106  { 0.30078125, 0.23828125, 0.28515625 },
1107  { 0.30078125, 0.24218750, 0.29687500 },
1108  { 0.30078125, 0.25000000, 0.31250000 },
1109  { 0.30078125, 0.25390625, 0.32421875 },
1110  { 0.30468750, 0.25781250, 0.33984375 },
1111  { 0.30468750, 0.26171875, 0.35156250 },
1112  { 0.30468750, 0.26953125, 0.36718750 },
1113  { 0.30468750, 0.27343750, 0.37890625 },
1114  { 0.30859375, 0.27734375, 0.39453125 },
1115  { 0.30859375, 0.28125000, 0.40625000 },
1116  { 0.30859375, 0.28906250, 0.42187500 },
1117  { 0.30859375, 0.29687500, 0.44140625 },
1118  { 0.31250000, 0.30468750, 0.46484375 },
1119  { 0.31250000, 0.31250000, 0.48437500 },
1120  { 0.31250000, 0.32031250, 0.50781250 },
1121  { 0.31640625, 0.32812500, 0.53125000 },
1122  { 0.31640625, 0.33593750, 0.55078125 },
1123  { 0.32031250, 0.34375000, 0.57421875 },
1124  { 0.32031250, 0.35156250, 0.59375000 },
1125  { 0.32031250, 0.35937500, 0.61718750 },
1126  { 0.32421875, 0.36718750, 0.63671875 },
1127  { 0.32421875, 0.37500000, 0.66015625 },
1128  { 0.32421875, 0.38281250, 0.67968750 },
1129  { 0.32812500, 0.39062500, 0.70312500 },
1130  { 0.32812500, 0.39843750, 0.72265625 },
1131  { 0.32812500, 0.40625000, 0.74609375 },
1132  { 0.33203125, 0.41406250, 0.76562500 },
1133  { 0.33203125, 0.42187500, 0.78906250 },
1134  { 0.33593750, 0.42578125, 0.79687500 },
1135  { 0.34375000, 0.43359375, 0.80078125 },
1136  { 0.34765625, 0.44140625, 0.80078125 },
1137  { 0.35546875, 0.44531250, 0.80468750 },
1138  { 0.36328125, 0.45312500, 0.80468750 },
1139  { 0.36718750, 0.46093750, 0.80859375 },
1140  { 0.37500000, 0.46484375, 0.81250000 },
1141  { 0.37890625, 0.47265625, 0.81250000 },
1142  { 0.38671875, 0.48046875, 0.81640625 },
1143  { 0.39062500, 0.48828125, 0.81640625 },
1144  { 0.39843750, 0.49218750, 0.82031250 },
1145  { 0.40234375, 0.50000000, 0.82421875 },
1146  { 0.41015625, 0.50781250, 0.82421875 },
1147  { 0.41796875, 0.51171875, 0.82812500 },
1148  { 0.42187500, 0.51953125, 0.82812500 },
1149  { 0.42968750, 0.52734375, 0.83203125 },
1150  { 0.43359375, 0.53125000, 0.83593750 },
1151  { 0.44140625, 0.53906250, 0.83593750 },
1152  { 0.44531250, 0.54687500, 0.83984375 },
1153  { 0.45312500, 0.55078125, 0.83984375 },
1154  { 0.45703125, 0.55859375, 0.84375000 },
1155  { 0.46484375, 0.56640625, 0.84765625 },
1156  { 0.47265625, 0.57421875, 0.84765625 },
1157  { 0.47656250, 0.57812500, 0.85156250 },
1158  { 0.48437500, 0.58593750, 0.85156250 },
1159  { 0.48828125, 0.59375000, 0.85546875 },
1160  { 0.49609375, 0.59765625, 0.85937500 },
1161  { 0.50000000, 0.60546875, 0.85937500 },
1162  { 0.50781250, 0.61328125, 0.86328125 },
1163  { 0.51562500, 0.61718750, 0.86328125 },
1164  { 0.51953125, 0.62500000, 0.86718750 },
1165  { 0.52734375, 0.63281250, 0.87109375 },
1166  { 0.53125000, 0.63671875, 0.87109375 },
1167  { 0.53906250, 0.64453125, 0.87500000 },
1168  { 0.54296875, 0.65234375, 0.87500000 },
1169  { 0.55078125, 0.66015625, 0.87890625 },
1170  { 0.55468750, 0.66406250, 0.88281250 },
1171  { 0.56250000, 0.67187500, 0.88281250 },
1172  { 0.57031250, 0.67968750, 0.88671875 },
1173  { 0.57421875, 0.68359375, 0.88671875 },
1174  { 0.58203125, 0.69140625, 0.89062500 },
1175  { 0.58593750, 0.69921875, 0.89453125 },
1176  { 0.59375000, 0.70312500, 0.89453125 },
1177  { 0.60156250, 0.71093750, 0.89843750 },
1178  { 0.60546875, 0.71875000, 0.90234375 },
1179  { 0.61328125, 0.72656250, 0.90234375 },
1180  { 0.62109375, 0.73437500, 0.90625000 },
1181  { 0.62500000, 0.73828125, 0.91015625 },
1182  { 0.63281250, 0.74609375, 0.91015625 },
1183  { 0.63671875, 0.75390625, 0.91406250 },
1184  { 0.64453125, 0.76171875, 0.91406250 },
1185  { 0.65234375, 0.76953125, 0.91796875 },
1186  { 0.65625000, 0.77734375, 0.92187500 },
1187  { 0.66406250, 0.78125000, 0.92187500 },
1188  { 0.67187500, 0.78906250, 0.92578125 },
1189  { 0.67578125, 0.79687500, 0.92968750 },
1190  { 0.68359375, 0.80468750, 0.92968750 },
1191  { 0.69140625, 0.81250000, 0.93359375 },
1192  { 0.69531250, 0.81640625, 0.93750000 },
1193  { 0.70312500, 0.82421875, 0.93750000 },
1194  { 0.71093750, 0.83203125, 0.94140625 },
1195  { 0.71484375, 0.83984375, 0.94531250 },
1196  { 0.72265625, 0.84765625, 0.94531250 },
1197  { 0.73046875, 0.85156250, 0.94921875 },
1198  { 0.73437500, 0.85937500, 0.95312500 },
1199  { 0.74218750, 0.86718750, 0.95312500 },
1200  { 0.75000000, 0.87500000, 0.95703125 },
1201  { 0.75390625, 0.88281250, 0.95703125 },
1202  { 0.76171875, 0.88671875, 0.96093750 },
1203  { 0.76953125, 0.89453125, 0.96484375 },
1204  { 0.77343750, 0.90234375, 0.96484375 },
1205  { 0.78125000, 0.91015625, 0.96875000 },
1206  { 0.78906250, 0.91796875, 0.97265625 },
1207  { 0.79296875, 0.92187500, 0.97265625 },
1208  { 0.80078125, 0.92968750, 0.97656250 },
1209  { 0.80859375, 0.93750000, 0.98046875 },
1210  { 0.81250000, 0.94531250, 0.98046875 },
1211  { 0.82031250, 0.95312500, 0.98437500 },
1212  { 0.82812500, 0.95703125, 0.98828125 },
1213  { 0.83203125, 0.96484375, 0.98828125 },
1214  { 0.83984375, 0.97265625, 0.99218750 },
1215  { 0.84765625, 0.98046875, 0.99218750 },
1216 };
1217 const int RGB_Palette_16_Size = 256; // gimp - Horizon
1219 {
1220  { 0.04687500, 0.35546875, 0.56640625 },
1221  { 0.05468750, 0.36328125, 0.57031250 },
1222  { 0.06250000, 0.36718750, 0.57421875 },
1223  { 0.07031250, 0.37109375, 0.57812500 },
1224  { 0.07812500, 0.37890625, 0.58203125 },
1225  { 0.08593750, 0.38281250, 0.58593750 },
1226  { 0.09375000, 0.38671875, 0.58984375 },
1227  { 0.10156250, 0.39453125, 0.59375000 },
1228  { 0.10937500, 0.39843750, 0.59765625 },
1229  { 0.11718750, 0.40234375, 0.59765625 },
1230  { 0.12500000, 0.41015625, 0.60156250 },
1231  { 0.13281250, 0.41406250, 0.60546875 },
1232  { 0.14062500, 0.41796875, 0.60937500 },
1233  { 0.14843750, 0.42578125, 0.61328125 },
1234  { 0.15625000, 0.42968750, 0.61718750 },
1235  { 0.16406250, 0.43359375, 0.62109375 },
1236  { 0.17187500, 0.44140625, 0.62500000 },
1237  { 0.17968750, 0.44531250, 0.62500000 },
1238  { 0.18750000, 0.44921875, 0.62890625 },
1239  { 0.19531250, 0.45703125, 0.63281250 },
1240  { 0.20312500, 0.46093750, 0.63671875 },
1241  { 0.21093750, 0.46484375, 0.64062500 },
1242  { 0.21875000, 0.47265625, 0.64453125 },
1243  { 0.22656250, 0.47656250, 0.64843750 },
1244  { 0.23437500, 0.48046875, 0.65234375 },
1245  { 0.24218750, 0.48828125, 0.65234375 },
1246  { 0.25000000, 0.49218750, 0.65625000 },
1247  { 0.25781250, 0.49609375, 0.66015625 },
1248  { 0.26562500, 0.50390625, 0.66406250 },
1249  { 0.27343750, 0.50781250, 0.66796875 },
1250  { 0.28125000, 0.51171875, 0.67187500 },
1251  { 0.28906250, 0.51953125, 0.67578125 },
1252  { 0.29687500, 0.52343750, 0.67968750 },
1253  { 0.30859375, 0.52734375, 0.67968750 },
1254  { 0.31640625, 0.53515625, 0.68359375 },
1255  { 0.32421875, 0.53906250, 0.68750000 },
1256  { 0.33203125, 0.54296875, 0.69140625 },
1257  { 0.33984375, 0.55078125, 0.69531250 },
1258  { 0.34765625, 0.55468750, 0.69921875 },
1259  { 0.35546875, 0.55859375, 0.70312500 },
1260  { 0.36328125, 0.56640625, 0.70703125 },
1261  { 0.37109375, 0.57031250, 0.70703125 },
1262  { 0.37890625, 0.57421875, 0.71093750 },
1263  { 0.38671875, 0.58203125, 0.71484375 },
1264  { 0.39453125, 0.58593750, 0.71875000 },
1265  { 0.40234375, 0.58984375, 0.72265625 },
1266  { 0.41015625, 0.59765625, 0.72656250 },
1267  { 0.41796875, 0.60156250, 0.73046875 },
1268  { 0.42578125, 0.60546875, 0.73437500 },
1269  { 0.43359375, 0.61328125, 0.73828125 },
1270  { 0.44140625, 0.61718750, 0.73828125 },
1271  { 0.44921875, 0.62109375, 0.74218750 },
1272  { 0.45703125, 0.62890625, 0.74609375 },
1273  { 0.46484375, 0.63281250, 0.75000000 },
1274  { 0.47265625, 0.63671875, 0.75390625 },
1275  { 0.48046875, 0.64453125, 0.75781250 },
1276  { 0.48828125, 0.64843750, 0.76171875 },
1277  { 0.49609375, 0.65234375, 0.76562500 },
1278  { 0.50390625, 0.66015625, 0.76562500 },
1279  { 0.51171875, 0.66406250, 0.76953125 },
1280  { 0.51953125, 0.66796875, 0.77343750 },
1281  { 0.52734375, 0.67187500, 0.77734375 },
1282  { 0.53515625, 0.67968750, 0.78125000 },
1283  { 0.54296875, 0.68359375, 0.78125000 },
1284  { 0.54687500, 0.68750000, 0.78515625 },
1285  { 0.55468750, 0.69140625, 0.78906250 },
1286  { 0.56250000, 0.69531250, 0.79296875 },
1287  { 0.57031250, 0.69921875, 0.79296875 },
1288  { 0.57421875, 0.70312500, 0.79687500 },
1289  { 0.58203125, 0.71093750, 0.80078125 },
1290  { 0.58984375, 0.71484375, 0.80468750 },
1291  { 0.59765625, 0.71875000, 0.80468750 },
1292  { 0.60156250, 0.72265625, 0.80859375 },
1293  { 0.60937500, 0.72656250, 0.81250000 },
1294  { 0.61718750, 0.73046875, 0.81640625 },
1295  { 0.62500000, 0.73437500, 0.81640625 },
1296  { 0.62890625, 0.74218750, 0.82031250 },
1297  { 0.63671875, 0.74609375, 0.82421875 },
1298  { 0.64453125, 0.75000000, 0.82812500 },
1299  { 0.65234375, 0.75390625, 0.83203125 },
1300  { 0.65625000, 0.75781250, 0.83203125 },
1301  { 0.66406250, 0.76171875, 0.83593750 },
1302  { 0.67187500, 0.76562500, 0.83984375 },
1303  { 0.67968750, 0.77343750, 0.84375000 },
1304  { 0.68359375, 0.77734375, 0.84375000 },
1305  { 0.69140625, 0.78125000, 0.84765625 },
1306  { 0.69921875, 0.78515625, 0.85156250 },
1307  { 0.70703125, 0.78906250, 0.85546875 },
1308  { 0.71093750, 0.79296875, 0.85546875 },
1309  { 0.71875000, 0.79687500, 0.85937500 },
1310  { 0.72656250, 0.80468750, 0.86328125 },
1311  { 0.73437500, 0.80859375, 0.86718750 },
1312  { 0.73828125, 0.81250000, 0.86718750 },
1313  { 0.74609375, 0.81640625, 0.87109375 },
1314  { 0.75390625, 0.82031250, 0.87500000 },
1315  { 0.76171875, 0.82421875, 0.87890625 },
1316  { 0.76562500, 0.82812500, 0.87890625 },
1317  { 0.77343750, 0.83593750, 0.88281250 },
1318  { 0.78125000, 0.83984375, 0.88671875 },
1319  { 0.78906250, 0.84375000, 0.89062500 },
1320  { 0.79296875, 0.84765625, 0.89062500 },
1321  { 0.80078125, 0.85156250, 0.89453125 },
1322  { 0.80859375, 0.85546875, 0.89843750 },
1323  { 0.81640625, 0.85937500, 0.90234375 },
1324  { 0.82031250, 0.86718750, 0.90234375 },
1325  { 0.82812500, 0.87109375, 0.90625000 },
1326  { 0.83593750, 0.87500000, 0.91015625 },
1327  { 0.83984375, 0.87890625, 0.91406250 },
1328  { 0.84765625, 0.88281250, 0.91406250 },
1329  { 0.85546875, 0.88671875, 0.91796875 },
1330  { 0.86328125, 0.89062500, 0.92187500 },
1331  { 0.86718750, 0.89843750, 0.92578125 },
1332  { 0.87500000, 0.90234375, 0.92578125 },
1333  { 0.88281250, 0.90625000, 0.92968750 },
1334  { 0.89062500, 0.91015625, 0.93359375 },
1335  { 0.89453125, 0.91406250, 0.93750000 },
1336  { 0.90234375, 0.91796875, 0.93750000 },
1337  { 0.91015625, 0.92187500, 0.94140625 },
1338  { 0.91796875, 0.92578125, 0.94531250 },
1339  { 0.92187500, 0.93359375, 0.94921875 },
1340  { 0.92968750, 0.93750000, 0.94921875 },
1341  { 0.93750000, 0.94140625, 0.95312500 },
1342  { 0.94531250, 0.94531250, 0.95703125 },
1343  { 0.94921875, 0.94921875, 0.96093750 },
1344  { 0.95703125, 0.95312500, 0.96093750 },
1345  { 0.96484375, 0.95703125, 0.96484375 },
1346  { 0.97265625, 0.96484375, 0.96875000 },
1347  { 0.97656250, 0.96875000, 0.97265625 },
1348  { 0.98437500, 0.97265625, 0.97265625 },
1349  { 0.99218750, 0.97656250, 0.97656250 },
1350  { 0.99218750, 0.98828125, 0.98828125 },
1351  { 0.98828125, 0.98046875, 0.97656250 },
1352  { 0.98437500, 0.97265625, 0.96484375 },
1353  { 0.98437500, 0.96484375, 0.95312500 },
1354  { 0.98046875, 0.95703125, 0.94531250 },
1355  { 0.97656250, 0.94921875, 0.93359375 },
1356  { 0.97265625, 0.94140625, 0.92578125 },
1357  { 0.97265625, 0.93359375, 0.91406250 },
1358  { 0.96875000, 0.92578125, 0.90625000 },
1359  { 0.96484375, 0.91796875, 0.89453125 },
1360  { 0.96484375, 0.91406250, 0.88671875 },
1361  { 0.96093750, 0.90625000, 0.87500000 },
1362  { 0.95703125, 0.89843750, 0.86718750 },
1363  { 0.95703125, 0.89062500, 0.85937500 },
1364  { 0.95312500, 0.88671875, 0.84765625 },
1365  { 0.94921875, 0.87890625, 0.83984375 },
1366  { 0.94921875, 0.87109375, 0.83203125 },
1367  { 0.94531250, 0.86328125, 0.82421875 },
1368  { 0.94140625, 0.85937500, 0.81250000 },
1369  { 0.94140625, 0.85156250, 0.80468750 },
1370  { 0.93750000, 0.84375000, 0.79687500 },
1371  { 0.93750000, 0.83984375, 0.78906250 },
1372  { 0.93359375, 0.83203125, 0.77734375 },
1373  { 0.92968750, 0.82421875, 0.76953125 },
1374  { 0.92578125, 0.81640625, 0.75781250 },
1375  { 0.92578125, 0.80859375, 0.74609375 },
1376  { 0.92187500, 0.80078125, 0.73828125 },
1377  { 0.91796875, 0.79296875, 0.72656250 },
1378  { 0.91406250, 0.78515625, 0.71484375 },
1379  { 0.91406250, 0.77734375, 0.70312500 },
1380  { 0.91015625, 0.76562500, 0.69140625 },
1381  { 0.90625000, 0.75781250, 0.68359375 },
1382  { 0.90234375, 0.75000000, 0.67187500 },
1383  { 0.89843750, 0.74218750, 0.66015625 },
1384  { 0.89843750, 0.73437500, 0.65234375 },
1385  { 0.89453125, 0.72656250, 0.64062500 },
1386  { 0.89062500, 0.71875000, 0.63281250 },
1387  { 0.89062500, 0.71484375, 0.62109375 },
1388  { 0.88671875, 0.70703125, 0.61328125 },
1389  { 0.88281250, 0.69921875, 0.60156250 },
1390  { 0.87890625, 0.69140625, 0.59375000 },
1391  { 0.87890625, 0.68359375, 0.58203125 },
1392  { 0.87500000, 0.67578125, 0.57031250 },
1393  { 0.87109375, 0.66796875, 0.56250000 },
1394  { 0.87109375, 0.66015625, 0.55078125 },
1395  { 0.87109375, 0.66015625, 0.55078125 },
1396  { 0.86718750, 0.66015625, 0.55078125 },
1397  { 0.86718750, 0.65625000, 0.54687500 },
1398  { 0.86718750, 0.65625000, 0.54687500 },
1399  { 0.86718750, 0.65625000, 0.54296875 },
1400  { 0.86718750, 0.65234375, 0.54296875 },
1401  { 0.86718750, 0.65234375, 0.54296875 },
1402  { 0.86718750, 0.65234375, 0.53906250 },
1403  { 0.86718750, 0.65234375, 0.53906250 },
1404  { 0.86718750, 0.64843750, 0.53515625 },
1405  { 0.86328125, 0.64843750, 0.53515625 },
1406  { 0.86328125, 0.64843750, 0.53515625 },
1407  { 0.86328125, 0.64453125, 0.53125000 },
1408  { 0.86328125, 0.64453125, 0.53125000 },
1409  { 0.86328125, 0.64453125, 0.53125000 },
1410  { 0.86328125, 0.64062500, 0.52734375 },
1411  { 0.86328125, 0.64062500, 0.52734375 },
1412  { 0.86328125, 0.64062500, 0.52343750 },
1413  { 0.86328125, 0.64062500, 0.52343750 },
1414  { 0.85937500, 0.63671875, 0.52343750 },
1415  { 0.85937500, 0.63671875, 0.51953125 },
1416  { 0.85937500, 0.63671875, 0.51953125 },
1417  { 0.85937500, 0.63281250, 0.51562500 },
1418  { 0.85937500, 0.63281250, 0.51562500 },
1419  { 0.85937500, 0.63281250, 0.51562500 },
1420  { 0.85937500, 0.63281250, 0.51171875 },
1421  { 0.85937500, 0.62890625, 0.51171875 },
1422  { 0.85937500, 0.62890625, 0.50781250 },
1423  { 0.85546875, 0.62890625, 0.50781250 },
1424  { 0.85546875, 0.62500000, 0.50781250 },
1425  { 0.85546875, 0.62500000, 0.50390625 },
1426  { 0.85546875, 0.62500000, 0.50390625 },
1427  { 0.85546875, 0.62109375, 0.50000000 },
1428  { 0.85546875, 0.62109375, 0.50000000 },
1429  { 0.85546875, 0.62109375, 0.50000000 },
1430  { 0.85546875, 0.62109375, 0.49609375 },
1431  { 0.85546875, 0.61718750, 0.49609375 },
1432  { 0.85156250, 0.61718750, 0.49609375 },
1433  { 0.85156250, 0.61718750, 0.49218750 },
1434  { 0.85156250, 0.61328125, 0.49218750 },
1435  { 0.85156250, 0.61328125, 0.48828125 },
1436  { 0.85156250, 0.61328125, 0.48828125 },
1437  { 0.85156250, 0.61328125, 0.48828125 },
1438  { 0.85156250, 0.60937500, 0.48437500 },
1439  { 0.85156250, 0.60937500, 0.48437500 },
1440  { 0.85156250, 0.60937500, 0.48046875 },
1441  { 0.84765625, 0.60546875, 0.48046875 },
1442  { 0.84765625, 0.60546875, 0.47656250 },
1443  { 0.84765625, 0.60156250, 0.47656250 },
1444  { 0.84765625, 0.60156250, 0.47265625 },
1445  { 0.84765625, 0.59765625, 0.46875000 },
1446  { 0.84765625, 0.59765625, 0.46875000 },
1447  { 0.84375000, 0.59765625, 0.46484375 },
1448  { 0.84375000, 0.59375000, 0.46484375 },
1449  { 0.84375000, 0.59375000, 0.46093750 },
1450  { 0.84375000, 0.58984375, 0.46093750 },
1451  { 0.84375000, 0.58984375, 0.45703125 },
1452  { 0.84375000, 0.58593750, 0.45703125 },
1453  { 0.83984375, 0.58593750, 0.45312500 },
1454  { 0.83984375, 0.58593750, 0.44921875 },
1455  { 0.83984375, 0.58203125, 0.44921875 },
1456  { 0.83984375, 0.58203125, 0.44531250 },
1457  { 0.83984375, 0.57812500, 0.44531250 },
1458  { 0.83984375, 0.57812500, 0.44140625 },
1459  { 0.83984375, 0.57421875, 0.44140625 },
1460  { 0.83593750, 0.57421875, 0.43750000 },
1461  { 0.83593750, 0.57421875, 0.43359375 },
1462  { 0.83593750, 0.57031250, 0.43359375 },
1463  { 0.83593750, 0.57031250, 0.42968750 },
1464  { 0.83593750, 0.56640625, 0.42968750 },
1465  { 0.83593750, 0.56640625, 0.42578125 },
1466  { 0.83203125, 0.56640625, 0.42578125 },
1467  { 0.83203125, 0.56250000, 0.42187500 },
1468  { 0.83203125, 0.56250000, 0.42187500 },
1469  { 0.83203125, 0.55859375, 0.41796875 },
1470  { 0.83203125, 0.55859375, 0.41406250 },
1471  { 0.83203125, 0.55468750, 0.41406250 },
1472  { 0.82812500, 0.55468750, 0.41015625 },
1473  { 0.82812500, 0.55468750, 0.41015625 },
1474  { 0.82812500, 0.55078125, 0.40625000 },
1475  { 0.82812500, 0.55078125, 0.40625000 },
1476 };
1477 
1478 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
1479 const int RGB_Palette_17_Size = 254; // BlueYellowRed.rgb
1481 {
1482  {0.019531, 0.136719, 0.312500},
1483  {0.019531, 0.144531, 0.324219},
1484  {0.019531, 0.152344, 0.335938},
1485  {0.019531, 0.156250, 0.347656},
1486  {0.019531, 0.164062, 0.359375},
1487  {0.023438, 0.171875, 0.371094},
1488  {0.023438, 0.179688, 0.382812},
1489  {0.023438, 0.187500, 0.390625},
1490  {0.023438, 0.191406, 0.402344},
1491  {0.023438, 0.199219, 0.414062},
1492  {0.023438, 0.207031, 0.425781},
1493  {0.023438, 0.214844, 0.437500},
1494  {0.023438, 0.222656, 0.449219},
1495  {0.027344, 0.230469, 0.460938},
1496  {0.027344, 0.234375, 0.472656},
1497  {0.027344, 0.242188, 0.484375},
1498  {0.027344, 0.250000, 0.496094},
1499  {0.027344, 0.257812, 0.507812},
1500  {0.027344, 0.265625, 0.519531},
1501  {0.027344, 0.269531, 0.531250},
1502  {0.027344, 0.277344, 0.539062},
1503  {0.027344, 0.285156, 0.550781},
1504  {0.031250, 0.292969, 0.562500},
1505  {0.031250, 0.300781, 0.574219},
1506  {0.031250, 0.304688, 0.585938},
1507  {0.031250, 0.320312, 0.609375},
1508  {0.039062, 0.328125, 0.617188},
1509  {0.046875, 0.339844, 0.621094},
1510  {0.058594, 0.347656, 0.628906},
1511  {0.066406, 0.359375, 0.636719},
1512  {0.074219, 0.367188, 0.640625},
1513  {0.082031, 0.378906, 0.648438},
1514  {0.093750, 0.386719, 0.656250},
1515  {0.101562, 0.398438, 0.660156},
1516  {0.109375, 0.406250, 0.667969},
1517  {0.117188, 0.417969, 0.675781},
1518  {0.128906, 0.425781, 0.679688},
1519  {0.136719, 0.437500, 0.687500},
1520  {0.144531, 0.445312, 0.695312},
1521  {0.152344, 0.453125, 0.699219},
1522  {0.160156, 0.464844, 0.707031},
1523  {0.171875, 0.472656, 0.710938},
1524  {0.179688, 0.484375, 0.718750},
1525  {0.187500, 0.492188, 0.726562},
1526  {0.195312, 0.503906, 0.730469},
1527  {0.207031, 0.511719, 0.738281},
1528  {0.214844, 0.523438, 0.746094},
1529  {0.222656, 0.531250, 0.750000},
1530  {0.230469, 0.542969, 0.757812},
1531  {0.242188, 0.550781, 0.765625},
1532  {0.257812, 0.570312, 0.777344},
1533  {0.265625, 0.574219, 0.781250},
1534  {0.269531, 0.582031, 0.781250},
1535  {0.277344, 0.585938, 0.785156},
1536  {0.281250, 0.593750, 0.785156},
1537  {0.289062, 0.597656, 0.789062},
1538  {0.296875, 0.605469, 0.789062},
1539  {0.300781, 0.609375, 0.792969},
1540  {0.308594, 0.613281, 0.796875},
1541  {0.316406, 0.621094, 0.796875},
1542  {0.320312, 0.625000, 0.800781},
1543  {0.328125, 0.632812, 0.800781},
1544  {0.332031, 0.636719, 0.804688},
1545  {0.339844, 0.644531, 0.808594},
1546  {0.347656, 0.648438, 0.808594},
1547  {0.351562, 0.652344, 0.812500},
1548  {0.359375, 0.660156, 0.812500},
1549  {0.363281, 0.664062, 0.816406},
1550  {0.371094, 0.671875, 0.816406},
1551  {0.378906, 0.675781, 0.820312},
1552  {0.382812, 0.679688, 0.824219},
1553  {0.390625, 0.687500, 0.824219},
1554  {0.398438, 0.691406, 0.828125},
1555  {0.402344, 0.699219, 0.828125},
1556  {0.410156, 0.703125, 0.832031},
1557  {0.414062, 0.710938, 0.832031},
1558  {0.421875, 0.714844, 0.835938},
1559  {0.429688, 0.718750, 0.839844},
1560  {0.441406, 0.726562, 0.839844},
1561  {0.449219, 0.730469, 0.843750},
1562  {0.460938, 0.738281, 0.843750},
1563  {0.468750, 0.742188, 0.847656},
1564  {0.476562, 0.750000, 0.851562},
1565  {0.488281, 0.753906, 0.851562},
1566  {0.496094, 0.757812, 0.855469},
1567  {0.503906, 0.765625, 0.859375},
1568  {0.515625, 0.769531, 0.859375},
1569  {0.523438, 0.777344, 0.863281},
1570  {0.535156, 0.781250, 0.863281},
1571  {0.542969, 0.789062, 0.867188},
1572  {0.550781, 0.792969, 0.871094},
1573  {0.562500, 0.796875, 0.871094},
1574  {0.570312, 0.804688, 0.875000},
1575  {0.582031, 0.808594, 0.875000},
1576  {0.589844, 0.816406, 0.878906},
1577  {0.597656, 0.820312, 0.882812},
1578  {0.609375, 0.824219, 0.882812},
1579  {0.617188, 0.832031, 0.886719},
1580  {0.625000, 0.835938, 0.890625},
1581  {0.636719, 0.843750, 0.890625},
1582  {0.644531, 0.847656, 0.894531},
1583  {0.664062, 0.859375, 0.898438},
1584  {0.671875, 0.863281, 0.902344},
1585  {0.679688, 0.867188, 0.906250},
1586  {0.687500, 0.871094, 0.910156},
1587  {0.695312, 0.875000, 0.914062},
1588  {0.699219, 0.878906, 0.917969},
1589  {0.707031, 0.882812, 0.921875},
1590  {0.714844, 0.886719, 0.925781},
1591  {0.722656, 0.890625, 0.929688},
1592  {0.730469, 0.894531, 0.933594},
1593  {0.738281, 0.898438, 0.937500},
1594  {0.746094, 0.902344, 0.941406},
1595  {0.753906, 0.906250, 0.945312},
1596  {0.761719, 0.910156, 0.949219},
1597  {0.765625, 0.910156, 0.949219},
1598  {0.773438, 0.914062, 0.953125},
1599  {0.781250, 0.917969, 0.957031},
1600  {0.789062, 0.921875, 0.960938},
1601  {0.796875, 0.925781, 0.964844},
1602  {0.804688, 0.929688, 0.968750},
1603  {0.812500, 0.933594, 0.972656},
1604  {0.820312, 0.937500, 0.976562},
1605  {0.824219, 0.941406, 0.980469},
1606  {0.832031, 0.945312, 0.984375},
1607  {0.839844, 0.949219, 0.988281},
1608  {0.855469, 0.957031, 0.996094},
1609  {0.996094, 0.996094, 0.781250},
1610  {0.996094, 0.992188, 0.769531},
1611  {0.996094, 0.988281, 0.753906},
1612  {0.996094, 0.984375, 0.742188},
1613  {0.996094, 0.980469, 0.730469},
1614  {0.996094, 0.976562, 0.718750},
1615  {0.996094, 0.972656, 0.703125},
1616  {0.996094, 0.968750, 0.691406},
1617  {0.996094, 0.964844, 0.679688},
1618  {0.996094, 0.960938, 0.667969},
1619  {0.996094, 0.957031, 0.652344},
1620  {0.996094, 0.953125, 0.640625},
1621  {0.996094, 0.949219, 0.628906},
1622  {0.996094, 0.949219, 0.617188},
1623  {0.996094, 0.945312, 0.601562},
1624  {0.996094, 0.941406, 0.589844},
1625  {0.996094, 0.937500, 0.578125},
1626  {0.996094, 0.933594, 0.562500},
1627  {0.996094, 0.929688, 0.550781},
1628  {0.996094, 0.925781, 0.539062},
1629  {0.996094, 0.921875, 0.527344},
1630  {0.996094, 0.917969, 0.511719},
1631  {0.996094, 0.914062, 0.500000},
1632  {0.996094, 0.910156, 0.488281},
1633  {0.996094, 0.906250, 0.476562},
1634  {0.996094, 0.898438, 0.449219},
1635  {0.996094, 0.894531, 0.441406},
1636  {0.992188, 0.886719, 0.433594},
1637  {0.992188, 0.882812, 0.425781},
1638  {0.988281, 0.878906, 0.421875},
1639  {0.988281, 0.875000, 0.414062},
1640  {0.984375, 0.867188, 0.406250},
1641  {0.984375, 0.863281, 0.398438},
1642  {0.980469, 0.859375, 0.390625},
1643  {0.980469, 0.855469, 0.382812},
1644  {0.976562, 0.847656, 0.378906},
1645  {0.976562, 0.843750, 0.371094},
1646  {0.972656, 0.839844, 0.363281},
1647  {0.972656, 0.835938, 0.355469},
1648  {0.968750, 0.828125, 0.347656},
1649  {0.968750, 0.824219, 0.339844},
1650  {0.964844, 0.820312, 0.332031},
1651  {0.964844, 0.812500, 0.328125},
1652  {0.960938, 0.808594, 0.320312},
1653  {0.960938, 0.804688, 0.312500},
1654  {0.957031, 0.800781, 0.304688},
1655  {0.957031, 0.792969, 0.296875},
1656  {0.953125, 0.789062, 0.289062},
1657  {0.953125, 0.785156, 0.285156},
1658  {0.949219, 0.781250, 0.277344},
1659  {0.945312, 0.769531, 0.261719},
1660  {0.945312, 0.757812, 0.253906},
1661  {0.941406, 0.746094, 0.246094},
1662  {0.941406, 0.734375, 0.242188},
1663  {0.937500, 0.722656, 0.234375},
1664  {0.937500, 0.710938, 0.226562},
1665  {0.933594, 0.699219, 0.218750},
1666  {0.933594, 0.687500, 0.210938},
1667  {0.929688, 0.675781, 0.207031},
1668  {0.929688, 0.664062, 0.199219},
1669  {0.925781, 0.652344, 0.191406},
1670  {0.925781, 0.640625, 0.183594},
1671  {0.921875, 0.628906, 0.175781},
1672  {0.921875, 0.621094, 0.171875},
1673  {0.921875, 0.609375, 0.164062},
1674  {0.917969, 0.597656, 0.156250},
1675  {0.917969, 0.585938, 0.148438},
1676  {0.914062, 0.574219, 0.140625},
1677  {0.914062, 0.562500, 0.132812},
1678  {0.910156, 0.550781, 0.128906},
1679  {0.910156, 0.539062, 0.121094},
1680  {0.906250, 0.527344, 0.113281},
1681  {0.906250, 0.515625, 0.105469},
1682  {0.902344, 0.503906, 0.097656},
1683  {0.902344, 0.492188, 0.093750},
1684  {0.898438, 0.480469, 0.085938},
1685  {0.898438, 0.468750, 0.078125},
1686  {0.894531, 0.460938, 0.074219},
1687  {0.890625, 0.453125, 0.070312},
1688  {0.886719, 0.445312, 0.070312},
1689  {0.878906, 0.437500, 0.066406},
1690  {0.875000, 0.429688, 0.062500},
1691  {0.871094, 0.421875, 0.058594},
1692  {0.867188, 0.417969, 0.058594},
1693  {0.863281, 0.410156, 0.054688},
1694  {0.859375, 0.402344, 0.050781},
1695  {0.851562, 0.394531, 0.046875},
1696  {0.847656, 0.386719, 0.046875},
1697  {0.843750, 0.378906, 0.042969},
1698  {0.839844, 0.371094, 0.039062},
1699  {0.835938, 0.363281, 0.035156},
1700  {0.832031, 0.355469, 0.031250},
1701  {0.828125, 0.347656, 0.031250},
1702  {0.820312, 0.339844, 0.027344},
1703  {0.816406, 0.332031, 0.023438},
1704  {0.812500, 0.324219, 0.019531},
1705  {0.808594, 0.320312, 0.019531},
1706  {0.804688, 0.312500, 0.015625},
1707  {0.800781, 0.304688, 0.011719},
1708  {0.792969, 0.296875, 0.007812},
1709  {0.789062, 0.289062, 0.007812},
1710  {0.781250, 0.273438, 0.000000},
1711  {0.773438, 0.269531, 0.003906},
1712  {0.761719, 0.265625, 0.007812},
1713  {0.753906, 0.261719, 0.011719},
1714  {0.742188, 0.253906, 0.015625},
1715  {0.734375, 0.250000, 0.015625},
1716  {0.722656, 0.246094, 0.019531},
1717  {0.714844, 0.242188, 0.023438},
1718  {0.703125, 0.238281, 0.027344},
1719  {0.695312, 0.234375, 0.031250},
1720  {0.683594, 0.226562, 0.035156},
1721  {0.675781, 0.222656, 0.039062},
1722  {0.664062, 0.218750, 0.042969},
1723  {0.656250, 0.214844, 0.046875},
1724  {0.644531, 0.210938, 0.046875},
1725  {0.636719, 0.207031, 0.050781},
1726  {0.625000, 0.203125, 0.054688},
1727  {0.617188, 0.195312, 0.058594},
1728  {0.605469, 0.191406, 0.062500},
1729  {0.597656, 0.187500, 0.066406},
1730  {0.585938, 0.183594, 0.070312},
1731  {0.578125, 0.179688, 0.074219},
1732  {0.566406, 0.175781, 0.074219},
1733  {0.558594, 0.167969, 0.078125},
1734  {0.546875, 0.164062, 0.082031},
1735  {0.527344, 0.156250, 0.089844}
1736 };
1737 
1738 // https://github.com/1313e/CMasher
1739 const int RGB_Palette_18_Size = 256; // ocean
1741 {
1742  {0.11036298, 0.00169078, 0.25302591},
1743  {0.11229459, 0.00603321, 0.25753772},
1744  {0.11418039, 0.01060839, 0.26205180},
1745  {0.11601976, 0.01542029, 0.26656554},
1746  {0.11781256, 0.02047271, 0.27107617},
1747  {0.11955872, 0.02576938, 0.27558127},
1748  {0.12125791, 0.03131406, 0.28007901},
1749  {0.12291032, 0.03711032, 0.28456726},
1750  {0.12451564, 0.04306596, 0.28904459},
1751  {0.12607398, 0.04880321, 0.29350935},
1752  {0.12758536, 0.05434134, 0.29796010},
1753  {0.12904948, 0.05971483, 0.30239578},
1754  {0.13046681, 0.06494994, 0.30681480},
1755  {0.13183678, 0.07006769, 0.31121644},
1756  {0.13315975, 0.07508463, 0.31559936},
1757  {0.13443582, 0.08001428, 0.31996246},
1758  {0.13566461, 0.08486802, 0.32430500},
1759  {0.13684632, 0.08965512, 0.32862590},
1760  {0.13798112, 0.09438344, 0.33292414},
1761  {0.13906902, 0.09905971, 0.33719884},
1762  {0.14010980, 0.10368981, 0.34144923},
1763  {0.14110359, 0.10827871, 0.34567440},
1764  {0.14205060, 0.11283068, 0.34987342},
1765  {0.14295089, 0.11734954, 0.35404547},
1766  {0.14380456, 0.12183862, 0.35818971},
1767  {0.14461171, 0.12630089, 0.36230534},
1768  {0.14537250, 0.13073893, 0.36639155},
1769  {0.14608708, 0.13515508, 0.37044756},
1770  {0.14675568, 0.13955140, 0.37447257},
1771  {0.14737854, 0.14392971, 0.37846582},
1772  {0.14795595, 0.14829167, 0.38242655},
1773  {0.14848823, 0.15263873, 0.38635403},
1774  {0.14897577, 0.15697221, 0.39024752},
1775  {0.14941899, 0.16129329, 0.39410632},
1776  {0.14981839, 0.16560300, 0.39792975},
1777  {0.15017448, 0.16990228, 0.40171715},
1778  {0.15048788, 0.17419196, 0.40546789},
1779  {0.15075895, 0.17847288, 0.40918140},
1780  {0.15098858, 0.18274564, 0.41285707},
1781  {0.15117765, 0.18701078, 0.41649434},
1782  {0.15132702, 0.19126881, 0.42009270},
1783  {0.15143729, 0.19552028, 0.42365170},
1784  {0.15150958, 0.19976554, 0.42717089},
1785  {0.15154514, 0.20400486, 0.43064985},
1786  {0.15154485, 0.20823862, 0.43408825},
1787  {0.15150992, 0.21246704, 0.43748576},
1788  {0.15144194, 0.21669026, 0.44084210},
1789  {0.15134177, 0.22090856, 0.44415707},
1790  {0.15121131, 0.22512197, 0.44743047},
1791  {0.15105189, 0.22933064, 0.45066217},
1792  {0.15086511, 0.23353464, 0.45385211},
1793  {0.15065279, 0.23773398, 0.45700024},
1794  {0.15041652, 0.24192875, 0.46010658},
1795  {0.15015834, 0.24611888, 0.46317121},
1796  {0.14988003, 0.25030442, 0.46619422},
1797  {0.14958370, 0.25448531, 0.46917580},
1798  {0.14927143, 0.25866151, 0.47211617},
1799  {0.14894527, 0.26283299, 0.47501556},
1800  {0.14860770, 0.26699964, 0.47787431},
1801  {0.14826061, 0.27116148, 0.48069273},
1802  {0.14790675, 0.27531836, 0.48347126},
1803  {0.14754834, 0.27947023, 0.48621032},
1804  {0.14718783, 0.28361704, 0.48891036},
1805  {0.14682792, 0.28775866, 0.49157193},
1806  {0.14647096, 0.29189507, 0.49419555},
1807  {0.14611965, 0.29602617, 0.49678180},
1808  {0.14577671, 0.30015187, 0.49933131},
1809  {0.14544466, 0.30427214, 0.50184468},
1810  {0.14512624, 0.30838691, 0.50432260},
1811  {0.14482421, 0.31249611, 0.50676574},
1812  {0.14454126, 0.31659970, 0.50917482},
1813  {0.14427999, 0.32069765, 0.51155052},
1814  {0.14404324, 0.32478990, 0.51389361},
1815  {0.14383368, 0.32887643, 0.51620483},
1816  {0.14365391, 0.33295724, 0.51848492},
1817  {0.14350657, 0.33703232, 0.52073465},
1818  {0.14339432, 0.34110164, 0.52295479},
1819  {0.14331970, 0.34516522, 0.52514612},
1820  {0.14328515, 0.34922308, 0.52730938},
1821  {0.14329311, 0.35327524, 0.52944536},
1822  {0.14334599, 0.35732173, 0.53155482},
1823  {0.14344605, 0.36136258, 0.53363854},
1824  {0.14359550, 0.36539784, 0.53569725},
1825  {0.14379638, 0.36942758, 0.53773169},
1826  {0.14405074, 0.37345185, 0.53974261},
1827  {0.14436051, 0.37747071, 0.54173074},
1828  {0.14472745, 0.38148424, 0.54369680},
1829  {0.14515323, 0.38549252, 0.54564147},
1830  {0.14563938, 0.38949565, 0.54756543},
1831  {0.14618737, 0.39349370, 0.54946937},
1832  {0.14679849, 0.39748677, 0.55135394},
1833  {0.14747394, 0.40147496, 0.55321979},
1834  {0.14821476, 0.40545839, 0.55506753},
1835  {0.14902183, 0.40943715, 0.55689775},
1836  {0.14989598, 0.41341137, 0.55871106},
1837  {0.15083789, 0.41738115, 0.56050803},
1838  {0.15184810, 0.42134661, 0.56228920},
1839  {0.15292704, 0.42530787, 0.56405511},
1840  {0.15407502, 0.42926506, 0.56580628},
1841  {0.15529223, 0.43321829, 0.56754318},
1842  {0.15657875, 0.43716769, 0.56926630},
1843  {0.15793461, 0.44111338, 0.57097610},
1844  {0.15935970, 0.44505549, 0.57267302},
1845  {0.16085384, 0.44899414, 0.57435748},
1846  {0.16241677, 0.45292945, 0.57602988},
1847  {0.16404815, 0.45686154, 0.57769062},
1848  {0.16574758, 0.46079053, 0.57934004},
1849  {0.16751459, 0.46471656, 0.58097850},
1850  {0.16934866, 0.46863973, 0.58260632},
1851  {0.17124925, 0.47256015, 0.58422382},
1852  {0.17321580, 0.47647795, 0.58583130},
1853  {0.17524768, 0.48039322, 0.58742905},
1854  {0.17734425, 0.48430608, 0.58901731},
1855  {0.17950488, 0.48821663, 0.59059635},
1856  {0.18172891, 0.49212496, 0.59216639},
1857  {0.18401567, 0.49603117, 0.59372765},
1858  {0.18636453, 0.49993535, 0.59528034},
1859  {0.18877485, 0.50383759, 0.59682463},
1860  {0.19124600, 0.50773796, 0.59836071},
1861  {0.19377738, 0.51163653, 0.59988874},
1862  {0.19636843, 0.51553338, 0.60140886},
1863  {0.19901859, 0.51942856, 0.60292121},
1864  {0.20172736, 0.52332213, 0.60442591},
1865  {0.20449428, 0.52721414, 0.60592309},
1866  {0.20731892, 0.53110462, 0.60741283},
1867  {0.21020090, 0.53499361, 0.60889524},
1868  {0.21313989, 0.53888113, 0.61037040},
1869  {0.21613558, 0.54276720, 0.61183834},
1870  {0.21918777, 0.54665182, 0.61329914},
1871  {0.22229631, 0.55053498, 0.61475288},
1872  {0.22546108, 0.55441667, 0.61619963},
1873  {0.22868205, 0.55829685, 0.61763942},
1874  {0.23195924, 0.56217550, 0.61907231},
1875  {0.23529267, 0.56605258, 0.62049821},
1876  {0.23868256, 0.56992800, 0.62191727},
1877  {0.24212914, 0.57380170, 0.62332955},
1878  {0.24563267, 0.57767357, 0.62473500},
1879  {0.24919352, 0.58154354, 0.62613362},
1880  {0.25281216, 0.58541146, 0.62752556},
1881  {0.25648909, 0.58927720, 0.62891076},
1882  {0.26022491, 0.59314062, 0.63028927},
1883  {0.26402031, 0.59700151, 0.63166124},
1884  {0.26787604, 0.60085972, 0.63302651},
1885  {0.27179297, 0.60471500, 0.63438542},
1886  {0.27577199, 0.60856714, 0.63573775},
1887  {0.27981416, 0.61241587, 0.63708388},
1888  {0.28392056, 0.61626091, 0.63842373},
1889  {0.28809239, 0.62010194, 0.63975752},
1890  {0.29233093, 0.62393864, 0.64108550},
1891  {0.29663759, 0.62777064, 0.64240764},
1892  {0.30101382, 0.63159754, 0.64372434},
1893  {0.30546117, 0.63541892, 0.64503589},
1894  {0.30998130, 0.63923432, 0.64634259},
1895  {0.31457598, 0.64304323, 0.64764481},
1896  {0.31924707, 0.64684514, 0.64894289},
1897  {0.32399647, 0.65063947, 0.65023744},
1898  {0.32882620, 0.65442561, 0.65152904},
1899  {0.33373835, 0.65820289, 0.65281838},
1900  {0.33873515, 0.66197064, 0.65410616},
1901  {0.34381881, 0.66572811, 0.65539330},
1902  {0.34899160, 0.66947452, 0.65668086},
1903  {0.35425586, 0.67320902, 0.65797005},
1904  {0.35961394, 0.67693076, 0.65926212},
1905  {0.36506831, 0.68063881, 0.66055847},
1906  {0.37062112, 0.68433222, 0.66186104},
1907  {0.37627487, 0.68800998, 0.66317142},
1908  {0.38203149, 0.69167107, 0.66449210},
1909  {0.38789330, 0.69531443, 0.66582512},
1910  {0.39386193, 0.69893900, 0.66717343},
1911  {0.39993898, 0.70254369, 0.66853995},
1912  {0.40612583, 0.70612744, 0.66992783},
1913  {0.41242330, 0.70968920, 0.67134073},
1914  {0.41883173, 0.71322799, 0.67278257},
1915  {0.42535095, 0.71674289, 0.67425759},
1916  {0.43198011, 0.72023305, 0.67577030},
1917  {0.43871767, 0.72369779, 0.67732549},
1918  {0.44556123, 0.72713656, 0.67892818},
1919  {0.45250758, 0.73054898, 0.68058357},
1920  {0.45955261, 0.73393492, 0.68229694},
1921  {0.46669130, 0.73729444, 0.68407356},
1922  {0.47391772, 0.74062788, 0.68591867},
1923  {0.48122519, 0.74393585, 0.68783723},
1924  {0.48860630, 0.74721920, 0.68983393},
1925  {0.49605306, 0.75047904, 0.69191302},
1926  {0.50355706, 0.75371673, 0.69407825},
1927  {0.51110961, 0.75693384, 0.69633279},
1928  {0.51870199, 0.76013211, 0.69867915},
1929  {0.52632555, 0.76331345, 0.70111918},
1930  {0.53397196, 0.76647982, 0.70365405},
1931  {0.54163332, 0.76963326, 0.70628425},
1932  {0.54930234, 0.77277581, 0.70900965},
1933  {0.55697237, 0.77590947, 0.71182953},
1934  {0.56463671, 0.77903637, 0.71474289},
1935  {0.57229081, 0.78215824, 0.71774790},
1936  {0.57992912, 0.78527710, 0.72084282},
1937  {0.58754828, 0.78839452, 0.72402527},
1938  {0.59514475, 0.79151213, 0.72729283},
1939  {0.60271552, 0.79463151, 0.73064297},
1940  {0.61025836, 0.79775402, 0.73407296},
1941  {0.61777160, 0.80088094, 0.73758006},
1942  {0.62525367, 0.80401348, 0.74116153},
1943  {0.63270387, 0.80715267, 0.74481460},
1944  {0.64012176, 0.81029943, 0.74853655},
1945  {0.64750659, 0.81345476, 0.75232480},
1946  {0.65485840, 0.81661944, 0.75617675},
1947  {0.66217728, 0.81979422, 0.76008994},
1948  {0.66946389, 0.82297967, 0.76406197},
1949  {0.67671761, 0.82617671, 0.76809057},
1950  {0.68393980, 0.82938567, 0.77217354},
1951  {0.69113094, 0.83260710, 0.77630879},
1952  {0.69829165, 0.83584151, 0.78049432},
1953  {0.70542264, 0.83908936, 0.78472824},
1954  {0.71252470, 0.84235106, 0.78900873},
1955  {0.71959870, 0.84562698, 0.79333408},
1956  {0.72664555, 0.84891744, 0.79770266},
1957  {0.73366565, 0.85222293, 0.80211288},
1958  {0.74066008, 0.85554371, 0.80656326},
1959  {0.74763018, 0.85887990, 0.81105246},
1960  {0.75457589, 0.86223209, 0.81557902},
1961  {0.76149887, 0.86560029, 0.82014175},
1962  {0.76839930, 0.86898498, 0.82473936},
1963  {0.77527874, 0.87238615, 0.82937078},
1964  {0.78213686, 0.87580444, 0.83403472},
1965  {0.78897545, 0.87923974, 0.83873025},
1966  {0.79579511, 0.88269234, 0.84345633},
1967  {0.80259581, 0.88616273, 0.84821182},
1968  {0.80937888, 0.88965094, 0.85299585},
1969  {0.81614498, 0.89315719, 0.85780751},
1970  {0.82289470, 0.89668175, 0.86264586},
1971  {0.82962861, 0.90022485, 0.86751000},
1972  {0.83634729, 0.90378676, 0.87239906},
1973  {0.84305129, 0.90736771, 0.87731217},
1974  {0.84974113, 0.91096796, 0.88224848},
1975  {0.85641734, 0.91458776, 0.88720714},
1976  {0.86308039, 0.91822735, 0.89218732},
1977  {0.86973073, 0.92188701, 0.89718817},
1978  {0.87636879, 0.92556701, 0.90220883},
1979  {0.88299495, 0.92926763, 0.90724844},
1980  {0.88960897, 0.93298940, 0.91230596},
1981  {0.89621156, 0.93673248, 0.91738058},
1982  {0.90280302, 0.94049718, 0.92247137},
1983  {0.90938335, 0.94428393, 0.92757732},
1984  {0.91595203, 0.94809341, 0.93269721},
1985  {0.92250973, 0.95192575, 0.93783015},
1986  {0.92905588, 0.95578166, 0.94297488},
1987  {0.93558995, 0.95966178, 0.94813012},
1988  {0.94211204, 0.96356654, 0.95329477},
1989  {0.94862035, 0.96749711, 0.95846718},
1990  {0.95511504, 0.97145390, 0.96364632},
1991  {0.96159359, 0.97543838, 0.96883050},
1992  {0.96805534, 0.97945125, 0.97401875},
1993  {0.97449688, 0.98349435, 0.97920966},
1994  {0.98091630, 0.98756881, 0.98440279},
1995  {0.98730941, 0.99167667, 0.98959791},
1996  {0.99367218, 0.99581976, 0.99479608},
1997  {1.00000000, 1.00000000, 1.00000000}
1998 };
1999 
2000 const int RGB_Palette_19_Size = 256; // gimp - PastelRainbow
2002 {
2003  { 0.99609375, 0.74609375, 0.74609375 },
2004  { 0.99609375, 0.75000000, 0.74609375 },
2005  { 0.99609375, 0.75781250, 0.74609375 },
2006  { 0.99609375, 0.76171875, 0.74609375 },
2007  { 0.99609375, 0.76953125, 0.74609375 },
2008  { 0.99609375, 0.77343750, 0.74609375 },
2009  { 0.99609375, 0.78125000, 0.74609375 },
2010  { 0.99609375, 0.78515625, 0.74609375 },
2011  { 0.99609375, 0.79296875, 0.74609375 },
2012  { 0.99609375, 0.79687500, 0.74609375 },
2013  { 0.99609375, 0.80468750, 0.74609375 },
2014  { 0.99609375, 0.80859375, 0.74609375 },
2015  { 0.99609375, 0.81640625, 0.74609375 },
2016  { 0.99609375, 0.82031250, 0.74609375 },
2017  { 0.99609375, 0.82812500, 0.74609375 },
2018  { 0.99609375, 0.83203125, 0.74609375 },
2019  { 0.99609375, 0.83984375, 0.74609375 },
2020  { 0.99609375, 0.84375000, 0.74609375 },
2021  { 0.99609375, 0.85156250, 0.74609375 },
2022  { 0.99609375, 0.85546875, 0.74609375 },
2023  { 0.99609375, 0.86328125, 0.74609375 },
2024  { 0.99609375, 0.86718750, 0.74609375 },
2025  { 0.99609375, 0.87500000, 0.74609375 },
2026  { 0.99609375, 0.87890625, 0.74609375 },
2027  { 0.99609375, 0.88671875, 0.74609375 },
2028  { 0.99609375, 0.89062500, 0.74609375 },
2029  { 0.99609375, 0.89843750, 0.74609375 },
2030  { 0.99609375, 0.90234375, 0.74609375 },
2031  { 0.99609375, 0.91015625, 0.74609375 },
2032  { 0.99609375, 0.91406250, 0.74609375 },
2033  { 0.99609375, 0.92187500, 0.74609375 },
2034  { 0.99609375, 0.92578125, 0.74609375 },
2035  { 0.99609375, 0.93359375, 0.74609375 },
2036  { 0.99609375, 0.93750000, 0.74609375 },
2037  { 0.99609375, 0.94531250, 0.74609375 },
2038  { 0.99609375, 0.94921875, 0.74609375 },
2039  { 0.99609375, 0.95703125, 0.74609375 },
2040  { 0.99609375, 0.96093750, 0.74609375 },
2041  { 0.99609375, 0.96875000, 0.74609375 },
2042  { 0.99609375, 0.97265625, 0.74609375 },
2043  { 0.99609375, 0.98046875, 0.74609375 },
2044  { 0.99609375, 0.98437500, 0.74609375 },
2045  { 0.99609375, 0.99218750, 0.74609375 },
2046  { 0.99218750, 0.99609375, 0.74609375 },
2047  { 0.98437500, 0.99609375, 0.74609375 },
2048  { 0.98046875, 0.99609375, 0.74609375 },
2049  { 0.97265625, 0.99609375, 0.74609375 },
2050  { 0.96875000, 0.99609375, 0.74609375 },
2051  { 0.96093750, 0.99609375, 0.74609375 },
2052  { 0.95703125, 0.99609375, 0.74609375 },
2053  { 0.94921875, 0.99609375, 0.74609375 },
2054  { 0.94531250, 0.99609375, 0.74609375 },
2055  { 0.93750000, 0.99609375, 0.74609375 },
2056  { 0.93359375, 0.99609375, 0.74609375 },
2057  { 0.92578125, 0.99609375, 0.74609375 },
2058  { 0.92187500, 0.99609375, 0.74609375 },
2059  { 0.91406250, 0.99609375, 0.74609375 },
2060  { 0.91015625, 0.99609375, 0.74609375 },
2061  { 0.90234375, 0.99609375, 0.74609375 },
2062  { 0.89843750, 0.99609375, 0.74609375 },
2063  { 0.89062500, 0.99609375, 0.74609375 },
2064  { 0.88671875, 0.99609375, 0.74609375 },
2065  { 0.87890625, 0.99609375, 0.74609375 },
2066  { 0.87500000, 0.99609375, 0.74609375 },
2067  { 0.86718750, 0.99609375, 0.74609375 },
2068  { 0.86328125, 0.99609375, 0.74609375 },
2069  { 0.85546875, 0.99609375, 0.74609375 },
2070  { 0.85156250, 0.99609375, 0.74609375 },
2071  { 0.84375000, 0.99609375, 0.74609375 },
2072  { 0.83984375, 0.99609375, 0.74609375 },
2073  { 0.83203125, 0.99609375, 0.74609375 },
2074  { 0.82812500, 0.99609375, 0.74609375 },
2075  { 0.82031250, 0.99609375, 0.74609375 },
2076  { 0.81640625, 0.99609375, 0.74609375 },
2077  { 0.80859375, 0.99609375, 0.74609375 },
2078  { 0.80468750, 0.99609375, 0.74609375 },
2079  { 0.79687500, 0.99609375, 0.74609375 },
2080  { 0.79296875, 0.99609375, 0.74609375 },
2081  { 0.78515625, 0.99609375, 0.74609375 },
2082  { 0.78125000, 0.99609375, 0.74609375 },
2083  { 0.77343750, 0.99609375, 0.74609375 },
2084  { 0.76953125, 0.99609375, 0.74609375 },
2085  { 0.76171875, 0.99609375, 0.74609375 },
2086  { 0.75781250, 0.99609375, 0.74609375 },
2087  { 0.75000000, 0.99609375, 0.74609375 },
2088  { 0.74609375, 0.99609375, 0.74609375 },
2089  { 0.74609375, 0.99609375, 0.75000000 },
2090  { 0.74609375, 0.99609375, 0.75781250 },
2091  { 0.74609375, 0.99609375, 0.76171875 },
2092  { 0.74609375, 0.99609375, 0.76953125 },
2093  { 0.74609375, 0.99609375, 0.77343750 },
2094  { 0.74609375, 0.99609375, 0.78125000 },
2095  { 0.74609375, 0.99609375, 0.78515625 },
2096  { 0.74609375, 0.99609375, 0.79296875 },
2097  { 0.74609375, 0.99609375, 0.79687500 },
2098  { 0.74609375, 0.99609375, 0.80468750 },
2099  { 0.74609375, 0.99609375, 0.80859375 },
2100  { 0.74609375, 0.99609375, 0.81640625 },
2101  { 0.74609375, 0.99609375, 0.82031250 },
2102  { 0.74609375, 0.99609375, 0.82812500 },
2103  { 0.74609375, 0.99609375, 0.83203125 },
2104  { 0.74609375, 0.99609375, 0.83984375 },
2105  { 0.74609375, 0.99609375, 0.84375000 },
2106  { 0.74609375, 0.99609375, 0.85156250 },
2107  { 0.74609375, 0.99609375, 0.85546875 },
2108  { 0.74609375, 0.99609375, 0.86328125 },
2109  { 0.74609375, 0.99609375, 0.86718750 },
2110  { 0.74609375, 0.99609375, 0.87500000 },
2111  { 0.74609375, 0.99609375, 0.87890625 },
2112  { 0.74609375, 0.99609375, 0.88671875 },
2113  { 0.74609375, 0.99609375, 0.89062500 },
2114  { 0.74609375, 0.99609375, 0.89843750 },
2115  { 0.74609375, 0.99609375, 0.90234375 },
2116  { 0.74609375, 0.99609375, 0.91015625 },
2117  { 0.74609375, 0.99609375, 0.91406250 },
2118  { 0.74609375, 0.99609375, 0.92187500 },
2119  { 0.74609375, 0.99609375, 0.92578125 },
2120  { 0.74609375, 0.99609375, 0.93359375 },
2121  { 0.74609375, 0.99609375, 0.93750000 },
2122  { 0.74609375, 0.99609375, 0.94531250 },
2123  { 0.74609375, 0.99609375, 0.94921875 },
2124  { 0.74609375, 0.99609375, 0.95703125 },
2125  { 0.74609375, 0.99609375, 0.96093750 },
2126  { 0.74609375, 0.99609375, 0.96875000 },
2127  { 0.74609375, 0.99609375, 0.97265625 },
2128  { 0.74609375, 0.99609375, 0.98046875 },
2129  { 0.74609375, 0.99609375, 0.98437500 },
2130  { 0.74609375, 0.99609375, 0.99218750 },
2131  { 0.74609375, 0.99218750, 0.99609375 },
2132  { 0.74609375, 0.98437500, 0.99609375 },
2133  { 0.74609375, 0.98046875, 0.99609375 },
2134  { 0.74609375, 0.97265625, 0.99609375 },
2135  { 0.74609375, 0.96875000, 0.99609375 },
2136  { 0.74609375, 0.96093750, 0.99609375 },
2137  { 0.74609375, 0.95703125, 0.99609375 },
2138  { 0.74609375, 0.94921875, 0.99609375 },
2139  { 0.74609375, 0.94531250, 0.99609375 },
2140  { 0.74609375, 0.93750000, 0.99609375 },
2141  { 0.74609375, 0.93359375, 0.99609375 },
2142  { 0.74609375, 0.92578125, 0.99609375 },
2143  { 0.74609375, 0.92187500, 0.99609375 },
2144  { 0.74609375, 0.91406250, 0.99609375 },
2145  { 0.74609375, 0.91015625, 0.99609375 },
2146  { 0.74609375, 0.90234375, 0.99609375 },
2147  { 0.74609375, 0.89843750, 0.99609375 },
2148  { 0.74609375, 0.89062500, 0.99609375 },
2149  { 0.74609375, 0.88671875, 0.99609375 },
2150  { 0.74609375, 0.87890625, 0.99609375 },
2151  { 0.74609375, 0.87500000, 0.99609375 },
2152  { 0.74609375, 0.86718750, 0.99609375 },
2153  { 0.74609375, 0.86328125, 0.99609375 },
2154  { 0.74609375, 0.85546875, 0.99609375 },
2155  { 0.74609375, 0.85156250, 0.99609375 },
2156  { 0.74609375, 0.84375000, 0.99609375 },
2157  { 0.74609375, 0.83984375, 0.99609375 },
2158  { 0.74609375, 0.83203125, 0.99609375 },
2159  { 0.74609375, 0.82812500, 0.99609375 },
2160  { 0.74609375, 0.82031250, 0.99609375 },
2161  { 0.74609375, 0.81640625, 0.99609375 },
2162  { 0.74609375, 0.80859375, 0.99609375 },
2163  { 0.74609375, 0.80468750, 0.99609375 },
2164  { 0.74609375, 0.79687500, 0.99609375 },
2165  { 0.74609375, 0.79296875, 0.99609375 },
2166  { 0.74609375, 0.78515625, 0.99609375 },
2167  { 0.74609375, 0.78125000, 0.99609375 },
2168  { 0.74609375, 0.77343750, 0.99609375 },
2169  { 0.74609375, 0.76953125, 0.99609375 },
2170  { 0.74609375, 0.76171875, 0.99609375 },
2171  { 0.74609375, 0.75781250, 0.99609375 },
2172  { 0.74609375, 0.75000000, 0.99609375 },
2173  { 0.74609375, 0.74609375, 0.99609375 },
2174  { 0.75000000, 0.74609375, 0.99609375 },
2175  { 0.75781250, 0.74609375, 0.99609375 },
2176  { 0.76171875, 0.74609375, 0.99609375 },
2177  { 0.76953125, 0.74609375, 0.99609375 },
2178  { 0.77343750, 0.74609375, 0.99609375 },
2179  { 0.78125000, 0.74609375, 0.99609375 },
2180  { 0.78515625, 0.74609375, 0.99609375 },
2181  { 0.79296875, 0.74609375, 0.99609375 },
2182  { 0.79687500, 0.74609375, 0.99609375 },
2183  { 0.80468750, 0.74609375, 0.99609375 },
2184  { 0.80859375, 0.74609375, 0.99609375 },
2185  { 0.81640625, 0.74609375, 0.99609375 },
2186  { 0.82031250, 0.74609375, 0.99609375 },
2187  { 0.82812500, 0.74609375, 0.99609375 },
2188  { 0.83203125, 0.74609375, 0.99609375 },
2189  { 0.83984375, 0.74609375, 0.99609375 },
2190  { 0.84375000, 0.74609375, 0.99609375 },
2191  { 0.85156250, 0.74609375, 0.99609375 },
2192  { 0.85546875, 0.74609375, 0.99609375 },
2193  { 0.86328125, 0.74609375, 0.99609375 },
2194  { 0.86718750, 0.74609375, 0.99609375 },
2195  { 0.87500000, 0.74609375, 0.99609375 },
2196  { 0.87890625, 0.74609375, 0.99609375 },
2197  { 0.88671875, 0.74609375, 0.99609375 },
2198  { 0.89062500, 0.74609375, 0.99609375 },
2199  { 0.89843750, 0.74609375, 0.99609375 },
2200  { 0.90234375, 0.74609375, 0.99609375 },
2201  { 0.91015625, 0.74609375, 0.99609375 },
2202  { 0.91406250, 0.74609375, 0.99609375 },
2203  { 0.92187500, 0.74609375, 0.99609375 },
2204  { 0.92578125, 0.74609375, 0.99609375 },
2205  { 0.93359375, 0.74609375, 0.99609375 },
2206  { 0.93750000, 0.74609375, 0.99609375 },
2207  { 0.94531250, 0.74609375, 0.99609375 },
2208  { 0.94921875, 0.74609375, 0.99609375 },
2209  { 0.95703125, 0.74609375, 0.99609375 },
2210  { 0.96093750, 0.74609375, 0.99609375 },
2211  { 0.96875000, 0.74609375, 0.99609375 },
2212  { 0.97265625, 0.74609375, 0.99609375 },
2213  { 0.98046875, 0.74609375, 0.99609375 },
2214  { 0.98437500, 0.74609375, 0.99609375 },
2215  { 0.99218750, 0.74609375, 0.99609375 },
2216  { 0.99609375, 0.74609375, 0.99218750 },
2217  { 0.99609375, 0.74609375, 0.98437500 },
2218  { 0.99609375, 0.74609375, 0.98046875 },
2219  { 0.99609375, 0.74609375, 0.97265625 },
2220  { 0.99609375, 0.74609375, 0.96875000 },
2221  { 0.99609375, 0.74609375, 0.96093750 },
2222  { 0.99609375, 0.74609375, 0.95703125 },
2223  { 0.99609375, 0.74609375, 0.94921875 },
2224  { 0.99609375, 0.74609375, 0.94531250 },
2225  { 0.99609375, 0.74609375, 0.93750000 },
2226  { 0.99609375, 0.74609375, 0.93359375 },
2227  { 0.99609375, 0.74609375, 0.92578125 },
2228  { 0.99609375, 0.74609375, 0.92187500 },
2229  { 0.99609375, 0.74609375, 0.91406250 },
2230  { 0.99609375, 0.74609375, 0.91015625 },
2231  { 0.99609375, 0.74609375, 0.90234375 },
2232  { 0.99609375, 0.74609375, 0.89843750 },
2233  { 0.99609375, 0.74609375, 0.89062500 },
2234  { 0.99609375, 0.74609375, 0.88671875 },
2235  { 0.99609375, 0.74609375, 0.87890625 },
2236  { 0.99609375, 0.74609375, 0.87500000 },
2237  { 0.99609375, 0.74609375, 0.86718750 },
2238  { 0.99609375, 0.74609375, 0.86328125 },
2239  { 0.99609375, 0.74609375, 0.85546875 },
2240  { 0.99609375, 0.74609375, 0.85156250 },
2241  { 0.99609375, 0.74609375, 0.84375000 },
2242  { 0.99609375, 0.74609375, 0.83984375 },
2243  { 0.99609375, 0.74609375, 0.83203125 },
2244  { 0.99609375, 0.74609375, 0.82812500 },
2245  { 0.99609375, 0.74609375, 0.82031250 },
2246  { 0.99609375, 0.74609375, 0.81640625 },
2247  { 0.99609375, 0.74609375, 0.80859375 },
2248  { 0.99609375, 0.74609375, 0.80468750 },
2249  { 0.99609375, 0.74609375, 0.79687500 },
2250  { 0.99609375, 0.74609375, 0.79296875 },
2251  { 0.99609375, 0.74609375, 0.78515625 },
2252  { 0.99609375, 0.74609375, 0.78125000 },
2253  { 0.99609375, 0.74609375, 0.77343750 },
2254  { 0.99609375, 0.74609375, 0.76953125 },
2255  { 0.99609375, 0.74609375, 0.76171875 },
2256  { 0.99609375, 0.74609375, 0.75781250 },
2257  { 0.99609375, 0.74609375, 0.75000000 },
2258  { 0.99609375, 0.74609375, 0.74609375 },
2259 };
2260 
2261 const int RGB_Palette_20_Size = 256; // gimp - TropicalColors
2263 {
2264  { 0.03515625, 0.15625000, 0.01171875 },
2265  { 0.03515625, 0.16015625, 0.01171875 },
2266  { 0.03125000, 0.16796875, 0.01171875 },
2267  { 0.03125000, 0.17187500, 0.01171875 },
2268  { 0.03125000, 0.17968750, 0.01171875 },
2269  { 0.03125000, 0.18359375, 0.01171875 },
2270  { 0.02734375, 0.18750000, 0.01171875 },
2271  { 0.02734375, 0.19531250, 0.00781250 },
2272  { 0.02734375, 0.19921875, 0.00781250 },
2273  { 0.02734375, 0.20312500, 0.00781250 },
2274  { 0.02343750, 0.21093750, 0.00781250 },
2275  { 0.02343750, 0.21484375, 0.00781250 },
2276  { 0.02343750, 0.21875000, 0.00781250 },
2277  { 0.01953125, 0.22656250, 0.00781250 },
2278  { 0.01953125, 0.23046875, 0.00390625 },
2279  { 0.01953125, 0.24218750, 0.00390625 },
2280  { 0.01562500, 0.25000000, 0.00390625 },
2281  { 0.01562500, 0.26171875, 0.00390625 },
2282  { 0.01171875, 0.26953125, 0.00000000 },
2283  { 0.01171875, 0.28125000, 0.00000000 },
2284  { 0.00781250, 0.28906250, 0.00000000 },
2285  { 0.00781250, 0.30078125, 0.00000000 },
2286  { 0.00781250, 0.30859375, 0.00000000 },
2287  { 0.01562500, 0.32031250, 0.00390625 },
2288  { 0.02343750, 0.32812500, 0.00390625 },
2289  { 0.02734375, 0.33984375, 0.00781250 },
2290  { 0.03515625, 0.34765625, 0.01171875 },
2291  { 0.04296875, 0.35937500, 0.01562500 },
2292  { 0.05078125, 0.36718750, 0.01953125 },
2293  { 0.05468750, 0.37890625, 0.01953125 },
2294  { 0.06250000, 0.38671875, 0.02343750 },
2295  { 0.07031250, 0.39843750, 0.02734375 },
2296  { 0.07812500, 0.40625000, 0.03125000 },
2297  { 0.08203125, 0.41796875, 0.03515625 },
2298  { 0.08984375, 0.42578125, 0.03515625 },
2299  { 0.09765625, 0.43750000, 0.03906250 },
2300  { 0.10546875, 0.44531250, 0.04296875 },
2301  { 0.10937500, 0.45703125, 0.04687500 },
2302  { 0.11718750, 0.46484375, 0.04687500 },
2303  { 0.12500000, 0.47265625, 0.05078125 },
2304  { 0.12890625, 0.48437500, 0.05468750 },
2305  { 0.13671875, 0.49218750, 0.05859375 },
2306  { 0.14453125, 0.50390625, 0.06250000 },
2307  { 0.15234375, 0.51171875, 0.06250000 },
2308  { 0.15625000, 0.51953125, 0.06640625 },
2309  { 0.16406250, 0.53125000, 0.07031250 },
2310  { 0.17187500, 0.53906250, 0.07421875 },
2311  { 0.17578125, 0.55078125, 0.07421875 },
2312  { 0.18359375, 0.55859375, 0.07812500 },
2313  { 0.19140625, 0.56640625, 0.08203125 },
2314  { 0.21484375, 0.57812500, 0.08593750 },
2315  { 0.25000000, 0.58593750, 0.08984375 },
2316  { 0.28515625, 0.59375000, 0.09765625 },
2317  { 0.32031250, 0.60156250, 0.10156250 },
2318  { 0.35546875, 0.60937500, 0.10546875 },
2319  { 0.39453125, 0.62109375, 0.11328125 },
2320  { 0.42968750, 0.62890625, 0.11718750 },
2321  { 0.46484375, 0.63671875, 0.12109375 },
2322  { 0.50000000, 0.64453125, 0.12890625 },
2323  { 0.53515625, 0.65234375, 0.13281250 },
2324  { 0.57031250, 0.66015625, 0.13671875 },
2325  { 0.60156250, 0.66796875, 0.14453125 },
2326  { 0.63671875, 0.67968750, 0.14843750 },
2327  { 0.66796875, 0.68750000, 0.15234375 },
2328  { 0.70312500, 0.69531250, 0.15625000 },
2329  { 0.73437500, 0.70312500, 0.16406250 },
2330  { 0.76953125, 0.71093750, 0.16796875 },
2331  { 0.80078125, 0.71875000, 0.17187500 },
2332  { 0.83593750, 0.72656250, 0.17578125 },
2333  { 0.86718750, 0.73437500, 0.18359375 },
2334  { 0.90234375, 0.74218750, 0.18750000 },
2335  { 0.91796875, 0.73828125, 0.18750000 },
2336  { 0.92187500, 0.71875000, 0.18750000 },
2337  { 0.92187500, 0.70312500, 0.18359375 },
2338  { 0.92187500, 0.68359375, 0.18359375 },
2339  { 0.92187500, 0.66406250, 0.17968750 },
2340  { 0.92578125, 0.64843750, 0.17968750 },
2341  { 0.92578125, 0.62890625, 0.17578125 },
2342  { 0.92578125, 0.61328125, 0.17578125 },
2343  { 0.92578125, 0.59375000, 0.17187500 },
2344  { 0.92968750, 0.57421875, 0.16796875 },
2345  { 0.92968750, 0.55859375, 0.16796875 },
2346  { 0.92968750, 0.53906250, 0.16406250 },
2347  { 0.93359375, 0.52343750, 0.16406250 },
2348  { 0.93359375, 0.50390625, 0.16015625 },
2349  { 0.93359375, 0.48437500, 0.16015625 },
2350  { 0.93359375, 0.46875000, 0.15625000 },
2351  { 0.93750000, 0.44921875, 0.15625000 },
2352  { 0.93750000, 0.43359375, 0.15234375 },
2353  { 0.93750000, 0.41406250, 0.15234375 },
2354  { 0.93750000, 0.39453125, 0.14843750 },
2355  { 0.94140625, 0.37890625, 0.14453125 },
2356  { 0.94140625, 0.35937500, 0.14453125 },
2357  { 0.94140625, 0.34375000, 0.14062500 },
2358  { 0.94531250, 0.32421875, 0.14062500 },
2359  { 0.94531250, 0.30468750, 0.13671875 },
2360  { 0.94531250, 0.28906250, 0.13671875 },
2361  { 0.94531250, 0.26953125, 0.13281250 },
2362  { 0.94921875, 0.25390625, 0.13281250 },
2363  { 0.94921875, 0.23828125, 0.12890625 },
2364  { 0.94140625, 0.23828125, 0.13281250 },
2365  { 0.93359375, 0.23828125, 0.13281250 },
2366  { 0.92578125, 0.24218750, 0.13671875 },
2367  { 0.92187500, 0.24218750, 0.13671875 },
2368  { 0.91406250, 0.24218750, 0.13671875 },
2369  { 0.90625000, 0.24609375, 0.14062500 },
2370  { 0.90234375, 0.24609375, 0.14062500 },
2371  { 0.89453125, 0.24609375, 0.14453125 },
2372  { 0.88671875, 0.25000000, 0.14453125 },
2373  { 0.87890625, 0.25000000, 0.14453125 },
2374  { 0.87500000, 0.25000000, 0.14843750 },
2375  { 0.86718750, 0.25390625, 0.14843750 },
2376  { 0.85937500, 0.25390625, 0.15234375 },
2377  { 0.85546875, 0.25390625, 0.15234375 },
2378  { 0.84765625, 0.25781250, 0.15625000 },
2379  { 0.83984375, 0.25781250, 0.15625000 },
2380  { 0.83203125, 0.25781250, 0.15625000 },
2381  { 0.82812500, 0.26171875, 0.16015625 },
2382  { 0.82031250, 0.26171875, 0.16015625 },
2383  { 0.81250000, 0.26171875, 0.16406250 },
2384  { 0.80859375, 0.26171875, 0.16406250 },
2385  { 0.80078125, 0.26562500, 0.16796875 },
2386  { 0.79296875, 0.26562500, 0.16796875 },
2387  { 0.78515625, 0.26562500, 0.16796875 },
2388  { 0.78125000, 0.26953125, 0.17187500 },
2389  { 0.77343750, 0.26953125, 0.17187500 },
2390  { 0.76562500, 0.26953125, 0.17578125 },
2391  { 0.75781250, 0.27343750, 0.17578125 },
2392  { 0.75390625, 0.27343750, 0.17578125 },
2393  { 0.74609375, 0.27343750, 0.17968750 },
2394  { 0.73828125, 0.27734375, 0.17968750 },
2395  { 0.72265625, 0.27734375, 0.18359375 },
2396  { 0.70703125, 0.28125000, 0.18750000 },
2397  { 0.68750000, 0.28515625, 0.19531250 },
2398  { 0.66796875, 0.28906250, 0.19921875 },
2399  { 0.64843750, 0.29296875, 0.20312500 },
2400  { 0.63281250, 0.29687500, 0.20703125 },
2401  { 0.61328125, 0.30078125, 0.21093750 },
2402  { 0.59375000, 0.30468750, 0.21484375 },
2403  { 0.57421875, 0.30859375, 0.22265625 },
2404  { 0.55859375, 0.30859375, 0.22656250 },
2405  { 0.53906250, 0.31250000, 0.23046875 },
2406  { 0.52734375, 0.31640625, 0.24218750 },
2407  { 0.52343750, 0.31640625, 0.26953125 },
2408  { 0.52343750, 0.31250000, 0.29687500 },
2409  { 0.51953125, 0.31250000, 0.32421875 },
2410  { 0.51562500, 0.31250000, 0.34765625 },
2411  { 0.51562500, 0.31250000, 0.37500000 },
2412  { 0.51171875, 0.31250000, 0.40234375 },
2413  { 0.51171875, 0.30859375, 0.42968750 },
2414  { 0.50781250, 0.30859375, 0.45703125 },
2415  { 0.50781250, 0.30859375, 0.48437500 },
2416  { 0.50390625, 0.30859375, 0.51171875 },
2417  { 0.50390625, 0.30859375, 0.53906250 },
2418  { 0.50000000, 0.30468750, 0.56250000 },
2419  { 0.50000000, 0.30468750, 0.58984375 },
2420  { 0.49609375, 0.30468750, 0.61718750 },
2421  { 0.49609375, 0.30468750, 0.64453125 },
2422  { 0.49218750, 0.30078125, 0.67187500 },
2423  { 0.49218750, 0.30078125, 0.69921875 },
2424  { 0.48828125, 0.30078125, 0.72656250 },
2425  { 0.48828125, 0.30078125, 0.75390625 },
2426  { 0.48437500, 0.30078125, 0.77734375 },
2427  { 0.48437500, 0.29687500, 0.80468750 },
2428  { 0.48046875, 0.29687500, 0.83203125 },
2429  { 0.48046875, 0.29687500, 0.85937500 },
2430  { 0.47656250, 0.29687500, 0.88671875 },
2431  { 0.47656250, 0.29687500, 0.91406250 },
2432  { 0.47265625, 0.29296875, 0.94140625 },
2433  { 0.47265625, 0.29296875, 0.96875000 },
2434  { 0.46875000, 0.29296875, 0.99218750 },
2435  { 0.47265625, 0.30468750, 0.99218750 },
2436  { 0.47656250, 0.32031250, 0.99218750 },
2437  { 0.47656250, 0.33203125, 0.99218750 },
2438  { 0.48046875, 0.34375000, 0.99218750 },
2439  { 0.48437500, 0.35546875, 0.99218750 },
2440  { 0.48828125, 0.37109375, 0.98828125 },
2441  { 0.49218750, 0.38281250, 0.98828125 },
2442  { 0.49218750, 0.39453125, 0.98828125 },
2443  { 0.49609375, 0.41015625, 0.98828125 },
2444  { 0.50000000, 0.42187500, 0.98828125 },
2445  { 0.50390625, 0.43359375, 0.98437500 },
2446  { 0.50781250, 0.44921875, 0.98437500 },
2447  { 0.51171875, 0.46093750, 0.98437500 },
2448  { 0.51171875, 0.47265625, 0.98437500 },
2449  { 0.51562500, 0.48828125, 0.98437500 },
2450  { 0.51953125, 0.50000000, 0.98046875 },
2451  { 0.52343750, 0.51171875, 0.98046875 },
2452  { 0.52734375, 0.52734375, 0.98046875 },
2453  { 0.52734375, 0.53906250, 0.98046875 },
2454  { 0.53125000, 0.55078125, 0.98046875 },
2455  { 0.53515625, 0.56250000, 0.97656250 },
2456  { 0.53906250, 0.57812500, 0.97656250 },
2457  { 0.54296875, 0.58984375, 0.97656250 },
2458  { 0.54296875, 0.60156250, 0.97656250 },
2459  { 0.54687500, 0.61718750, 0.97656250 },
2460  { 0.55078125, 0.62890625, 0.97265625 },
2461  { 0.55468750, 0.64062500, 0.97265625 },
2462  { 0.55859375, 0.66796875, 0.97265625 },
2463  { 0.56640625, 0.69140625, 0.96875000 },
2464  { 0.57421875, 0.71875000, 0.96875000 },
2465  { 0.57812500, 0.74218750, 0.96875000 },
2466  { 0.58593750, 0.76953125, 0.96484375 },
2467  { 0.58984375, 0.79687500, 0.96484375 },
2468  { 0.59765625, 0.82031250, 0.96093750 },
2469  { 0.60546875, 0.84765625, 0.96093750 },
2470  { 0.60937500, 0.87109375, 0.96093750 },
2471  { 0.61718750, 0.89843750, 0.95703125 },
2472  { 0.62109375, 0.92578125, 0.95703125 },
2473  { 0.62890625, 0.94921875, 0.95312500 },
2474  { 0.63671875, 0.97656250, 0.95312500 },
2475  { 0.63671875, 0.99218750, 0.94140625 },
2476  { 0.62500000, 0.98437500, 0.91015625 },
2477  { 0.61328125, 0.98046875, 0.87500000 },
2478  { 0.60156250, 0.97265625, 0.84375000 },
2479  { 0.58984375, 0.96875000, 0.80859375 },
2480  { 0.57812500, 0.96093750, 0.77734375 },
2481  { 0.56640625, 0.95312500, 0.74609375 },
2482  { 0.55468750, 0.94921875, 0.71093750 },
2483  { 0.54296875, 0.94140625, 0.67968750 },
2484  { 0.53515625, 0.93359375, 0.64453125 },
2485  { 0.51953125, 0.92968750, 0.60937500 },
2486  { 0.49609375, 0.91406250, 0.53906250 },
2487  { 0.47265625, 0.90234375, 0.46484375 },
2488  { 0.44531250, 0.88671875, 0.39453125 },
2489  { 0.42187500, 0.87500000, 0.32031250 },
2490  { 0.40625000, 0.86328125, 0.27343750 },
2491  { 0.40625000, 0.85937500, 0.26953125 },
2492  { 0.40234375, 0.85156250, 0.26562500 },
2493  { 0.40234375, 0.84375000, 0.26171875 },
2494  { 0.40234375, 0.83593750, 0.25390625 },
2495  { 0.40234375, 0.82812500, 0.24609375 },
2496  { 0.39843750, 0.81640625, 0.23828125 },
2497  { 0.39843750, 0.80468750, 0.23046875 },
2498  { 0.39843750, 0.79687500, 0.22265625 },
2499  { 0.39453125, 0.78515625, 0.21484375 },
2500  { 0.39453125, 0.77343750, 0.20703125 },
2501  { 0.39062500, 0.76171875, 0.19531250 },
2502  { 0.39062500, 0.75000000, 0.18750000 },
2503  { 0.39062500, 0.73437500, 0.17968750 },
2504  { 0.38671875, 0.72265625, 0.16796875 },
2505  { 0.38671875, 0.71093750, 0.16015625 },
2506  { 0.38281250, 0.69531250, 0.14843750 },
2507  { 0.38281250, 0.67968750, 0.13671875 },
2508  { 0.38281250, 0.66796875, 0.12500000 },
2509  { 0.37890625, 0.65234375, 0.11718750 },
2510  { 0.37890625, 0.63671875, 0.10546875 },
2511  { 0.37500000, 0.62500000, 0.09375000 },
2512  { 0.37500000, 0.60937500, 0.08203125 },
2513  { 0.37109375, 0.59375000, 0.07031250 },
2514  { 0.37109375, 0.57812500, 0.05859375 },
2515  { 0.36718750, 0.56250000, 0.04687500 },
2516  { 0.36718750, 0.54687500, 0.03515625 },
2517  { 0.36328125, 0.52734375, 0.02343750 },
2518  { 0.36328125, 0.51171875, 0.01171875 },
2519  { 0.35937500, 0.49609375, 0.00000000 },
2520 };
2521 
2522 const int RGB_Palette_21_Size = 256; // gimp - Wood2
2524 {
2525  { 0.99609375, 0.69531250, 0.39843750 },
2526  { 0.98046875, 0.67578125, 0.36718750 },
2527  { 0.97656250, 0.66796875, 0.35937500 },
2528  { 0.97265625, 0.66015625, 0.35156250 },
2529  { 0.96875000, 0.65625000, 0.34375000 },
2530  { 0.96484375, 0.65234375, 0.33593750 },
2531  { 0.96093750, 0.64843750, 0.33203125 },
2532  { 0.96093750, 0.64453125, 0.32812500 },
2533  { 0.95703125, 0.64062500, 0.32421875 },
2534  { 0.95703125, 0.63671875, 0.32031250 },
2535  { 0.95312500, 0.63671875, 0.31640625 },
2536  { 0.95312500, 0.63281250, 0.31250000 },
2537  { 0.95312500, 0.62890625, 0.30859375 },
2538  { 0.94921875, 0.62890625, 0.30859375 },
2539  { 0.94921875, 0.62500000, 0.30468750 },
2540  { 0.94921875, 0.62500000, 0.30468750 },
2541  { 0.94531250, 0.62500000, 0.30078125 },
2542  { 0.94531250, 0.62109375, 0.29687500 },
2543  { 0.94531250, 0.62109375, 0.29687500 },
2544  { 0.94531250, 0.62109375, 0.29687500 },
2545  { 0.94140625, 0.61718750, 0.29296875 },
2546  { 0.94140625, 0.61718750, 0.29296875 },
2547  { 0.94140625, 0.61718750, 0.29296875 },
2548  { 0.94140625, 0.61718750, 0.28906250 },
2549  { 0.94140625, 0.61328125, 0.28906250 },
2550  { 0.94140625, 0.61328125, 0.28906250 },
2551  { 0.94140625, 0.61328125, 0.28906250 },
2552  { 0.94140625, 0.61328125, 0.28906250 },
2553  { 0.94140625, 0.61328125, 0.28515625 },
2554  { 0.93750000, 0.61328125, 0.28515625 },
2555  { 0.93750000, 0.61328125, 0.28515625 },
2556  { 0.93750000, 0.61328125, 0.28515625 },
2557  { 0.80468750, 0.52343750, 0.24218750 },
2558  { 0.82812500, 0.53515625, 0.24609375 },
2559  { 0.83984375, 0.54296875, 0.24609375 },
2560  { 0.85156250, 0.54687500, 0.24609375 },
2561  { 0.85937500, 0.55468750, 0.24609375 },
2562  { 0.86328125, 0.55468750, 0.25000000 },
2563  { 0.87109375, 0.55859375, 0.25000000 },
2564  { 0.87500000, 0.56250000, 0.25000000 },
2565  { 0.87890625, 0.56640625, 0.25000000 },
2566  { 0.88671875, 0.56640625, 0.25000000 },
2567  { 0.89062500, 0.57031250, 0.25000000 },
2568  { 0.89062500, 0.57031250, 0.25000000 },
2569  { 0.89453125, 0.57421875, 0.25000000 },
2570  { 0.89843750, 0.57421875, 0.25000000 },
2571  { 0.90234375, 0.57812500, 0.25390625 },
2572  { 0.90234375, 0.57812500, 0.25390625 },
2573  { 0.90625000, 0.57812500, 0.25390625 },
2574  { 0.91015625, 0.58203125, 0.25390625 },
2575  { 0.91015625, 0.58203125, 0.25390625 },
2576  { 0.91406250, 0.58203125, 0.25390625 },
2577  { 0.91406250, 0.58203125, 0.25390625 },
2578  { 0.91406250, 0.58593750, 0.25390625 },
2579  { 0.91796875, 0.58593750, 0.25390625 },
2580  { 0.91796875, 0.58593750, 0.25390625 },
2581  { 0.91796875, 0.58593750, 0.25390625 },
2582  { 0.92187500, 0.58593750, 0.25390625 },
2583  { 0.92187500, 0.58593750, 0.25390625 },
2584  { 0.92187500, 0.58593750, 0.25390625 },
2585  { 0.92187500, 0.58984375, 0.25390625 },
2586  { 0.92187500, 0.58984375, 0.25390625 },
2587  { 0.92187500, 0.58984375, 0.25390625 },
2588  { 0.92187500, 0.58984375, 0.25390625 },
2589  { 0.82812500, 0.52734375, 0.22656250 },
2590  { 0.84375000, 0.53515625, 0.23046875 },
2591  { 0.85156250, 0.54296875, 0.23046875 },
2592  { 0.85937500, 0.54687500, 0.23046875 },
2593  { 0.86718750, 0.55078125, 0.23046875 },
2594  { 0.87109375, 0.55078125, 0.23437500 },
2595  { 0.87500000, 0.55468750, 0.23437500 },
2596  { 0.87890625, 0.55859375, 0.23437500 },
2597  { 0.88281250, 0.55859375, 0.23437500 },
2598  { 0.88671875, 0.56250000, 0.23437500 },
2599  { 0.89062500, 0.56250000, 0.23437500 },
2600  { 0.89062500, 0.56640625, 0.23828125 },
2601  { 0.89453125, 0.56640625, 0.23828125 },
2602  { 0.89843750, 0.56640625, 0.23828125 },
2603  { 0.89843750, 0.57031250, 0.23828125 },
2604  { 0.90234375, 0.57031250, 0.23828125 },
2605  { 0.90234375, 0.57031250, 0.23828125 },
2606  { 0.90625000, 0.57031250, 0.23828125 },
2607  { 0.90625000, 0.57421875, 0.23828125 },
2608  { 0.91015625, 0.57421875, 0.23828125 },
2609  { 0.91015625, 0.57421875, 0.23828125 },
2610  { 0.91015625, 0.57421875, 0.23828125 },
2611  { 0.91015625, 0.57421875, 0.23828125 },
2612  { 0.91406250, 0.57812500, 0.23828125 },
2613  { 0.91406250, 0.57812500, 0.23828125 },
2614  { 0.91406250, 0.57812500, 0.23828125 },
2615  { 0.91406250, 0.57812500, 0.24218750 },
2616  { 0.91406250, 0.57812500, 0.24218750 },
2617  { 0.91406250, 0.57812500, 0.24218750 },
2618  { 0.91796875, 0.57812500, 0.24218750 },
2619  { 0.91796875, 0.57812500, 0.24218750 },
2620  { 0.91796875, 0.57812500, 0.24218750 },
2621  { 0.78906250, 0.49609375, 0.20703125 },
2622  { 0.80859375, 0.50781250, 0.21093750 },
2623  { 0.82031250, 0.51953125, 0.21484375 },
2624  { 0.83203125, 0.52343750, 0.21484375 },
2625  { 0.83984375, 0.53125000, 0.21875000 },
2626  { 0.84765625, 0.53515625, 0.21875000 },
2627  { 0.85546875, 0.53906250, 0.22265625 },
2628  { 0.85937500, 0.54296875, 0.22265625 },
2629  { 0.86718750, 0.54687500, 0.22656250 },
2630  { 0.87109375, 0.54687500, 0.22656250 },
2631  { 0.87500000, 0.55078125, 0.22656250 },
2632  { 0.87890625, 0.55468750, 0.22656250 },
2633  { 0.88281250, 0.55468750, 0.23046875 },
2634  { 0.88671875, 0.55859375, 0.23046875 },
2635  { 0.89062500, 0.55859375, 0.23046875 },
2636  { 0.89453125, 0.56250000, 0.23046875 },
2637  { 0.89453125, 0.56250000, 0.23046875 },
2638  { 0.89843750, 0.56640625, 0.23046875 },
2639  { 0.89843750, 0.56640625, 0.23437500 },
2640  { 0.90234375, 0.56640625, 0.23437500 },
2641  { 0.90625000, 0.57031250, 0.23437500 },
2642  { 0.90625000, 0.57031250, 0.23437500 },
2643  { 0.90625000, 0.57031250, 0.23437500 },
2644  { 0.91015625, 0.57031250, 0.23437500 },
2645  { 0.91015625, 0.57421875, 0.23437500 },
2646  { 0.91015625, 0.57421875, 0.23437500 },
2647  { 0.91406250, 0.57421875, 0.23437500 },
2648  { 0.91406250, 0.57421875, 0.23437500 },
2649  { 0.91406250, 0.57421875, 0.23437500 },
2650  { 0.91406250, 0.57421875, 0.23437500 },
2651  { 0.91406250, 0.57421875, 0.23437500 },
2652  { 0.91406250, 0.57421875, 0.23437500 },
2653  { 0.77343750, 0.48828125, 0.19921875 },
2654  { 0.77343750, 0.48828125, 0.19921875 },
2655  { 0.77343750, 0.48828125, 0.19921875 },
2656  { 0.77734375, 0.48828125, 0.19921875 },
2657  { 0.77734375, 0.48828125, 0.19921875 },
2658  { 0.77734375, 0.48828125, 0.19921875 },
2659  { 0.77734375, 0.48828125, 0.19921875 },
2660  { 0.77734375, 0.48828125, 0.19921875 },
2661  { 0.78125000, 0.49218750, 0.20312500 },
2662  { 0.78125000, 0.49218750, 0.20312500 },
2663  { 0.78125000, 0.49218750, 0.20312500 },
2664  { 0.78515625, 0.49218750, 0.20312500 },
2665  { 0.78515625, 0.49218750, 0.20312500 },
2666  { 0.78515625, 0.49609375, 0.20312500 },
2667  { 0.78906250, 0.49609375, 0.20312500 },
2668  { 0.78906250, 0.49609375, 0.20312500 },
2669  { 0.79296875, 0.50000000, 0.20312500 },
2670  { 0.79687500, 0.50000000, 0.20703125 },
2671  { 0.79687500, 0.50000000, 0.20703125 },
2672  { 0.80078125, 0.50390625, 0.20703125 },
2673  { 0.80468750, 0.50390625, 0.20703125 },
2674  { 0.80859375, 0.50781250, 0.20703125 },
2675  { 0.81250000, 0.51171875, 0.21093750 },
2676  { 0.81640625, 0.51171875, 0.21093750 },
2677  { 0.82031250, 0.51562500, 0.21093750 },
2678  { 0.82421875, 0.51953125, 0.21093750 },
2679  { 0.82812500, 0.52343750, 0.21484375 },
2680  { 0.83593750, 0.52734375, 0.21484375 },
2681  { 0.84375000, 0.53125000, 0.21875000 },
2682  { 0.85156250, 0.53515625, 0.21875000 },
2683  { 0.86328125, 0.54296875, 0.22265625 },
2684  { 0.87890625, 0.55468750, 0.22656250 },
2685  { 0.80468750, 0.50781250, 0.20703125 },
2686  { 0.80468750, 0.50781250, 0.20703125 },
2687  { 0.80468750, 0.50781250, 0.20703125 },
2688  { 0.80468750, 0.50781250, 0.20703125 },
2689  { 0.80468750, 0.50781250, 0.20703125 },
2690  { 0.80468750, 0.50781250, 0.20703125 },
2691  { 0.80468750, 0.50781250, 0.20703125 },
2692  { 0.80468750, 0.50781250, 0.20703125 },
2693  { 0.80468750, 0.50781250, 0.20703125 },
2694  { 0.80859375, 0.50781250, 0.20703125 },
2695  { 0.80859375, 0.50781250, 0.20703125 },
2696  { 0.80859375, 0.50781250, 0.20703125 },
2697  { 0.80859375, 0.50781250, 0.20703125 },
2698  { 0.80859375, 0.50781250, 0.20703125 },
2699  { 0.80859375, 0.50781250, 0.21093750 },
2700  { 0.80859375, 0.50781250, 0.21093750 },
2701  { 0.81250000, 0.51171875, 0.21093750 },
2702  { 0.81250000, 0.51171875, 0.21093750 },
2703  { 0.81250000, 0.51171875, 0.21093750 },
2704  { 0.81250000, 0.51171875, 0.21093750 },
2705  { 0.81250000, 0.51171875, 0.21093750 },
2706  { 0.81640625, 0.51171875, 0.21093750 },
2707  { 0.81640625, 0.51562500, 0.21093750 },
2708  { 0.81640625, 0.51562500, 0.21093750 },
2709  { 0.82031250, 0.51562500, 0.21093750 },
2710  { 0.82031250, 0.51562500, 0.21093750 },
2711  { 0.82421875, 0.51953125, 0.21093750 },
2712  { 0.82421875, 0.51953125, 0.21484375 },
2713  { 0.82812500, 0.51953125, 0.21484375 },
2714  { 0.83203125, 0.52343750, 0.21484375 },
2715  { 0.83203125, 0.52343750, 0.21484375 },
2716  { 0.83984375, 0.52734375, 0.21875000 },
2717  { 0.75390625, 0.47656250, 0.19531250 },
2718  { 0.75390625, 0.47656250, 0.19531250 },
2719  { 0.75390625, 0.47656250, 0.19531250 },
2720  { 0.75390625, 0.47656250, 0.19531250 },
2721  { 0.75390625, 0.47656250, 0.19531250 },
2722  { 0.75390625, 0.47265625, 0.19531250 },
2723  { 0.75390625, 0.47265625, 0.19531250 },
2724  { 0.75390625, 0.47265625, 0.19531250 },
2725  { 0.75390625, 0.47265625, 0.19531250 },
2726  { 0.75390625, 0.47265625, 0.19531250 },
2727  { 0.75390625, 0.47265625, 0.19531250 },
2728  { 0.75000000, 0.47265625, 0.19531250 },
2729  { 0.75000000, 0.47265625, 0.19531250 },
2730  { 0.75000000, 0.47265625, 0.19531250 },
2731  { 0.75000000, 0.47265625, 0.19531250 },
2732  { 0.75000000, 0.47265625, 0.19140625 },
2733  { 0.74609375, 0.46875000, 0.19140625 },
2734  { 0.74609375, 0.46875000, 0.19140625 },
2735  { 0.74609375, 0.46875000, 0.19140625 },
2736  { 0.74218750, 0.46875000, 0.19140625 },
2737  { 0.74218750, 0.46875000, 0.19140625 },
2738  { 0.74218750, 0.46484375, 0.19140625 },
2739  { 0.73828125, 0.46484375, 0.19140625 },
2740  { 0.73828125, 0.46484375, 0.19140625 },
2741  { 0.73437500, 0.46484375, 0.19140625 },
2742  { 0.73437500, 0.46093750, 0.18750000 },
2743  { 0.73046875, 0.46093750, 0.18750000 },
2744  { 0.73046875, 0.45703125, 0.18750000 },
2745  { 0.72656250, 0.45703125, 0.18750000 },
2746  { 0.72265625, 0.45312500, 0.18750000 },
2747  { 0.71875000, 0.45312500, 0.18359375 },
2748  { 0.70703125, 0.44531250, 0.18359375 },
2749  { 0.61718750, 0.38671875, 0.16015625 },
2750  { 0.61718750, 0.38671875, 0.16015625 },
2751  { 0.61718750, 0.38671875, 0.16015625 },
2752  { 0.61718750, 0.38671875, 0.16015625 },
2753  { 0.61718750, 0.38671875, 0.16015625 },
2754  { 0.61718750, 0.38671875, 0.16015625 },
2755  { 0.61718750, 0.38671875, 0.16015625 },
2756  { 0.61718750, 0.38671875, 0.16015625 },
2757  { 0.61718750, 0.38671875, 0.16015625 },
2758  { 0.61718750, 0.38671875, 0.16015625 },
2759  { 0.61718750, 0.38671875, 0.16015625 },
2760  { 0.61718750, 0.38671875, 0.16015625 },
2761  { 0.61718750, 0.38671875, 0.16015625 },
2762  { 0.61718750, 0.38671875, 0.16015625 },
2763  { 0.61718750, 0.38671875, 0.16015625 },
2764  { 0.61718750, 0.38671875, 0.16015625 },
2765  { 0.61718750, 0.38671875, 0.16015625 },
2766  { 0.61718750, 0.38671875, 0.16015625 },
2767  { 0.61718750, 0.38671875, 0.16015625 },
2768  { 0.61718750, 0.38671875, 0.16015625 },
2769  { 0.61718750, 0.38671875, 0.16015625 },
2770  { 0.61718750, 0.38671875, 0.16015625 },
2771  { 0.61718750, 0.38671875, 0.16015625 },
2772  { 0.61718750, 0.38671875, 0.16015625 },
2773  { 0.61718750, 0.38671875, 0.16015625 },
2774  { 0.61718750, 0.38671875, 0.16015625 },
2775  { 0.61718750, 0.38671875, 0.16015625 },
2776  { 0.61718750, 0.38671875, 0.16015625 },
2777  { 0.61718750, 0.38671875, 0.16015625 },
2778  { 0.61718750, 0.38671875, 0.16015625 },
2779  { 0.61718750, 0.38671875, 0.16015625 },
2780  { 0.61718750, 0.38671875, 0.16015625 },
2781 };
2782 
2783 const int RGB_Palette_22_Size = 151; // Mars
2785 {
2786  {0, 0, 0},
2787  {0, 0, 0},
2788  {0, 0, 0},
2789  {.00392156862745098039, 0, .00392156862745098039},
2790  {.01568627450980392156, .00784313725490196078, .01568627450980392156},
2791  {.02745098039215686274, .01568627450980392156, .02745098039215686274},
2792  {.03921568627450980392, .02745098039215686274, .03921568627450980392},
2793  {.05490196078431372549, .03137254901960784313, .05490196078431372549},
2794  {.08627450980392156862, .05490196078431372549, .09411764705882352941},
2795  {.13725490196078431372, .10588235294117647058, .16862745098039215686},
2796  {.19607843137254901960, .14901960784313725490, .24313725490196078431},
2797  {.25098039215686274509, .19607843137254901960, .31764705882352941176},
2798  {.30588235294117647058, .24313725490196078431, .39607843137254901960},
2799  {.32941176470588235294, .27058823529411764705, .45098039215686274509},
2800  {.32549019607843137254, .27843137254901960784, .48627450980392156862},
2801  {.32549019607843137254, .29019607843137254901, .52941176470588235294},
2802  {.31372549019607843137, .29411764705882352941, .56470588235294117647},
2803  {.30980392156862745098, .30196078431372549019, .60000000000000000000},
2804  {.30588235294117647058, .32156862745098039215, .63137254901960784313},
2805  {.29803921568627450980, .35294117647058823529, .65882352941176470588},
2806  {.29411764705882352941, .39215686274509803921, .68627450980392156862},
2807  {.28627450980392156862, .41960784313725490196, .70980392156862745098},
2808  {.27843137254901960784, .45098039215686274509, .72941176470588235294},
2809  {.26666666666666666666, .48627450980392156862, .75294117647058823529},
2810  {.25882352941176470588, .52549019607843137254, .78823529411764705882},
2811  {.24313725490196078431, .56078431372549019607, .80784313725490196078},
2812  {.23137254901960784313, .59215686274509803921, .83529411764705882352},
2813  {.22352941176470588235, .63137254901960784313, .85882352941176470588},
2814  {.21176470588235294117, .67058823529411764705, .83921568627450980392},
2815  {.21176470588235294117, .71764705882352941176, .77254901960784313725},
2816  {.21176470588235294117, .76078431372549019607, .70980392156862745098},
2817  {.21176470588235294117, .80784313725490196078, .64313725490196078431},
2818  {.21176470588235294117, .85098039215686274509, .57254901960784313725},
2819  {.21176470588235294117, .87058823529411764705, .51372549019607843137},
2820  {.21176470588235294117, .87450980392156862745, .45882352941176470588},
2821  {.21176470588235294117, .87058823529411764705, .40784313725490196078},
2822  {.21176470588235294117, .87450980392156862745, .34509803921568627450},
2823  {.21176470588235294117, .87058823529411764705, .29019607843137254901},
2824  {.23529411764705882352, .87058823529411764705, .25490196078431372549},
2825  {.27450980392156862745, .87450980392156862745, .24705882352941176470},
2826  {.31764705882352941176, .87058823529411764705, .23921568627450980392},
2827  {.36470588235294117647, .87450980392156862745, .22745098039215686274},
2828  {.40000000000000000000, .87058823529411764705, .21960784313725490196},
2829  {.46666666666666666666, .87058823529411764705, .19607843137254901960},
2830  {.56470588235294117647, .87450980392156862745, .16078431372549019607},
2831  {.64705882352941176470, .87058823529411764705, .12941176470588235294},
2832  {.73725490196078431372, .87450980392156862745, .09411764705882352941},
2833  {.82745098039215686274, .87058823529411764705, .05882352941176470588},
2834  {.87058823529411764705, .85490196078431372549, .04705882352941176470},
2835  {.87450980392156862745, .81176470588235294117, .05882352941176470588},
2836  {.87058823529411764705, .77647058823529411764, .07450980392156862745},
2837  {.87450980392156862745, .73725490196078431372, .08235294117647058823},
2838  {.87058823529411764705, .69803921568627450980, .09411764705882352941},
2839  {.87843137254901960784, .66666666666666666666, .11372549019607843137},
2840  {.89019607843137254901, .63137254901960784313, .13725490196078431372},
2841  {.90588235294117647058, .60392156862745098039, .16862745098039215686},
2842  {.91764705882352941176, .56862745098039215686, .18823529411764705882},
2843  {.92549019607843137254, .54117647058823529411, .21176470588235294117},
2844  {.93333333333333333333, .50196078431372549019, .22352941176470588235},
2845  {.93333333333333333333, .45490196078431372549, .21176470588235294117},
2846  {.94117647058823529411, .40784313725490196078, .20000000000000000000},
2847  {.93333333333333333333, .36470588235294117647, .18823529411764705882},
2848  {.93333333333333333333, .31764705882352941176, .17647058823529411764},
2849  {.93333333333333333333, .29803921568627450980, .19607843137254901960},
2850  {.93333333333333333333, .30980392156862745098, .23921568627450980392},
2851  {.94117647058823529411, .31764705882352941176, .27843137254901960784},
2852  {.93333333333333333333, .32941176470588235294, .32549019607843137254},
2853  {.93333333333333333333, .34117647058823529411, .37254901960784313725},
2854  {.92156862745098039215, .35294117647058823529, .40000000000000000000},
2855  {.89411764705882352941, .36078431372549019607, .41176470588235294117},
2856  {.87450980392156862745, .37254901960784313725, .43137254901960784313},
2857  {.84313725490196078431, .38039215686274509803, .44705882352941176470},
2858  {.82352941176470588235, .39607843137254901960, .46274509803921568627},
2859  {.80392156862745098039, .39607843137254901960, .45490196078431372549},
2860  {.78823529411764705882, .38823529411764705882, .43921568627450980392},
2861  {.77647058823529411764, .38431372549019607843, .41960784313725490196},
2862  {.76470588235294117647, .38039215686274509803, .40000000000000000000},
2863  {.74901960784313725490, .37254901960784313725, .37647058823529411764},
2864  {.72941176470588235294, .37254901960784313725, .36078431372549019607},
2865  {.70980392156862745098, .38431372549019607843, .35294117647058823529},
2866  {.68627450980392156862, .38823529411764705882, .34117647058823529411},
2867  {.65882352941176470588, .39607843137254901960, .32549019607843137254},
2868  {.63137254901960784313, .40000000000000000000, .30980392156862745098},
2869  {.61568627450980392156, .41176470588235294117, .30588235294117647058},
2870  {.60000000000000000000, .41960784313725490196, .30980392156862745098},
2871  {.59215686274509803921, .42745098039215686274, .31372549019607843137},
2872  {.57647058823529411764, .43921568627450980392, .30980392156862745098},
2873  {.56078431372549019607, .44705882352941176470, .30980392156862745098},
2874  {.54509803921568627450, .44705882352941176470, .30980392156862745098},
2875  {.53725490196078431372, .43529411764705882352, .30980392156862745098},
2876  {.52549019607843137254, .42352941176470588235, .31372549019607843137},
2877  {.50980392156862745098, .41176470588235294117, .30980392156862745098},
2878  {.50196078431372549019, .40784313725490196078, .30588235294117647058},
2879  {.49019607843137254901, .39607843137254901960, .30980392156862745098},
2880  {.47843137254901960784, .38823529411764705882, .31372549019607843137},
2881  {.47058823529411764705, .38823529411764705882, .32156862745098039215},
2882  {.45882352941176470588, .38431372549019607843, .32549019607843137254},
2883  {.44705882352941176470, .38039215686274509803, .32941176470588235294},
2884  {.44705882352941176470, .38039215686274509803, .34117647058823529411},
2885  {.45882352941176470588, .39215686274509803921, .35294117647058823529},
2886  {.47058823529411764705, .40000000000000000000, .36470588235294117647},
2887  {.47843137254901960784, .40784313725490196078, .37647058823529411764},
2888  {.49019607843137254901, .41568627450980392156, .39607843137254901960},
2889  {.49803921568627450980, .42745098039215686274, .40784313725490196078},
2890  {.50588235294117647058, .43921568627450980392, .41960784313725490196},
2891  {.52156862745098039215, .45098039215686274509, .43921568627450980392},
2892  {.52549019607843137254, .45882352941176470588, .45098039215686274509},
2893  {.53333333333333333333, .47058823529411764705, .47058823529411764705},
2894  {.54509803921568627450, .48627450980392156862, .48627450980392156862},
2895  {.55686274509803921568, .49803921568627450980, .49803921568627450980},
2896  {.56862745098039215686, .51764705882352941176, .51764705882352941176},
2897  {.57647058823529411764, .53333333333333333333, .53333333333333333333},
2898  {.58823529411764705882, .54509803921568627450, .54509803921568627450},
2899  {.59607843137254901960, .56078431372549019607, .56078431372549019607},
2900  {.60392156862745098039, .58039215686274509803, .58039215686274509803},
2901  {.61568627450980392156, .60000000000000000000, .60000000000000000000},
2902  {.62745098039215686274, .61568627450980392156, .61568627450980392156},
2903  {.63529411764705882352, .63529411764705882352, .63529411764705882352},
2904  {.64705882352941176470, .64705882352941176470, .64705882352941176470},
2905  {.65882352941176470588, .65882352941176470588, .65882352941176470588},
2906  {.66666666666666666666, .66666666666666666666, .66666666666666666666},
2907  {.67450980392156862745, .67450980392156862745, .67450980392156862745},
2908  {.68627450980392156862, .68627450980392156862, .68627450980392156862},
2909  {.69803921568627450980, .69803921568627450980, .69803921568627450980},
2910  {.70980392156862745098, .70980392156862745098, .70980392156862745098},
2911  {.71764705882352941176, .71764705882352941176, .71764705882352941176},
2912  {.73333333333333333333, .73333333333333333333, .73333333333333333333},
2913  {.73725490196078431372, .73725490196078431372, .73725490196078431372},
2914  {.74901960784313725490, .74901960784313725490, .74901960784313725490},
2915  {.76078431372549019607, .76078431372549019607, .76078431372549019607},
2916  {.76862745098039215686, .76862745098039215686, .76862745098039215686},
2917  {.77647058823529411764, .77647058823529411764, .77647058823529411764},
2918  {.78823529411764705882, .78823529411764705882, .78823529411764705882},
2919  {.80000000000000000000, .80000000000000000000, .80000000000000000000},
2920  {.80392156862745098039, .80392156862745098039, .80392156862745098039},
2921  {.81568627450980392156, .81568627450980392156, .81568627450980392156},
2922  {.82745098039215686274, .82745098039215686274, .82745098039215686274},
2923  {.83921568627450980392, .83921568627450980392, .83921568627450980392},
2924  {.84705882352941176470, .84705882352941176470, .84705882352941176470},
2925  {.85882352941176470588, .85882352941176470588, .85882352941176470588},
2926  {.86666666666666666666, .86666666666666666666, .86666666666666666666},
2927  {.87843137254901960784, .87843137254901960784, .87843137254901960784},
2928  {.89019607843137254901, .89019607843137254901, .89019607843137254901},
2929  {.90196078431372549019, .90196078431372549019, .90196078431372549019},
2930  {.90980392156862745098, .90980392156862745098, .90980392156862745098},
2931  {.92156862745098039215, .92156862745098039215, .92156862745098039215},
2932  {.93333333333333333333, .93333333333333333333, .93333333333333333333},
2933  {.94117647058823529411, .94117647058823529411, .94117647058823529411},
2934  {.94901960784313725490, .94901960784313725490, .94901960784313725490},
2935  {.94901960784313725490, .94901960784313725490, .94901960784313725490},
2936  {.94901960784313725490, .94901960784313725490, .94901960784313725490},
2937 };
2938 
2939 const int RGB_Palette_23_Size = 6*32+1; // rainbow
2941 
2942 const int RGB_Palette_24_Size = 31; // CMYK
2944 {
2945  // 16 colors
2946  /*
2947  {0.300725, 0.680491, 0.901701}, {0.386403, 0.743518, 0.934237},
2948  {0.496414, 0.645794, 0.86504}, {0.604318, 0.51771, 0.780231},
2949  {0.699224, 0.432157, 0.70669}, {0.778582, 0.417821, 0.644854},
2950  {0.843122, 0.472052, 0.589251}, {0.893588, 0.572795, 0.538951},
2951  {0.928891, 0.68909, 0.500098}, {0.945344, 0.789625, 0.482689},
2952  {0.936608, 0.84884, 0.493779}, {0.894001, 0.850082, 0.529271},
2953  {0.806801, 0.785304, 0.566474}, {0.662204, 0.650797, 0.559579},
2954  {0.444557, 0.438462, 0.440244}, {0.133532, 0.122103, 0.125444}
2955  */
2956  // 31 colors
2957  {0.300725, 0.680491, 0.901701}, {0.343564, 0.712004, 0.917969},
2958  {0.386403, 0.743518, 0.934237}, {0.441409, 0.694656, 0.899639},
2959  {0.496414, 0.645794, 0.86504}, {0.550366, 0.581752, 0.822636},
2960  {0.604318, 0.51771, 0.780231}, {0.651771, 0.474934, 0.743461},
2961  {0.699224, 0.432157, 0.70669}, {0.738903, 0.424989, 0.675772},
2962  {0.778582, 0.417821, 0.644854}, {0.810852, 0.444937, 0.617053},
2963  {0.843122, 0.472052, 0.589251}, {0.868355, 0.522424, 0.564101},
2964  {0.893588, 0.572795, 0.538951}, {0.91124, 0.630943, 0.519525},
2965  {0.928891, 0.68909, 0.500098}, {0.937118, 0.739358, 0.491394},
2966  {0.945344, 0.789625, 0.482689}, {0.940976, 0.819233, 0.488234},
2967  {0.936608, 0.84884, 0.493779}, {0.915305, 0.849461, 0.511525},
2968  {0.894001, 0.850082, 0.529271}, {0.850401, 0.817693, 0.547873},
2969  {0.806801, 0.785304, 0.566474}, {0.734503, 0.71805, 0.563027},
2970  {0.662204, 0.650797, 0.559579}, {0.553381, 0.54463, 0.499912},
2971  {0.444557, 0.438462, 0.440244}, {0.289045, 0.280283, 0.282844},
2972  {0.133532, 0.122103, 0.125444}
2973 };
2974 
2975 const int RGB_Palette_25_Size = (4*16+1); // visit's calewhite
2977 
2978 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
2979 const int RGB_Palette_26_Size = 32; // GMT_haxby.rgb
2981 {
2982  {0.039216, 0.000000, 0.474510},
2983  {0.156863, 0.000000, 0.588235},
2984  {0.078431, 0.019608, 0.686275},
2985  {0.000000, 0.039216, 0.784314},
2986  {0.000000, 0.098039, 0.831373},
2987  {0.000000, 0.156863, 0.878431},
2988  {0.101961, 0.400000, 0.941176},
2989  {0.050980, 0.505882, 0.972549},
2990  {0.098039, 0.686275, 1.000000},
2991  {0.196078, 0.745098, 1.000000},
2992  {0.266667, 0.792157, 1.000000},
2993  {0.380392, 0.882353, 0.941176},
2994  {0.415686, 0.921569, 0.882353},
2995  {0.486275, 0.921569, 0.784314},
2996  {0.541176, 0.925490, 0.682353},
2997  {0.674510, 0.960784, 0.658824},
2998  {0.803922, 1.000000, 0.635294},
2999  {0.874510, 0.960784, 0.552941},
3000  {0.941176, 0.925490, 0.474510},
3001  {0.968627, 0.843137, 0.407843},
3002  {1.000000, 0.741176, 0.341176},
3003  {1.000000, 0.627451, 0.270588},
3004  {0.956863, 0.458824, 0.294118},
3005  {0.933333, 0.313725, 0.305882},
3006  {1.000000, 0.352941, 0.352941},
3007  {1.000000, 0.486275, 0.486275},
3008  {1.000000, 0.619608, 0.619608},
3009  {0.960784, 0.701961, 0.682353},
3010  {1.000000, 0.768627, 0.768627},
3011  {1.000000, 0.843137, 0.843137},
3012  {1.000000, 0.921569, 0.921569},
3013  {1.000000, 1.000000, 1.000000}
3014 };
3015 
3016 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3017 const int RGB_Palette_27_Size = 256; // NCV_manga.rgb
3019 {
3020  {0.183594, 0.214844, 0.621094},
3021  {0.167969, 0.203125, 0.625000},
3022  {0.128906, 0.167969, 0.632812},
3023  {0.082031, 0.125000, 0.636719},
3024  {0.042969, 0.089844, 0.644531},
3025  {0.019531, 0.070312, 0.648438},
3026  {0.007812, 0.062500, 0.656250},
3027  {0.000000, 0.058594, 0.660156},
3028  {0.000000, 0.062500, 0.664062},
3029  {0.000000, 0.062500, 0.664062},
3030  {0.000000, 0.062500, 0.664062},
3031  {0.000000, 0.062500, 0.648438},
3032  {0.000000, 0.062500, 0.617188},
3033  {0.000000, 0.058594, 0.562500},
3034  {0.000000, 0.050781, 0.488281},
3035  {0.000000, 0.046875, 0.429688},
3036  {0.000000, 0.046875, 0.410156},
3037  {0.000000, 0.050781, 0.445312},
3038  {0.000000, 0.062500, 0.519531},
3039  {0.000000, 0.074219, 0.601562},
3040  {0.000000, 0.085938, 0.664062},
3041  {0.000000, 0.093750, 0.703125},
3042  {0.000000, 0.101562, 0.726562},
3043  {0.000000, 0.105469, 0.738281},
3044  {0.000000, 0.113281, 0.746094},
3045  {0.003906, 0.121094, 0.753906},
3046  {0.011719, 0.128906, 0.757812},
3047  {0.027344, 0.148438, 0.761719},
3048  {0.058594, 0.175781, 0.765625},
3049  {0.105469, 0.222656, 0.769531},
3050  {0.167969, 0.277344, 0.777344},
3051  {0.218750, 0.320312, 0.781250},
3052  {0.234375, 0.339844, 0.785156},
3053  {0.210938, 0.324219, 0.789062},
3054  {0.156250, 0.285156, 0.792969},
3055  {0.097656, 0.242188, 0.796875},
3056  {0.054688, 0.214844, 0.800781},
3057  {0.027344, 0.199219, 0.804688},
3058  {0.011719, 0.195312, 0.808594},
3059  {0.007812, 0.195312, 0.812500},
3060  {0.007812, 0.203125, 0.816406},
3061  {0.007812, 0.207031, 0.816406},
3062  {0.007812, 0.214844, 0.808594},
3063  {0.007812, 0.214844, 0.792969},
3064  {0.007812, 0.210938, 0.757812},
3065  {0.007812, 0.199219, 0.695312},
3066  {0.007812, 0.187500, 0.625000},
3067  {0.007812, 0.171875, 0.566406},
3068  {0.007812, 0.175781, 0.550781},
3069  {0.011719, 0.195312, 0.593750},
3070  {0.015625, 0.226562, 0.667969},
3071  {0.019531, 0.261719, 0.746094},
3072  {0.023438, 0.289062, 0.804688},
3073  {0.027344, 0.312500, 0.839844},
3074  {0.031250, 0.328125, 0.859375},
3075  {0.031250, 0.343750, 0.867188},
3076  {0.039062, 0.359375, 0.875000},
3077  {0.046875, 0.375000, 0.878906},
3078  {0.058594, 0.394531, 0.882812},
3079  {0.082031, 0.417969, 0.886719},
3080  {0.121094, 0.449219, 0.890625},
3081  {0.179688, 0.496094, 0.890625},
3082  {0.250000, 0.542969, 0.894531},
3083  {0.304688, 0.582031, 0.898438},
3084  {0.320312, 0.597656, 0.902344},
3085  {0.292969, 0.593750, 0.906250},
3086  {0.238281, 0.578125, 0.906250},
3087  {0.183594, 0.562500, 0.910156},
3088  {0.148438, 0.558594, 0.914062},
3089  {0.128906, 0.562500, 0.914062},
3090  {0.125000, 0.574219, 0.917969},
3091  {0.128906, 0.589844, 0.917969},
3092  {0.136719, 0.605469, 0.921875},
3093  {0.148438, 0.621094, 0.917969},
3094  {0.156250, 0.628906, 0.910156},
3095  {0.160156, 0.632812, 0.890625},
3096  {0.164062, 0.617188, 0.847656},
3097  {0.160156, 0.585938, 0.785156},
3098  {0.156250, 0.542969, 0.710938},
3099  {0.152344, 0.511719, 0.656250},
3100  {0.160156, 0.519531, 0.644531},
3101  {0.179688, 0.566406, 0.691406},
3102  {0.214844, 0.640625, 0.765625},
3103  {0.246094, 0.718750, 0.843750},
3104  {0.277344, 0.781250, 0.894531},
3105  {0.304688, 0.824219, 0.929688},
3106  {0.328125, 0.855469, 0.945312},
3107  {0.347656, 0.878906, 0.953125},
3108  {0.367188, 0.898438, 0.957031},
3109  {0.390625, 0.914062, 0.960938},
3110  {0.414062, 0.929688, 0.960938},
3111  {0.445312, 0.945312, 0.964844},
3112  {0.488281, 0.960938, 0.964844},
3113  {0.542969, 0.964844, 0.960938},
3114  {0.597656, 0.968750, 0.953125},
3115  {0.640625, 0.968750, 0.949219},
3116  {0.660156, 0.972656, 0.945312},
3117  {0.652344, 0.972656, 0.937500},
3118  {0.640625, 0.972656, 0.929688},
3119  {0.628906, 0.976562, 0.921875},
3120  {0.632812, 0.976562, 0.914062},
3121  {0.640625, 0.976562, 0.906250},
3122  {0.660156, 0.980469, 0.902344},
3123  {0.675781, 0.980469, 0.898438},
3124  {0.695312, 0.976562, 0.894531},
3125  {0.714844, 0.972656, 0.890625},
3126  {0.726562, 0.964844, 0.878906},
3127  {0.726562, 0.937500, 0.859375},
3128  {0.707031, 0.894531, 0.816406},
3129  {0.667969, 0.828125, 0.757812},
3130  {0.621094, 0.750000, 0.691406},
3131  {0.589844, 0.699219, 0.644531},
3132  {0.597656, 0.695312, 0.644531},
3133  {0.652344, 0.746094, 0.695312},
3134  {0.734375, 0.820312, 0.769531},
3135  {0.808594, 0.890625, 0.839844},
3136  {0.867188, 0.941406, 0.894531},
3137  {0.906250, 0.968750, 0.925781},
3138  {0.929688, 0.984375, 0.945312},
3139  {0.945312, 0.988281, 0.957031},
3140  {0.957031, 0.992188, 0.964844},
3141  {0.968750, 0.992188, 0.972656},
3142  {0.976562, 0.992188, 0.976562},
3143  {0.980469, 0.992188, 0.984375},
3144  {0.988281, 0.992188, 0.988281},
3145  {0.992188, 0.992188, 0.992188},
3146  {0.992188, 0.992188, 0.992188},
3147  {0.992188, 0.992188, 0.992188},
3148  {0.992188, 0.992188, 0.992188},
3149  {0.992188, 0.992188, 0.992188},
3150  {0.992188, 0.992188, 0.992188},
3151  {0.988281, 0.992188, 0.988281},
3152  {0.984375, 0.992188, 0.980469},
3153  {0.976562, 0.992188, 0.976562},
3154  {0.972656, 0.992188, 0.968750},
3155  {0.964844, 0.992188, 0.957031},
3156  {0.957031, 0.988281, 0.945312},
3157  {0.945312, 0.984375, 0.929688},
3158  {0.925781, 0.968750, 0.906250},
3159  {0.894531, 0.941406, 0.867188},
3160  {0.839844, 0.890625, 0.808594},
3161  {0.769531, 0.820312, 0.734375},
3162  {0.695312, 0.746094, 0.652344},
3163  {0.644531, 0.695312, 0.597656},
3164  {0.644531, 0.699219, 0.589844},
3165  {0.691406, 0.750000, 0.621094},
3166  {0.757812, 0.828125, 0.667969},
3167  {0.816406, 0.894531, 0.707031},
3168  {0.859375, 0.937500, 0.726562},
3169  {0.878906, 0.964844, 0.726562},
3170  {0.890625, 0.972656, 0.714844},
3171  {0.894531, 0.976562, 0.695312},
3172  {0.898438, 0.980469, 0.675781},
3173  {0.902344, 0.980469, 0.660156},
3174  {0.906250, 0.976562, 0.640625},
3175  {0.914062, 0.976562, 0.632812},
3176  {0.921875, 0.976562, 0.628906},
3177  {0.929688, 0.972656, 0.640625},
3178  {0.937500, 0.972656, 0.652344},
3179  {0.945312, 0.972656, 0.660156},
3180  {0.949219, 0.968750, 0.640625},
3181  {0.953125, 0.968750, 0.597656},
3182  {0.960938, 0.964844, 0.542969},
3183  {0.964844, 0.960938, 0.488281},
3184  {0.964844, 0.945312, 0.445312},
3185  {0.960938, 0.929688, 0.414062},
3186  {0.960938, 0.914062, 0.390625},
3187  {0.957031, 0.898438, 0.367188},
3188  {0.953125, 0.878906, 0.347656},
3189  {0.945312, 0.855469, 0.328125},
3190  {0.929688, 0.824219, 0.304688},
3191  {0.894531, 0.781250, 0.277344},
3192  {0.843750, 0.718750, 0.246094},
3193  {0.765625, 0.640625, 0.214844},
3194  {0.691406, 0.566406, 0.179688},
3195  {0.644531, 0.519531, 0.160156},
3196  {0.656250, 0.511719, 0.152344},
3197  {0.710938, 0.542969, 0.156250},
3198  {0.785156, 0.585938, 0.160156},
3199  {0.847656, 0.617188, 0.164062},
3200  {0.890625, 0.632812, 0.160156},
3201  {0.910156, 0.628906, 0.156250},
3202  {0.917969, 0.621094, 0.148438},
3203  {0.921875, 0.605469, 0.136719},
3204  {0.917969, 0.589844, 0.128906},
3205  {0.917969, 0.574219, 0.125000},
3206  {0.914062, 0.562500, 0.128906},
3207  {0.914062, 0.558594, 0.148438},
3208  {0.910156, 0.562500, 0.183594},
3209  {0.906250, 0.578125, 0.238281},
3210  {0.906250, 0.593750, 0.292969},
3211  {0.902344, 0.597656, 0.320312},
3212  {0.898438, 0.582031, 0.304688},
3213  {0.894531, 0.542969, 0.250000},
3214  {0.890625, 0.496094, 0.179688},
3215  {0.890625, 0.449219, 0.121094},
3216  {0.886719, 0.417969, 0.082031},
3217  {0.882812, 0.394531, 0.058594},
3218  {0.878906, 0.375000, 0.046875},
3219  {0.875000, 0.359375, 0.039062},
3220  {0.867188, 0.343750, 0.031250},
3221  {0.859375, 0.328125, 0.031250},
3222  {0.839844, 0.312500, 0.027344},
3223  {0.804688, 0.289062, 0.023438},
3224  {0.746094, 0.261719, 0.019531},
3225  {0.667969, 0.226562, 0.015625},
3226  {0.593750, 0.195312, 0.011719},
3227  {0.550781, 0.175781, 0.007812},
3228  {0.566406, 0.171875, 0.007812},
3229  {0.625000, 0.187500, 0.007812},
3230  {0.695312, 0.199219, 0.007812},
3231  {0.757812, 0.210938, 0.007812},
3232  {0.792969, 0.214844, 0.007812},
3233  {0.808594, 0.214844, 0.007812},
3234  {0.816406, 0.207031, 0.007812},
3235  {0.816406, 0.203125, 0.007812},
3236  {0.812500, 0.195312, 0.007812},
3237  {0.808594, 0.195312, 0.011719},
3238  {0.804688, 0.199219, 0.027344},
3239  {0.800781, 0.214844, 0.054688},
3240  {0.796875, 0.242188, 0.097656},
3241  {0.792969, 0.285156, 0.156250},
3242  {0.789062, 0.324219, 0.210938},
3243  {0.785156, 0.339844, 0.234375},
3244  {0.781250, 0.320312, 0.218750},
3245  {0.777344, 0.277344, 0.167969},
3246  {0.769531, 0.222656, 0.105469},
3247  {0.765625, 0.175781, 0.058594},
3248  {0.761719, 0.148438, 0.027344},
3249  {0.757812, 0.128906, 0.011719},
3250  {0.753906, 0.121094, 0.003906},
3251  {0.746094, 0.113281, 0.000000},
3252  {0.738281, 0.105469, 0.000000},
3253  {0.726562, 0.101562, 0.000000},
3254  {0.703125, 0.093750, 0.000000},
3255  {0.664062, 0.085938, 0.000000},
3256  {0.601562, 0.074219, 0.000000},
3257  {0.519531, 0.062500, 0.000000},
3258  {0.445312, 0.050781, 0.000000},
3259  {0.410156, 0.046875, 0.000000},
3260  {0.429688, 0.046875, 0.000000},
3261  {0.488281, 0.050781, 0.000000},
3262  {0.562500, 0.058594, 0.000000},
3263  {0.617188, 0.062500, 0.000000},
3264  {0.648438, 0.062500, 0.000000},
3265  {0.664062, 0.062500, 0.000000},
3266  {0.664062, 0.062500, 0.000000},
3267  {0.664062, 0.062500, 0.000000},
3268  {0.660156, 0.058594, 0.000000},
3269  {0.656250, 0.062500, 0.007812},
3270  {0.648438, 0.070312, 0.019531},
3271  {0.644531, 0.089844, 0.042969},
3272  {0.636719, 0.125000, 0.082031},
3273  {0.632812, 0.167969, 0.128906},
3274  {0.625000, 0.203125, 0.167969},
3275  {0.621094, 0.214844, 0.183594}
3276 };
3277 
3278 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3279 const int RGB_Palette_28_Size = 11; // CBR_drywet.rgb
3281 {
3282  {0.328125, 0.187500, 0.019531},
3283  {0.546875, 0.316406, 0.039062},
3284  {0.746094, 0.503906, 0.175781},
3285  {0.871094, 0.757812, 0.488281},
3286  {0.960938, 0.906250, 0.761719},
3287  {0.957031, 0.957031, 0.957031},
3288  {0.777344, 0.914062, 0.894531},
3289  {0.500000, 0.800781, 0.753906},
3290  {0.207031, 0.589844, 0.558594},
3291  {0.003906, 0.398438, 0.371094},
3292  {0.000000, 0.234375, 0.187500}
3293 };
3294 
3295 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3296 const int RGB_Palette_29_Size = 225; // nice_gfdl.rgb
3298 {
3299  {0.996078, 0.984314, 0.964706},
3300  {0.925490, 0.929412, 0.945098},
3301  {0.905882, 0.909804, 0.925490},
3302  {0.862745, 0.882353, 0.901961},
3303  {0.835294, 0.854902, 0.874510},
3304  {0.811765, 0.823529, 0.858824},
3305  {0.784314, 0.796078, 0.831373},
3306  {0.749020, 0.772549, 0.811765},
3307  {0.729412, 0.749020, 0.788235},
3308  {0.694118, 0.717647, 0.768627},
3309  {0.670588, 0.690196, 0.741176},
3310  {0.639216, 0.666667, 0.725490},
3311  {0.611765, 0.639216, 0.698039},
3312  {0.580392, 0.607843, 0.666667},
3313  {0.560784, 0.588235, 0.647059},
3314  {0.517647, 0.560784, 0.623529},
3315  {0.490196, 0.537255, 0.596078},
3316  {0.462745, 0.517647, 0.576471},
3317  {0.435294, 0.490196, 0.545098},
3318  {0.400000, 0.447059, 0.525490},
3319  {0.384314, 0.431373, 0.509804},
3320  {0.352941, 0.407843, 0.486275},
3321  {0.325490, 0.380392, 0.458824},
3322  {0.294118, 0.356863, 0.443137},
3323  {0.270588, 0.329412, 0.415686},
3324  {0.247059, 0.301961, 0.396078},
3325  {0.223529, 0.282353, 0.372549},
3326  {0.196078, 0.254902, 0.360784},
3327  {0.168627, 0.223529, 0.325490},
3328  {0.133333, 0.203922, 0.301961},
3329  {0.113725, 0.180392, 0.274510},
3330  {0.094118, 0.149020, 0.250980},
3331  {0.074510, 0.125490, 0.227451},
3332  {0.050980, 0.109804, 0.203922},
3333  {0.047059, 0.105882, 0.196078},
3334  {0.050980, 0.117647, 0.203922},
3335  {0.062745, 0.129412, 0.219608},
3336  {0.074510, 0.141176, 0.235294},
3337  {0.086275, 0.156863, 0.254902},
3338  {0.094118, 0.176471, 0.258824},
3339  {0.105882, 0.188235, 0.274510},
3340  {0.121569, 0.207843, 0.298039},
3341  {0.133333, 0.219608, 0.309804},
3342  {0.137255, 0.243137, 0.325490},
3343  {0.145098, 0.254902, 0.337255},
3344  {0.160784, 0.270588, 0.356863},
3345  {0.176471, 0.286275, 0.372549},
3346  {0.180392, 0.301961, 0.380392},
3347  {0.196078, 0.313725, 0.396078},
3348  {0.203922, 0.325490, 0.407843},
3349  {0.219608, 0.341176, 0.423529},
3350  {0.223529, 0.360784, 0.427451},
3351  {0.247059, 0.384314, 0.450980},
3352  {0.247059, 0.396078, 0.458824},
3353  {0.262745, 0.415686, 0.478431},
3354  {0.282353, 0.439216, 0.490196},
3355  {0.290196, 0.447059, 0.498039},
3356  {0.298039, 0.462745, 0.513725},
3357  {0.309804, 0.478431, 0.529412},
3358  {0.313725, 0.501961, 0.533333},
3359  {0.329412, 0.517647, 0.549020},
3360  {0.333333, 0.529412, 0.560784},
3361  {0.349020, 0.549020, 0.580392},
3362  {0.356863, 0.564706, 0.592157},
3363  {0.372549, 0.580392, 0.607843},
3364  {0.392157, 0.603922, 0.631373},
3365  {0.403922, 0.615686, 0.643137},
3366  {0.403922, 0.631373, 0.643137},
3367  {0.423529, 0.654902, 0.666667},
3368  {0.431373, 0.662745, 0.674510},
3369  {0.447059, 0.678431, 0.694118},
3370  {0.454902, 0.698039, 0.705882},
3371  {0.474510, 0.717647, 0.725490},
3372  {0.482353, 0.725490, 0.733333},
3373  {0.501961, 0.749020, 0.756863},
3374  {0.505882, 0.772549, 0.752941},
3375  {0.517647, 0.788235, 0.764706},
3376  {0.525490, 0.807843, 0.784314},
3377  {0.541176, 0.819608, 0.800000},
3378  {0.549020, 0.839216, 0.811765},
3379  {0.564706, 0.858824, 0.831373},
3380  {0.580392, 0.874510, 0.847059},
3381  {0.596078, 0.894118, 0.862745},
3382  {0.596078, 0.905882, 0.862745},
3383  {0.596078, 0.905882, 0.862745},
3384  {0.576471, 0.890196, 0.819608},
3385  {0.564706, 0.878431, 0.811765},
3386  {0.549020, 0.866667, 0.760784},
3387  {0.541176, 0.858824, 0.752941},
3388  {0.529412, 0.847059, 0.729412},
3389  {0.517647, 0.835294, 0.713725},
3390  {0.498039, 0.827451, 0.662745},
3391  {0.478431, 0.807843, 0.643137},
3392  {0.470588, 0.803922, 0.607843},
3393  {0.454902, 0.784314, 0.588235},
3394  {0.443137, 0.776471, 0.556863},
3395  {0.431373, 0.764706, 0.545098},
3396  {0.415686, 0.749020, 0.501961},
3397  {0.407843, 0.741176, 0.494118},
3398  {0.392157, 0.729412, 0.458824},
3399  {0.380392, 0.713725, 0.447059},
3400  {0.368627, 0.701961, 0.415686},
3401  {0.352941, 0.682353, 0.400000},
3402  {0.345098, 0.678431, 0.360784},
3403  {0.329412, 0.662745, 0.345098},
3404  {0.317647, 0.647059, 0.325490},
3405  {0.305882, 0.635294, 0.313725},
3406  {0.282353, 0.623529, 0.270588},
3407  {0.274510, 0.615686, 0.262745},
3408  {0.262745, 0.592157, 0.223529},
3409  {0.258824, 0.584314, 0.215686},
3410  {0.247059, 0.576471, 0.180392},
3411  {0.243137, 0.572549, 0.176471},
3412  {0.270588, 0.584314, 0.149020},
3413  {0.282353, 0.600000, 0.160784},
3414  {0.313725, 0.619608, 0.117647},
3415  {0.329412, 0.639216, 0.129412},
3416  {0.372549, 0.654902, 0.098039},
3417  {0.384314, 0.666667, 0.109804},
3418  {0.419608, 0.686275, 0.070588},
3419  {0.435294, 0.701961, 0.086275},
3420  {0.478431, 0.721569, 0.023529},
3421  {0.494118, 0.741176, 0.050980},
3422  {0.529412, 0.756863, 0.000000},
3423  {0.545098, 0.772549, 0.000000},
3424  {0.588235, 0.788235, 0.000000},
3425  {0.603922, 0.807843, 0.000000},
3426  {0.635294, 0.811765, 0.000000},
3427  {0.658824, 0.835294, 0.000000},
3428  {0.698039, 0.850980, 0.000000},
3429  {0.721569, 0.874510, 0.000000},
3430  {0.756863, 0.878431, 0.000000},
3431  {0.780392, 0.905882, 0.000000},
3432  {0.823529, 0.909804, 0.000000},
3433  {0.847059, 0.933333, 0.000000},
3434  {0.878431, 0.945098, 0.000000},
3435  {0.901961, 0.968627, 0.000000},
3436  {0.933333, 0.972549, 0.000000},
3437  {0.960784, 1.000000, 0.000000},
3438  {1.000000, 1.000000, 0.000000},
3439  {1.000000, 1.000000, 0.000000},
3440  {1.000000, 0.984314, 0.000000},
3441  {1.000000, 0.972549, 0.000000},
3442  {1.000000, 0.921569, 0.000000},
3443  {1.000000, 0.905882, 0.000000},
3444  {1.000000, 0.862745, 0.000000},
3445  {1.000000, 0.847059, 0.000000},
3446  {1.000000, 0.803922, 0.000000},
3447  {1.000000, 0.788235, 0.000000},
3448  {1.000000, 0.749020, 0.000000},
3449  {1.000000, 0.733333, 0.000000},
3450  {1.000000, 0.694118, 0.000000},
3451  {1.000000, 0.678431, 0.000000},
3452  {1.000000, 0.631373, 0.000000},
3453  {1.000000, 0.619608, 0.000000},
3454  {1.000000, 0.580392, 0.000000},
3455  {1.000000, 0.568627, 0.000000},
3456  {1.000000, 0.529412, 0.000000},
3457  {1.000000, 0.509804, 0.000000},
3458  {1.000000, 0.466667, 0.000000},
3459  {1.000000, 0.458824, 0.000000},
3460  {1.000000, 0.431373, 0.000000},
3461  {1.000000, 0.407843, 0.000000},
3462  {1.000000, 0.376471, 0.000000},
3463  {0.980392, 0.360784, 0.000000},
3464  {0.952941, 0.333333, 0.000000},
3465  {0.929412, 0.313725, 0.000000},
3466  {0.909804, 0.290196, 0.000000},
3467  {0.886275, 0.270588, 0.000000},
3468  {0.862745, 0.243137, 0.000000},
3469  {0.843137, 0.231373, 0.000000},
3470  {0.819608, 0.203922, 0.000000},
3471  {0.792157, 0.184314, 0.000000},
3472  {0.772549, 0.160784, 0.000000},
3473  {0.749020, 0.145098, 0.000000},
3474  {0.725490, 0.121569, 0.023529},
3475  {0.721569, 0.117647, 0.019608},
3476  {0.686275, 0.125490, 0.023529},
3477  {0.674510, 0.117647, 0.011765},
3478  {0.631373, 0.117647, 0.035294},
3479  {0.627451, 0.117647, 0.031373},
3480  {0.603922, 0.109804, 0.031373},
3481  {0.592157, 0.101961, 0.023529},
3482  {0.549020, 0.105882, 0.035294},
3483  {0.545098, 0.101961, 0.031373},
3484  {0.505882, 0.101961, 0.027451},
3485  {0.501961, 0.098039, 0.023529},
3486  {0.474510, 0.101961, 0.035294},
3487  {0.466667, 0.098039, 0.031373},
3488  {0.431373, 0.094118, 0.039216},
3489  {0.427451, 0.090196, 0.035294},
3490  {0.392157, 0.094118, 0.039216},
3491  {0.388235, 0.090196, 0.035294},
3492  {0.360784, 0.086275, 0.039216},
3493  {0.349020, 0.078431, 0.031373},
3494  {0.313725, 0.086275, 0.047059},
3495  {0.301961, 0.078431, 0.043137},
3496  {0.290196, 0.078431, 0.043137},
3497  {0.278431, 0.070588, 0.039216},
3498  {0.239216, 0.074510, 0.039216},
3499  {0.235294, 0.070588, 0.039216},
3500  {0.215686, 0.066667, 0.043137},
3501  {0.207843, 0.062745, 0.039216},
3502  {0.180392, 0.062745, 0.043137},
3503  {0.160784, 0.050980, 0.031373},
3504  {0.141176, 0.054902, 0.035294},
3505  {0.137255, 0.050980, 0.031373},
3506  {0.113725, 0.050980, 0.035294},
3507  {0.101961, 0.043137, 0.023529},
3508  {0.082353, 0.043137, 0.031373},
3509  {0.070588, 0.031373, 0.019608},
3510  {0.058824, 0.031373, 0.023529},
3511  {0.058824, 0.031373, 0.023529},
3512  {0.054902, 0.031373, 0.019608},
3513  {0.050980, 0.031373, 0.015686},
3514  {0.047059, 0.023529, 0.019608},
3515  {0.050980, 0.027451, 0.023529},
3516  {0.043137, 0.027451, 0.019608},
3517  {0.039216, 0.015686, 0.000000},
3518  {0.035294, 0.019608, 0.015686},
3519  {0.031373, 0.011765, 0.000000},
3520  {0.023529, 0.015686, 0.000000},
3521  {0.023529, 0.015686, 0.000000},
3522  {0.000000, 0.000000, 0.000000},
3523  {0.000000, 0.000000, 0.000000}
3524 };
3525 
3526 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3527 const int RGB_Palette_30_Size = 254; // WhiteBlueGreenYellowRed.rgb
3529 {
3530  {0.996094, 0.996094, 0.996094},
3531  {0.984375, 0.992188, 0.996094},
3532  {0.976562, 0.988281, 0.996094},
3533  {0.964844, 0.984375, 0.992188},
3534  {0.953125, 0.980469, 0.992188},
3535  {0.945312, 0.976562, 0.992188},
3536  {0.933594, 0.972656, 0.992188},
3537  {0.921875, 0.968750, 0.988281},
3538  {0.914062, 0.964844, 0.988281},
3539  {0.902344, 0.960938, 0.988281},
3540  {0.894531, 0.957031, 0.988281},
3541  {0.882812, 0.953125, 0.988281},
3542  {0.871094, 0.949219, 0.984375},
3543  {0.863281, 0.945312, 0.984375},
3544  {0.851562, 0.941406, 0.984375},
3545  {0.839844, 0.937500, 0.984375},
3546  {0.832031, 0.933594, 0.984375},
3547  {0.820312, 0.929688, 0.980469},
3548  {0.808594, 0.925781, 0.980469},
3549  {0.800781, 0.921875, 0.980469},
3550  {0.789062, 0.917969, 0.980469},
3551  {0.777344, 0.914062, 0.976562},
3552  {0.769531, 0.910156, 0.976562},
3553  {0.757812, 0.906250, 0.976562},
3554  {0.746094, 0.902344, 0.976562},
3555  {0.738281, 0.898438, 0.976562},
3556  {0.726562, 0.894531, 0.972656},
3557  {0.714844, 0.890625, 0.972656},
3558  {0.707031, 0.886719, 0.972656},
3559  {0.695312, 0.882812, 0.972656},
3560  {0.687500, 0.878906, 0.972656},
3561  {0.675781, 0.875000, 0.968750},
3562  {0.664062, 0.871094, 0.968750},
3563  {0.656250, 0.867188, 0.968750},
3564  {0.644531, 0.863281, 0.968750},
3565  {0.632812, 0.859375, 0.964844},
3566  {0.613281, 0.851562, 0.964844},
3567  {0.605469, 0.843750, 0.960938},
3568  {0.593750, 0.835938, 0.957031},
3569  {0.585938, 0.828125, 0.949219},
3570  {0.578125, 0.820312, 0.945312},
3571  {0.570312, 0.812500, 0.941406},
3572  {0.558594, 0.804688, 0.937500},
3573  {0.550781, 0.796875, 0.929688},
3574  {0.542969, 0.789062, 0.925781},
3575  {0.531250, 0.781250, 0.921875},
3576  {0.523438, 0.769531, 0.917969},
3577  {0.515625, 0.761719, 0.914062},
3578  {0.503906, 0.753906, 0.906250},
3579  {0.496094, 0.746094, 0.902344},
3580  {0.488281, 0.738281, 0.898438},
3581  {0.480469, 0.730469, 0.894531},
3582  {0.468750, 0.722656, 0.890625},
3583  {0.460938, 0.714844, 0.882812},
3584  {0.453125, 0.707031, 0.878906},
3585  {0.441406, 0.699219, 0.875000},
3586  {0.433594, 0.691406, 0.871094},
3587  {0.425781, 0.683594, 0.863281},
3588  {0.414062, 0.675781, 0.859375},
3589  {0.406250, 0.667969, 0.855469},
3590  {0.398438, 0.660156, 0.851562},
3591  {0.390625, 0.652344, 0.847656},
3592  {0.378906, 0.644531, 0.839844},
3593  {0.371094, 0.636719, 0.835938},
3594  {0.363281, 0.625000, 0.832031},
3595  {0.351562, 0.617188, 0.828125},
3596  {0.343750, 0.609375, 0.824219},
3597  {0.335938, 0.601562, 0.816406},
3598  {0.324219, 0.593750, 0.812500},
3599  {0.316406, 0.585938, 0.808594},
3600  {0.308594, 0.578125, 0.804688},
3601  {0.300781, 0.570312, 0.796875},
3602  {0.281250, 0.554688, 0.789062},
3603  {0.281250, 0.558594, 0.773438},
3604  {0.281250, 0.562500, 0.761719},
3605  {0.281250, 0.566406, 0.746094},
3606  {0.281250, 0.570312, 0.734375},
3607  {0.281250, 0.574219, 0.718750},
3608  {0.281250, 0.578125, 0.707031},
3609  {0.281250, 0.582031, 0.691406},
3610  {0.281250, 0.585938, 0.675781},
3611  {0.281250, 0.589844, 0.664062},
3612  {0.281250, 0.597656, 0.648438},
3613  {0.281250, 0.601562, 0.636719},
3614  {0.281250, 0.605469, 0.621094},
3615  {0.281250, 0.609375, 0.609375},
3616  {0.281250, 0.613281, 0.593750},
3617  {0.281250, 0.617188, 0.578125},
3618  {0.281250, 0.621094, 0.566406},
3619  {0.281250, 0.625000, 0.550781},
3620  {0.281250, 0.628906, 0.539062},
3621  {0.285156, 0.632812, 0.523438},
3622  {0.285156, 0.636719, 0.511719},
3623  {0.285156, 0.640625, 0.496094},
3624  {0.285156, 0.644531, 0.484375},
3625  {0.285156, 0.648438, 0.468750},
3626  {0.285156, 0.652344, 0.453125},
3627  {0.285156, 0.656250, 0.441406},
3628  {0.285156, 0.660156, 0.425781},
3629  {0.285156, 0.664062, 0.414062},
3630  {0.285156, 0.671875, 0.398438},
3631  {0.285156, 0.675781, 0.386719},
3632  {0.285156, 0.679688, 0.371094},
3633  {0.285156, 0.683594, 0.355469},
3634  {0.285156, 0.687500, 0.343750},
3635  {0.285156, 0.691406, 0.328125},
3636  {0.285156, 0.695312, 0.316406},
3637  {0.285156, 0.699219, 0.300781},
3638  {0.285156, 0.707031, 0.273438},
3639  {0.304688, 0.710938, 0.277344},
3640  {0.324219, 0.718750, 0.277344},
3641  {0.339844, 0.722656, 0.281250},
3642  {0.359375, 0.730469, 0.281250},
3643  {0.378906, 0.734375, 0.285156},
3644  {0.398438, 0.738281, 0.289062},
3645  {0.414062, 0.746094, 0.289062},
3646  {0.433594, 0.750000, 0.292969},
3647  {0.453125, 0.753906, 0.292969},
3648  {0.472656, 0.761719, 0.296875},
3649  {0.492188, 0.765625, 0.300781},
3650  {0.507812, 0.773438, 0.300781},
3651  {0.527344, 0.777344, 0.304688},
3652  {0.546875, 0.781250, 0.304688},
3653  {0.566406, 0.789062, 0.308594},
3654  {0.585938, 0.792969, 0.312500},
3655  {0.601562, 0.796875, 0.312500},
3656  {0.621094, 0.804688, 0.316406},
3657  {0.640625, 0.808594, 0.316406},
3658  {0.660156, 0.816406, 0.320312},
3659  {0.675781, 0.820312, 0.320312},
3660  {0.695312, 0.824219, 0.324219},
3661  {0.714844, 0.832031, 0.328125},
3662  {0.734375, 0.835938, 0.328125},
3663  {0.753906, 0.839844, 0.332031},
3664  {0.769531, 0.847656, 0.332031},
3665  {0.789062, 0.851562, 0.335938},
3666  {0.808594, 0.859375, 0.339844},
3667  {0.828125, 0.863281, 0.339844},
3668  {0.847656, 0.867188, 0.343750},
3669  {0.863281, 0.875000, 0.343750},
3670  {0.882812, 0.878906, 0.347656},
3671  {0.902344, 0.882812, 0.351562},
3672  {0.921875, 0.890625, 0.351562},
3673  {0.937500, 0.894531, 0.355469},
3674  {0.957031, 0.902344, 0.355469},
3675  {0.976562, 0.906250, 0.359375},
3676  {0.976562, 0.894531, 0.355469},
3677  {0.976562, 0.878906, 0.347656},
3678  {0.976562, 0.867188, 0.343750},
3679  {0.972656, 0.851562, 0.335938},
3680  {0.972656, 0.839844, 0.332031},
3681  {0.972656, 0.828125, 0.328125},
3682  {0.972656, 0.812500, 0.320312},
3683  {0.972656, 0.800781, 0.316406},
3684  {0.972656, 0.785156, 0.312500},
3685  {0.972656, 0.773438, 0.304688},
3686  {0.972656, 0.761719, 0.300781},
3687  {0.968750, 0.746094, 0.292969},
3688  {0.968750, 0.734375, 0.289062},
3689  {0.968750, 0.718750, 0.285156},
3690  {0.968750, 0.707031, 0.277344},
3691  {0.968750, 0.695312, 0.273438},
3692  {0.968750, 0.679688, 0.269531},
3693  {0.968750, 0.667969, 0.261719},
3694  {0.964844, 0.652344, 0.257812},
3695  {0.964844, 0.640625, 0.250000},
3696  {0.964844, 0.625000, 0.246094},
3697  {0.964844, 0.613281, 0.242188},
3698  {0.964844, 0.601562, 0.234375},
3699  {0.964844, 0.585938, 0.230469},
3700  {0.964844, 0.574219, 0.226562},
3701  {0.960938, 0.558594, 0.218750},
3702  {0.960938, 0.546875, 0.214844},
3703  {0.960938, 0.535156, 0.207031},
3704  {0.960938, 0.519531, 0.203125},
3705  {0.960938, 0.507812, 0.199219},
3706  {0.960938, 0.492188, 0.191406},
3707  {0.960938, 0.480469, 0.187500},
3708  {0.960938, 0.468750, 0.183594},
3709  {0.957031, 0.453125, 0.175781},
3710  {0.957031, 0.441406, 0.171875},
3711  {0.957031, 0.414062, 0.160156},
3712  {0.953125, 0.406250, 0.160156},
3713  {0.949219, 0.398438, 0.160156},
3714  {0.945312, 0.390625, 0.160156},
3715  {0.941406, 0.382812, 0.160156},
3716  {0.937500, 0.375000, 0.160156},
3717  {0.933594, 0.367188, 0.160156},
3718  {0.933594, 0.359375, 0.160156},
3719  {0.929688, 0.351562, 0.160156},
3720  {0.925781, 0.343750, 0.160156},
3721  {0.921875, 0.335938, 0.160156},
3722  {0.917969, 0.328125, 0.160156},
3723  {0.914062, 0.320312, 0.160156},
3724  {0.910156, 0.312500, 0.160156},
3725  {0.906250, 0.304688, 0.160156},
3726  {0.902344, 0.296875, 0.160156},
3727  {0.898438, 0.289062, 0.160156},
3728  {0.894531, 0.281250, 0.160156},
3729  {0.890625, 0.273438, 0.160156},
3730  {0.890625, 0.261719, 0.156250},
3731  {0.886719, 0.253906, 0.156250},
3732  {0.882812, 0.246094, 0.156250},
3733  {0.878906, 0.238281, 0.156250},
3734  {0.875000, 0.230469, 0.156250},
3735  {0.871094, 0.222656, 0.156250},
3736  {0.867188, 0.214844, 0.156250},
3737  {0.863281, 0.207031, 0.156250},
3738  {0.859375, 0.199219, 0.156250},
3739  {0.855469, 0.191406, 0.156250},
3740  {0.851562, 0.183594, 0.156250},
3741  {0.847656, 0.175781, 0.156250},
3742  {0.847656, 0.167969, 0.156250},
3743  {0.843750, 0.160156, 0.156250},
3744  {0.839844, 0.152344, 0.156250},
3745  {0.835938, 0.144531, 0.156250},
3746  {0.832031, 0.136719, 0.156250},
3747  {0.824219, 0.121094, 0.156250},
3748  {0.816406, 0.121094, 0.156250},
3749  {0.808594, 0.117188, 0.152344},
3750  {0.804688, 0.117188, 0.152344},
3751  {0.796875, 0.117188, 0.148438},
3752  {0.789062, 0.117188, 0.148438},
3753  {0.781250, 0.113281, 0.148438},
3754  {0.777344, 0.113281, 0.144531},
3755  {0.769531, 0.113281, 0.144531},
3756  {0.761719, 0.113281, 0.140625},
3757  {0.753906, 0.109375, 0.140625},
3758  {0.750000, 0.109375, 0.140625},
3759  {0.742188, 0.109375, 0.136719},
3760  {0.734375, 0.105469, 0.136719},
3761  {0.726562, 0.105469, 0.132812},
3762  {0.722656, 0.105469, 0.132812},
3763  {0.714844, 0.105469, 0.132812},
3764  {0.707031, 0.101562, 0.128906},
3765  {0.699219, 0.101562, 0.128906},
3766  {0.695312, 0.101562, 0.125000},
3767  {0.687500, 0.101562, 0.125000},
3768  {0.679688, 0.097656, 0.121094},
3769  {0.671875, 0.097656, 0.121094},
3770  {0.667969, 0.097656, 0.121094},
3771  {0.660156, 0.097656, 0.117188},
3772  {0.652344, 0.093750, 0.117188},
3773  {0.644531, 0.093750, 0.113281},
3774  {0.640625, 0.093750, 0.113281},
3775  {0.632812, 0.089844, 0.113281},
3776  {0.625000, 0.089844, 0.109375},
3777  {0.617188, 0.089844, 0.109375},
3778  {0.613281, 0.089844, 0.105469},
3779  {0.605469, 0.085938, 0.105469},
3780  {0.597656, 0.085938, 0.105469},
3781  {0.589844, 0.085938, 0.101562},
3782  {0.585938, 0.085938, 0.101562},
3783  {0.570312, 0.082031, 0.097656}
3784 };
3785 
3786 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3787 const int RGB_Palette_31_Size = 25; // StepSeq25.rgb
3789 {
3790  {0.597656, 0.058594, 0.058594},
3791  {0.695312, 0.171875, 0.171875},
3792  {0.796875, 0.316406, 0.316406},
3793  {0.894531, 0.492188, 0.492188},
3794  {0.996094, 0.695312, 0.695312},
3795  {0.597656, 0.328125, 0.058594},
3796  {0.695312, 0.433594, 0.171875},
3797  {0.796875, 0.554688, 0.316406},
3798  {0.894531, 0.691406, 0.492188},
3799  {0.996094, 0.843750, 0.695312},
3800  {0.417969, 0.597656, 0.058594},
3801  {0.519531, 0.695312, 0.171875},
3802  {0.636719, 0.796875, 0.316406},
3803  {0.761719, 0.894531, 0.492188},
3804  {0.894531, 0.996094, 0.695312},
3805  {0.058594, 0.417969, 0.597656},
3806  {0.171875, 0.519531, 0.695312},
3807  {0.316406, 0.636719, 0.796875},
3808  {0.492188, 0.761719, 0.894531},
3809  {0.695312, 0.894531, 0.996094},
3810  {0.148438, 0.058594, 0.597656},
3811  {0.257812, 0.171875, 0.695312},
3812  {0.394531, 0.316406, 0.796875},
3813  {0.558594, 0.492188, 0.894531},
3814  {0.746094, 0.695312, 0.996094}
3815 };
3816 
3817 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3818 const int RGB_Palette_32_Size = 128; // MPL_terrain.rgb
3820 {
3821  {0.194771, 0.210458, 0.610458},
3822  {0.184314, 0.231373, 0.631373},
3823  {0.173856, 0.252288, 0.652288},
3824  {0.163399, 0.273203, 0.673203},
3825  {0.152941, 0.294118, 0.694118},
3826  {0.142484, 0.315033, 0.715033},
3827  {0.132026, 0.335948, 0.735948},
3828  {0.121569, 0.356863, 0.756863},
3829  {0.111111, 0.377778, 0.777778},
3830  {0.105882, 0.388235, 0.788235},
3831  {0.090196, 0.419608, 0.819608},
3832  {0.084967, 0.430065, 0.830065},
3833  {0.069281, 0.461438, 0.861438},
3834  {0.064052, 0.471895, 0.871895},
3835  {0.048366, 0.503268, 0.903268},
3836  {0.043137, 0.513725, 0.913725},
3837  {0.027451, 0.545098, 0.945098},
3838  {0.016993, 0.566013, 0.966013},
3839  {0.011765, 0.576471, 0.976471},
3840  {0.000000, 0.605882, 0.982353},
3841  {0.000000, 0.621569, 0.935294},
3842  {0.000000, 0.637255, 0.888235},
3843  {0.000000, 0.645098, 0.864706},
3844  {0.000000, 0.668627, 0.794118},
3845  {0.000000, 0.684314, 0.747059},
3846  {0.000000, 0.700000, 0.700000},
3847  {0.000000, 0.707843, 0.676471},
3848  {0.000000, 0.731373, 0.605882},
3849  {0.000000, 0.747059, 0.558824},
3850  {0.000000, 0.762745, 0.511765},
3851  {0.000000, 0.770588, 0.488235},
3852  {0.000000, 0.794118, 0.417647},
3853  {0.019608, 0.803922, 0.403922},
3854  {0.050980, 0.810196, 0.410196},
3855  {0.082353, 0.816471, 0.416471},
3856  {0.113725, 0.822745, 0.422745},
3857  {0.145098, 0.829020, 0.429020},
3858  {0.160784, 0.832157, 0.432157},
3859  {0.207843, 0.841569, 0.441569},
3860  {0.239216, 0.847843, 0.447843},
3861  {0.270588, 0.854118, 0.454118},
3862  {0.301961, 0.860392, 0.460392},
3863  {0.333333, 0.866667, 0.466667},
3864  {0.364706, 0.872941, 0.472941},
3865  {0.396078, 0.879216, 0.479216},
3866  {0.411765, 0.882353, 0.482353},
3867  {0.458824, 0.891765, 0.491765},
3868  {0.490196, 0.898039, 0.498039},
3869  {0.521569, 0.904314, 0.504314},
3870  {0.552941, 0.910588, 0.510588},
3871  {0.584314, 0.916863, 0.516863},
3872  {0.615686, 0.923137, 0.523137},
3873  {0.647059, 0.929412, 0.529412},
3874  {0.662745, 0.932549, 0.532549},
3875  {0.709804, 0.941961, 0.541961},
3876  {0.741176, 0.948235, 0.548235},
3877  {0.772549, 0.954510, 0.554510},
3878  {0.803922, 0.960784, 0.560784},
3879  {0.835294, 0.967059, 0.567059},
3880  {0.866667, 0.973333, 0.573333},
3881  {0.898039, 0.979608, 0.579608},
3882  {0.913725, 0.982745, 0.582745},
3883  {0.960784, 0.992157, 0.592157},
3884  {0.992157, 0.998431, 0.598431},
3885  {0.988235, 0.984941, 0.593647},
3886  {0.972549, 0.964863, 0.585176},
3887  {0.956863, 0.944784, 0.576706},
3888  {0.941176, 0.924706, 0.568235},
3889  {0.925490, 0.904627, 0.559765},
3890  {0.909804, 0.884549, 0.551294},
3891  {0.894118, 0.864471, 0.542824},
3892  {0.878431, 0.844392, 0.534353},
3893  {0.862745, 0.824314, 0.525882},
3894  {0.847059, 0.804235, 0.517412},
3895  {0.831373, 0.784157, 0.508941},
3896  {0.823529, 0.774118, 0.504706},
3897  {0.800000, 0.744000, 0.492000},
3898  {0.784314, 0.723922, 0.483529},
3899  {0.768627, 0.703843, 0.475059},
3900  {0.752941, 0.683765, 0.466588},
3901  {0.737255, 0.663686, 0.458118},
3902  {0.721569, 0.643608, 0.449647},
3903  {0.705882, 0.623529, 0.441176},
3904  {0.690196, 0.603451, 0.432706},
3905  {0.674510, 0.583373, 0.424235},
3906  {0.658824, 0.563294, 0.415765},
3907  {0.643137, 0.543216, 0.407294},
3908  {0.627451, 0.523137, 0.398824},
3909  {0.611765, 0.503059, 0.390353},
3910  {0.596078, 0.482980, 0.381882},
3911  {0.580392, 0.462902, 0.373412},
3912  {0.572549, 0.452863, 0.369176},
3913  {0.549020, 0.422745, 0.356471},
3914  {0.533333, 0.402667, 0.348000},
3915  {0.517647, 0.382588, 0.339529},
3916  {0.501961, 0.362510, 0.331059},
3917  {0.513725, 0.377569, 0.348392},
3918  {0.529412, 0.397647, 0.369412},
3919  {0.545098, 0.417725, 0.390431},
3920  {0.560784, 0.437804, 0.411451},
3921  {0.576471, 0.457882, 0.432471},
3922  {0.592157, 0.477961, 0.453490},
3923  {0.607843, 0.498039, 0.474510},
3924  {0.623529, 0.518118, 0.495529},
3925  {0.639216, 0.538196, 0.516549},
3926  {0.654902, 0.558275, 0.537569},
3927  {0.670588, 0.578353, 0.558588},
3928  {0.678431, 0.588392, 0.569098},
3929  {0.701961, 0.618510, 0.600627},
3930  {0.717647, 0.638588, 0.621647},
3931  {0.733333, 0.658667, 0.642667},
3932  {0.749020, 0.678745, 0.663686},
3933  {0.764706, 0.698824, 0.684706},
3934  {0.780392, 0.718902, 0.705725},
3935  {0.796078, 0.738980, 0.726745},
3936  {0.811765, 0.759059, 0.747765},
3937  {0.827451, 0.779137, 0.768784},
3938  {0.843137, 0.799216, 0.789804},
3939  {0.858824, 0.819294, 0.810824},
3940  {0.874510, 0.839373, 0.831843},
3941  {0.890196, 0.859451, 0.852863},
3942  {0.905882, 0.879529, 0.873882},
3943  {0.921569, 0.899608, 0.894902},
3944  {0.929412, 0.909647, 0.905412},
3945  {0.952941, 0.939765, 0.936941},
3946  {0.968627, 0.959843, 0.957961},
3947  {0.984314, 0.979922, 0.978980},
3948  {1.000000, 1.000000, 1.000000}
3949 };
3950 
3951 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
3952 const int RGB_Palette_33_Size = 254; // BlueWhiteOrangeRed.rgb
3954 {
3955  {0.105469, 0.171875, 0.382812},
3956  {0.105469, 0.179688, 0.394531},
3957  {0.109375, 0.187500, 0.406250},
3958  {0.109375, 0.195312, 0.417969},
3959  {0.113281, 0.203125, 0.429688},
3960  {0.113281, 0.207031, 0.437500},
3961  {0.113281, 0.214844, 0.449219},
3962  {0.117188, 0.222656, 0.460938},
3963  {0.117188, 0.230469, 0.472656},
3964  {0.117188, 0.238281, 0.484375},
3965  {0.121094, 0.246094, 0.496094},
3966  {0.121094, 0.253906, 0.507812},
3967  {0.125000, 0.261719, 0.519531},
3968  {0.125000, 0.265625, 0.527344},
3969  {0.125000, 0.273438, 0.539062},
3970  {0.128906, 0.281250, 0.550781},
3971  {0.128906, 0.289062, 0.562500},
3972  {0.128906, 0.296875, 0.574219},
3973  {0.132812, 0.304688, 0.585938},
3974  {0.132812, 0.312500, 0.597656},
3975  {0.136719, 0.320312, 0.609375},
3976  {0.136719, 0.324219, 0.617188},
3977  {0.136719, 0.332031, 0.628906},
3978  {0.140625, 0.347656, 0.652344},
3979  {0.148438, 0.359375, 0.660156},
3980  {0.156250, 0.371094, 0.667969},
3981  {0.164062, 0.382812, 0.675781},
3982  {0.175781, 0.398438, 0.683594},
3983  {0.183594, 0.410156, 0.691406},
3984  {0.191406, 0.421875, 0.699219},
3985  {0.199219, 0.433594, 0.707031},
3986  {0.207031, 0.445312, 0.714844},
3987  {0.214844, 0.457031, 0.722656},
3988  {0.222656, 0.468750, 0.730469},
3989  {0.230469, 0.480469, 0.738281},
3990  {0.242188, 0.496094, 0.750000},
3991  {0.250000, 0.507812, 0.757812},
3992  {0.257812, 0.519531, 0.765625},
3993  {0.265625, 0.531250, 0.773438},
3994  {0.273438, 0.542969, 0.781250},
3995  {0.281250, 0.554688, 0.789062},
3996  {0.289062, 0.566406, 0.796875},
3997  {0.296875, 0.578125, 0.804688},
3998  {0.308594, 0.593750, 0.812500},
3999  {0.316406, 0.605469, 0.820312},
4000  {0.324219, 0.617188, 0.828125},
4001  {0.339844, 0.640625, 0.843750},
4002  {0.351562, 0.648438, 0.847656},
4003  {0.363281, 0.660156, 0.855469},
4004  {0.375000, 0.667969, 0.859375},
4005  {0.386719, 0.675781, 0.863281},
4006  {0.398438, 0.683594, 0.867188},
4007  {0.410156, 0.695312, 0.875000},
4008  {0.417969, 0.703125, 0.878906},
4009  {0.429688, 0.710938, 0.882812},
4010  {0.441406, 0.718750, 0.890625},
4011  {0.453125, 0.730469, 0.894531},
4012  {0.464844, 0.738281, 0.898438},
4013  {0.476562, 0.746094, 0.906250},
4014  {0.488281, 0.753906, 0.910156},
4015  {0.500000, 0.765625, 0.914062},
4016  {0.511719, 0.773438, 0.917969},
4017  {0.523438, 0.781250, 0.925781},
4018  {0.535156, 0.789062, 0.929688},
4019  {0.546875, 0.800781, 0.933594},
4020  {0.554688, 0.808594, 0.941406},
4021  {0.566406, 0.816406, 0.945312},
4022  {0.578125, 0.824219, 0.949219},
4023  {0.589844, 0.835938, 0.953125},
4024  {0.613281, 0.851562, 0.964844},
4025  {0.621094, 0.855469, 0.964844},
4026  {0.632812, 0.859375, 0.964844},
4027  {0.640625, 0.863281, 0.964844},
4028  {0.652344, 0.867188, 0.964844},
4029  {0.660156, 0.867188, 0.964844},
4030  {0.671875, 0.871094, 0.968750},
4031  {0.679688, 0.875000, 0.968750},
4032  {0.687500, 0.878906, 0.968750},
4033  {0.699219, 0.882812, 0.968750},
4034  {0.707031, 0.886719, 0.968750},
4035  {0.718750, 0.890625, 0.968750},
4036  {0.726562, 0.894531, 0.968750},
4037  {0.734375, 0.894531, 0.968750},
4038  {0.746094, 0.898438, 0.968750},
4039  {0.753906, 0.902344, 0.968750},
4040  {0.765625, 0.906250, 0.968750},
4041  {0.773438, 0.910156, 0.968750},
4042  {0.785156, 0.914062, 0.972656},
4043  {0.792969, 0.917969, 0.972656},
4044  {0.800781, 0.921875, 0.972656},
4045  {0.812500, 0.921875, 0.972656},
4046  {0.820312, 0.925781, 0.972656},
4047  {0.839844, 0.933594, 0.972656},
4048  {0.847656, 0.937500, 0.972656},
4049  {0.851562, 0.937500, 0.976562},
4050  {0.859375, 0.941406, 0.976562},
4051  {0.867188, 0.945312, 0.976562},
4052  {0.871094, 0.945312, 0.976562},
4053  {0.878906, 0.949219, 0.980469},
4054  {0.886719, 0.953125, 0.980469},
4055  {0.890625, 0.953125, 0.980469},
4056  {0.898438, 0.957031, 0.980469},
4057  {0.906250, 0.960938, 0.984375},
4058  {0.910156, 0.960938, 0.984375},
4059  {0.917969, 0.964844, 0.984375},
4060  {0.925781, 0.968750, 0.984375},
4061  {0.929688, 0.968750, 0.988281},
4062  {0.937500, 0.972656, 0.988281},
4063  {0.945312, 0.976562, 0.988281},
4064  {0.949219, 0.976562, 0.988281},
4065  {0.957031, 0.980469, 0.992188},
4066  {0.964844, 0.984375, 0.992188},
4067  {0.968750, 0.984375, 0.992188},
4068  {0.976562, 0.988281, 0.992188},
4069  {0.984375, 0.992188, 0.996094},
4070  {0.996094, 0.996094, 0.996094},
4071  {0.996094, 0.996094, 0.996094},
4072  {0.996094, 0.996094, 0.996094},
4073  {0.996094, 0.996094, 0.996094},
4074  {0.996094, 0.996094, 0.996094},
4075  {0.996094, 0.996094, 0.996094},
4076  {0.996094, 0.996094, 0.996094},
4077  {0.996094, 0.996094, 0.996094},
4078  {0.996094, 0.996094, 0.996094},
4079  {0.996094, 0.996094, 0.996094},
4080  {0.996094, 0.996094, 0.996094},
4081  {0.996094, 0.996094, 0.996094},
4082  {0.996094, 0.996094, 0.996094},
4083  {0.996094, 0.996094, 0.996094},
4084  {0.996094, 0.996094, 0.996094},
4085  {0.996094, 0.996094, 0.996094},
4086  {0.996094, 0.996094, 0.996094},
4087  {0.996094, 0.996094, 0.996094},
4088  {0.996094, 0.996094, 0.996094},
4089  {0.996094, 0.996094, 0.996094},
4090  {0.996094, 0.996094, 0.996094},
4091  {0.996094, 0.996094, 0.996094},
4092  {0.996094, 0.996094, 0.996094},
4093  {0.996094, 0.996094, 0.996094},
4094  {0.996094, 0.992188, 0.980469},
4095  {0.996094, 0.988281, 0.964844},
4096  {0.996094, 0.988281, 0.949219},
4097  {0.996094, 0.984375, 0.929688},
4098  {0.992188, 0.980469, 0.914062},
4099  {0.992188, 0.976562, 0.898438},
4100  {0.992188, 0.972656, 0.882812},
4101  {0.992188, 0.968750, 0.867188},
4102  {0.992188, 0.968750, 0.851562},
4103  {0.992188, 0.964844, 0.832031},
4104  {0.992188, 0.960938, 0.816406},
4105  {0.992188, 0.957031, 0.800781},
4106  {0.988281, 0.953125, 0.785156},
4107  {0.988281, 0.949219, 0.769531},
4108  {0.988281, 0.949219, 0.753906},
4109  {0.988281, 0.945312, 0.734375},
4110  {0.988281, 0.941406, 0.718750},
4111  {0.988281, 0.937500, 0.703125},
4112  {0.988281, 0.933594, 0.687500},
4113  {0.988281, 0.929688, 0.671875},
4114  {0.984375, 0.929688, 0.656250},
4115  {0.984375, 0.925781, 0.636719},
4116  {0.984375, 0.917969, 0.605469},
4117  {0.984375, 0.910156, 0.589844},
4118  {0.984375, 0.898438, 0.570312},
4119  {0.984375, 0.890625, 0.554688},
4120  {0.984375, 0.878906, 0.539062},
4121  {0.984375, 0.871094, 0.519531},
4122  {0.988281, 0.859375, 0.503906},
4123  {0.988281, 0.851562, 0.484375},
4124  {0.988281, 0.839844, 0.468750},
4125  {0.988281, 0.832031, 0.453125},
4126  {0.988281, 0.820312, 0.433594},
4127  {0.988281, 0.812500, 0.417969},
4128  {0.988281, 0.804688, 0.402344},
4129  {0.988281, 0.792969, 0.382812},
4130  {0.988281, 0.785156, 0.367188},
4131  {0.988281, 0.773438, 0.347656},
4132  {0.988281, 0.765625, 0.332031},
4133  {0.988281, 0.753906, 0.316406},
4134  {0.992188, 0.746094, 0.296875},
4135  {0.992188, 0.734375, 0.281250},
4136  {0.992188, 0.726562, 0.265625},
4137  {0.992188, 0.714844, 0.246094},
4138  {0.992188, 0.707031, 0.230469},
4139  {0.992188, 0.687500, 0.195312},
4140  {0.992188, 0.675781, 0.195312},
4141  {0.988281, 0.664062, 0.191406},
4142  {0.988281, 0.652344, 0.191406},
4143  {0.988281, 0.640625, 0.191406},
4144  {0.984375, 0.628906, 0.187500},
4145  {0.984375, 0.621094, 0.187500},
4146  {0.980469, 0.609375, 0.183594},
4147  {0.980469, 0.597656, 0.183594},
4148  {0.980469, 0.585938, 0.183594},
4149  {0.976562, 0.574219, 0.179688},
4150  {0.976562, 0.562500, 0.179688},
4151  {0.976562, 0.550781, 0.179688},
4152  {0.972656, 0.539062, 0.175781},
4153  {0.972656, 0.527344, 0.175781},
4154  {0.968750, 0.515625, 0.171875},
4155  {0.968750, 0.503906, 0.171875},
4156  {0.968750, 0.492188, 0.171875},
4157  {0.964844, 0.484375, 0.167969},
4158  {0.964844, 0.472656, 0.167969},
4159  {0.964844, 0.460938, 0.167969},
4160  {0.960938, 0.449219, 0.164062},
4161  {0.960938, 0.437500, 0.164062},
4162  {0.957031, 0.414062, 0.160156},
4163  {0.953125, 0.402344, 0.160156},
4164  {0.945312, 0.390625, 0.160156},
4165  {0.941406, 0.378906, 0.160156},
4166  {0.933594, 0.367188, 0.160156},
4167  {0.929688, 0.351562, 0.160156},
4168  {0.925781, 0.339844, 0.160156},
4169  {0.917969, 0.328125, 0.160156},
4170  {0.914062, 0.316406, 0.160156},
4171  {0.906250, 0.304688, 0.160156},
4172  {0.902344, 0.292969, 0.160156},
4173  {0.894531, 0.281250, 0.160156},
4174  {0.890625, 0.269531, 0.160156},
4175  {0.886719, 0.253906, 0.156250},
4176  {0.878906, 0.242188, 0.156250},
4177  {0.875000, 0.230469, 0.156250},
4178  {0.867188, 0.218750, 0.156250},
4179  {0.863281, 0.207031, 0.156250},
4180  {0.859375, 0.195312, 0.156250},
4181  {0.851562, 0.183594, 0.156250},
4182  {0.847656, 0.171875, 0.156250},
4183  {0.839844, 0.156250, 0.156250},
4184  {0.835938, 0.144531, 0.156250},
4185  {0.824219, 0.121094, 0.156250},
4186  {0.812500, 0.121094, 0.152344},
4187  {0.804688, 0.117188, 0.152344},
4188  {0.792969, 0.117188, 0.148438},
4189  {0.781250, 0.113281, 0.148438},
4190  {0.769531, 0.113281, 0.144531},
4191  {0.761719, 0.113281, 0.140625},
4192  {0.750000, 0.109375, 0.140625},
4193  {0.738281, 0.109375, 0.136719},
4194  {0.730469, 0.105469, 0.132812},
4195  {0.718750, 0.105469, 0.132812},
4196  {0.707031, 0.101562, 0.128906},
4197  {0.699219, 0.101562, 0.128906},
4198  {0.687500, 0.101562, 0.125000},
4199  {0.675781, 0.097656, 0.121094},
4200  {0.664062, 0.097656, 0.121094},
4201  {0.656250, 0.093750, 0.117188},
4202  {0.644531, 0.093750, 0.113281},
4203  {0.632812, 0.093750, 0.113281},
4204  {0.625000, 0.089844, 0.109375},
4205  {0.613281, 0.089844, 0.109375},
4206  {0.601562, 0.085938, 0.105469},
4207  {0.589844, 0.085938, 0.101562},
4208  {0.570312, 0.082031, 0.097656}
4209 };
4210 
4211 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
4212 const int RGB_Palette_34_Size = 20; // rh_19lev.rgb
4214 {
4215  {0.992188, 0.992188, 0.992188},
4216  {0.992188, 0.992188, 0.625000},
4217  {0.992188, 0.992188, 0.386719},
4218  {0.953125, 0.953125, 0.429688},
4219  {0.996094, 0.820312, 0.136719},
4220  {0.996094, 0.636719, 0.097656},
4221  {0.996094, 0.347656, 0.097656},
4222  {0.898438, 0.476562, 0.394531},
4223  {0.925781, 0.566406, 0.484375},
4224  {0.933594, 0.695312, 0.570312},
4225  {0.964844, 0.777344, 0.695312},
4226  {0.996094, 0.898438, 0.898438},
4227  {0.839844, 0.878906, 0.996094},
4228  {0.585938, 0.820312, 0.996094},
4229  {0.117188, 0.738281, 0.996094},
4230  {0.078125, 0.621094, 0.996094},
4231  {0.039062, 0.421875, 0.937500},
4232  {0.042969, 0.453125, 0.996094},
4233  {0.039062, 0.406250, 0.781250},
4234  {0.000000, 0.347656, 0.621094}
4235 };
4236 
4237 // http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
4238 const int RGB_Palette_35_Size = 213; // lithology.rgb
4240 {
4241  {0.988281, 0.953125, 0.246094},
4242  {0.996094, 0.996094, 0.535156},
4243  {0.996094, 0.824219, 0.269531},
4244  {0.996094, 0.792969, 0.136719},
4245  {0.996094, 0.996094, 0.832031},
4246  {0.921875, 0.703125, 0.000000},
4247  {0.996094, 0.976562, 0.910156},
4248  {0.996094, 0.976562, 0.781250},
4249  {0.996094, 0.996094, 0.714844},
4250  {0.976562, 0.929688, 0.476562},
4251  {0.953125, 0.933594, 0.890625},
4252  {0.941406, 0.894531, 0.871094},
4253  {0.890625, 0.812500, 0.742188},
4254  {0.890625, 0.843750, 0.742188},
4255  {0.996094, 0.960938, 0.847656},
4256  {0.875000, 0.769531, 0.617188},
4257  {0.875000, 0.820312, 0.703125},
4258  {0.855469, 0.796875, 0.660156},
4259  {0.957031, 0.878906, 0.738281},
4260  {0.875000, 0.687500, 0.617188},
4261  {0.808594, 0.730469, 0.558594},
4262  {0.878906, 0.886719, 0.761719},
4263  {0.894531, 0.855469, 0.699219},
4264  {0.859375, 0.832031, 0.703125},
4265  {0.824219, 0.789062, 0.621094},
4266  {0.785156, 0.742188, 0.535156},
4267  {0.734375, 0.683594, 0.421875},
4268  {0.746094, 0.652344, 0.261719},
4269  {0.820312, 0.757812, 0.484375},
4270  {0.996094, 0.929688, 0.746094},
4271  {0.996094, 0.894531, 0.613281},
4272  {0.996094, 0.871094, 0.519531},
4273  {0.992188, 0.898438, 0.437500},
4274  {0.992188, 0.882812, 0.343750},
4275  {0.992188, 0.855469, 0.179688},
4276  {0.964844, 0.949219, 0.628906},
4277  {0.996094, 0.808594, 0.503906},
4278  {0.996094, 0.796875, 0.597656},
4279  {0.996094, 0.886719, 0.535156},
4280  {0.996094, 0.855469, 0.402344},
4281  {0.570312, 0.859375, 0.714844},
4282  {0.847656, 0.988281, 0.824219},
4283  {0.808594, 0.933594, 0.871094},
4284  {0.832031, 0.898438, 0.796875},
4285  {0.750000, 0.812500, 0.750000},
4286  {0.671875, 0.890625, 0.781250},
4287  {0.855469, 0.992188, 0.734375},
4288  {0.730469, 0.996094, 0.863281},
4289  {0.878906, 0.937500, 0.843750},
4290  {0.835938, 0.992188, 0.601562},
4291  {0.582031, 0.996094, 0.789062},
4292  {0.800781, 0.996094, 0.847656},
4293  {0.648438, 0.984375, 0.664062},
4294  {0.792969, 0.933594, 0.804688},
4295  {0.601562, 0.804688, 0.992188},
4296  {0.410156, 0.808594, 0.609375},
4297  {0.738281, 0.855469, 0.941406},
4298  {0.718750, 0.914062, 0.761719},
4299  {0.562500, 0.644531, 0.394531},
4300  {0.714844, 0.847656, 0.796875},
4301  {0.652344, 0.726562, 0.523438},
4302  {0.644531, 0.664062, 0.675781},
4303  {0.550781, 0.742188, 0.800781},
4304  {0.730469, 0.750000, 0.769531},
4305  {0.335938, 0.875000, 0.984375},
4306  {0.261719, 0.683594, 0.972656},
4307  {0.417969, 0.761719, 0.996094},
4308  {0.218750, 0.703125, 0.691406},
4309  {0.375000, 0.796875, 0.746094},
4310  {0.746094, 0.886719, 0.859375},
4311  {0.800781, 0.867188, 0.996094},
4312  {0.003906, 0.609375, 0.800781},
4313  {0.601562, 0.746094, 0.750000},
4314  {0.750000, 0.679688, 0.710938},
4315  {0.722656, 0.582031, 0.593750},
4316  {0.847656, 0.757812, 0.636719},
4317  {0.507812, 0.000000, 0.253906},
4318  {0.429688, 0.285156, 0.035156},
4319  {0.996094, 0.714844, 0.867188},
4320  {0.996094, 0.761719, 0.890625},
4321  {0.996094, 0.816406, 0.914062},
4322  {0.996094, 0.761719, 0.968750},
4323  {0.996094, 0.894531, 0.949219},
4324  {0.996094, 0.875000, 0.867188},
4325  {0.972656, 0.824219, 0.824219},
4326  {0.996094, 0.949219, 0.785156},
4327  {0.996094, 0.933594, 0.847656},
4328  {0.996094, 0.894531, 0.761719},
4329  {0.996094, 0.832031, 0.613281},
4330  {0.996094, 0.632812, 0.152344},
4331  {0.996094, 0.753906, 0.433594},
4332  {0.953125, 0.542969, 0.000000},
4333  {0.992188, 0.859375, 0.492188},
4334  {0.992188, 0.796875, 0.406250},
4335  {0.992188, 0.773438, 0.164062},
4336  {0.992188, 0.800781, 0.671875},
4337  {0.992188, 0.714844, 0.523438},
4338  {0.992188, 0.625000, 0.375000},
4339  {0.992188, 0.527344, 0.210938},
4340  {0.992188, 0.457031, 0.093750},
4341  {0.917969, 0.375000, 0.003906},
4342  {0.785156, 0.320312, 0.003906},
4343  {0.691406, 0.281250, 0.003906},
4344  {0.574219, 0.234375, 0.003906},
4345  {0.921875, 0.832031, 0.773438},
4346  {0.863281, 0.699219, 0.589844},
4347  {0.824219, 0.613281, 0.472656},
4348  {0.773438, 0.500000, 0.312500},
4349  {0.660156, 0.394531, 0.214844},
4350  {0.757812, 0.253906, 0.000000},
4351  {0.371094, 0.222656, 0.121094},
4352  {0.519531, 0.308594, 0.167969},
4353  {0.625000, 0.207031, 0.000000},
4354  {0.429688, 0.144531, 0.000000},
4355  {0.984375, 0.429688, 0.484375},
4356  {0.996094, 0.753906, 0.714844},
4357  {0.996094, 0.878906, 0.906250},
4358  {0.890625, 0.343750, 0.566406},
4359  {0.996094, 0.933594, 0.949219},
4360  {0.863281, 0.160156, 0.445312},
4361  {0.996094, 0.816406, 0.859375},
4362  {0.996094, 0.503906, 0.621094},
4363  {0.996094, 0.660156, 0.613281},
4364  {0.906250, 0.109375, 0.000000},
4365  {0.996094, 0.199219, 0.089844},
4366  {0.835938, 0.000000, 0.000000},
4367  {0.972656, 0.707031, 0.730469},
4368  {0.968750, 0.742188, 0.679688},
4369  {0.996094, 0.699219, 0.769531},
4370  {0.996094, 0.433594, 0.417969},
4371  {0.984375, 0.320312, 0.382812},
4372  {0.910156, 0.472656, 0.648438},
4373  {0.984375, 0.710938, 0.710938},
4374  {0.996094, 0.652344, 0.734375},
4375  {0.953125, 0.234375, 0.421875},
4376  {0.980469, 0.136719, 0.218750},
4377  {0.953125, 0.101562, 0.527344},
4378  {0.996094, 0.386719, 0.531250},
4379  {0.996094, 0.152344, 0.351562},
4380  {0.671875, 0.000000, 0.000000},
4381  {0.996094, 0.433594, 0.355469},
4382  {0.886719, 0.464844, 0.675781},
4383  {0.925781, 0.652344, 0.789062},
4384  {0.910156, 0.574219, 0.742188},
4385  {0.996094, 0.835938, 0.816406},
4386  {0.996094, 0.746094, 0.804688},
4387  {0.996094, 0.582031, 0.679688},
4388  {0.996094, 0.433594, 0.566406},
4389  {0.996094, 0.105469, 0.316406},
4390  {0.906250, 0.000000, 0.214844},
4391  {0.804688, 0.000000, 0.191406},
4392  {0.687500, 0.000000, 0.164062},
4393  {0.753906, 0.003906, 0.039062},
4394  {0.578125, 0.000000, 0.136719},
4395  {0.636719, 0.003906, 0.035156},
4396  {0.457031, 0.003906, 0.027344},
4397  {0.652344, 0.652344, 0.996094},
4398  {0.914062, 0.683594, 0.996094},
4399  {0.804688, 0.613281, 0.996094},
4400  {0.640625, 0.285156, 0.996094},
4401  {0.503906, 0.011719, 0.996094},
4402  {0.273438, 0.000000, 0.546875},
4403  {0.000000, 0.359375, 0.000000},
4404  {0.488281, 0.996094, 0.488281},
4405  {0.785156, 0.996094, 0.785156},
4406  {0.898438, 0.800781, 0.996094},
4407  {0.621094, 0.996094, 0.621094},
4408  {0.910156, 0.996094, 0.910156},
4409  {0.000000, 0.000000, 0.996094},
4410  {0.996094, 0.339844, 0.996094},
4411  {0.996094, 0.550781, 0.996094},
4412  {0.996094, 0.652344, 0.996094},
4413  {0.992188, 0.402344, 0.000000},
4414  {0.996094, 0.000000, 0.000000},
4415  {0.722656, 0.230469, 0.406250},
4416  {0.527344, 0.167969, 0.296875},
4417  {0.785156, 0.332031, 0.492188},
4418  {0.000000, 0.500000, 0.000000},
4419  {0.703125, 0.808594, 0.890625},
4420  {0.855469, 0.855469, 0.902344},
4421  {0.925781, 0.925781, 0.949219},
4422  {0.750000, 0.750000, 0.750000},
4423  {0.691406, 0.691406, 0.691406},
4424  {0.789062, 0.789062, 0.859375},
4425  {0.632812, 0.632812, 0.750000},
4426  {0.710938, 0.710938, 0.804688},
4427  {0.585938, 0.585938, 0.585938},
4428  {0.636719, 0.214844, 0.988281},
4429  {0.921875, 0.835938, 0.992188},
4430  {0.875000, 0.734375, 0.992188},
4431  {0.832031, 0.640625, 0.992188},
4432  {0.781250, 0.523438, 0.992188},
4433  {0.796875, 0.714844, 0.996094},
4434  {0.699219, 0.582031, 0.996094},
4435  {0.562500, 0.386719, 0.996094},
4436  {0.621094, 0.000000, 0.789062},
4437  {0.480469, 0.000000, 0.609375},
4438  {0.414062, 0.000000, 0.414062},
4439  {0.515625, 0.378906, 0.242188},
4440  {0.812500, 0.792969, 0.687500},
4441  {0.687500, 0.652344, 0.468750},
4442  {0.531250, 0.496094, 0.312500},
4443  {0.671875, 0.496094, 0.312500},
4444  {0.425781, 0.312500, 0.199219},
4445  {0.390625, 0.007812, 0.042969},
4446  {0.531250, 0.496094, 0.312500},
4447  {0.996094, 0.996094, 0.996094},
4448  {0.597656, 0.796875, 0.996094},
4449  {0.996094, 0.832031, 0.613281},
4450  {0.996094, 0.816406, 0.859375},
4451  {0.519531, 0.308594, 0.167969},
4452  {0.417969, 0.761719, 0.996094},
4453  {0.625000, 0.207031, 0.000000}
4454 };
4455 
4456 const int RGB_Palette_36_Size = 64; // gray
4458 
4459 // https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html
4460 const int RGB_Palette_37_Size = 256; // turbo
4462 {
4463  {0.18995000, 0.07176000, 0.23217000},
4464  {0.19483000, 0.08339000, 0.26149000},
4465  {0.19956000, 0.09498000, 0.29024000},
4466  {0.20415000, 0.10652000, 0.31844000},
4467  {0.20860000, 0.11802000, 0.34607000},
4468  {0.21291000, 0.12947000, 0.37314000},
4469  {0.21708000, 0.14087000, 0.39964000},
4470  {0.22111000, 0.15223000, 0.42558000},
4471  {0.22500000, 0.16354000, 0.45096000},
4472  {0.22875000, 0.17481000, 0.47578000},
4473  {0.23236000, 0.18603000, 0.50004000},
4474  {0.23582000, 0.19720000, 0.52373000},
4475  {0.23915000, 0.20833000, 0.54686000},
4476  {0.24234000, 0.21941000, 0.56942000},
4477  {0.24539000, 0.23044000, 0.59142000},
4478  {0.24830000, 0.24143000, 0.61286000},
4479  {0.25107000, 0.25237000, 0.63374000},
4480  {0.25369000, 0.26327000, 0.65406000},
4481  {0.25618000, 0.27412000, 0.67381000},
4482  {0.25853000, 0.28492000, 0.69300000},
4483  {0.26074000, 0.29568000, 0.71162000},
4484  {0.26280000, 0.30639000, 0.72968000},
4485  {0.26473000, 0.31706000, 0.74718000},
4486  {0.26652000, 0.32768000, 0.76412000},
4487  {0.26816000, 0.33825000, 0.78050000},
4488  {0.26967000, 0.34878000, 0.79631000},
4489  {0.27103000, 0.35926000, 0.81156000},
4490  {0.27226000, 0.36970000, 0.82624000},
4491  {0.27334000, 0.38008000, 0.84037000},
4492  {0.27429000, 0.39043000, 0.85393000},
4493  {0.27509000, 0.40072000, 0.86692000},
4494  {0.27576000, 0.41097000, 0.87936000},
4495  {0.27628000, 0.42118000, 0.89123000},
4496  {0.27667000, 0.43134000, 0.90254000},
4497  {0.27691000, 0.44145000, 0.91328000},
4498  {0.27701000, 0.45152000, 0.92347000},
4499  {0.27698000, 0.46153000, 0.93309000},
4500  {0.27680000, 0.47151000, 0.94214000},
4501  {0.27648000, 0.48144000, 0.95064000},
4502  {0.27603000, 0.49132000, 0.95857000},
4503  {0.27543000, 0.50115000, 0.96594000},
4504  {0.27469000, 0.51094000, 0.97275000},
4505  {0.27381000, 0.52069000, 0.97899000},
4506  {0.27273000, 0.53040000, 0.98461000},
4507  {0.27106000, 0.54015000, 0.98930000},
4508  {0.26878000, 0.54995000, 0.99303000},
4509  {0.26592000, 0.55979000, 0.99583000},
4510  {0.26252000, 0.56967000, 0.99773000},
4511  {0.25862000, 0.57958000, 0.99876000},
4512  {0.25425000, 0.58950000, 0.99896000},
4513  {0.24946000, 0.59943000, 0.99835000},
4514  {0.24427000, 0.60937000, 0.99697000},
4515  {0.23874000, 0.61931000, 0.99485000},
4516  {0.23288000, 0.62923000, 0.99202000},
4517  {0.22676000, 0.63913000, 0.98851000},
4518  {0.22039000, 0.64901000, 0.98436000},
4519  {0.21382000, 0.65886000, 0.97959000},
4520  {0.20708000, 0.66866000, 0.97423000},
4521  {0.20021000, 0.67842000, 0.96833000},
4522  {0.19326000, 0.68812000, 0.96190000},
4523  {0.18625000, 0.69775000, 0.95498000},
4524  {0.17923000, 0.70732000, 0.94761000},
4525  {0.17223000, 0.71680000, 0.93981000},
4526  {0.16529000, 0.72620000, 0.93161000},
4527  {0.15844000, 0.73551000, 0.92305000},
4528  {0.15173000, 0.74472000, 0.91416000},
4529  {0.14519000, 0.75381000, 0.90496000},
4530  {0.13886000, 0.76279000, 0.89550000},
4531  {0.13278000, 0.77165000, 0.88580000},
4532  {0.12698000, 0.78037000, 0.87590000},
4533  {0.12151000, 0.78896000, 0.86581000},
4534  {0.11639000, 0.79740000, 0.85559000},
4535  {0.11167000, 0.80569000, 0.84525000},
4536  {0.10738000, 0.81381000, 0.83484000},
4537  {0.10357000, 0.82177000, 0.82437000},
4538  {0.10026000, 0.82955000, 0.81389000},
4539  {0.09750000, 0.83714000, 0.80342000},
4540  {0.09532000, 0.84455000, 0.79299000},
4541  {0.09377000, 0.85175000, 0.78264000},
4542  {0.09287000, 0.85875000, 0.77240000},
4543  {0.09267000, 0.86554000, 0.76230000},
4544  {0.09320000, 0.87211000, 0.75237000},
4545  {0.09451000, 0.87844000, 0.74265000},
4546  {0.09662000, 0.88454000, 0.73316000},
4547  {0.09958000, 0.89040000, 0.72393000},
4548  {0.10342000, 0.89600000, 0.71500000},
4549  {0.10815000, 0.90142000, 0.70599000},
4550  {0.11374000, 0.90673000, 0.69651000},
4551  {0.12014000, 0.91193000, 0.68660000},
4552  {0.12733000, 0.91701000, 0.67627000},
4553  {0.13526000, 0.92197000, 0.66556000},
4554  {0.14391000, 0.92680000, 0.65448000},
4555  {0.15323000, 0.93151000, 0.64308000},
4556  {0.16319000, 0.93609000, 0.63137000},
4557  {0.17377000, 0.94053000, 0.61938000},
4558  {0.18491000, 0.94484000, 0.60713000},
4559  {0.19659000, 0.94901000, 0.59466000},
4560  {0.20877000, 0.95304000, 0.58199000},
4561  {0.22142000, 0.95692000, 0.56914000},
4562  {0.23449000, 0.96065000, 0.55614000},
4563  {0.24797000, 0.96423000, 0.54303000},
4564  {0.26180000, 0.96765000, 0.52981000},
4565  {0.27597000, 0.97092000, 0.51653000},
4566  {0.29042000, 0.97403000, 0.50321000},
4567  {0.30513000, 0.97697000, 0.48987000},
4568  {0.32006000, 0.97974000, 0.47654000},
4569  {0.33517000, 0.98234000, 0.46325000},
4570  {0.35043000, 0.98477000, 0.45002000},
4571  {0.36581000, 0.98702000, 0.43688000},
4572  {0.38127000, 0.98909000, 0.42386000},
4573  {0.39678000, 0.99098000, 0.41098000},
4574  {0.41229000, 0.99268000, 0.39826000},
4575  {0.42778000, 0.99419000, 0.38575000},
4576  {0.44321000, 0.99551000, 0.37345000},
4577  {0.45854000, 0.99663000, 0.36140000},
4578  {0.47375000, 0.99755000, 0.34963000},
4579  {0.48879000, 0.99828000, 0.33816000},
4580  {0.50362000, 0.99879000, 0.32701000},
4581  {0.51822000, 0.99910000, 0.31622000},
4582  {0.53255000, 0.99919000, 0.30581000},
4583  {0.54658000, 0.99907000, 0.29581000},
4584  {0.56026000, 0.99873000, 0.28623000},
4585  {0.57357000, 0.99817000, 0.27712000},
4586  {0.58646000, 0.99739000, 0.26849000},
4587  {0.59891000, 0.99638000, 0.26038000},
4588  {0.61088000, 0.99514000, 0.25280000},
4589  {0.62233000, 0.99366000, 0.24579000},
4590  {0.63323000, 0.99195000, 0.23937000},
4591  {0.64362000, 0.98999000, 0.23356000},
4592  {0.65394000, 0.98775000, 0.22835000},
4593  {0.66428000, 0.98524000, 0.22370000},
4594  {0.67462000, 0.98246000, 0.21960000},
4595  {0.68494000, 0.97941000, 0.21602000},
4596  {0.69525000, 0.97610000, 0.21294000},
4597  {0.70553000, 0.97255000, 0.21032000},
4598  {0.71577000, 0.96875000, 0.20815000},
4599  {0.72596000, 0.96470000, 0.20640000},
4600  {0.73610000, 0.96043000, 0.20504000},
4601  {0.74617000, 0.95593000, 0.20406000},
4602  {0.75617000, 0.95121000, 0.20343000},
4603  {0.76608000, 0.94627000, 0.20311000},
4604  {0.77591000, 0.94113000, 0.20310000},
4605  {0.78563000, 0.93579000, 0.20336000},
4606  {0.79524000, 0.93025000, 0.20386000},
4607  {0.80473000, 0.92452000, 0.20459000},
4608  {0.81410000, 0.91861000, 0.20552000},
4609  {0.82333000, 0.91253000, 0.20663000},
4610  {0.83241000, 0.90627000, 0.20788000},
4611  {0.84133000, 0.89986000, 0.20926000},
4612  {0.85010000, 0.89328000, 0.21074000},
4613  {0.85868000, 0.88655000, 0.21230000},
4614  {0.86709000, 0.87968000, 0.21391000},
4615  {0.87530000, 0.87267000, 0.21555000},
4616  {0.88331000, 0.86553000, 0.21719000},
4617  {0.89112000, 0.85826000, 0.21880000},
4618  {0.89870000, 0.85087000, 0.22038000},
4619  {0.90605000, 0.84337000, 0.22188000},
4620  {0.91317000, 0.83576000, 0.22328000},
4621  {0.92004000, 0.82806000, 0.22456000},
4622  {0.92666000, 0.82025000, 0.22570000},
4623  {0.93301000, 0.81236000, 0.22667000},
4624  {0.93909000, 0.80439000, 0.22744000},
4625  {0.94489000, 0.79634000, 0.22800000},
4626  {0.95039000, 0.78823000, 0.22831000},
4627  {0.95560000, 0.78005000, 0.22836000},
4628  {0.96049000, 0.77181000, 0.22811000},
4629  {0.96507000, 0.76352000, 0.22754000},
4630  {0.96931000, 0.75519000, 0.22663000},
4631  {0.97323000, 0.74682000, 0.22536000},
4632  {0.97679000, 0.73842000, 0.22369000},
4633  {0.98000000, 0.73000000, 0.22161000},
4634  {0.98289000, 0.72140000, 0.21918000},
4635  {0.98549000, 0.71250000, 0.21650000},
4636  {0.98781000, 0.70330000, 0.21358000},
4637  {0.98986000, 0.69382000, 0.21043000},
4638  {0.99163000, 0.68408000, 0.20706000},
4639  {0.99314000, 0.67408000, 0.20348000},
4640  {0.99438000, 0.66386000, 0.19971000},
4641  {0.99535000, 0.65341000, 0.19577000},
4642  {0.99607000, 0.64277000, 0.19165000},
4643  {0.99654000, 0.63193000, 0.18738000},
4644  {0.99675000, 0.62093000, 0.18297000},
4645  {0.99672000, 0.60977000, 0.17842000},
4646  {0.99644000, 0.59846000, 0.17376000},
4647  {0.99593000, 0.58703000, 0.16899000},
4648  {0.99517000, 0.57549000, 0.16412000},
4649  {0.99419000, 0.56386000, 0.15918000},
4650  {0.99297000, 0.55214000, 0.15417000},
4651  {0.99153000, 0.54036000, 0.14910000},
4652  {0.98987000, 0.52854000, 0.14398000},
4653  {0.98799000, 0.51667000, 0.13883000},
4654  {0.98590000, 0.50479000, 0.13367000},
4655  {0.98360000, 0.49291000, 0.12849000},
4656  {0.98108000, 0.48104000, 0.12332000},
4657  {0.97837000, 0.46920000, 0.11817000},
4658  {0.97545000, 0.45740000, 0.11305000},
4659  {0.97234000, 0.44565000, 0.10797000},
4660  {0.96904000, 0.43399000, 0.10294000},
4661  {0.96555000, 0.42241000, 0.09798000},
4662  {0.96187000, 0.41093000, 0.09310000},
4663  {0.95801000, 0.39958000, 0.08831000},
4664  {0.95398000, 0.38836000, 0.08362000},
4665  {0.94977000, 0.37729000, 0.07905000},
4666  {0.94538000, 0.36638000, 0.07461000},
4667  {0.94084000, 0.35566000, 0.07031000},
4668  {0.93612000, 0.34513000, 0.06616000},
4669  {0.93125000, 0.33482000, 0.06218000},
4670  {0.92623000, 0.32473000, 0.05837000},
4671  {0.92105000, 0.31489000, 0.05475000},
4672  {0.91572000, 0.30530000, 0.05134000},
4673  {0.91024000, 0.29599000, 0.04814000},
4674  {0.90463000, 0.28696000, 0.04516000},
4675  {0.89888000, 0.27824000, 0.04243000},
4676  {0.89298000, 0.26981000, 0.03993000},
4677  {0.88691000, 0.26152000, 0.03753000},
4678  {0.88066000, 0.25334000, 0.03521000},
4679  {0.87422000, 0.24526000, 0.03297000},
4680  {0.86760000, 0.23730000, 0.03082000},
4681  {0.86079000, 0.22945000, 0.02875000},
4682  {0.85380000, 0.22170000, 0.02677000},
4683  {0.84662000, 0.21407000, 0.02487000},
4684  {0.83926000, 0.20654000, 0.02305000},
4685  {0.83172000, 0.19912000, 0.02131000},
4686  {0.82399000, 0.19182000, 0.01966000},
4687  {0.81608000, 0.18462000, 0.01809000},
4688  {0.80799000, 0.17753000, 0.01660000},
4689  {0.79971000, 0.17055000, 0.01520000},
4690  {0.79125000, 0.16368000, 0.01387000},
4691  {0.78260000, 0.15693000, 0.01264000},
4692  {0.77377000, 0.15028000, 0.01148000},
4693  {0.76476000, 0.14374000, 0.01041000},
4694  {0.75556000, 0.13731000, 0.00942000},
4695  {0.74617000, 0.13098000, 0.00851000},
4696  {0.73661000, 0.12477000, 0.00769000},
4697  {0.72686000, 0.11867000, 0.00695000},
4698  {0.71692000, 0.11268000, 0.00629000},
4699  {0.70680000, 0.10680000, 0.00571000},
4700  {0.69650000, 0.10102000, 0.00522000},
4701  {0.68602000, 0.09536000, 0.00481000},
4702  {0.67535000, 0.08980000, 0.00449000},
4703  {0.66449000, 0.08436000, 0.00424000},
4704  {0.65345000, 0.07902000, 0.00408000},
4705  {0.64223000, 0.07380000, 0.00401000},
4706  {0.63082000, 0.06868000, 0.00401000},
4707  {0.61923000, 0.06367000, 0.00410000},
4708  {0.60746000, 0.05878000, 0.00427000},
4709  {0.59550000, 0.05399000, 0.00453000},
4710  {0.58336000, 0.04931000, 0.00486000},
4711  {0.57103000, 0.04474000, 0.00529000},
4712  {0.55852000, 0.04028000, 0.00579000},
4713  {0.54583000, 0.03593000, 0.00638000},
4714  {0.53295000, 0.03169000, 0.00705000},
4715  {0.51989000, 0.02756000, 0.00780000},
4716  {0.50664000, 0.02354000, 0.00863000},
4717  {0.49321000, 0.01963000, 0.00955000},
4718  {0.47960000, 0.01583000, 0.01055000}
4719 };
4720 
4721 // https://bids.github.io/colormap/
4722 const int RGB_Palette_38_Size = 256; // viridis
4724 {
4725  {0.267004, 0.004874, 0.329415},
4726  {0.268510, 0.009605, 0.335427},
4727  {0.269944, 0.014625, 0.341379},
4728  {0.271305, 0.019942, 0.347269},
4729  {0.272594, 0.025563, 0.353093},
4730  {0.273809, 0.031497, 0.358853},
4731  {0.274952, 0.037752, 0.364543},
4732  {0.276022, 0.044167, 0.370164},
4733  {0.277018, 0.050344, 0.375715},
4734  {0.277941, 0.056324, 0.381191},
4735  {0.278791, 0.062145, 0.386592},
4736  {0.279566, 0.067836, 0.391917},
4737  {0.280267, 0.073417, 0.397163},
4738  {0.280894, 0.078907, 0.402329},
4739  {0.281446, 0.084320, 0.407414},
4740  {0.281924, 0.089666, 0.412415},
4741  {0.282327, 0.094955, 0.417331},
4742  {0.282656, 0.100196, 0.422160},
4743  {0.282910, 0.105393, 0.426902},
4744  {0.283091, 0.110553, 0.431554},
4745  {0.283197, 0.115680, 0.436115},
4746  {0.283229, 0.120777, 0.440584},
4747  {0.283187, 0.125848, 0.444960},
4748  {0.283072, 0.130895, 0.449241},
4749  {0.282884, 0.135920, 0.453427},
4750  {0.282623, 0.140926, 0.457517},
4751  {0.282290, 0.145912, 0.461510},
4752  {0.281887, 0.150881, 0.465405},
4753  {0.281412, 0.155834, 0.469201},
4754  {0.280868, 0.160771, 0.472899},
4755  {0.280255, 0.165693, 0.476498},
4756  {0.279574, 0.170599, 0.479997},
4757  {0.278826, 0.175490, 0.483397},
4758  {0.278012, 0.180367, 0.486697},
4759  {0.277134, 0.185228, 0.489898},
4760  {0.276194, 0.190074, 0.493001},
4761  {0.275191, 0.194905, 0.496005},
4762  {0.274128, 0.199721, 0.498911},
4763  {0.273006, 0.204520, 0.501721},
4764  {0.271828, 0.209303, 0.504434},
4765  {0.270595, 0.214069, 0.507052},
4766  {0.269308, 0.218818, 0.509577},
4767  {0.267968, 0.223549, 0.512008},
4768  {0.266580, 0.228262, 0.514349},
4769  {0.265145, 0.232956, 0.516599},
4770  {0.263663, 0.237631, 0.518762},
4771  {0.262138, 0.242286, 0.520837},
4772  {0.260571, 0.246922, 0.522828},
4773  {0.258965, 0.251537, 0.524736},
4774  {0.257322, 0.256130, 0.526563},
4775  {0.255645, 0.260703, 0.528312},
4776  {0.253935, 0.265254, 0.529983},
4777  {0.252194, 0.269783, 0.531579},
4778  {0.250425, 0.274290, 0.533103},
4779  {0.248629, 0.278775, 0.534556},
4780  {0.246811, 0.283237, 0.535941},
4781  {0.244972, 0.287675, 0.537260},
4782  {0.243113, 0.292092, 0.538516},
4783  {0.241237, 0.296485, 0.539709},
4784  {0.239346, 0.300855, 0.540844},
4785  {0.237441, 0.305202, 0.541921},
4786  {0.235526, 0.309527, 0.542944},
4787  {0.233603, 0.313828, 0.543914},
4788  {0.231674, 0.318106, 0.544834},
4789  {0.229739, 0.322361, 0.545706},
4790  {0.227802, 0.326594, 0.546532},
4791  {0.225863, 0.330805, 0.547314},
4792  {0.223925, 0.334994, 0.548053},
4793  {0.221989, 0.339161, 0.548752},
4794  {0.220057, 0.343307, 0.549413},
4795  {0.218130, 0.347432, 0.550038},
4796  {0.216210, 0.351535, 0.550627},
4797  {0.214298, 0.355619, 0.551184},
4798  {0.212395, 0.359683, 0.551710},
4799  {0.210503, 0.363727, 0.552206},
4800  {0.208623, 0.367752, 0.552675},
4801  {0.206756, 0.371758, 0.553117},
4802  {0.204903, 0.375746, 0.553533},
4803  {0.203063, 0.379716, 0.553925},
4804  {0.201239, 0.383670, 0.554294},
4805  {0.199430, 0.387607, 0.554642},
4806  {0.197636, 0.391528, 0.554969},
4807  {0.195860, 0.395433, 0.555276},
4808  {0.194100, 0.399323, 0.555565},
4809  {0.192357, 0.403199, 0.555836},
4810  {0.190631, 0.407061, 0.556089},
4811  {0.188923, 0.410910, 0.556326},
4812  {0.187231, 0.414746, 0.556547},
4813  {0.185556, 0.418570, 0.556753},
4814  {0.183898, 0.422383, 0.556944},
4815  {0.182256, 0.426184, 0.557120},
4816  {0.180629, 0.429975, 0.557282},
4817  {0.179019, 0.433756, 0.557430},
4818  {0.177423, 0.437527, 0.557565},
4819  {0.175841, 0.441290, 0.557685},
4820  {0.174274, 0.445044, 0.557792},
4821  {0.172719, 0.448791, 0.557885},
4822  {0.171176, 0.452530, 0.557965},
4823  {0.169646, 0.456262, 0.558030},
4824  {0.168126, 0.459988, 0.558082},
4825  {0.166617, 0.463708, 0.558119},
4826  {0.165117, 0.467423, 0.558141},
4827  {0.163625, 0.471133, 0.558148},
4828  {0.162142, 0.474838, 0.558140},
4829  {0.160665, 0.478540, 0.558115},
4830  {0.159194, 0.482237, 0.558073},
4831  {0.157729, 0.485932, 0.558013},
4832  {0.156270, 0.489624, 0.557936},
4833  {0.154815, 0.493313, 0.557840},
4834  {0.153364, 0.497000, 0.557724},
4835  {0.151918, 0.500685, 0.557587},
4836  {0.150476, 0.504369, 0.557430},
4837  {0.149039, 0.508051, 0.557250},
4838  {0.147607, 0.511733, 0.557049},
4839  {0.146180, 0.515413, 0.556823},
4840  {0.144759, 0.519093, 0.556572},
4841  {0.143343, 0.522773, 0.556295},
4842  {0.141935, 0.526453, 0.555991},
4843  {0.140536, 0.530132, 0.555659},
4844  {0.139147, 0.533812, 0.555298},
4845  {0.137770, 0.537492, 0.554906},
4846  {0.136408, 0.541173, 0.554483},
4847  {0.135066, 0.544853, 0.554029},
4848  {0.133743, 0.548535, 0.553541},
4849  {0.132444, 0.552216, 0.553018},
4850  {0.131172, 0.555899, 0.552459},
4851  {0.129933, 0.559582, 0.551864},
4852  {0.128729, 0.563265, 0.551229},
4853  {0.127568, 0.566949, 0.550556},
4854  {0.126453, 0.570633, 0.549841},
4855  {0.125394, 0.574318, 0.549086},
4856  {0.124395, 0.578002, 0.548287},
4857  {0.123463, 0.581687, 0.547445},
4858  {0.122606, 0.585371, 0.546557},
4859  {0.121831, 0.589055, 0.545623},
4860  {0.121148, 0.592739, 0.544641},
4861  {0.120565, 0.596422, 0.543611},
4862  {0.120092, 0.600104, 0.542530},
4863  {0.119738, 0.603785, 0.541400},
4864  {0.119512, 0.607464, 0.540218},
4865  {0.119423, 0.611141, 0.538982},
4866  {0.119483, 0.614817, 0.537692},
4867  {0.119699, 0.618490, 0.536347},
4868  {0.120081, 0.622161, 0.534946},
4869  {0.120638, 0.625828, 0.533488},
4870  {0.121380, 0.629492, 0.531973},
4871  {0.122312, 0.633153, 0.530398},
4872  {0.123444, 0.636809, 0.528763},
4873  {0.124780, 0.640461, 0.527068},
4874  {0.126326, 0.644107, 0.525311},
4875  {0.128087, 0.647749, 0.523491},
4876  {0.130067, 0.651384, 0.521608},
4877  {0.132268, 0.655014, 0.519661},
4878  {0.134692, 0.658636, 0.517649},
4879  {0.137339, 0.662252, 0.515571},
4880  {0.140210, 0.665859, 0.513427},
4881  {0.143303, 0.669459, 0.511215},
4882  {0.146616, 0.673050, 0.508936},
4883  {0.150148, 0.676631, 0.506589},
4884  {0.153894, 0.680203, 0.504172},
4885  {0.157851, 0.683765, 0.501686},
4886  {0.162016, 0.687316, 0.499129},
4887  {0.166383, 0.690856, 0.496502},
4888  {0.170948, 0.694384, 0.493803},
4889  {0.175707, 0.697900, 0.491033},
4890  {0.180653, 0.701402, 0.488189},
4891  {0.185783, 0.704891, 0.485273},
4892  {0.191090, 0.708366, 0.482284},
4893  {0.196571, 0.711827, 0.479221},
4894  {0.202219, 0.715272, 0.476084},
4895  {0.208030, 0.718701, 0.472873},
4896  {0.214000, 0.722114, 0.469588},
4897  {0.220124, 0.725509, 0.466226},
4898  {0.226397, 0.728888, 0.462789},
4899  {0.232815, 0.732247, 0.459277},
4900  {0.239374, 0.735588, 0.455688},
4901  {0.246070, 0.738910, 0.452024},
4902  {0.252899, 0.742211, 0.448284},
4903  {0.259857, 0.745492, 0.444467},
4904  {0.266941, 0.748751, 0.440573},
4905  {0.274149, 0.751988, 0.436601},
4906  {0.281477, 0.755203, 0.432552},
4907  {0.288921, 0.758394, 0.428426},
4908  {0.296479, 0.761561, 0.424223},
4909  {0.304148, 0.764704, 0.419943},
4910  {0.311925, 0.767822, 0.415586},
4911  {0.319809, 0.770914, 0.411152},
4912  {0.327796, 0.773980, 0.406640},
4913  {0.335885, 0.777018, 0.402049},
4914  {0.344074, 0.780029, 0.397381},
4915  {0.352360, 0.783011, 0.392636},
4916  {0.360741, 0.785964, 0.387814},
4917  {0.369214, 0.788888, 0.382914},
4918  {0.377779, 0.791781, 0.377939},
4919  {0.386433, 0.794644, 0.372886},
4920  {0.395174, 0.797475, 0.367757},
4921  {0.404001, 0.800275, 0.362552},
4922  {0.412913, 0.803041, 0.357269},
4923  {0.421908, 0.805774, 0.351910},
4924  {0.430983, 0.808473, 0.346476},
4925  {0.440137, 0.811138, 0.340967},
4926  {0.449368, 0.813768, 0.335384},
4927  {0.458674, 0.816363, 0.329727},
4928  {0.468053, 0.818921, 0.323998},
4929  {0.477504, 0.821444, 0.318195},
4930  {0.487026, 0.823929, 0.312321},
4931  {0.496615, 0.826376, 0.306377},
4932  {0.506271, 0.828786, 0.300362},
4933  {0.515992, 0.831158, 0.294279},
4934  {0.525776, 0.833491, 0.288127},
4935  {0.535621, 0.835785, 0.281908},
4936  {0.545524, 0.838039, 0.275626},
4937  {0.555484, 0.840254, 0.269281},
4938  {0.565498, 0.842430, 0.262877},
4939  {0.575563, 0.844566, 0.256415},
4940  {0.585678, 0.846661, 0.249897},
4941  {0.595839, 0.848717, 0.243329},
4942  {0.606045, 0.850733, 0.236712},
4943  {0.616293, 0.852709, 0.230052},
4944  {0.626579, 0.854645, 0.223353},
4945  {0.636902, 0.856542, 0.216620},
4946  {0.647257, 0.858400, 0.209861},
4947  {0.657642, 0.860219, 0.203082},
4948  {0.668054, 0.861999, 0.196293},
4949  {0.678489, 0.863742, 0.189503},
4950  {0.688944, 0.865448, 0.182725},
4951  {0.699415, 0.867117, 0.175971},
4952  {0.709898, 0.868751, 0.169257},
4953  {0.720391, 0.870350, 0.162603},
4954  {0.730889, 0.871916, 0.156029},
4955  {0.741388, 0.873449, 0.149561},
4956  {0.751884, 0.874951, 0.143228},
4957  {0.762373, 0.876424, 0.137064},
4958  {0.772852, 0.877868, 0.131109},
4959  {0.783315, 0.879285, 0.125405},
4960  {0.793760, 0.880678, 0.120005},
4961  {0.804182, 0.882046, 0.114965},
4962  {0.814576, 0.883393, 0.110347},
4963  {0.824940, 0.884720, 0.106217},
4964  {0.835270, 0.886029, 0.102646},
4965  {0.845561, 0.887322, 0.099702},
4966  {0.855810, 0.888601, 0.097452},
4967  {0.866013, 0.889868, 0.095953},
4968  {0.876168, 0.891125, 0.095250},
4969  {0.886271, 0.892374, 0.095374},
4970  {0.896320, 0.893616, 0.096335},
4971  {0.906311, 0.894855, 0.098125},
4972  {0.916242, 0.896091, 0.100717},
4973  {0.926106, 0.897330, 0.104071},
4974  {0.935904, 0.898570, 0.108131},
4975  {0.945636, 0.899815, 0.112838},
4976  {0.955300, 0.901065, 0.118128},
4977  {0.964894, 0.902323, 0.123941},
4978  {0.974417, 0.903590, 0.130215},
4979  {0.983868, 0.904867, 0.136897},
4980  {0.993248, 0.906157, 0.143936}
4981 };
4982 
4983 // https://bids.github.io/colormap/
4984 const int RGB_Palette_39_Size = 256; // plasma
4986 {
4987  {0.050383, 0.029803, 0.527975},
4988  {0.063536, 0.028426, 0.533124},
4989  {0.075353, 0.027206, 0.538007},
4990  {0.086222, 0.026125, 0.542658},
4991  {0.096379, 0.025165, 0.547103},
4992  {0.105980, 0.024309, 0.551368},
4993  {0.115124, 0.023556, 0.555468},
4994  {0.123903, 0.022878, 0.559423},
4995  {0.132381, 0.022258, 0.563250},
4996  {0.140603, 0.021687, 0.566959},
4997  {0.148607, 0.021154, 0.570562},
4998  {0.156421, 0.020651, 0.574065},
4999  {0.164070, 0.020171, 0.577478},
5000  {0.171574, 0.019706, 0.580806},
5001  {0.178950, 0.019252, 0.584054},
5002  {0.186213, 0.018803, 0.587228},
5003  {0.193374, 0.018354, 0.590330},
5004  {0.200445, 0.017902, 0.593364},
5005  {0.207435, 0.017442, 0.596333},
5006  {0.214350, 0.016973, 0.599239},
5007  {0.221197, 0.016497, 0.602083},
5008  {0.227983, 0.016007, 0.604867},
5009  {0.234715, 0.015502, 0.607592},
5010  {0.241396, 0.014979, 0.610259},
5011  {0.248032, 0.014439, 0.612868},
5012  {0.254627, 0.013882, 0.615419},
5013  {0.261183, 0.013308, 0.617911},
5014  {0.267703, 0.012716, 0.620346},
5015  {0.274191, 0.012109, 0.622722},
5016  {0.280648, 0.011488, 0.625038},
5017  {0.287076, 0.010855, 0.627295},
5018  {0.293478, 0.010213, 0.629490},
5019  {0.299855, 0.009561, 0.631624},
5020  {0.306210, 0.008902, 0.633694},
5021  {0.312543, 0.008239, 0.635700},
5022  {0.318856, 0.007576, 0.637640},
5023  {0.325150, 0.006915, 0.639512},
5024  {0.331426, 0.006261, 0.641316},
5025  {0.337683, 0.005618, 0.643049},
5026  {0.343925, 0.004991, 0.644710},
5027  {0.350150, 0.004382, 0.646298},
5028  {0.356359, 0.003798, 0.647810},
5029  {0.362553, 0.003243, 0.649245},
5030  {0.368733, 0.002724, 0.650601},
5031  {0.374897, 0.002245, 0.651876},
5032  {0.381047, 0.001814, 0.653068},
5033  {0.387183, 0.001434, 0.654177},
5034  {0.393304, 0.001114, 0.655199},
5035  {0.399411, 0.000859, 0.656133},
5036  {0.405503, 0.000678, 0.656977},
5037  {0.411580, 0.000577, 0.657730},
5038  {0.417642, 0.000564, 0.658390},
5039  {0.423689, 0.000646, 0.658956},
5040  {0.429719, 0.000831, 0.659425},
5041  {0.435734, 0.001127, 0.659797},
5042  {0.441732, 0.001540, 0.660069},
5043  {0.447714, 0.002080, 0.660240},
5044  {0.453677, 0.002755, 0.660310},
5045  {0.459623, 0.003574, 0.660277},
5046  {0.465550, 0.004545, 0.660139},
5047  {0.471457, 0.005678, 0.659897},
5048  {0.477344, 0.006980, 0.659549},
5049  {0.483210, 0.008460, 0.659095},
5050  {0.489055, 0.010127, 0.658534},
5051  {0.494877, 0.011990, 0.657865},
5052  {0.500678, 0.014055, 0.657088},
5053  {0.506454, 0.016333, 0.656202},
5054  {0.512206, 0.018833, 0.655209},
5055  {0.517933, 0.021563, 0.654109},
5056  {0.523633, 0.024532, 0.652901},
5057  {0.529306, 0.027747, 0.651586},
5058  {0.534952, 0.031217, 0.650165},
5059  {0.540570, 0.034950, 0.648640},
5060  {0.546157, 0.038954, 0.647010},
5061  {0.551715, 0.043136, 0.645277},
5062  {0.557243, 0.047331, 0.643443},
5063  {0.562738, 0.051545, 0.641509},
5064  {0.568201, 0.055778, 0.639477},
5065  {0.573632, 0.060028, 0.637349},
5066  {0.579029, 0.064296, 0.635126},
5067  {0.584391, 0.068579, 0.632812},
5068  {0.589719, 0.072878, 0.630408},
5069  {0.595011, 0.077190, 0.627917},
5070  {0.600266, 0.081516, 0.625342},
5071  {0.605485, 0.085854, 0.622686},
5072  {0.610667, 0.090204, 0.619951},
5073  {0.615812, 0.094564, 0.617140},
5074  {0.620919, 0.098934, 0.614257},
5075  {0.625987, 0.103312, 0.611305},
5076  {0.631017, 0.107699, 0.608287},
5077  {0.636008, 0.112092, 0.605205},
5078  {0.640959, 0.116492, 0.602065},
5079  {0.645872, 0.120898, 0.598867},
5080  {0.650746, 0.125309, 0.595617},
5081  {0.655580, 0.129725, 0.592317},
5082  {0.660374, 0.134144, 0.588971},
5083  {0.665129, 0.138566, 0.585582},
5084  {0.669845, 0.142992, 0.582154},
5085  {0.674522, 0.147419, 0.578688},
5086  {0.679160, 0.151848, 0.575189},
5087  {0.683758, 0.156278, 0.571660},
5088  {0.688318, 0.160709, 0.568103},
5089  {0.692840, 0.165141, 0.564522},
5090  {0.697324, 0.169573, 0.560919},
5091  {0.701769, 0.174005, 0.557296},
5092  {0.706178, 0.178437, 0.553657},
5093  {0.710549, 0.182868, 0.550004},
5094  {0.714883, 0.187299, 0.546338},
5095  {0.719181, 0.191729, 0.542663},
5096  {0.723444, 0.196158, 0.538981},
5097  {0.727670, 0.200586, 0.535293},
5098  {0.731862, 0.205013, 0.531601},
5099  {0.736019, 0.209439, 0.527908},
5100  {0.740143, 0.213864, 0.524216},
5101  {0.744232, 0.218288, 0.520524},
5102  {0.748289, 0.222711, 0.516834},
5103  {0.752312, 0.227133, 0.513149},
5104  {0.756304, 0.231555, 0.509468},
5105  {0.760264, 0.235976, 0.505794},
5106  {0.764193, 0.240396, 0.502126},
5107  {0.768090, 0.244817, 0.498465},
5108  {0.771958, 0.249237, 0.494813},
5109  {0.775796, 0.253658, 0.491171},
5110  {0.779604, 0.258078, 0.487539},
5111  {0.783383, 0.262500, 0.483918},
5112  {0.787133, 0.266922, 0.480307},
5113  {0.790855, 0.271345, 0.476706},
5114  {0.794549, 0.275770, 0.473117},
5115  {0.798216, 0.280197, 0.469538},
5116  {0.801855, 0.284626, 0.465971},
5117  {0.805467, 0.289057, 0.462415},
5118  {0.809052, 0.293491, 0.458870},
5119  {0.812612, 0.297928, 0.455338},
5120  {0.816144, 0.302368, 0.451816},
5121  {0.819651, 0.306812, 0.448306},
5122  {0.823132, 0.311261, 0.444806},
5123  {0.826588, 0.315714, 0.441316},
5124  {0.830018, 0.320172, 0.437836},
5125  {0.833422, 0.324635, 0.434366},
5126  {0.836801, 0.329105, 0.430905},
5127  {0.840155, 0.333580, 0.427455},
5128  {0.843484, 0.338062, 0.424013},
5129  {0.846788, 0.342551, 0.420579},
5130  {0.850066, 0.347048, 0.417153},
5131  {0.853319, 0.351553, 0.413734},
5132  {0.856547, 0.356066, 0.410322},
5133  {0.859750, 0.360588, 0.406917},
5134  {0.862927, 0.365119, 0.403519},
5135  {0.866078, 0.369660, 0.400126},
5136  {0.869203, 0.374212, 0.396738},
5137  {0.872303, 0.378774, 0.393355},
5138  {0.875376, 0.383347, 0.389976},
5139  {0.878423, 0.387932, 0.386600},
5140  {0.881443, 0.392529, 0.383229},
5141  {0.884436, 0.397139, 0.379860},
5142  {0.887402, 0.401762, 0.376494},
5143  {0.890340, 0.406398, 0.373130},
5144  {0.893250, 0.411048, 0.369768},
5145  {0.896131, 0.415712, 0.366407},
5146  {0.898984, 0.420392, 0.363047},
5147  {0.901807, 0.425087, 0.359688},
5148  {0.904601, 0.429797, 0.356329},
5149  {0.907365, 0.434524, 0.352970},
5150  {0.910098, 0.439268, 0.349610},
5151  {0.912800, 0.444029, 0.346251},
5152  {0.915471, 0.448807, 0.342890},
5153  {0.918109, 0.453603, 0.339529},
5154  {0.920714, 0.458417, 0.336166},
5155  {0.923287, 0.463251, 0.332801},
5156  {0.925825, 0.468103, 0.329435},
5157  {0.928329, 0.472975, 0.326067},
5158  {0.930798, 0.477867, 0.322697},
5159  {0.933232, 0.482780, 0.319325},
5160  {0.935630, 0.487712, 0.315952},
5161  {0.937990, 0.492667, 0.312575},
5162  {0.940313, 0.497642, 0.309197},
5163  {0.942598, 0.502639, 0.305816},
5164  {0.944844, 0.507658, 0.302433},
5165  {0.947051, 0.512699, 0.299049},
5166  {0.949217, 0.517763, 0.295662},
5167  {0.951344, 0.522850, 0.292275},
5168  {0.953428, 0.527960, 0.288883},
5169  {0.955470, 0.533093, 0.285490},
5170  {0.957469, 0.538250, 0.282096},
5171  {0.959424, 0.543431, 0.278701},
5172  {0.961336, 0.548636, 0.275305},
5173  {0.963203, 0.553865, 0.271909},
5174  {0.965024, 0.559118, 0.268513},
5175  {0.966798, 0.564396, 0.265118},
5176  {0.968526, 0.569700, 0.261721},
5177  {0.970205, 0.575028, 0.258325},
5178  {0.971835, 0.580382, 0.254931},
5179  {0.973416, 0.585761, 0.251540},
5180  {0.974947, 0.591165, 0.248151},
5181  {0.976428, 0.596595, 0.244767},
5182  {0.977856, 0.602051, 0.241387},
5183  {0.979233, 0.607532, 0.238013},
5184  {0.980556, 0.613039, 0.234646},
5185  {0.981826, 0.618572, 0.231287},
5186  {0.983041, 0.624131, 0.227937},
5187  {0.984199, 0.629718, 0.224595},
5188  {0.985301, 0.635330, 0.221265},
5189  {0.986345, 0.640969, 0.217948},
5190  {0.987332, 0.646633, 0.214648},
5191  {0.988260, 0.652325, 0.211364},
5192  {0.989128, 0.658043, 0.208100},
5193  {0.989935, 0.663787, 0.204859},
5194  {0.990681, 0.669558, 0.201642},
5195  {0.991365, 0.675355, 0.198453},
5196  {0.991985, 0.681179, 0.195295},
5197  {0.992541, 0.687030, 0.192170},
5198  {0.993032, 0.692907, 0.189084},
5199  {0.993456, 0.698810, 0.186041},
5200  {0.993814, 0.704741, 0.183043},
5201  {0.994103, 0.710698, 0.180097},
5202  {0.994324, 0.716681, 0.177208},
5203  {0.994474, 0.722691, 0.174381},
5204  {0.994553, 0.728728, 0.171622},
5205  {0.994561, 0.734791, 0.168938},
5206  {0.994495, 0.740880, 0.166335},
5207  {0.994355, 0.746995, 0.163821},
5208  {0.994141, 0.753137, 0.161404},
5209  {0.993851, 0.759304, 0.159092},
5210  {0.993482, 0.765499, 0.156891},
5211  {0.993033, 0.771720, 0.154808},
5212  {0.992505, 0.777967, 0.152855},
5213  {0.991897, 0.784239, 0.151042},
5214  {0.991209, 0.790537, 0.149377},
5215  {0.990439, 0.796859, 0.147870},
5216  {0.989587, 0.803205, 0.146529},
5217  {0.988648, 0.809579, 0.145357},
5218  {0.987621, 0.815978, 0.144363},
5219  {0.986509, 0.822401, 0.143557},
5220  {0.985314, 0.828846, 0.142945},
5221  {0.984031, 0.835315, 0.142528},
5222  {0.982653, 0.841812, 0.142303},
5223  {0.981190, 0.848329, 0.142279},
5224  {0.979644, 0.854866, 0.142453},
5225  {0.977995, 0.861432, 0.142808},
5226  {0.976265, 0.868016, 0.143351},
5227  {0.974443, 0.874622, 0.144061},
5228  {0.972530, 0.881250, 0.144923},
5229  {0.970533, 0.887896, 0.145919},
5230  {0.968443, 0.894564, 0.147014},
5231  {0.966271, 0.901249, 0.148180},
5232  {0.964021, 0.907950, 0.149370},
5233  {0.961681, 0.914672, 0.150520},
5234  {0.959276, 0.921407, 0.151566},
5235  {0.956808, 0.928152, 0.152409},
5236  {0.954287, 0.934908, 0.152921},
5237  {0.951726, 0.941671, 0.152925},
5238  {0.949151, 0.948435, 0.152178},
5239  {0.946602, 0.955190, 0.150328},
5240  {0.944152, 0.961916, 0.146861},
5241  {0.941896, 0.968590, 0.140956},
5242  {0.940015, 0.975158, 0.131326}
5243 };
5244 
5245 // https://github.com/1313e/CMasher
5246 const int RGB_Palette_40_Size = 511; // fusion
5248 {
5249  {0.15269566, 0.01594210, 0.06988881},
5250  {0.15825218, 0.01698613, 0.07448610},
5251  {0.16381559, 0.01801391, 0.07904903},
5252  {0.16938824, 0.01902024, 0.08357670},
5253  {0.17497227, 0.02000000, 0.08806795},
5254  {0.18056933, 0.02094854, 0.09252115},
5255  {0.18618125, 0.02186079, 0.09693475},
5256  {0.19180964, 0.02273184, 0.10130694},
5257  {0.19745571, 0.02355734, 0.10563546},
5258  {0.20312086, 0.02433247, 0.10991812},
5259  {0.20880647, 0.02505241, 0.11415254},
5260  {0.21451331, 0.02571326, 0.11833582},
5261  {0.22024232, 0.02631087, 0.12246503},
5262  {0.22599426, 0.02684139, 0.12653697},
5263  {0.23176973, 0.02730126, 0.13054822},
5264  {0.23756918, 0.02768731, 0.13449511},
5265  {0.24339322, 0.02799614, 0.13837386},
5266  {0.24924171, 0.02822590, 0.14218023},
5267  {0.25511451, 0.02837495, 0.14590987},
5268  {0.26101189, 0.02844103, 0.14955835},
5269  {0.26693291, 0.02842451, 0.15312083},
5270  {0.27287751, 0.02832433, 0.15659247},
5271  {0.27884443, 0.02814220, 0.15996819},
5272  {0.28483274, 0.02787955, 0.16324286},
5273  {0.29084134, 0.02753849, 0.16641124},
5274  {0.29686854, 0.02712298, 0.16946810},
5275  {0.30291252, 0.02663769, 0.17240825},
5276  {0.30897122, 0.02608836, 0.17522660},
5277  {0.31504239, 0.02548174, 0.17791823},
5278  {0.32112348, 0.02482582, 0.18047848},
5279  {0.32721154, 0.02413013, 0.18290307},
5280  {0.33330350, 0.02340514, 0.18518817},
5281  {0.33939638, 0.02266162, 0.18733027},
5282  {0.34548643, 0.02191286, 0.18932678},
5283  {0.35157038, 0.02117156, 0.19117542},
5284  {0.35764438, 0.02045243, 0.19287499},
5285  {0.36370491, 0.01976980, 0.19442473},
5286  {0.36974824, 0.01913910, 0.19582493},
5287  {0.37577077, 0.01857585, 0.19707658},
5288  {0.38176904, 0.01809548, 0.19818146},
5289  {0.38773974, 0.01771347, 0.19914209},
5290  {0.39367973, 0.01744507, 0.19996177},
5291  {0.39958615, 0.01730503, 0.20064439},
5292  {0.40545640, 0.01730756, 0.20119435},
5293  {0.41128814, 0.01746625, 0.20161659},
5294  {0.41707934, 0.01779395, 0.20191636},
5295  {0.42282828, 0.01830274, 0.20209920},
5296  {0.42853351, 0.01900391, 0.20217081},
5297  {0.43419385, 0.01990800, 0.20213703},
5298  {0.43980839, 0.02102481, 0.20200373},
5299  {0.44537650, 0.02236329, 0.20177660},
5300  {0.45089772, 0.02393184, 0.20146133},
5301  {0.45637175, 0.02573832, 0.20106358},
5302  {0.46179860, 0.02778978, 0.20058845},
5303  {0.46717826, 0.03009310, 0.20004129},
5304  {0.47251097, 0.03265447, 0.19942678},
5305  {0.47779699, 0.03547995, 0.19874971},
5306  {0.48303675, 0.03857509, 0.19801427},
5307  {0.48823063, 0.04190477, 0.19722484},
5308  {0.49337920, 0.04533361, 0.19638501},
5309  {0.49848295, 0.04885560, 0.19549855},
5310  {0.50354245, 0.05246016, 0.19456891},
5311  {0.50855829, 0.05613794, 0.19359908},
5312  {0.51353106, 0.05988082, 0.19259203},
5313  {0.51846134, 0.06368175, 0.19155052},
5314  {0.52334968, 0.06753461, 0.19047725},
5315  {0.52819668, 0.07143406, 0.18937444},
5316  {0.53300287, 0.07537552, 0.18824429},
5317  {0.53776881, 0.07935505, 0.18708888},
5318  {0.54249498, 0.08336925, 0.18591011},
5319  {0.54718187, 0.08741520, 0.18470977},
5320  {0.55182995, 0.09149040, 0.18348952},
5321  {0.55643964, 0.09559271, 0.18225093},
5322  {0.56101135, 0.09972030, 0.18099554},
5323  {0.56554545, 0.10387162, 0.17972470},
5324  {0.57004228, 0.10804535, 0.17843965},
5325  {0.57450218, 0.11224039, 0.17714162},
5326  {0.57892543, 0.11645581, 0.17583175},
5327  {0.58331227, 0.12069081, 0.17451137},
5328  {0.58766296, 0.12494477, 0.17318140},
5329  {0.59197769, 0.12921716, 0.17184282},
5330  {0.59625664, 0.13350755, 0.17049678},
5331  {0.60049995, 0.13781560, 0.16914425},
5332  {0.60470775, 0.14214109, 0.16778605},
5333  {0.60888014, 0.14648377, 0.16642339},
5334  {0.61301718, 0.15084356, 0.16505701},
5335  {0.61711892, 0.15522035, 0.16368797},
5336  {0.62118537, 0.15961411, 0.16231725},
5337  {0.62521654, 0.16402486, 0.16094574},
5338  {0.62921239, 0.16845259, 0.15957459},
5339  {0.63317286, 0.17289743, 0.15820467},
5340  {0.63709789, 0.17735940, 0.15683719},
5341  {0.64098737, 0.18183867, 0.15547315},
5342  {0.64484118, 0.18633534, 0.15411376},
5343  {0.64865919, 0.19084955, 0.15276021},
5344  {0.65244121, 0.19538149, 0.15141373},
5345  {0.65618709, 0.19993128, 0.15007576},
5346  {0.65989658, 0.20449916, 0.14874755},
5347  {0.66356950, 0.20908526, 0.14743075},
5348  {0.66720557, 0.21368981, 0.14612684},
5349  {0.67080453, 0.21831301, 0.14483750},
5350  {0.67436611, 0.22295502, 0.14356461},
5351  {0.67788999, 0.22761609, 0.14230996},
5352  {0.68137585, 0.23229639, 0.14107563},
5353  {0.68482337, 0.23699614, 0.13986380},
5354  {0.68823217, 0.24171554, 0.13867669},
5355  {0.69160188, 0.24645478, 0.13751682},
5356  {0.69493213, 0.25121406, 0.13638677},
5357  {0.69822249, 0.25599358, 0.13528928},
5358  {0.70147255, 0.26079351, 0.13422734},
5359  {0.70468187, 0.26561404, 0.13320407},
5360  {0.70785001, 0.27045535, 0.13222275},
5361  {0.71097649, 0.27531759, 0.13128691},
5362  {0.71406086, 0.28020092, 0.13040026},
5363  {0.71710262, 0.28510549, 0.12956671},
5364  {0.72010127, 0.29003143, 0.12879035},
5365  {0.72305631, 0.29497887, 0.12807554},
5366  {0.72596723, 0.29994790, 0.12742676},
5367  {0.72883351, 0.30493864, 0.12684874},
5368  {0.73165462, 0.30995115, 0.12634639},
5369  {0.73443003, 0.31498551, 0.12592479},
5370  {0.73715922, 0.32004174, 0.12558920},
5371  {0.73984165, 0.32511988, 0.12534501},
5372  {0.74247679, 0.33021994, 0.12519777},
5373  {0.74506413, 0.33534188, 0.12515309},
5374  {0.74760315, 0.34048567, 0.12521671},
5375  {0.75009333, 0.34565125, 0.12539436},
5376  {0.75253419, 0.35083851, 0.12569182},
5377  {0.75492525, 0.35604733, 0.12611484},
5378  {0.75726603, 0.36127756, 0.12666908},
5379  {0.75955612, 0.36652901, 0.12736013},
5380  {0.76179510, 0.37180145, 0.12819340},
5381  {0.76398258, 0.37709464, 0.12917414},
5382  {0.76611821, 0.38240828, 0.13030734},
5383  {0.76820170, 0.38774203, 0.13159774},
5384  {0.77023277, 0.39309552, 0.13304977},
5385  {0.77221122, 0.39846833, 0.13466751},
5386  {0.77413687, 0.40386001, 0.13645469},
5387  {0.77600962, 0.40927004, 0.13841463},
5388  {0.77782945, 0.41469787, 0.14055024},
5389  {0.77959637, 0.42014290, 0.14286400},
5390  {0.78131049, 0.42560450, 0.14535795},
5391  {0.78297201, 0.43108193, 0.14803371},
5392  {0.78458119, 0.43657447, 0.15089242},
5393  {0.78613838, 0.44208132, 0.15393484},
5394  {0.78764406, 0.44760163, 0.15716125},
5395  {0.78909879, 0.45313449, 0.16057155},
5396  {0.79050321, 0.45867899, 0.16416524},
5397  {0.79185809, 0.46423414, 0.16794145},
5398  {0.79316437, 0.46979884, 0.17189894},
5399  {0.79442299, 0.47537209, 0.17603613},
5400  {0.79563505, 0.48095278, 0.18035117},
5401  {0.79680179, 0.48653975, 0.18484187},
5402  {0.79792464, 0.49213177, 0.18950575},
5403  {0.79900496, 0.49772771, 0.19434016},
5404  {0.80004432, 0.50332634, 0.19934218},
5405  {0.80104441, 0.50892642, 0.20450869},
5406  {0.80200701, 0.51452672, 0.20983640},
5407  {0.80293413, 0.52012589, 0.21532172},
5408  {0.80382766, 0.52572276, 0.22096109},
5409  {0.80468967, 0.53131609, 0.22675077},
5410  {0.80552232, 0.53690464, 0.23268687},
5411  {0.80632783, 0.54248721, 0.23876543},
5412  {0.80710851, 0.54806261, 0.24498237},
5413  {0.80786670, 0.55362968, 0.25133358},
5414  {0.80860481, 0.55918732, 0.25781488},
5415  {0.80932526, 0.56473444, 0.26442207},
5416  {0.81003050, 0.57027003, 0.27115092},
5417  {0.81072299, 0.57579311, 0.27799721},
5418  {0.81140518, 0.58130277, 0.28495673},
5419  {0.81207972, 0.58679806, 0.29202509},
5420  {0.81274908, 0.59227815, 0.29919806},
5421  {0.81341552, 0.59774241, 0.30647173},
5422  {0.81408137, 0.60319018, 0.31384208},
5423  {0.81474926, 0.60862071, 0.32130478},
5424  {0.81542167, 0.61403338, 0.32885569},
5425  {0.81610036, 0.61942795, 0.33649157},
5426  {0.81678817, 0.62480368, 0.34420784},
5427  {0.81748695, 0.63016037, 0.35200121},
5428  {0.81819885, 0.63549767, 0.35986798},
5429  {0.81892611, 0.64081526, 0.36780440},
5430  {0.81967060, 0.64611297, 0.37580716},
5431  {0.82043411, 0.65139072, 0.38387313},
5432  {0.82121909, 0.65664815, 0.39199823},
5433  {0.82202656, 0.66188554, 0.40018042},
5434  {0.82285870, 0.66710267, 0.40841599},
5435  {0.82371744, 0.67229949, 0.41670163},
5436  {0.82460384, 0.67747627, 0.42503525},
5437  {0.82551949, 0.68263309, 0.43341401},
5438  {0.82646594, 0.68777007, 0.44183516},
5439  {0.82744484, 0.69288728, 0.45029574},
5440  {0.82845747, 0.69798494, 0.45879337},
5441  {0.82950490, 0.70306338, 0.46732598},
5442  {0.83058837, 0.70812283, 0.47589127},
5443  {0.83170905, 0.71316357, 0.48448704},
5444  {0.83286801, 0.71818592, 0.49311119},
5445  {0.83406629, 0.72319019, 0.50176173},
5446  {0.83530503, 0.72817668, 0.51043647},
5447  {0.83658533, 0.73314569, 0.51913321},
5448  {0.83790779, 0.73809768, 0.52785070},
5449  {0.83927317, 0.74303306, 0.53658732},
5450  {0.84068221, 0.74795225, 0.54534156},
5451  {0.84213588, 0.75285557, 0.55411142},
5452  {0.84363540, 0.75774329, 0.56289444},
5453  {0.84518059, 0.76261608, 0.57169073},
5454  {0.84677218, 0.76747433, 0.58049871},
5455  {0.84841181, 0.77231818, 0.58931505},
5456  {0.85009872, 0.77714844, 0.59814098},
5457  {0.85183442, 0.78196527, 0.60697334},
5458  {0.85361898, 0.78676924, 0.61581180},
5459  {0.85545300, 0.79156074, 0.62465496},
5460  {0.85733708, 0.79634019, 0.63350137},
5461  {0.85927157, 0.80110804, 0.64235012},
5462  {0.86125682, 0.80586474, 0.65120031},
5463  {0.86329372, 0.81061062, 0.66004984},
5464  {0.86538175, 0.81534633, 0.66889970},
5465  {0.86752270, 0.82007195, 0.67774580},
5466  {0.86971583, 0.82478816, 0.68658960},
5467  {0.87196152, 0.82949538, 0.69543018},
5468  {0.87426133, 0.83419375, 0.70426386},
5469  {0.87661459, 0.83888389, 0.71309208},
5470  {0.87902177, 0.84356618, 0.72191377},
5471  {0.88148352, 0.84824093, 0.73072734},
5472  {0.88400075, 0.85290842, 0.73953068},
5473  {0.88657330, 0.85756911, 0.74832427},
5474  {0.88920173, 0.86222332, 0.75710696},
5475  {0.89188662, 0.86687134, 0.76587761},
5476  {0.89462859, 0.87151346, 0.77463504},
5477  {0.89742844, 0.87614990, 0.78337778},
5478  {0.90028705, 0.88078089, 0.79210422},
5479  {0.90320498, 0.88540665, 0.80081379},
5480  {0.90618322, 0.89002734, 0.80950508},
5481  {0.90922288, 0.89464305, 0.81817656},
5482  {0.91232527, 0.89925383, 0.82682655},
5483  {0.91549189, 0.90385964, 0.83545317},
5484  {0.91872454, 0.90846037, 0.84405428},
5485  {0.92202532, 0.91305582, 0.85262744},
5486  {0.92539674, 0.91764567, 0.86116973},
5487  {0.92884183, 0.92222945, 0.86967767},
5488  {0.93236418, 0.92680655, 0.87814698},
5489  {0.93596810, 0.93137619, 0.88657233},
5490  {0.93965884, 0.93593743, 0.89494635},
5491  {0.94344228, 0.94048919, 0.90326058},
5492  {0.94732508, 0.94503036, 0.91150406},
5493  {0.95131441, 0.94955998, 0.91966230},
5494  {0.95541703, 0.95407768, 0.92771676},
5495  {0.95963758, 0.95858437, 0.93564471},
5496  {0.96397569, 0.96308327, 0.94342013},
5497  {0.96842214, 0.96758121, 0.95101597},
5498  {0.97295466, 0.97208912, 0.95841520},
5499  {0.97753779, 0.97662151, 0.96561627},
5500  {0.98212842, 0.98119340, 0.97264191},
5501  {0.98668707, 0.98581600, 0.97953727},
5502  {0.99118833, 0.99049355, 0.98636053},
5503  {0.99562415, 0.99522369, 0.99316724},
5504  {1.00000000, 1.00000000, 1.00000000},
5505  {0.99286734, 0.99599371, 0.99614812},
5506  {0.98570140, 0.99201791, 0.99234019},
5507  {0.97850515, 0.98807093, 0.98857653},
5508  {0.97128081, 0.98415141, 0.98485747},
5509  {0.96403006, 0.98025821, 0.98118332},
5510  {0.95675420, 0.97639033, 0.97755440},
5511  {0.94945423, 0.97254691, 0.97397106},
5512  {0.94213095, 0.96872714, 0.97043361},
5513  {0.93478417, 0.96493058, 0.96694278},
5514  {0.92741484, 0.96115639, 0.96349871},
5515  {0.92002357, 0.95740386, 0.96010167},
5516  {0.91261066, 0.95367238, 0.95675205},
5517  {0.90517530, 0.94996172, 0.95345071},
5518  {0.89771808, 0.94627115, 0.95019787},
5519  {0.89023961, 0.94259997, 0.94699371},
5520  {0.88273889, 0.93894800, 0.94383920},
5521  {0.87521615, 0.93531462, 0.94073469},
5522  {0.86767223, 0.93169907, 0.93768025},
5523  {0.86010488, 0.92810149, 0.93467745},
5524  {0.85251625, 0.92452070, 0.93172572},
5525  {0.84490442, 0.92095675, 0.92882652},
5526  {0.83727062, 0.91740873, 0.92597970},
5527  {0.82961330, 0.91387653, 0.92318658},
5528  {0.82193388, 0.91035919, 0.92044693},
5529  {0.81423010, 0.90685681, 0.91776249},
5530  {0.80650377, 0.90336829, 0.91513282},
5531  {0.79875363, 0.89989342, 0.91255918},
5532  {0.79097948, 0.89643167, 0.91004225},
5533  {0.78318199, 0.89298227, 0.90758225},
5534  {0.77536055, 0.88954478, 0.90518014},
5535  {0.76751441, 0.88611881, 0.90283699},
5536  {0.75964444, 0.88270351, 0.90055296},
5537  {0.75175053, 0.87929829, 0.89832878},
5538  {0.74383262, 0.87590255, 0.89616521},
5539  {0.73589072, 0.87251564, 0.89406298},
5540  {0.72792492, 0.86913691, 0.89202278},
5541  {0.71993521, 0.86576571, 0.89004544},
5542  {0.71192219, 0.86240124, 0.88813142},
5543  {0.70388623, 0.85904276, 0.88628135},
5544  {0.69582754, 0.85568955, 0.88449599},
5545  {0.68774673, 0.85234079, 0.88277592},
5546  {0.67964457, 0.84899564, 0.88112162},
5547  {0.67152191, 0.84565322, 0.87953357},
5548  {0.66337974, 0.84231265, 0.87801219},
5549  {0.65521921, 0.83897298, 0.87655784},
5550  {0.64704068, 0.83563346, 0.87517148},
5551  {0.63884614, 0.83229298, 0.87385299},
5552  {0.63063758, 0.82895047, 0.87260229},
5553  {0.62241561, 0.82560511, 0.87142035},
5554  {0.61418307, 0.82225567, 0.87030656},
5555  {0.60594176, 0.81890115, 0.86926118},
5556  {0.59769403, 0.81554044, 0.86828407},
5557  {0.58944247, 0.81217242, 0.86737501},
5558  {0.58119025, 0.80879588, 0.86653338},
5559  {0.57293967, 0.80540980, 0.86575933},
5560  {0.56469499, 0.80201285, 0.86505150},
5561  {0.55645949, 0.79860391, 0.86440940},
5562  {0.54823663, 0.79518185, 0.86383250},
5563  {0.54003116, 0.79174538, 0.86331922},
5564  {0.53184747, 0.78829334, 0.86286840},
5565  {0.52369022, 0.78482455, 0.86247868},
5566  {0.51556437, 0.78133787, 0.86214854},
5567  {0.50747510, 0.77783215, 0.86187634},
5568  {0.49942800, 0.77430627, 0.86166013},
5569  {0.49142890, 0.77075916, 0.86149781},
5570  {0.48348378, 0.76718977, 0.86138716},
5571  {0.47559884, 0.76359711, 0.86132585},
5572  {0.46778040, 0.75998024, 0.86131146},
5573  {0.46003500, 0.75633830, 0.86134138},
5574  {0.45236936, 0.75267044, 0.86141286},
5575  {0.44479028, 0.74897593, 0.86152307},
5576  {0.43730459, 0.74525408, 0.86166912},
5577  {0.42991920, 0.74150429, 0.86184809},
5578  {0.42264101, 0.73772603, 0.86205698},
5579  {0.41547682, 0.73391885, 0.86229290},
5580  {0.40843352, 0.73008237, 0.86255277},
5581  {0.40151789, 0.72621630, 0.86283355},
5582  {0.39473655, 0.72232041, 0.86313228},
5583  {0.38809598, 0.71839456, 0.86344609},
5584  {0.38160250, 0.71443865, 0.86377213},
5585  {0.37526225, 0.71045270, 0.86410756},
5586  {0.36908114, 0.70643673, 0.86444972},
5587  {0.36306481, 0.70239086, 0.86479601},
5588  {0.35721866, 0.69831525, 0.86514393},
5589  {0.35154777, 0.69421011, 0.86549111},
5590  {0.34605694, 0.69007569, 0.86583531},
5591  {0.34075062, 0.68591227, 0.86617437},
5592  {0.33563291, 0.68172019, 0.86650626},
5593  {0.33070754, 0.67749978, 0.86682914},
5594  {0.32597787, 0.67325141, 0.86714125},
5595  {0.32144684, 0.66897547, 0.86744092},
5596  {0.31711700, 0.66467238, 0.86772661},
5597  {0.31299046, 0.66034252, 0.86799697},
5598  {0.30906887, 0.65598631, 0.86825072},
5599  {0.30535347, 0.65160416, 0.86848667},
5600  {0.30184500, 0.64719650, 0.86870371},
5601  {0.29854375, 0.64276372, 0.86890085},
5602  {0.29544956, 0.63830622, 0.86907725},
5603  {0.29256178, 0.63382438, 0.86923211},
5604  {0.28987929, 0.62931858, 0.86936472},
5605  {0.28740051, 0.62478917, 0.86947441},
5606  {0.28512341, 0.62023651, 0.86956060},
5607  {0.28304548, 0.61566092, 0.86962274},
5608  {0.28116383, 0.61106270, 0.86966040},
5609  {0.27947513, 0.60644214, 0.86967318},
5610  {0.27797569, 0.60179951, 0.86966073},
5611  {0.27666143, 0.59713504, 0.86962272},
5612  {0.27552793, 0.59244896, 0.86955888},
5613  {0.27457047, 0.58774146, 0.86946893},
5614  {0.27378405, 0.58301273, 0.86935267},
5615  {0.27316343, 0.57826292, 0.86920990},
5616  {0.27270315, 0.57349216, 0.86904042},
5617  {0.27239757, 0.56870055, 0.86884409},
5618  {0.27224091, 0.56388818, 0.86862073},
5619  {0.27222727, 0.55905510, 0.86837022},
5620  {0.27235069, 0.55420136, 0.86809242},
5621  {0.27260513, 0.54932696, 0.86778718},
5622  {0.27298455, 0.54443190, 0.86745438},
5623  {0.27348292, 0.53951613, 0.86709387},
5624  {0.27409422, 0.53457961, 0.86670552},
5625  {0.27481251, 0.52962225, 0.86628917},
5626  {0.27563190, 0.52464394, 0.86584466},
5627  {0.27654662, 0.51964457, 0.86537182},
5628  {0.27755099, 0.51462399, 0.86487045},
5629  {0.27863945, 0.50958201, 0.86434035},
5630  {0.27980659, 0.50451846, 0.86378130},
5631  {0.28104713, 0.49943311, 0.86319304},
5632  {0.28235594, 0.49432573, 0.86257530},
5633  {0.28372807, 0.48919605, 0.86192779},
5634  {0.28515870, 0.48404380, 0.86125019},
5635  {0.28664319, 0.47886866, 0.86054215},
5636  {0.28817706, 0.47367032, 0.85980329},
5637  {0.28975598, 0.46844842, 0.85903319},
5638  {0.29137580, 0.46320260, 0.85823140},
5639  {0.29303250, 0.45793246, 0.85739743},
5640  {0.29472223, 0.45263759, 0.85653076},
5641  {0.29644130, 0.44731755, 0.85563081},
5642  {0.29818615, 0.44197190, 0.85469698},
5643  {0.29995337, 0.43660014, 0.85372861},
5644  {0.30173966, 0.43120178, 0.85272499},
5645  {0.30354187, 0.42577630, 0.85168538},
5646  {0.30535698, 0.42032315, 0.85060895},
5647  {0.30718208, 0.41484175, 0.84949487},
5648  {0.30901435, 0.40933154, 0.84834220},
5649  {0.31085108, 0.40379189, 0.84714995},
5650  {0.31268965, 0.39822218, 0.84591709},
5651  {0.31452753, 0.39262176, 0.84464249},
5652  {0.31636229, 0.38698995, 0.84332498},
5653  {0.31819155, 0.38132607, 0.84196330},
5654  {0.32001300, 0.37562939, 0.84055611},
5655  {0.32182440, 0.36989919, 0.83910199},
5656  {0.32362357, 0.36413471, 0.83759945},
5657  {0.32540842, 0.35833516, 0.83604691},
5658  {0.32717680, 0.35249976, 0.83444267},
5659  {0.32892666, 0.34662771, 0.83278494},
5660  {0.33065594, 0.34071820, 0.83107184},
5661  {0.33236262, 0.33477038, 0.82930136},
5662  {0.33404470, 0.32878343, 0.82747138},
5663  {0.33570018, 0.32275648, 0.82557967},
5664  {0.33732703, 0.31668868, 0.82362385},
5665  {0.33892344, 0.31057909, 0.82160147},
5666  {0.34048732, 0.30442687, 0.81950987},
5667  {0.34201654, 0.29823123, 0.81734622},
5668  {0.34350900, 0.29199133, 0.81510757},
5669  {0.34496286, 0.28570623, 0.81279086},
5670  {0.34637591, 0.27937515, 0.81039277},
5671  {0.34774576, 0.27299746, 0.80790978},
5672  {0.34907049, 0.26657226, 0.80533828},
5673  {0.35034765, 0.26009898, 0.80267437},
5674  {0.35157477, 0.25357710, 0.79991393},
5675  {0.35274974, 0.24700593, 0.79705268},
5676  {0.35386957, 0.24038540, 0.79408603},
5677  {0.35493209, 0.23371498, 0.79100920},
5678  {0.35593417, 0.22699489, 0.78781709},
5679  {0.35687304, 0.22022524, 0.78450439},
5680  {0.35774590, 0.21340635, 0.78106545},
5681  {0.35854927, 0.20653923, 0.77749437},
5682  {0.35927989, 0.19962502, 0.77378495},
5683  {0.35993451, 0.19266520, 0.76993060},
5684  {0.36050928, 0.18566214, 0.76592451},
5685  {0.36100028, 0.17861881, 0.76175953},
5686  {0.36140342, 0.17153899, 0.75742820},
5687  {0.36171435, 0.16442749, 0.75292275},
5688  {0.36192848, 0.15729037, 0.74823513},
5689  {0.36204093, 0.15013519, 0.74335708},
5690  {0.36204673, 0.14297118, 0.73827997},
5691  {0.36194040, 0.13580989, 0.73299516},
5692  {0.36171608, 0.12866551, 0.72749406},
5693  {0.36136795, 0.12155514, 0.72176784},
5694  {0.36088975, 0.11449965, 0.71580795},
5695  {0.36027488, 0.10752429, 0.70960628},
5696  {0.35951665, 0.10065933, 0.70315520},
5697  {0.35860825, 0.09394083, 0.69644767},
5698  {0.35754257, 0.08741135, 0.68947827},
5699  {0.35631270, 0.08112040, 0.68224270},
5700  {0.35491188, 0.07512464, 0.67473859},
5701  {0.35333367, 0.06948733, 0.66696587},
5702  {0.35157216, 0.06427682, 0.65892725},
5703  {0.34962224, 0.05956371, 0.65062860},
5704  {0.34747984, 0.05541636, 0.64207929},
5705  {0.34514220, 0.05189493, 0.63329238},
5706  {0.34260814, 0.04904439, 0.62428467},
5707  {0.33987821, 0.04688785, 0.61507656},
5708  {0.33695485, 0.04542168, 0.60569166},
5709  {0.33384244, 0.04461402, 0.59615620},
5710  {0.33054719, 0.04440736, 0.58649826},
5711  {0.32707699, 0.04472460, 0.57674681},
5712  {0.32344118, 0.04547712, 0.56693081},
5713  {0.31965016, 0.04657302, 0.55707817},
5714  {0.31571506, 0.04792403, 0.54721501},
5715  {0.31164748, 0.04944885, 0.53736593},
5716  {0.30745900, 0.05107806, 0.52755208},
5717  {0.30316106, 0.05275303, 0.51779232},
5718  {0.29876453, 0.05442732, 0.50810188},
5719  {0.29427986, 0.05606322, 0.49849429},
5720  {0.28971686, 0.05763199, 0.48898038},
5721  {0.28508450, 0.05911251, 0.47956842},
5722  {0.28039092, 0.06048993, 0.47026435},
5723  {0.27564340, 0.06175448, 0.46107205},
5724  {0.27084884, 0.06289865, 0.45199509},
5725  {0.26601325, 0.06391846, 0.44303518},
5726  {0.26114211, 0.06481189, 0.43419322},
5727  {0.25623998, 0.06557967, 0.42546825},
5728  {0.25131127, 0.06622224, 0.41685990},
5729  {0.24635989, 0.06674117, 0.40836707},
5730  {0.24138922, 0.06713884, 0.39998800},
5731  {0.23640219, 0.06741821, 0.39172046},
5732  {0.23140135, 0.06758265, 0.38356178},
5733  {0.22638882, 0.06763578, 0.37550902},
5734  {0.22136723, 0.06757936, 0.36756094},
5735  {0.21633793, 0.06741776, 0.35971365},
5736  {0.21130262, 0.06715380, 0.35196469},
5737  {0.20626253, 0.06679084, 0.34431091},
5738  {0.20121936, 0.06633069, 0.33675064},
5739  {0.19617350, 0.06577759, 0.32927959},
5740  {0.19112598, 0.06513382, 0.32189534},
5741  {0.18607797, 0.06440103, 0.31459602},
5742  {0.18102995, 0.06358187, 0.30737861},
5743  {0.17598229, 0.06267883, 0.30024012},
5744  {0.17093544, 0.06169384, 0.29317803},
5745  {0.16588972, 0.06062873, 0.28618983},
5746  {0.16084537, 0.05948518, 0.27927302},
5747  {0.15580287, 0.05826412, 0.27242584},
5748  {0.15076217, 0.05696715, 0.26564568},
5749  {0.14572304, 0.05559583, 0.25892982},
5750  {0.14068532, 0.05415133, 0.25227586},
5751  {0.13564929, 0.05263380, 0.24568244},
5752  {0.13061484, 0.05104378, 0.23914760},
5753  {0.12558094, 0.04938293, 0.23266799},
5754  {0.12054835, 0.04764989, 0.22624353},
5755  {0.11551573, 0.04584618, 0.21987072},
5756  {0.11048325, 0.04397075, 0.21354882},
5757  {0.10544988, 0.04202398, 0.20727521},
5758  {0.10041564, 0.03999828, 0.20104928},
5759  {0.09537889, 0.03791701, 0.19486783}
5760 };
5761 
5762 // https://github.com/1313e/CMasher
5763 const int RGB_Palette_41_Size = 511; // iceburn
5765 {
5766  {5.78692840e-01, 9.47004534e-01, 9.53835089e-01},
5767  {5.73300958e-01, 9.42448134e-01, 9.52185844e-01},
5768  {5.67904138e-01, 9.37906186e-01, 9.50550251e-01},
5769  {5.62501828e-01, 9.33378441e-01, 9.48929504e-01},
5770  {5.57094001e-01, 9.28864700e-01, 9.47323254e-01},
5771  {5.51680262e-01, 9.24364725e-01, 9.45732234e-01},
5772  {5.46260408e-01, 9.19878293e-01, 9.44156633e-01},
5773  {5.40834283e-01, 9.15405185e-01, 9.42596495e-01},
5774  {5.35401418e-01, 9.10945148e-01, 9.41052774e-01},
5775  {5.29961833e-01, 9.06497972e-01, 9.39525036e-01},
5776  {5.24515168e-01, 9.02063412e-01, 9.38013919e-01},
5777  {5.19061153e-01, 8.97641224e-01, 9.36519804e-01},
5778  {5.13599714e-01, 8.93231185e-01, 9.35042546e-01},
5779  {5.08130514e-01, 8.88833041e-01, 9.33582712e-01},
5780  {5.02653292e-01, 8.84446544e-01, 9.32140656e-01},
5781  {4.97167970e-01, 8.80071461e-01, 9.30716251e-01},
5782  {4.91674325e-01, 8.75707544e-01, 9.29309753e-01},
5783  {4.86171948e-01, 8.71354522e-01, 9.27921902e-01},
5784  {4.80660799e-01, 8.67012158e-01, 9.26552467e-01},
5785  {4.75140686e-01, 8.62680199e-01, 9.25201622e-01},
5786  {4.69611394e-01, 8.58358385e-01, 9.23869585e-01},
5787  {4.64072657e-01, 8.54046451e-01, 9.22556718e-01},
5788  {4.58524236e-01, 8.49744130e-01, 9.21263293e-01},
5789  {4.52966030e-01, 8.45451166e-01, 9.19989242e-01},
5790  {4.47397837e-01, 8.41167290e-01, 9.18734745e-01},
5791  {4.41819459e-01, 8.36892232e-01, 9.17499973e-01},
5792  {4.36230702e-01, 8.32625718e-01, 9.16285085e-01},
5793  {4.30631373e-01, 8.28367471e-01, 9.15090231e-01},
5794  {4.25021288e-01, 8.24117213e-01, 9.13915551e-01},
5795  {4.19400262e-01, 8.19874661e-01, 9.12761172e-01},
5796  {4.13768119e-01, 8.15639529e-01, 9.11627211e-01},
5797  {4.08124687e-01, 8.11411529e-01, 9.10513772e-01},
5798  {4.02469802e-01, 8.07190370e-01, 9.09420950e-01},
5799  {3.96803304e-01, 8.02975757e-01, 9.08348825e-01},
5800  {3.91125045e-01, 7.98767391e-01, 9.07297464e-01},
5801  {3.85434884e-01, 7.94564972e-01, 9.06266924e-01},
5802  {3.79732689e-01, 7.90368192e-01, 9.05257244e-01},
5803  {3.74018344e-01, 7.86176744e-01, 9.04268451e-01},
5804  {3.68291742e-01, 7.81990315e-01, 9.03300558e-01},
5805  {3.62552792e-01, 7.77808588e-01, 9.02353560e-01},
5806  {3.56801422e-01, 7.73631242e-01, 9.01427436e-01},
5807  {3.51037448e-01, 7.69457933e-01, 9.00522481e-01},
5808  {3.45260887e-01, 7.65288338e-01, 8.99638516e-01},
5809  {3.39471788e-01, 7.61122132e-01, 8.98775317e-01},
5810  {3.33670169e-01, 7.56958978e-01, 8.97932792e-01},
5811  {3.27855879e-01, 7.52798495e-01, 8.97111369e-01},
5812  {3.22029122e-01, 7.48640355e-01, 8.96310603e-01},
5813  {3.16190082e-01, 7.44484220e-01, 8.95530166e-01},
5814  {3.10338662e-01, 7.40329674e-01, 8.94770632e-01},
5815  {3.04475280e-01, 7.36176394e-01, 8.94031249e-01},
5816  {2.98600109e-01, 7.32023987e-01, 8.93312085e-01},
5817  {2.92713429e-01, 7.27872062e-01, 8.92613085e-01},
5818  {2.86815720e-01, 7.23720253e-01, 8.91933779e-01},
5819  {2.80907351e-01, 7.19568136e-01, 8.91274268e-01},
5820  {2.74988962e-01, 7.15415329e-01, 8.90634084e-01},
5821  {2.69061237e-01, 7.11261425e-01, 8.90012916e-01},
5822  {2.63124858e-01, 7.07105970e-01, 8.89410864e-01},
5823  {2.57180924e-01, 7.02948593e-01, 8.88827028e-01},
5824  {2.51230430e-01, 6.98788826e-01, 8.88261402e-01},
5825  {2.45274625e-01, 6.94626213e-01, 8.87713728e-01},
5826  {2.39315083e-01, 6.90460341e-01, 8.87183219e-01},
5827  {2.33353507e-01, 6.86290746e-01, 8.86669459e-01},
5828  {2.27391881e-01, 6.82116958e-01, 8.86171983e-01},
5829  {2.21432481e-01, 6.77938476e-01, 8.85690423e-01},
5830  {2.15477996e-01, 6.73754829e-01, 8.85224061e-01},
5831  {2.09531518e-01, 6.69565533e-01, 8.84772141e-01},
5832  {2.03596591e-01, 6.65370084e-01, 8.84333945e-01},
5833  {1.97677299e-01, 6.61167973e-01, 8.83908683e-01},
5834  {1.91778351e-01, 6.56958680e-01, 8.83495480e-01},
5835  {1.85905169e-01, 6.52741636e-01, 8.83093687e-01},
5836  {1.80064006e-01, 6.48516336e-01, 8.82702059e-01},
5837  {1.74262029e-01, 6.44282242e-01, 8.82319418e-01},
5838  {1.68507468e-01, 6.40038815e-01, 8.81944496e-01},
5839  {1.62809859e-01, 6.35785434e-01, 8.81576365e-01},
5840  {1.57180072e-01, 6.31521552e-01, 8.81213460e-01},
5841  {1.51630475e-01, 6.27246648e-01, 8.80853939e-01},
5842  {1.46175578e-01, 6.22960017e-01, 8.80496851e-01},
5843  {1.40831375e-01, 6.18661207e-01, 8.80139636e-01},
5844  {1.35616639e-01, 6.14349529e-01, 8.79780903e-01},
5845  {1.30552271e-01, 6.10024426e-01, 8.79418327e-01},
5846  {1.25661794e-01, 6.05685341e-01, 8.79049446e-01},
5847  {1.20971707e-01, 6.01331668e-01, 8.78671861e-01},
5848  {1.16511563e-01, 5.96962778e-01, 8.78283072e-01},
5849  {1.12313402e-01, 5.92578135e-01, 8.77879944e-01},
5850  {1.08411955e-01, 5.88177194e-01, 8.77459198e-01},
5851  {1.04844299e-01, 5.83759401e-01, 8.77017401e-01},
5852  {1.01649143e-01, 5.79324204e-01, 8.76550875e-01},
5853  {9.88650977e-02, 5.74871174e-01, 8.76055248e-01},
5854  {9.65299433e-02, 5.70399900e-01, 8.75525883e-01},
5855  {9.46800608e-02, 5.65909873e-01, 8.74958273e-01},
5856  {9.33458797e-02, 5.61400868e-01, 8.74346664e-01},
5857  {9.25534686e-02, 5.56872508e-01, 8.73685607e-01},
5858  {9.23193790e-02, 5.52324723e-01, 8.72968423e-01},
5859  {9.26524359e-02, 5.47757391e-01, 8.72188384e-01},
5860  {9.35518714e-02, 5.43170516e-01, 8.71338162e-01},
5861  {9.50066950e-02, 5.38564305e-01, 8.70409626e-01},
5862  {9.69974085e-02, 5.33939078e-01, 8.69394153e-01},
5863  {9.94960176e-02, 5.29295411e-01, 8.68282281e-01},
5864  {1.02468098e-01, 5.24634109e-01, 8.67063874e-01},
5865  {1.05875414e-01, 5.19956133e-01, 8.65728330e-01},
5866  {1.09675761e-01, 5.15262814e-01, 8.64264188e-01},
5867  {1.13825799e-01, 5.10555737e-01, 8.62659495e-01},
5868  {1.18280497e-01, 5.05836943e-01, 8.60901548e-01},
5869  {1.22995807e-01, 5.01108771e-01, 8.58977360e-01},
5870  {1.27928180e-01, 4.96373991e-01, 8.56873612e-01},
5871  {1.33034952e-01, 4.91635812e-01, 8.54576873e-01},
5872  {1.38274606e-01, 4.86897881e-01, 8.52073885e-01},
5873  {1.43607170e-01, 4.82164234e-01, 8.49351901e-01},
5874  {1.48994245e-01, 4.77439269e-01, 8.46399020e-01},
5875  {1.54397994e-01, 4.72727808e-01, 8.43204529e-01},
5876  {1.59783445e-01, 4.68034774e-01, 8.39759425e-01},
5877  {1.65116349e-01, 4.63365350e-01, 8.36056706e-01},
5878  {1.70365215e-01, 4.58724648e-01, 8.32091774e-01},
5879  {1.75500824e-01, 4.54117670e-01, 8.27862671e-01},
5880  {1.80496667e-01, 4.49549147e-01, 8.23370253e-01},
5881  {1.85329435e-01, 4.45023391e-01, 8.18618195e-01},
5882  {1.89978991e-01, 4.40544209e-01, 8.13612915e-01},
5883  {1.94429078e-01, 4.36114753e-01, 8.08363251e-01},
5884  {1.98666394e-01, 4.31737576e-01, 8.02880303e-01},
5885  {2.02681886e-01, 4.27414456e-01, 7.97176723e-01},
5886  {2.06468728e-01, 4.23146613e-01, 7.91266744e-01},
5887  {2.10024161e-01, 4.18934517e-01, 7.85165130e-01},
5888  {2.13347437e-01, 4.14778131e-01, 7.78887270e-01},
5889  {2.16440070e-01, 4.10676919e-01, 7.72448643e-01},
5890  {2.19305491e-01, 4.06629916e-01, 7.65864489e-01},
5891  {2.21948709e-01, 4.02635810e-01, 7.59149540e-01},
5892  {2.24375980e-01, 3.98693013e-01, 7.52317815e-01},
5893  {2.26593924e-01, 3.94799781e-01, 7.45382836e-01},
5894  {2.28610197e-01, 3.90954195e-01, 7.38357023e-01},
5895  {2.30432432e-01, 3.87154276e-01, 7.31252161e-01},
5896  {2.32068926e-01, 3.83397966e-01, 7.24078812e-01},
5897  {2.33527523e-01, 3.79683233e-01, 7.16847009e-01},
5898  {2.34816084e-01, 3.76008051e-01, 7.09565901e-01},
5899  {2.35942398e-01, 3.72370426e-01, 7.02243776e-01},
5900  {2.36914105e-01, 3.68768412e-01, 6.94888104e-01},
5901  {2.37738643e-01, 3.65200126e-01, 6.87505580e-01},
5902  {2.38422282e-01, 3.61663789e-01, 6.80103136e-01},
5903  {2.38972594e-01, 3.58157636e-01, 6.72685501e-01},
5904  {2.39395009e-01, 3.54680041e-01, 6.65258749e-01},
5905  {2.39696225e-01, 3.51229407e-01, 6.57826776e-01},
5906  {2.39881773e-01, 3.47804242e-01, 6.50393943e-01},
5907  {2.39956943e-01, 3.44403123e-01, 6.42964150e-01},
5908  {2.39926779e-01, 3.41024699e-01, 6.35540879e-01},
5909  {2.39796090e-01, 3.37667689e-01, 6.28127227e-01},
5910  {2.39569444e-01, 3.34330882e-01, 6.20725937e-01},
5911  {2.39251183e-01, 3.31013128e-01, 6.13339431e-01},
5912  {2.38845424e-01, 3.27713344e-01, 6.05969844e-01},
5913  {2.38355808e-01, 3.24430499e-01, 5.98619437e-01},
5914  {2.37785799e-01, 3.21163615e-01, 5.91290231e-01},
5915  {2.37139189e-01, 3.17911780e-01, 5.83983238e-01},
5916  {2.36418594e-01, 3.14674104e-01, 5.76700831e-01},
5917  {2.35627508e-01, 3.11449771e-01, 5.69443559e-01},
5918  {2.34768626e-01, 3.08237993e-01, 5.62212823e-01},
5919  {2.33844361e-01, 3.05038009e-01, 5.55010144e-01},
5920  {2.32857559e-01, 3.01849126e-01, 5.47835919e-01},
5921  {2.31810546e-01, 2.98670665e-01, 5.40691084e-01},
5922  {2.30705538e-01, 2.95501982e-01, 5.33576454e-01},
5923  {2.29544644e-01, 2.92342466e-01, 5.26492728e-01},
5924  {2.28329868e-01, 2.89191531e-01, 5.19440505e-01},
5925  {2.27063120e-01, 2.86048621e-01, 5.12420289e-01},
5926  {2.25746215e-01, 2.82913203e-01, 5.05432497e-01},
5927  {2.24380878e-01, 2.79784770e-01, 4.98477470e-01},
5928  {2.22968752e-01, 2.76662836e-01, 4.91555475e-01},
5929  {2.21511396e-01, 2.73546937e-01, 4.84666715e-01},
5930  {2.20010239e-01, 2.70436621e-01, 4.77811461e-01},
5931  {2.18466444e-01, 2.67331436e-01, 4.70990359e-01},
5932  {2.16881625e-01, 2.64230995e-01, 4.64202867e-01},
5933  {2.15256985e-01, 2.61134895e-01, 4.57449146e-01},
5934  {2.13593418e-01, 2.58042718e-01, 4.50729909e-01},
5935  {2.11892450e-01, 2.54954135e-01, 4.44044228e-01},
5936  {2.10154732e-01, 2.51868737e-01, 4.37393064e-01},
5937  {2.08381656e-01, 2.48786217e-01, 4.30775450e-01},
5938  {2.06573793e-01, 2.45706187e-01, 4.24192274e-01},
5939  {2.04732430e-01, 2.42628362e-01, 4.17642496e-01},
5940  {2.02858067e-01, 2.39552372e-01, 4.11126922e-01},
5941  {2.00951756e-01, 2.36477929e-01, 4.04644823e-01},
5942  {1.99014302e-01, 2.33404731e-01, 3.98195962e-01},
5943  {1.97046147e-01, 2.30332431e-01, 3.91780945e-01},
5944  {1.95048234e-01, 2.27260766e-01, 3.85398932e-01},
5945  {1.93021210e-01, 2.24189441e-01, 3.79049751e-01},
5946  {1.90965676e-01, 2.21118165e-01, 3.72733244e-01},
5947  {1.88882068e-01, 2.18046628e-01, 3.66449615e-01},
5948  {1.86771070e-01, 2.14974566e-01, 3.60198266e-01},
5949  {1.84633214e-01, 2.11901701e-01, 3.53978926e-01},
5950  {1.82468982e-01, 2.08827751e-01, 3.47791363e-01},
5951  {1.80278832e-01, 2.05752438e-01, 3.41635323e-01},
5952  {1.78063194e-01, 2.02675486e-01, 3.35510539e-01},
5953  {1.75822472e-01, 1.99596616e-01, 3.29416728e-01},
5954  {1.73557047e-01, 1.96515552e-01, 3.23353592e-01},
5955  {1.71267273e-01, 1.93432015e-01, 3.17320821e-01},
5956  {1.68953481e-01, 1.90345728e-01, 3.11318090e-01},
5957  {1.66615979e-01, 1.87256408e-01, 3.05345062e-01},
5958  {1.64255048e-01, 1.84163774e-01, 2.99401390e-01},
5959  {1.61870950e-01, 1.81067539e-01, 2.93486714e-01},
5960  {1.59463922e-01, 1.77967413e-01, 2.87600662e-01},
5961  {1.57034176e-01, 1.74863103e-01, 2.81742854e-01},
5962  {1.54581876e-01, 1.71754305e-01, 2.75912999e-01},
5963  {1.52107134e-01, 1.68640705e-01, 2.70110883e-01},
5964  {1.49610173e-01, 1.65522006e-01, 2.64335837e-01},
5965  {1.47091119e-01, 1.62397894e-01, 2.58587437e-01},
5966  {1.44550070e-01, 1.59268044e-01, 2.52865249e-01},
5967  {1.41987011e-01, 1.56132104e-01, 2.47169165e-01},
5968  {1.39402031e-01, 1.52989740e-01, 2.41498612e-01},
5969  {1.36795217e-01, 1.49840614e-01, 2.35852930e-01},
5970  {1.34166545e-01, 1.46684356e-01, 2.30231753e-01},
5971  {1.31515885e-01, 1.43520568e-01, 2.24635009e-01},
5972  {1.28843336e-01, 1.40348896e-01, 2.19061687e-01},
5973  {1.26148778e-01, 1.37168927e-01, 2.13511466e-01},
5974  {1.23432032e-01, 1.33980228e-01, 2.07984146e-01},
5975  {1.20693111e-01, 1.30782396e-01, 2.02478680e-01},
5976  {1.17931726e-01, 1.27574952e-01, 1.96995048e-01},
5977  {1.15147777e-01, 1.24357446e-01, 1.91532377e-01},
5978  {1.12341037e-01, 1.21129384e-01, 1.86090147e-01},
5979  {1.09511209e-01, 1.17890242e-01, 1.80667973e-01},
5980  {1.06658103e-01, 1.14639504e-01, 1.75264889e-01},
5981  {1.03781280e-01, 1.11376578e-01, 1.69880751e-01},
5982  {1.00880520e-01, 1.08100903e-01, 1.64514367e-01},
5983  {9.79552928e-02, 1.04811822e-01, 1.59165616e-01},
5984  {9.50052857e-02, 1.01508706e-01, 1.53833276e-01},
5985  {9.20299100e-02, 9.81908332e-02, 1.48517042e-01},
5986  {8.90287064e-02, 9.48574837e-02, 1.43215838e-01},
5987  {8.60010553e-02, 9.15078661e-02, 1.37928993e-01},
5988  {8.29462963e-02, 8.81411436e-02, 1.32655723e-01},
5989  {7.98637948e-02, 8.47564453e-02, 1.27394821e-01},
5990  {7.67526386e-02, 8.13527897e-02, 1.22145928e-01},
5991  {7.36121083e-02, 7.79291923e-02, 1.16907471e-01},
5992  {7.04412107e-02, 7.44845475e-02, 1.11678639e-01},
5993  {6.72388963e-02, 7.10176749e-02, 1.06458404e-01},
5994  {6.40041036e-02, 6.75273224e-02, 1.01245258e-01},
5995  {6.07355301e-02, 6.40121018e-02, 9.60381728e-02},
5996  {5.74318124e-02, 6.04705226e-02, 9.08357274e-02},
5997  {5.40914827e-02, 5.69009698e-02, 8.56362070e-02},
5998  {5.07128356e-02, 5.33016572e-02, 8.04381104e-02},
5999  {4.72939791e-02, 4.96706236e-02, 7.52397997e-02},
6000  {4.38328995e-02, 4.60057289e-02, 7.00390473e-02},
6001  {4.03253250e-02, 4.23045858e-02, 6.48337039e-02},
6002  {3.68119799e-02, 3.85588031e-02, 5.96215760e-02},
6003  {3.34383800e-02, 3.49234868e-02, 5.43999018e-02},
6004  {3.02065532e-02, 3.14566306e-02, 4.91655596e-02},
6005  {2.71185916e-02, 2.81589142e-02, 4.39151506e-02},
6006  {2.41766866e-02, 2.50311454e-02, 3.86382927e-02},
6007  {2.13831525e-02, 2.20742794e-02, 3.36012698e-02},
6008  {1.87405026e-02, 1.92894533e-02, 2.89448430e-02},
6009  {1.62514037e-02, 1.66779945e-02, 2.46610222e-02},
6010  {1.39187470e-02, 1.42414639e-02, 2.07420804e-02},
6011  {1.17456978e-02, 1.19817007e-02, 1.71805773e-02},
6012  {9.73575395e-03, 9.90087988e-03, 1.39694399e-02},
6013  {7.89285303e-03, 8.00159702e-03, 1.11018863e-02},
6014  {6.22148215e-03, 6.28697637e-03, 8.57157164e-03},
6015  {4.72684477e-03, 4.76082980e-03, 6.37274354e-03},
6016  {3.41513042e-03, 3.42790180e-03, 4.50037440e-03},
6017  {2.29393772e-03, 2.29426270e-03, 2.95045739e-03},
6018  {1.37301685e-03, 1.36800262e-03, 1.72055651e-03},
6019  {6.65756539e-04, 6.60629159e-04, 8.10977578e-04},
6020  {1.92918273e-04, 1.90603023e-04, 2.27925431e-04},
6021  {0.00000000e+00, 0.00000000e+00, 0.00000000e+00},
6022  {2.46147513e-04, 1.74022352e-04, 1.86778068e-04},
6023  {8.76505979e-04, 5.95218163e-04, 6.45816030e-04},
6024  {1.86026397e-03, 1.21726718e-03, 1.33402215e-03},
6025  {3.19002026e-03, 2.01788637e-03, 2.23163475e-03},
6026  {4.86438398e-03, 2.98218359e-03, 3.32571522e-03},
6027  {6.88465127e-03, 4.09899757e-03, 4.60663725e-03},
6028  {9.25360203e-03, 5.35941200e-03, 6.06669606e-03},
6029  {1.19749644e-02, 6.75599550e-03, 7.69941449e-03},
6030  {1.50531009e-02, 8.28237546e-03, 9.49915213e-03},
6031  {1.84928310e-02, 9.93296829e-03, 1.14608625e-02},
6032  {2.22993192e-02, 1.17027997e-02, 1.35799324e-02},
6033  {2.64780094e-02, 1.35873759e-02, 1.58520698e-02},
6034  {3.10345812e-02, 1.55825903e-02, 1.82732221e-02},
6035  {3.59748385e-02, 1.76846830e-02, 2.08395272e-02},
6036  {4.12852700e-02, 1.98901549e-02, 2.35472554e-02},
6037  {4.66368784e-02, 2.21957396e-02, 2.63927782e-02},
6038  {5.19582875e-02, 2.45983712e-02, 2.93725400e-02},
6039  {5.72533152e-02, 2.70951584e-02, 3.24830352e-02},
6040  {6.25252807e-02, 2.96833639e-02, 3.57207896e-02},
6041  {6.77770915e-02, 3.23603867e-02, 3.90823447e-02},
6042  {7.30113526e-02, 3.51237250e-02, 4.24978599e-02},
6043  {7.82303272e-02, 3.79710125e-02, 4.58514661e-02},
6044  {8.34360241e-02, 4.08909771e-02, 4.91545205e-02},
6045  {8.86302578e-02, 4.37692089e-02, 5.24087069e-02},
6046  {9.38146597e-02, 4.66043370e-02, 5.56155029e-02},
6047  {9.89907016e-02, 4.93982504e-02, 5.87762063e-02},
6048  {1.04159716e-01, 5.21526804e-02, 6.18919566e-02},
6049  {1.09323027e-01, 5.48691472e-02, 6.49637131e-02},
6050  {1.14481684e-01, 5.75491529e-02, 6.79923662e-02},
6051  {1.19636642e-01, 6.01940916e-02, 7.09786970e-02},
6052  {1.24788816e-01, 6.28052319e-02, 7.39233708e-02},
6053  {1.29939212e-01, 6.53836503e-02, 7.68268958e-02},
6054  {1.35088504e-01, 6.79305129e-02, 7.96897984e-02},
6055  {1.40237336e-01, 7.04469011e-02, 8.25125235e-02},
6056  {1.45386532e-01, 7.29336764e-02, 8.52953436e-02},
6057  {1.50536608e-01, 7.53918162e-02, 8.80385793e-02},
6058  {1.55688036e-01, 7.78222467e-02, 9.07424959e-02},
6059  {1.60841582e-01, 8.02256210e-02, 9.34071441e-02},
6060  {1.65997414e-01, 8.26029302e-02, 9.60327923e-02},
6061  {1.71156234e-01, 8.49547419e-02, 9.86193846e-02},
6062  {1.76318204e-01, 8.72819357e-02, 1.01167075e-01},
6063  {1.81483900e-01, 8.95850555e-02, 1.03675746e-01},
6064  {1.86653425e-01, 9.18649272e-02, 1.06145482e-01},
6065  {1.91827351e-01, 9.41220038e-02, 1.08576054e-01},
6066  {1.97005671e-01, 9.63571069e-02, 1.10967514e-01},
6067  {2.02188847e-01, 9.85706910e-02, 1.13319597e-01},
6068  {2.07376987e-01, 1.00763426e-01, 1.15632203e-01},
6069  {2.12570219e-01, 1.02935942e-01, 1.17905181e-01},
6070  {2.17768918e-01, 1.05088657e-01, 1.20138181e-01},
6071  {2.22973068e-01, 1.07222249e-01, 1.22331066e-01},
6072  {2.28182775e-01, 1.09337286e-01, 1.24483588e-01},
6073  {2.33398171e-01, 1.11434291e-01, 1.26595440e-01},
6074  {2.38619448e-01, 1.13513724e-01, 1.28666239e-01},
6075  {2.43846529e-01, 1.15576226e-01, 1.30695759e-01},
6076  {2.49079460e-01, 1.17622332e-01, 1.32683657e-01},
6077  {2.54318260e-01, 1.19652578e-01, 1.34629577e-01},
6078  {2.59562928e-01, 1.21667505e-01, 1.36533148e-01},
6079  {2.64813442e-01, 1.23667656e-01, 1.38393988e-01},
6080  {2.70069756e-01, 1.25653580e-01, 1.40211703e-01},
6081  {2.75331803e-01, 1.27625835e-01, 1.41985890e-01},
6082  {2.80599494e-01, 1.29584983e-01, 1.43716137e-01},
6083  {2.85872717e-01, 1.31531598e-01, 1.45402025e-01},
6084  {2.91151339e-01, 1.33466264e-01, 1.47043129e-01},
6085  {2.96435206e-01, 1.35389575e-01, 1.48639022e-01},
6086  {3.01724140e-01, 1.37302137e-01, 1.50189271e-01},
6087  {3.07017942e-01, 1.39204570e-01, 1.51693441e-01},
6088  {3.12316392e-01, 1.41097508e-01, 1.53151101e-01},
6089  {3.17619276e-01, 1.42981578e-01, 1.54561785e-01},
6090  {3.22926417e-01, 1.44857371e-01, 1.55924965e-01},
6091  {3.28237424e-01, 1.46725651e-01, 1.57240321e-01},
6092  {3.33551986e-01, 1.48587117e-01, 1.58507432e-01},
6093  {3.38869899e-01, 1.50442384e-01, 1.59725736e-01},
6094  {3.44190755e-01, 1.52292228e-01, 1.60894879e-01},
6095  {3.49514112e-01, 1.54137453e-01, 1.62014539e-01},
6096  {3.54839798e-01, 1.55978652e-01, 1.63084046e-01},
6097  {3.60167172e-01, 1.57816792e-01, 1.64103290e-01},
6098  {3.65495983e-01, 1.59652533e-01, 1.65071661e-01},
6099  {3.70825630e-01, 1.61486816e-01, 1.65988979e-01},
6100  {3.76155790e-01, 1.63320362e-01, 1.66854691e-01},
6101  {3.81485801e-01, 1.65154171e-01, 1.67668687e-01},
6102  {3.86815321e-01, 1.66988983e-01, 1.68430400e-01},
6103  {3.92143672e-01, 1.68825817e-01, 1.69139733e-01},
6104  {3.97470300e-01, 1.70665596e-01, 1.69796407e-01},
6105  {4.02794733e-01, 1.72509174e-01, 1.70400001e-01},
6106  {4.08116246e-01, 1.74357619e-01, 1.70950482e-01},
6107  {4.13434223e-01, 1.76211913e-01, 1.71447650e-01},
6108  {4.18748034e-01, 1.78073048e-01, 1.71891317e-01},
6109  {4.24057053e-01, 1.79942020e-01, 1.72281288e-01},
6110  {4.29360527e-01, 1.81819926e-01, 1.72617585e-01},
6111  {4.34657751e-01, 1.83707828e-01, 1.72900156e-01},
6112  {4.39947997e-01, 1.85606807e-01, 1.73128995e-01},
6113  {4.45230519e-01, 1.87517957e-01, 1.73304138e-01},
6114  {4.50504552e-01, 1.89442389e-01, 1.73425666e-01},
6115  {4.55769314e-01, 1.91381222e-01, 1.73493708e-01},
6116  {4.61024009e-01, 1.93335590e-01, 1.73508441e-01},
6117  {4.66267824e-01, 1.95306630e-01, 1.73470091e-01},
6118  {4.71499934e-01, 1.97295488e-01, 1.73378936e-01},
6119  {4.76719505e-01, 1.99303311e-01, 1.73235304e-01},
6120  {4.81925691e-01, 2.01331246e-01, 1.73039575e-01},
6121  {4.87117640e-01, 2.03380438e-01, 1.72792182e-01},
6122  {4.92294494e-01, 2.05452026e-01, 1.72493611e-01},
6123  {4.97455391e-01, 2.07547139e-01, 1.72144397e-01},
6124  {5.02599493e-01, 2.09666876e-01, 1.71745060e-01},
6125  {5.07725909e-01, 2.11812363e-01, 1.71296317e-01},
6126  {5.12833776e-01, 2.13984686e-01, 1.70798863e-01},
6127  {5.17922237e-01, 2.16184908e-01, 1.70253444e-01},
6128  {5.22990450e-01, 2.18414064e-01, 1.69660829e-01},
6129  {5.28037579e-01, 2.20673161e-01, 1.69021843e-01},
6130  {5.33062774e-01, 2.22963193e-01, 1.68337432e-01},
6131  {5.38065218e-01, 2.25285109e-01, 1.67608532e-01},
6132  {5.43044118e-01, 2.27639809e-01, 1.66836082e-01},
6133  {5.47998680e-01, 2.30028173e-01, 1.66021135e-01},
6134  {5.52928132e-01, 2.32451032e-01, 1.65164771e-01},
6135  {5.57831731e-01, 2.34909168e-01, 1.64268071e-01},
6136  {5.62708754e-01, 2.37403318e-01, 1.63332170e-01},
6137  {5.67558496e-01, 2.39934176e-01, 1.62358251e-01},
6138  {5.72380288e-01, 2.42502377e-01, 1.61347500e-01},
6139  {5.77173482e-01, 2.45108509e-01, 1.60301144e-01},
6140  {5.81937464e-01, 2.47753104e-01, 1.59220422e-01},
6141  {5.86671648e-01, 2.50436641e-01, 1.58106593e-01},
6142  {5.91375476e-01, 2.53159547e-01, 1.56960963e-01},
6143  {5.96048431e-01, 2.55922186e-01, 1.55784795e-01},
6144  {6.00690025e-01, 2.58724872e-01, 1.54579383e-01},
6145  {6.05299795e-01, 2.61567868e-01, 1.53346096e-01},
6146  {6.09877327e-01, 2.64451374e-01, 1.52086202e-01},
6147  {6.14422235e-01, 2.67375541e-01, 1.50801006e-01},
6148  {6.18934164e-01, 2.70340469e-01, 1.49491852e-01},
6149  {6.23412791e-01, 2.73346205e-01, 1.48160097e-01},
6150  {6.27857838e-01, 2.76392746e-01, 1.46806994e-01},
6151  {6.32269052e-01, 2.79480042e-01, 1.45433849e-01},
6152  {6.36646215e-01, 2.82607999e-01, 1.44041966e-01},
6153  {6.40989134e-01, 2.85776477e-01, 1.42632739e-01},
6154  {6.45297659e-01, 2.88985295e-01, 1.41207377e-01},
6155  {6.49571664e-01, 2.92234234e-01, 1.39767157e-01},
6156  {6.53811053e-01, 2.95523039e-01, 1.38313357e-01},
6157  {6.58015758e-01, 2.98851420e-01, 1.36847250e-01},
6158  {6.62185738e-01, 3.02219054e-01, 1.35370102e-01},
6159  {6.66320976e-01, 3.05625592e-01, 1.33883177e-01},
6160  {6.70421484e-01, 3.09070655e-01, 1.32387733e-01},
6161  {6.74487293e-01, 3.12553842e-01, 1.30885027e-01},
6162  {6.78518458e-01, 3.16074730e-01, 1.29376316e-01},
6163  {6.82515054e-01, 3.19632876e-01, 1.27862855e-01},
6164  {6.86477175e-01, 3.23227823e-01, 1.26345906e-01},
6165  {6.90404935e-01, 3.26859097e-01, 1.24826734e-01},
6166  {6.94298461e-01, 3.30526213e-01, 1.23306613e-01},
6167  {6.98157897e-01, 3.34228678e-01, 1.21786827e-01},
6168  {7.01983399e-01, 3.37965989e-01, 1.20268676e-01},
6169  {7.05775137e-01, 3.41737638e-01, 1.18753475e-01},
6170  {7.09533310e-01, 3.45543087e-01, 1.17242773e-01},
6171  {7.13258104e-01, 3.49381833e-01, 1.15737837e-01},
6172  {7.16949709e-01, 3.53253370e-01, 1.14239993e-01},
6173  {7.20608339e-01, 3.57157179e-01, 1.12750718e-01},
6174  {7.24234250e-01, 3.61092692e-01, 1.11271837e-01},
6175  {7.27827621e-01, 3.65059457e-01, 1.09804493e-01},
6176  {7.31388705e-01, 3.69056933e-01, 1.08350482e-01},
6177  {7.34917753e-01, 3.73084598e-01, 1.06911544e-01},
6178  {7.38414962e-01, 3.77141999e-01, 1.05489118e-01},
6179  {7.41880648e-01, 3.81228563e-01, 1.04085438e-01},
6180  {7.45314977e-01, 3.85343889e-01, 1.02701856e-01},
6181  {7.48718277e-01, 3.89487412e-01, 1.01340774e-01},
6182  {7.52090741e-01, 3.93658724e-01, 1.00003836e-01},
6183  {7.55432637e-01, 3.97857342e-01, 9.86932340e-02},
6184  {7.58744257e-01, 4.02082772e-01, 9.74113263e-02},
6185  {7.62025784e-01, 4.06334640e-01, 9.61599910e-02},
6186  {7.65277515e-01, 4.10612466e-01, 9.49417866e-02},
6187  {7.68499734e-01, 4.14915794e-01, 9.37592638e-02},
6188  {7.71692631e-01, 4.19244269e-01, 9.26146231e-02},
6189  {7.74856461e-01, 4.23597480e-01, 9.15104700e-02},
6190  {7.77991478e-01, 4.27975026e-01, 9.04494842e-02},
6191  {7.81097999e-01, 4.32376459e-01, 8.94346788e-02},
6192  {7.84176206e-01, 4.36801463e-01, 8.84685728e-02},
6193  {7.87226341e-01, 4.41249676e-01, 8.75540097e-02},
6194  {7.90248648e-01, 4.45720742e-01, 8.66938986e-02},
6195  {7.93243365e-01, 4.50214316e-01, 8.58911823e-02},
6196  {7.96210730e-01, 4.54730066e-01, 8.51488247e-02},
6197  {7.99150975e-01, 4.59267669e-01, 8.44697961e-02},
6198  {8.02064329e-01, 4.63826814e-01, 8.38570574e-02},
6199  {8.04951015e-01, 4.68407202e-01, 8.33135422e-02},
6200  {8.07811252e-01, 4.73008544e-01, 8.28421385e-02},
6201  {8.10645255e-01, 4.77630563e-01, 8.24456683e-02},
6202  {8.13453293e-01, 4.82272944e-01, 8.21270520e-02},
6203  {8.16235580e-01, 4.86935423e-01, 8.18889382e-02},
6204  {8.18992270e-01, 4.91617793e-01, 8.17336794e-02},
6205  {8.21723559e-01, 4.96319820e-01, 8.16636252e-02},
6206  {8.24429634e-01, 5.01041277e-01, 8.16809565e-02},
6207  {8.27110882e-01, 5.05781794e-01, 8.17882158e-02},
6208  {8.29767327e-01, 5.10541287e-01, 8.19867447e-02},
6209  {8.32399121e-01, 5.15319577e-01, 8.22780547e-02},
6210  {8.35006656e-01, 5.20116310e-01, 8.26640340e-02},
6211  {8.37589979e-01, 5.24931398e-01, 8.31454551e-02},
6212  {8.40149219e-01, 5.29764695e-01, 8.37230852e-02},
6213  {8.42684814e-01, 5.34615834e-01, 8.43981411e-02},
6214  {8.45196602e-01, 5.39484893e-01, 8.51702373e-02},
6215  {8.47685129e-01, 5.44371438e-01, 8.60403002e-02},
6216  {8.50150204e-01, 5.49275574e-01, 8.70074521e-02},
6217  {8.52592360e-01, 5.54196890e-01, 8.80720629e-02},
6218  {8.55011374e-01, 5.59135521e-01, 8.92327980e-02},
6219  {8.57407880e-01, 5.64090997e-01, 9.04897298e-02},
6220  {8.59781612e-01, 5.69063487e-01, 9.18410925e-02},
6221  {8.62132991e-01, 5.74052684e-01, 9.32861675e-02},
6222  {8.64462123e-01, 5.79058503e-01, 9.48235248e-02},
6223  {8.66769006e-01, 5.84080937e-01, 9.64514470e-02},
6224  {8.69054105e-01, 5.89119666e-01, 9.81687919e-02},
6225  {8.71317373e-01, 5.94174723e-01, 9.99735453e-02},
6226  {8.73558893e-01, 5.99246049e-01, 1.01863830e-01},
6227  {8.75778943e-01, 6.04333465e-01, 1.03837949e-01},
6228  {8.77977766e-01, 6.09436823e-01, 1.05894083e-01},
6229  {8.80155313e-01, 6.14556159e-01, 1.08030036e-01},
6230  {8.82311743e-01, 6.19691387e-01, 1.10243848e-01},
6231  {8.84447208e-01, 6.24842421e-01, 1.12533541e-01},
6232  {8.86561983e-01, 6.30009105e-01, 1.14897254e-01},
6233  {8.88656165e-01, 6.35191401e-01, 1.17332953e-01},
6234  {8.90729806e-01, 6.40389298e-01, 1.19838596e-01},
6235  {8.92783048e-01, 6.45602733e-01, 1.22412261e-01},
6236  {8.94816027e-01, 6.50831649e-01, 1.25052057e-01},
6237  {8.96828879e-01, 6.56075994e-01, 1.27756136e-01},
6238  {8.98821736e-01, 6.61335720e-01, 1.30522692e-01},
6239  {9.00794725e-01, 6.66610785e-01, 1.33349970e-01},
6240  {9.02747973e-01, 6.71901150e-01, 1.36236264e-01},
6241  {9.04681602e-01, 6.77206783e-01, 1.39179925e-01},
6242  {9.06595729e-01, 6.82527656e-01, 1.42179360e-01},
6243  {9.08490471e-01, 6.87863744e-01, 1.45233030e-01},
6244  {9.10365937e-01, 6.93215029e-01, 1.48339456e-01},
6245  {9.12222237e-01, 6.98581497e-01, 1.51497216e-01},
6246  {9.14059474e-01, 7.03963136e-01, 1.54704945e-01},
6247  {9.15877749e-01, 7.09359942e-01, 1.57961334e-01},
6248  {9.17677158e-01, 7.14771913e-01, 1.61265130e-01},
6249  {9.19457794e-01, 7.20199053e-01, 1.64615135e-01},
6250  {9.21219887e-01, 7.25641293e-01, 1.68010245e-01},
6251  {9.22963546e-01, 7.31098632e-01, 1.71449361e-01},
6252  {9.24688722e-01, 7.36571158e-01, 1.74931397e-01},
6253  {9.26395493e-01, 7.42058890e-01, 1.78455353e-01},
6254  {9.28083929e-01, 7.47561853e-01, 1.82020279e-01},
6255  {9.29754237e-01, 7.53080003e-01, 1.85625294e-01},
6256  {9.31406685e-01, 7.58613271e-01, 1.89269561e-01},
6257  {9.33041031e-01, 7.64161849e-01, 1.92952193e-01},
6258  {9.34657330e-01, 7.69725777e-01, 1.96672407e-01},
6259  {9.36255901e-01, 7.75304965e-01, 2.00429488e-01},
6260  {9.37836877e-01, 7.80899421e-01, 2.04222720e-01},
6261  {9.39399985e-01, 7.86509354e-01, 2.08051387e-01},
6262  {9.40945427e-01, 7.92134740e-01, 2.11914857e-01},
6263  {9.42473642e-01, 7.97775442e-01, 2.15812532e-01},
6264  {9.43984129e-01, 8.03431784e-01, 2.19743786e-01},
6265  {9.45477230e-01, 8.09103677e-01, 2.23708074e-01},
6266  {9.46953174e-01, 8.14791098e-01, 2.27704861e-01},
6267  {9.48411483e-01, 8.20494354e-01, 2.31733624e-01},
6268  {9.49852929e-01, 8.26213166e-01, 2.35793883e-01},
6269  {9.51276961e-01, 8.31947880e-01, 2.39885169e-01},
6270  {9.52683858e-01, 8.37698450e-01, 2.44007037e-01},
6271  {9.54073766e-01, 8.43464899e-01, 2.48159058e-01},
6272  {9.55446349e-01, 8.49247470e-01, 2.52340842e-01},
6273  {9.56802246e-01, 8.55045963e-01, 2.56551973e-01},
6274  {9.58140717e-01, 8.60860804e-01, 2.60792124e-01},
6275  {9.59462672e-01, 8.66691679e-01, 2.65060887e-01},
6276  {9.60767194e-01, 8.72539089e-01, 2.69357991e-01}
6277 };
6278 
6279 // https://github.com/1313e/CMasher
6280 const int RGB_Palette_42_Size = 511; // viola
6282 {
6283  {0.11138401, 0.02669949, 0.18994576},
6284  {0.11630584, 0.02843274, 0.19596041},
6285  {0.12122371, 0.03017008, 0.20200385},
6286  {0.12613965, 0.03190505, 0.20808061},
6287  {0.13105245, 0.03363619, 0.21418972},
6288  {0.13596355, 0.03535760, 0.22033503},
6289  {0.14087256, 0.03706639, 0.22651726},
6290  {0.14577938, 0.03875900, 0.23273789},
6291  {0.15068450, 0.04043075, 0.23899957},
6292  {0.15558810, 0.04203151, 0.24530468},
6293  {0.16048964, 0.04356923, 0.25165440},
6294  {0.16538900, 0.04504430, 0.25805096},
6295  {0.17028593, 0.04645678, 0.26449657},
6296  {0.17518003, 0.04780676, 0.27099345},
6297  {0.18007074, 0.04909437, 0.27754379},
6298  {0.18495762, 0.05031912, 0.28415040},
6299  {0.18984008, 0.05148049, 0.29081625},
6300  {0.19471647, 0.05258010, 0.29754239},
6301  {0.19958618, 0.05361678, 0.30433270},
6302  {0.20444751, 0.05459151, 0.31118919},
6303  {0.20929922, 0.05550376, 0.31811564},
6304  {0.21413882, 0.05635561, 0.32511367},
6305  {0.21896421, 0.05714769, 0.33218672},
6306  {0.22377274, 0.05788148, 0.33933794},
6307  {0.22856112, 0.05855955, 0.34657012},
6308  {0.23332527, 0.05918597, 0.35388549},
6309  {0.23806040, 0.05976622, 0.36128589},
6310  {0.24276170, 0.06030484, 0.36877533},
6311  {0.24742193, 0.06081291, 0.37635309},
6312  {0.25203344, 0.06130190, 0.38401992},
6313  {0.25658695, 0.06178750, 0.39177471},
6314  {0.26107122, 0.06229107, 0.39961346},
6315  {0.26547353, 0.06283783, 0.40753129},
6316  {0.26977818, 0.06346323, 0.41551642},
6317  {0.27396773, 0.06420866, 0.42355414},
6318  {0.27802236, 0.06512511, 0.43162229},
6319  {0.28192067, 0.06627120, 0.43969143},
6320  {0.28564067, 0.06771084, 0.44772416},
6321  {0.28916153, 0.06950790, 0.45567615},
6322  {0.29246553, 0.07171986, 0.46349748},
6323  {0.29554035, 0.07438845, 0.47113807},
6324  {0.29838062, 0.07753367, 0.47855166},
6325  {0.30098832, 0.08115027, 0.48570117},
6326  {0.30337211, 0.08520982, 0.49256135},
6327  {0.30554562, 0.08966644, 0.49911944},
6328  {0.30752549, 0.09446421, 0.50537395},
6329  {0.30932949, 0.09954425, 0.51133228},
6330  {0.31097525, 0.10484997, 0.51700784},
6331  {0.31247949, 0.11033024, 0.52241746},
6332  {0.31385726, 0.11594089, 0.52757996},
6333  {0.31512203, 0.12164498, 0.53251446},
6334  {0.31628568, 0.12741224, 0.53723953},
6335  {0.31735854, 0.13321839, 0.54177283},
6336  {0.31835001, 0.13904386, 0.54613054},
6337  {0.31926756, 0.14487382, 0.55032795},
6338  {0.32011852, 0.15069617, 0.55437862},
6339  {0.32090857, 0.15650214, 0.55829515},
6340  {0.32164315, 0.16228476, 0.56208877},
6341  {0.32232701, 0.16803883, 0.56576971},
6342  {0.32296429, 0.17376059, 0.56934720},
6343  {0.32355864, 0.17944737, 0.57282963},
6344  {0.32411325, 0.18509739, 0.57622458},
6345  {0.32463109, 0.19070950, 0.57953893},
6346  {0.32511520, 0.19628275, 0.58277894},
6347  {0.32556731, 0.20181740, 0.58595028},
6348  {0.32599029, 0.20731304, 0.58905819},
6349  {0.32638545, 0.21277047, 0.59210735},
6350  {0.32675517, 0.21818982, 0.59510216},
6351  {0.32710078, 0.22357199, 0.59804657},
6352  {0.32742372, 0.22891779, 0.60094423},
6353  {0.32772546, 0.23422805, 0.60379849},
6354  {0.32800753, 0.23950350, 0.60661251},
6355  {0.32827086, 0.24474529, 0.60938909},
6356  {0.32851655, 0.24995439, 0.61213087},
6357  {0.32874562, 0.25513180, 0.61484030},
6358  {0.32895901, 0.26027851, 0.61751963},
6359  {0.32915760, 0.26539554, 0.62017096},
6360  {0.32934219, 0.27048388, 0.62279622},
6361  {0.32951352, 0.27554451, 0.62539722},
6362  {0.32967230, 0.28057842, 0.62797564},
6363  {0.32981935, 0.28558646, 0.63053307},
6364  {0.32995511, 0.29056966, 0.63307091},
6365  {0.33008013, 0.29552896, 0.63559052},
6366  {0.33019492, 0.30046524, 0.63809313},
6367  {0.33030002, 0.30537937, 0.64057992},
6368  {0.33039611, 0.31027209, 0.64305205},
6369  {0.33048336, 0.31514436, 0.64551044},
6370  {0.33056217, 0.31999699, 0.64795602},
6371  {0.33063313, 0.32483066, 0.65038975},
6372  {0.33069649, 0.32964620, 0.65281239},
6373  {0.33075249, 0.33444438, 0.65522465},
6374  {0.33080168, 0.33922584, 0.65762731},
6375  {0.33084419, 0.34399134, 0.66002095},
6376  {0.33088029, 0.34874158, 0.66240616},
6377  {0.33091044, 0.35347713, 0.66478356},
6378  {0.33093467, 0.35819875, 0.66715355},
6379  {0.33095340, 0.36290697, 0.66951665},
6380  {0.33096677, 0.36760245, 0.67187325},
6381  {0.33097501, 0.37228577, 0.67422372},
6382  {0.33097842, 0.37695748, 0.67656841},
6383  {0.33097710, 0.38161819, 0.67890758},
6384  {0.33097139, 0.38626838, 0.68124155},
6385  {0.33096137, 0.39090862, 0.68357049},
6386  {0.33094738, 0.39553939, 0.68589463},
6387  {0.33092952, 0.40016122, 0.68821410},
6388  {0.33090807, 0.40477455, 0.69052904},
6389  {0.33088322, 0.40937987, 0.69283954},
6390  {0.33085521, 0.41397764, 0.69514566},
6391  {0.33082428, 0.41856828, 0.69744743},
6392  {0.33079066, 0.42315222, 0.69974485},
6393  {0.33075463, 0.42772987, 0.70203789},
6394  {0.33071647, 0.43230164, 0.70432650},
6395  {0.33067647, 0.43686790, 0.70661057},
6396  {0.33063497, 0.44142902, 0.70888999},
6397  {0.33059226, 0.44598538, 0.71116461},
6398  {0.33054882, 0.45053728, 0.71343427},
6399  {0.33050491, 0.45508511, 0.71569871},
6400  {0.33046115, 0.45962913, 0.71795776},
6401  {0.33041781, 0.46416971, 0.72021108},
6402  {0.33037561, 0.46870707, 0.72245843},
6403  {0.33033499, 0.47324154, 0.72469945},
6404  {0.33029663, 0.47777335, 0.72693378},
6405  {0.33026124, 0.48230276, 0.72916105},
6406  {0.33022942, 0.48683003, 0.73138079},
6407  {0.33020219, 0.49135531, 0.73359262},
6408  {0.33018021, 0.49587889, 0.73579597},
6409  {0.33016456, 0.50040091, 0.73799036},
6410  {0.33015640, 0.50492150, 0.74017529},
6411  {0.33015652, 0.50944094, 0.74235001},
6412  {0.33016648, 0.51395924, 0.74451405},
6413  {0.33018763, 0.51847654, 0.74666673},
6414  {0.33022112, 0.52299303, 0.74880723},
6415  {0.33026881, 0.52750870, 0.75093493},
6416  {0.33033245, 0.53202361, 0.75304905},
6417  {0.33041385, 0.53653780, 0.75514877},
6418  {0.33051483, 0.54105136, 0.75723312},
6419  {0.33063782, 0.54556419, 0.75930132},
6420  {0.33078520, 0.55007627, 0.76135243},
6421  {0.33095951, 0.55458753, 0.76338544},
6422  {0.33116353, 0.55909787, 0.76539934},
6423  {0.33140020, 0.56360719, 0.76739302},
6424  {0.33167268, 0.56811535, 0.76936532},
6425  {0.33198457, 0.57262211, 0.77131513},
6426  {0.33233962, 0.57712725, 0.77324124},
6427  {0.33274186, 0.58163048, 0.77514237},
6428  {0.33319562, 0.58613150, 0.77701722},
6429  {0.33370556, 0.59062994, 0.77886443},
6430  {0.33427662, 0.59512540, 0.78068255},
6431  {0.33491406, 0.59961743, 0.78247010},
6432  {0.33562372, 0.60410547, 0.78422564},
6433  {0.33641171, 0.60858894, 0.78594765},
6434  {0.33728457, 0.61306716, 0.78763459},
6435  {0.33824910, 0.61753946, 0.78928477},
6436  {0.33931249, 0.62200507, 0.79089643},
6437  {0.34048286, 0.62646302, 0.79246820},
6438  {0.34176815, 0.63091242, 0.79399821},
6439  {0.34317705, 0.63535220, 0.79548484},
6440  {0.34471872, 0.63978118, 0.79692655},
6441  {0.34640249, 0.64419817, 0.79832162},
6442  {0.34823828, 0.64860177, 0.79966860},
6443  {0.35023639, 0.65299050, 0.80096621},
6444  {0.35240696, 0.65736289, 0.80221273},
6445  {0.35476094, 0.66171715, 0.80340742},
6446  {0.35730905, 0.66605153, 0.80454930},
6447  {0.36006205, 0.67036412, 0.80563769},
6448  {0.36303051, 0.67465296, 0.80667226},
6449  {0.36622473, 0.67891598, 0.80765298},
6450  {0.36965449, 0.68315103, 0.80858050},
6451  {0.37332879, 0.68735594, 0.80945583},
6452  {0.37725565, 0.69152854, 0.81028057},
6453  {0.38144179, 0.69566668, 0.81105701},
6454  {0.38589243, 0.69976829, 0.81178814},
6455  {0.39061094, 0.70383141, 0.81247768},
6456  {0.39559867, 0.70785428, 0.81313008},
6457  {0.40085473, 0.71183537, 0.81375048},
6458  {0.40637584, 0.71577343, 0.81434474},
6459  {0.41215626, 0.71966756, 0.81491933},
6460  {0.41818783, 0.72351722, 0.81548120},
6461  {0.42446014, 0.72732228, 0.81603761},
6462  {0.43096069, 0.73108304, 0.81659606},
6463  {0.43767520, 0.73480020, 0.81716407},
6464  {0.44458799, 0.73847485, 0.81774903},
6465  {0.45168236, 0.74210845, 0.81835806},
6466  {0.45894105, 0.74570279, 0.81899783},
6467  {0.46634662, 0.74925990, 0.81967446},
6468  {0.47388188, 0.75278203, 0.82039341},
6469  {0.48153025, 0.75627154, 0.82115944},
6470  {0.48927559, 0.75973094, 0.82197684},
6471  {0.49710255, 0.76316282, 0.82284942},
6472  {0.50499805, 0.76656958, 0.82377935},
6473  {0.51294815, 0.76995391, 0.82476983},
6474  {0.52094213, 0.77331809, 0.82582191},
6475  {0.52896959, 0.77666450, 0.82693685},
6476  {0.53702081, 0.77999544, 0.82811581},
6477  {0.54508743, 0.78331310, 0.82935933},
6478  {0.55316270, 0.78661943, 0.83066727},
6479  {0.56124038, 0.78991633, 0.83203948},
6480  {0.56931446, 0.79320572, 0.83347602},
6481  {0.57738057, 0.79648922, 0.83497618},
6482  {0.58543520, 0.79976832, 0.83653902},
6483  {0.59347520, 0.80304444, 0.83816366},
6484  {0.60149600, 0.80631930, 0.83985030},
6485  {0.60949780, 0.80959366, 0.84159649},
6486  {0.61747594, 0.81286927, 0.84340291},
6487  {0.62543124, 0.81614675, 0.84526715},
6488  {0.63336132, 0.81942736, 0.84718888},
6489  {0.64126483, 0.82271216, 0.84916731},
6490  {0.64914193, 0.82600186, 0.85120091},
6491  {0.65699192, 0.82929734, 0.85328879},
6492  {0.66481429, 0.83259942, 0.85543006},
6493  {0.67260878, 0.83590887, 0.85762378},
6494  {0.68037529, 0.83922639, 0.85986905},
6495  {0.68811387, 0.84255265, 0.86216492},
6496  {0.69582471, 0.84588824, 0.86451049},
6497  {0.70350814, 0.84923374, 0.86690483},
6498  {0.71116455, 0.85258966, 0.86934706},
6499  {0.71879446, 0.85595650, 0.87183627},
6500  {0.72639742, 0.85933496, 0.87437213},
6501  {0.73397405, 0.86272548, 0.87695378},
6502  {0.74152578, 0.86612825, 0.87958001},
6503  {0.74905216, 0.86954396, 0.88225059},
6504  {0.75655360, 0.87297306, 0.88496491},
6505  {0.76403187, 0.87641559, 0.88772171},
6506  {0.77148527, 0.87987258, 0.89052147},
6507  {0.77891692, 0.88334365, 0.89336233},
6508  {0.78632472, 0.88682992, 0.89624501},
6509  {0.79371145, 0.89033111, 0.89916789},
6510  {0.80107621, 0.89384796, 0.90213114},
6511  {0.80841988, 0.89738070, 0.90513410},
6512  {0.81574379, 0.90092943, 0.90817593},
6513  {0.82304670, 0.90449497, 0.91125697},
6514  {0.83033023, 0.90807731, 0.91437629},
6515  {0.83759510, 0.91167669, 0.91753337},
6516  {0.84484145, 0.91529351, 0.92072797},
6517  {0.85206864, 0.91892841, 0.92396022},
6518  {0.85927824, 0.92258135, 0.92722925},
6519  {0.86647054, 0.92625267, 0.93053477},
6520  {0.87364582, 0.92994270, 0.93387654},
6521  {0.88080434, 0.93365179, 0.93725430},
6522  {0.88794635, 0.93738028, 0.94066779},
6523  {0.89507189, 0.94112856, 0.94411689},
6524  {0.90218116, 0.94489699, 0.94760135},
6525  {0.90927462, 0.94868582, 0.95112086},
6526  {0.91635237, 0.95249543, 0.95467523},
6527  {0.92341450, 0.95632620, 0.95826430},
6528  {0.93046101, 0.96017851, 0.96188789},
6529  {0.93749188, 0.96405279, 0.96554587},
6530  {0.94450698, 0.96794949, 0.96923810},
6531  {0.95150590, 0.97186913, 0.97296456},
6532  {0.95848829, 0.97581226, 0.97672516},
6533  {0.96545389, 0.97977938, 0.98051973},
6534  {0.97240208, 0.98377110, 0.98434820},
6535  {0.97933207, 0.98778813, 0.98821051},
6536  {0.98624277, 0.99183128, 0.99210660},
6537  {0.99313272, 0.99590152, 0.99603643},
6538  {1.00000000, 1.00000000, 1.00000000},
6539  {0.99651279, 0.99457267, 0.99605330},
6540  {0.99295334, 0.98919689, 0.99211967},
6541  {0.98932435, 0.98386929, 0.98822156},
6542  {0.98563710, 0.97858296, 0.98438205},
6543  {0.98190830, 0.97332938, 0.98061866},
6544  {0.97815979, 0.96809863, 0.97694203},
6545  {0.97441507, 0.96288076, 0.97335603},
6546  {0.97069299, 0.95766849, 0.96985624},
6547  {0.96700845, 0.95245638, 0.96643513},
6548  {0.96337244, 0.94724054, 0.96308497},
6549  {0.95978968, 0.94201980, 0.95979570},
6550  {0.95626344, 0.93679325, 0.95656031},
6551  {0.95279443, 0.93156093, 0.95337247},
6552  {0.94938114, 0.92632374, 0.95022607},
6553  {0.94602365, 0.92108154, 0.94711876},
6554  {0.94271865, 0.91583587, 0.94404559},
6555  {0.93946518, 0.91058689, 0.94100512},
6556  {0.93626095, 0.90533547, 0.93799495},
6557  {0.93310402, 0.90008221, 0.93501341},
6558  {0.92999326, 0.89482732, 0.93205984},
6559  {0.92692614, 0.88957170, 0.92913222},
6560  {0.92390249, 0.88431502, 0.92623104},
6561  {0.92091949, 0.87905837, 0.92335402},
6562  {0.91797763, 0.87380105, 0.92050229},
6563  {0.91507404, 0.86854419, 0.91767352},
6564  {0.91220953, 0.86328695, 0.91486902},
6565  {0.90938150, 0.85803032, 0.91208670},
6566  {0.90659062, 0.85277353, 0.90932766},
6567  {0.90383493, 0.84751726, 0.90659035},
6568  {0.90111453, 0.84226104, 0.90387522},
6569  {0.89842849, 0.83700500, 0.90118166},
6570  {0.89577587, 0.83174925, 0.89850906},
6571  {0.89315720, 0.82649314, 0.89585812},
6572  {0.89057044, 0.82123736, 0.89322714},
6573  {0.88801673, 0.81598094, 0.89061734},
6574  {0.88549454, 0.81072431, 0.88802744},
6575  {0.88300327, 0.80546743, 0.88545701},
6576  {0.88054402, 0.80020928, 0.88290716},
6577  {0.87811483, 0.79495059, 0.88037614},
6578  {0.87571567, 0.78969098, 0.87786399},
6579  {0.87334737, 0.78442958, 0.87537150},
6580  {0.87100825, 0.77916694, 0.87289716},
6581  {0.86869808, 0.77390280, 0.87044077},
6582  {0.86641783, 0.76863621, 0.86800316},
6583  {0.86416627, 0.76336745, 0.86558323},
6584  {0.86194295, 0.75809639, 0.86318050},
6585  {0.85974766, 0.75282271, 0.86079476},
6586  {0.85758121, 0.74754554, 0.85842661},
6587  {0.85544254, 0.74226507, 0.85607506},
6588  {0.85333129, 0.73698107, 0.85373967},
6589  {0.85124729, 0.73169321, 0.85142019},
6590  {0.84919036, 0.72640114, 0.84911633},
6591  {0.84716058, 0.72110440, 0.84682801},
6592  {0.84515800, 0.71580247, 0.84455512},
6593  {0.84318193, 0.71049530, 0.84229690},
6594  {0.84123219, 0.70518254, 0.84005301},
6595  {0.83930863, 0.69986380, 0.83782312},
6596  {0.83741109, 0.69453869, 0.83560689},
6597  {0.83553939, 0.68920682, 0.83340395},
6598  {0.83369338, 0.68386778, 0.83121390},
6599  {0.83187287, 0.67852116, 0.82903636},
6600  {0.83007770, 0.67316655, 0.82687091},
6601  {0.82830769, 0.66780353, 0.82471710},
6602  {0.82656264, 0.66243165, 0.82257448},
6603  {0.82484238, 0.65705050, 0.82044255},
6604  {0.82314670, 0.65165962, 0.81832083},
6605  {0.82147539, 0.64625857, 0.81620877},
6606  {0.81982831, 0.64084683, 0.81410588},
6607  {0.81820602, 0.63542346, 0.81201217},
6608  {0.81660754, 0.62998844, 0.80992647},
6609  {0.81503263, 0.62454131, 0.80784811},
6610  {0.81348102, 0.61908158, 0.80577642},
6611  {0.81195295, 0.61360845, 0.80371107},
6612  {0.81044872, 0.60812102, 0.80165175},
6613  {0.80896705, 0.60261944, 0.79959694},
6614  {0.80750784, 0.59710307, 0.79754597},
6615  {0.80607236, 0.59157031, 0.79549913},
6616  {0.80465854, 0.58602181, 0.79345426},
6617  {0.80326733, 0.58045616, 0.79141135},
6618  {0.80189818, 0.57487292, 0.78936925},
6619  {0.80055066, 0.56927159, 0.78732688},
6620  {0.79922505, 0.56365113, 0.78528362},
6621  {0.79792067, 0.55801115, 0.78323812},
6622  {0.79663727, 0.55235096, 0.78118929},
6623  {0.79537530, 0.54666931, 0.77913647},
6624  {0.79413326, 0.54096635, 0.77707762},
6625  {0.79291197, 0.53524054, 0.77501220},
6626  {0.79171097, 0.52949121, 0.77293875},
6627  {0.79052936, 0.52371801, 0.77085549},
6628  {0.78936697, 0.51792004, 0.76876103},
6629  {0.78822356, 0.51209640, 0.76665385},
6630  {0.78709931, 0.50624585, 0.76453263},
6631  {0.78599327, 0.50036798, 0.76239525},
6632  {0.78490498, 0.49446198, 0.76023983},
6633  {0.78383399, 0.48852703, 0.75806439},
6634  {0.78277976, 0.48256230, 0.75586683},
6635  {0.78174219, 0.47656663, 0.75364514},
6636  {0.78072052, 0.47053932, 0.75139686},
6637  {0.77971380, 0.46447985, 0.74911932},
6638  {0.77872116, 0.45838757, 0.74680980},
6639  {0.77774249, 0.45226120, 0.74446580},
6640  {0.77677689, 0.44610008, 0.74208428},
6641  {0.77582269, 0.43990422, 0.73966173},
6642  {0.77488027, 0.43367180, 0.73719540},
6643  {0.77394729, 0.42740341, 0.73468119},
6644  {0.77302307, 0.42109815, 0.73211556},
6645  {0.77210681, 0.41475523, 0.72949473},
6646  {0.77119639, 0.40837505, 0.72681422},
6647  {0.77029043, 0.40195737, 0.72406970},
6648  {0.76938735, 0.39550218, 0.72125655},
6649  {0.76848530, 0.38900973, 0.71836989},
6650  {0.76758217, 0.38248060, 0.71540459},
6651  {0.76667560, 0.37591567, 0.71235530},
6652  {0.76576298, 0.36931620, 0.70921645},
6653  {0.76484255, 0.36268265, 0.70598248},
6654  {0.76391008, 0.35601815, 0.70264727},
6655  {0.76296333, 0.34932397, 0.69920494},
6656  {0.76199799, 0.34260370, 0.69564932},
6657  {0.76101097, 0.33585991, 0.69197435},
6658  {0.75999801, 0.32909662, 0.68817393},
6659  {0.75895465, 0.32231841, 0.68424218},
6660  {0.75787635, 0.31553025, 0.68017342},
6661  {0.75675826, 0.30873782, 0.67596237},
6662  {0.75559539, 0.30194734, 0.67160418},
6663  {0.75438284, 0.29516537, 0.66709455},
6664  {0.75311490, 0.28839979, 0.66243012},
6665  {0.75178649, 0.28165822, 0.65760819},
6666  {0.75039239, 0.27494887, 0.65262711},
6667  {0.74892756, 0.26828019, 0.64748627},
6668  {0.74738705, 0.26166089, 0.64218628},
6669  {0.74576659, 0.25509928, 0.63672872},
6670  {0.74406206, 0.24860376, 0.63111651},
6671  {0.74226991, 0.24218234, 0.62535367},
6672  {0.74038720, 0.23584244, 0.61944523},
6673  {0.73841159, 0.22959089, 0.61339718},
6674  {0.73634138, 0.22343379, 0.60721632},
6675  {0.73417548, 0.21737647, 0.60091011},
6676  {0.73191343, 0.21142341, 0.59448655},
6677  {0.72955534, 0.20557825, 0.58795396},
6678  {0.72710185, 0.19984378, 0.58132089},
6679  {0.72455408, 0.19422203, 0.57459594},
6680  {0.72191353, 0.18871428, 0.56778764},
6681  {0.71918207, 0.18332113, 0.56090439},
6682  {0.71636182, 0.17804261, 0.55395435},
6683  {0.71345514, 0.17287823, 0.54694533},
6684  {0.71046452, 0.16782704, 0.53988482},
6685  {0.70739256, 0.16288778, 0.53277991},
6686  {0.70424194, 0.15805887, 0.52563728},
6687  {0.70101532, 0.15333854, 0.51846324},
6688  {0.69771539, 0.14872485, 0.51126365},
6689  {0.69434476, 0.14421578, 0.50404407},
6690  {0.69090599, 0.13980924, 0.49680957},
6691  {0.68740160, 0.13550312, 0.48956488},
6692  {0.68383396, 0.13129538, 0.48231439},
6693  {0.68020538, 0.12718398, 0.47506230},
6694  {0.67651804, 0.12316702, 0.46781232},
6695  {0.67277403, 0.11924270, 0.46056795},
6696  {0.66897531, 0.11540930, 0.45333258},
6697  {0.66512374, 0.11166532, 0.44610916},
6698  {0.66122104, 0.10800938, 0.43890055},
6699  {0.65726885, 0.10444028, 0.43170947},
6700  {0.65326868, 0.10095703, 0.42453832},
6701  {0.64922193, 0.09755882, 0.41738951},
6702  {0.64512991, 0.09424507, 0.41026521},
6703  {0.64099380, 0.09101541, 0.40316752},
6704  {0.63681472, 0.08786969, 0.39609844},
6705  {0.63259366, 0.08480802, 0.38905987},
6706  {0.62833154, 0.08183073, 0.38205363},
6707  {0.62402916, 0.07893840, 0.37508149},
6708  {0.61968727, 0.07613188, 0.36814517},
6709  {0.61530651, 0.07341226, 0.36124635},
6710  {0.61088745, 0.07078087, 0.35438670},
6711  {0.60643058, 0.06823934, 0.34756782},
6712  {0.60193631, 0.06578946, 0.34079141},
6713  {0.59740499, 0.06343336, 0.33405903},
6714  {0.59283687, 0.06117329, 0.32737240},
6715  {0.58823217, 0.05901171, 0.32073323},
6716  {0.58359100, 0.05695140, 0.31414312},
6717  {0.57891345, 0.05499505, 0.30760396},
6718  {0.57419952, 0.05314552, 0.30111757},
6719  {0.56944915, 0.05140588, 0.29468575},
6720  {0.56466224, 0.04977894, 0.28831055},
6721  {0.55983864, 0.04826751, 0.28199404},
6722  {0.55497814, 0.04687425, 0.27573840},
6723  {0.55008047, 0.04560157, 0.26954588},
6724  {0.54514535, 0.04445164, 0.26341884},
6725  {0.54017244, 0.04342599, 0.25735987},
6726  {0.53516140, 0.04252573, 0.25137164},
6727  {0.53011186, 0.04175134, 0.24545699},
6728  {0.52502344, 0.04110259, 0.23961888},
6729  {0.51989576, 0.04057848, 0.23386046},
6730  {0.51472846, 0.04017305, 0.22818504},
6731  {0.50952123, 0.03988862, 0.22259608},
6732  {0.50427376, 0.03972237, 0.21709714},
6733  {0.49898586, 0.03966871, 0.21169200},
6734  {0.49365742, 0.03972170, 0.20638454},
6735  {0.48828845, 0.03987500, 0.20117868},
6736  {0.48287908, 0.04012181, 0.19607839},
6737  {0.47742962, 0.04045479, 0.19108759},
6738  {0.47194057, 0.04085798, 0.18621023},
6739  {0.46641267, 0.04132655, 0.18145004},
6740  {0.46084684, 0.04185049, 0.17681050},
6741  {0.45524431, 0.04241927, 0.17229482},
6742  {0.44960653, 0.04302226, 0.16790577},
6743  {0.44393524, 0.04364857, 0.16364563},
6744  {0.43823240, 0.04428757, 0.15951608},
6745  {0.43250021, 0.04492881, 0.15551812},
6746  {0.42674110, 0.04556211, 0.15165204},
6747  {0.42095767, 0.04617782, 0.14791737},
6748  {0.41515258, 0.04676711, 0.14431283},
6749  {0.40932862, 0.04732177, 0.14083637},
6750  {0.40348860, 0.04783442, 0.13748522},
6751  {0.39763529, 0.04829855, 0.13425593},
6752  {0.39177139, 0.04870857, 0.13114443},
6753  {0.38589948, 0.04905982, 0.12814615},
6754  {0.38002216, 0.04934797, 0.12525607},
6755  {0.37414156, 0.04957039, 0.12246885},
6756  {0.36825982, 0.04972466, 0.11977893},
6757  {0.36237886, 0.04980896, 0.11718058},
6758  {0.35650045, 0.04982209, 0.11466802},
6759  {0.35062596, 0.04976376, 0.11223548},
6760  {0.34475674, 0.04963364, 0.10987725},
6761  {0.33889396, 0.04943184, 0.10758771},
6762  {0.33303856, 0.04915884, 0.10536139},
6763  {0.32719128, 0.04881541, 0.10319302},
6764  {0.32135268, 0.04840259, 0.10107755},
6765  {0.31552330, 0.04792126, 0.09901007},
6766  {0.30970366, 0.04737220, 0.09698582},
6767  {0.30389366, 0.04675731, 0.09500056},
6768  {0.29809379, 0.04607701, 0.09304982},
6769  {0.29230391, 0.04533292, 0.09112969},
6770  {0.28652391, 0.04452634, 0.08923639},
6771  {0.28075373, 0.04365829, 0.08736623},
6772  {0.27499325, 0.04272978, 0.08551573},
6773  {0.26924223, 0.04174182, 0.08368156},
6774  {0.26350036, 0.04069541, 0.08186061},
6775  {0.25776724, 0.03958238, 0.08004990},
6776  {0.25204242, 0.03842694, 0.07824664},
6777  {0.24632534, 0.03723743, 0.07644816},
6778  {0.24061554, 0.03601731, 0.07465184},
6779  {0.23491278, 0.03476951, 0.07285486},
6780  {0.22921589, 0.03349840, 0.07105533},
6781  {0.22352481, 0.03220647, 0.06925037},
6782  {0.21783824, 0.03089799, 0.06743829},
6783  {0.21215613, 0.02957523, 0.06561621},
6784  {0.20647710, 0.02824235, 0.06378257},
6785  {0.20080045, 0.02690234, 0.06193512},
6786  {0.19512565, 0.02555789, 0.06007140},
6787  {0.18945137, 0.02421263, 0.05818973},
6788  {0.18377664, 0.02286958, 0.05628802},
6789  {0.17810042, 0.02153175, 0.05436418},
6790  {0.17242157, 0.02020212, 0.05241613},
6791  {0.16673885, 0.01888366, 0.05044177},
6792  {0.16105095, 0.01757931, 0.04843897},
6793  {0.15535642, 0.01629201, 0.04640560}
6794 };
6795 
6796 // https://github.com/1313e/CMasher
6797 const int RGB_Palette_43_Size = 511; // pride
6799 {
6800  {0.08752792, 0.05445008, 0.15633391},
6801  {0.09204695, 0.05639320, 0.16203897},
6802  {0.09650895, 0.05829607, 0.16786880},
6803  {0.10090870, 0.06016328, 0.17382488},
6804  {0.10524039, 0.06200004, 0.17990780},
6805  {0.10949779, 0.06381198, 0.18611729},
6806  {0.11367403, 0.06560565, 0.19245137},
6807  {0.11776199, 0.06738816, 0.19890668},
6808  {0.12175433, 0.06916725, 0.20547828},
6809  {0.12564365, 0.07095122, 0.21215945},
6810  {0.12942267, 0.07274885, 0.21894186},
6811  {0.13308433, 0.07456920, 0.22581549},
6812  {0.13662198, 0.07642163, 0.23276864},
6813  {0.14002950, 0.07831532, 0.23978863},
6814  {0.14330141, 0.08025937, 0.24686136},
6815  {0.14643291, 0.08226244, 0.25397225},
6816  {0.14941998, 0.08433262, 0.26110614},
6817  {0.15225934, 0.08647727, 0.26824775},
6818  {0.15494847, 0.08870295, 0.27538192},
6819  {0.15748551, 0.09101525, 0.28249390},
6820  {0.15986928, 0.09341878, 0.28956951},
6821  {0.16209917, 0.09591718, 0.29659525},
6822  {0.16417504, 0.09851308, 0.30355858},
6823  {0.16609723, 0.10120815, 0.31044773},
6824  {0.16786643, 0.10400316, 0.31725196},
6825  {0.16948361, 0.10689806, 0.32396152},
6826  {0.17095007, 0.10989202, 0.33056744},
6827  {0.17226726, 0.11298355, 0.33706178},
6828  {0.17343684, 0.11617055, 0.34343746},
6829  {0.17446061, 0.11945041, 0.34968818},
6830  {0.17534051, 0.12282010, 0.35580842},
6831  {0.17607859, 0.12627622, 0.36179338},
6832  {0.17667704, 0.12981506, 0.36763888},
6833  {0.17713811, 0.13343270, 0.37334141},
6834  {0.17746410, 0.13712505, 0.37889811},
6835  {0.17765753, 0.14088788, 0.38430647},
6836  {0.17772085, 0.14471691, 0.38956469},
6837  {0.17765681, 0.14860777, 0.39467122},
6838  {0.17746800, 0.15255614, 0.39962515},
6839  {0.17715730, 0.15655769, 0.40442584},
6840  {0.17672775, 0.16060812, 0.40907299},
6841  {0.17618229, 0.16470324, 0.41356679},
6842  {0.17552411, 0.16883893, 0.41790767},
6843  {0.17475650, 0.17301117, 0.42209636},
6844  {0.17388287, 0.17721606, 0.42613389},
6845  {0.17290686, 0.18144976, 0.43002153},
6846  {0.17183216, 0.18570864, 0.43376083},
6847  {0.17066251, 0.18998919, 0.43735357},
6848  {0.16940200, 0.19428801, 0.44080170},
6849  {0.16805489, 0.19860183, 0.44410739},
6850  {0.16662536, 0.20292760, 0.44727300},
6851  {0.16511815, 0.20726230, 0.45030103},
6852  {0.16353786, 0.21160317, 0.45319416},
6853  {0.16188934, 0.21594754, 0.45595518},
6854  {0.16017794, 0.22029285, 0.45858702},
6855  {0.15840893, 0.22463672, 0.46109273},
6856  {0.15658782, 0.22897695, 0.46347542},
6857  {0.15472045, 0.23331142, 0.46573832},
6858  {0.15281289, 0.23763816, 0.46788473},
6859  {0.15087146, 0.24195534, 0.46991799},
6860  {0.14890271, 0.24626125, 0.47184151},
6861  {0.14691347, 0.25055433, 0.47365872},
6862  {0.14491106, 0.25483305, 0.47537315},
6863  {0.14290279, 0.25909612, 0.47698827},
6864  {0.14089618, 0.26334235, 0.47850753},
6865  {0.13889947, 0.26757056, 0.47993450},
6866  {0.13692086, 0.27177976, 0.48127266},
6867  {0.13496883, 0.27596907, 0.48252547},
6868  {0.13305232, 0.28013764, 0.48369643},
6869  {0.13118042, 0.28428476, 0.48478897},
6870  {0.12936216, 0.28840987, 0.48580637},
6871  {0.12760751, 0.29251232, 0.48675218},
6872  {0.12592585, 0.29659172, 0.48762958},
6873  {0.12432688, 0.30064769, 0.48844181},
6874  {0.12282043, 0.30467992, 0.48919206},
6875  {0.12141630, 0.30868816, 0.48988346},
6876  {0.12012416, 0.31267225, 0.49051910},
6877  {0.11895347, 0.31663207, 0.49110196},
6878  {0.11791336, 0.32056757, 0.49163494},
6879  {0.11701255, 0.32447876, 0.49212087},
6880  {0.11625924, 0.32836571, 0.49256249},
6881  {0.11566099, 0.33222853, 0.49296243},
6882  {0.11522492, 0.33606732, 0.49332344},
6883  {0.11495702, 0.33988228, 0.49364800},
6884  {0.11486213, 0.34367370, 0.49393834},
6885  {0.11494478, 0.34744177, 0.49419705},
6886  {0.11520786, 0.35118683, 0.49442624},
6887  {0.11565340, 0.35490919, 0.49462809},
6888  {0.11628239, 0.35860921, 0.49480473},
6889  {0.11709469, 0.36228726, 0.49495819},
6890  {0.11808882, 0.36594380, 0.49509011},
6891  {0.11926311, 0.36957912, 0.49520286},
6892  {0.12061397, 0.37319378, 0.49529773},
6893  {0.12213744, 0.37678822, 0.49537642},
6894  {0.12382885, 0.38036291, 0.49544055},
6895  {0.12568303, 0.38391827, 0.49549190},
6896  {0.12769383, 0.38745486, 0.49553160},
6897  {0.12985495, 0.39097318, 0.49556102},
6898  {0.13215972, 0.39447374, 0.49558142},
6899  {0.13460127, 0.39795707, 0.49559400},
6900  {0.13717257, 0.40142368, 0.49559986},
6901  {0.13986655, 0.40487412, 0.49560002},
6902  {0.14267615, 0.40830893, 0.49559543},
6903  {0.14559445, 0.41172862, 0.49558704},
6904  {0.14861463, 0.41513371, 0.49557582},
6905  {0.15172999, 0.41852479, 0.49556227},
6906  {0.15493410, 0.42190240, 0.49554701},
6907  {0.15822077, 0.42526707, 0.49553070},
6908  {0.16158414, 0.42861927, 0.49551431},
6909  {0.16501848, 0.43195963, 0.49549772},
6910  {0.16851844, 0.43528863, 0.49548162},
6911  {0.17207896, 0.43860678, 0.49546650},
6912  {0.17569522, 0.44191466, 0.49545222},
6913  {0.17936270, 0.44521270, 0.49543967},
6914  {0.18307720, 0.44850150, 0.49542829},
6915  {0.18683470, 0.45178148, 0.49541885},
6916  {0.19063154, 0.45505319, 0.49541097},
6917  {0.19446429, 0.45831712, 0.49540465},
6918  {0.19832966, 0.46157369, 0.49540031},
6919  {0.20222478, 0.46482343, 0.49539724},
6920  {0.20614689, 0.46806681, 0.49539538},
6921  {0.21009336, 0.47130421, 0.49539508},
6922  {0.21406195, 0.47453613, 0.49539550},
6923  {0.21805055, 0.47776300, 0.49539633},
6924  {0.22205719, 0.48098524, 0.49539725},
6925  {0.22608011, 0.48420325, 0.49539786},
6926  {0.23011762, 0.48741741, 0.49539800},
6927  {0.23416837, 0.49062812, 0.49539682},
6928  {0.23823107, 0.49383575, 0.49539374},
6929  {0.24230459, 0.49704067, 0.49538818},
6930  {0.24638792, 0.50024322, 0.49537945},
6931  {0.25048021, 0.50344372, 0.49536687},
6932  {0.25458073, 0.50664248, 0.49534967},
6933  {0.25868887, 0.50983982, 0.49532705},
6934  {0.26280416, 0.51303600, 0.49529816},
6935  {0.26692622, 0.51623130, 0.49526213},
6936  {0.27105469, 0.51942595, 0.49521840},
6937  {0.27518951, 0.52262020, 0.49516568},
6938  {0.27933064, 0.52581426, 0.49510297},
6939  {0.28347814, 0.52900834, 0.49502922},
6940  {0.28763217, 0.53220259, 0.49494334},
6941  {0.29179280, 0.53539718, 0.49484473},
6942  {0.29596043, 0.53859225, 0.49473212},
6943  {0.30013555, 0.54178792, 0.49460405},
6944  {0.30431866, 0.54498430, 0.49445941},
6945  {0.30851002, 0.54818143, 0.49429795},
6946  {0.31271059, 0.55137942, 0.49411748},
6947  {0.31692102, 0.55457829, 0.49391701},
6948  {0.32114182, 0.55777805, 0.49369614},
6949  {0.32537418, 0.56097873, 0.49345256},
6950  {0.32961865, 0.56418028, 0.49318613},
6951  {0.33387640, 0.56738267, 0.49289495},
6952  {0.33814830, 0.57058585, 0.49257816},
6953  {0.34243538, 0.57378975, 0.49223461},
6954  {0.34673877, 0.57699426, 0.49186297},
6955  {0.35105947, 0.58019927, 0.49146232},
6956  {0.35539867, 0.58340466, 0.49103141},
6957  {0.35975757, 0.58661028, 0.49056899},
6958  {0.36413716, 0.58981597, 0.49007450},
6959  {0.36853902, 0.59302156, 0.48954576},
6960  {0.37296371, 0.59622684, 0.48898352},
6961  {0.37741303, 0.59943162, 0.48838510},
6962  {0.38188799, 0.60263568, 0.48775010},
6963  {0.38638958, 0.60583879, 0.48707812},
6964  {0.39091937, 0.60904071, 0.48636723},
6965  {0.39547834, 0.61224120, 0.48561706},
6966  {0.40006746, 0.61544001, 0.48482731},
6967  {0.40468823, 0.61863685, 0.48399620},
6968  {0.40934175, 0.62183146, 0.48312299},
6969  {0.41402871, 0.62502358, 0.48220800},
6970  {0.41875042, 0.62821291, 0.48124980},
6971  {0.42350802, 0.63139917, 0.48024749},
6972  {0.42830248, 0.63458208, 0.47920045},
6973  {0.43313462, 0.63776134, 0.47810840},
6974  {0.43800511, 0.64093668, 0.47697128},
6975  {0.44291513, 0.64410781, 0.47578781},
6976  {0.44786547, 0.64727443, 0.47455752},
6977  {0.45285688, 0.65043626, 0.47327996},
6978  {0.45789008, 0.65359301, 0.47195472},
6979  {0.46296570, 0.65674441, 0.47058142},
6980  {0.46808433, 0.65989019, 0.46915974},
6981  {0.47324633, 0.66303010, 0.46768979},
6982  {0.47845245, 0.66616385, 0.46617069},
6983  {0.48370315, 0.66929119, 0.46460213},
6984  {0.48899883, 0.67241186, 0.46298382},
6985  {0.49433987, 0.67552562, 0.46131548},
6986  {0.49972657, 0.67863224, 0.45959684},
6987  {0.50515923, 0.68173147, 0.45782765},
6988  {0.51063806, 0.68482310, 0.45600765},
6989  {0.51616327, 0.68790691, 0.45413659},
6990  {0.52173499, 0.69098269, 0.45221420},
6991  {0.52735335, 0.69405024, 0.45024025},
6992  {0.53301842, 0.69710936, 0.44821445},
6993  {0.53873026, 0.70015988, 0.44613656},
6994  {0.54448886, 0.70320160, 0.44400627},
6995  {0.55029423, 0.70623437, 0.44182330},
6996  {0.55614598, 0.70925806, 0.43958801},
6997  {0.56204429, 0.71227248, 0.43729959},
6998  {0.56798909, 0.71527748, 0.43495760},
6999  {0.57398027, 0.71827292, 0.43256168},
7000  {0.58001770, 0.72125865, 0.43011141},
7001  {0.58610124, 0.72423455, 0.42760637},
7002  {0.59223071, 0.72720048, 0.42504609},
7003  {0.59840589, 0.73015634, 0.42243016},
7004  {0.60462588, 0.73310215, 0.41975946},
7005  {0.61089116, 0.73603767, 0.41703201},
7006  {0.61720154, 0.73896279, 0.41424719},
7007  {0.62355679, 0.74187742, 0.41140432},
7008  {0.62995669, 0.74478146, 0.40850267},
7009  {0.63640004, 0.74767501, 0.40554339},
7010  {0.64288738, 0.75055785, 0.40252410},
7011  {0.64941862, 0.75342984, 0.39944362},
7012  {0.65599353, 0.75629090, 0.39630098},
7013  {0.66261097, 0.75914117, 0.39309691},
7014  {0.66927108, 0.76198049, 0.38982957},
7015  {0.67597411, 0.76480867, 0.38649681},
7016  {0.68271984, 0.76762564, 0.38309731},
7017  {0.68950640, 0.77043173, 0.37963294},
7018  {0.69633514, 0.77322649, 0.37609915},
7019  {0.70320587, 0.77600985, 0.37249427},
7020  {0.71011710, 0.77878207, 0.36881911},
7021  {0.71706926, 0.78154293, 0.36507064},
7022  {0.72406277, 0.78429221, 0.36124564},
7023  {0.73109609, 0.78703020, 0.35734467},
7024  {0.73816957, 0.78975670, 0.35336444},
7025  {0.74528382, 0.79247145, 0.34930088},
7026  {0.75243681, 0.79517489, 0.34515515},
7027  {0.75962972, 0.79786659, 0.34092168},
7028  {0.76686259, 0.80054644, 0.33659700},
7029  {0.77413333, 0.80321494, 0.33218183},
7030  {0.78144402, 0.80587139, 0.32766798},
7031  {0.78879297, 0.80851618, 0.32305486},
7032  {0.79618046, 0.81114915, 0.31833738},
7033  {0.80360708, 0.81377001, 0.31350943},
7034  {0.81107072, 0.81637931, 0.30857037},
7035  {0.81857375, 0.81897625, 0.30350935},
7036  {0.82611350, 0.82156155, 0.29832601},
7037  {0.83369193, 0.82413452, 0.29300924},
7038  {0.84130759, 0.82669553, 0.28755484},
7039  {0.84896098, 0.82924432, 0.28195349},
7040  {0.85665198, 0.83178087, 0.27619635},
7041  {0.86437995, 0.83430528, 0.27027480},
7042  {0.87214576, 0.83681719, 0.26417549},
7043  {0.87994802, 0.83931699, 0.25788906},
7044  {0.88778819, 0.84180409, 0.25139755},
7045  {0.89566452, 0.84427902, 0.24468901},
7046  {0.90357867, 0.84674113, 0.23774045},
7047  {0.91152892, 0.84919093, 0.23053474},
7048  {0.91951673, 0.85162784, 0.22304277},
7049  {0.92754082, 0.85405223, 0.21523836},
7050  {0.93560204, 0.85646372, 0.20708390},
7051  {0.94369997, 0.85886238, 0.19853799},
7052  {0.95183441, 0.86124822, 0.18954940},
7053  {0.96000625, 0.86362083, 0.18005051},
7054  {0.96821377, 0.86598077, 0.16996509},
7055  {0.97645964, 0.86832697, 0.15917699},
7056  {0.97677870, 0.86238645, 0.15511138},
7057  {0.97705968, 0.85645921, 0.15107024},
7058  {0.97730297, 0.85054514, 0.14705473},
7059  {0.97750893, 0.84464413, 0.14306613},
7060  {0.97767793, 0.83875607, 0.13910578},
7061  {0.97781030, 0.83288087, 0.13517518},
7062  {0.97790635, 0.82701843, 0.13127592},
7063  {0.97796637, 0.82116867, 0.12740975},
7064  {0.97799065, 0.81533150, 0.12357856},
7065  {0.97797944, 0.80950686, 0.11978440},
7066  {0.97793300, 0.80369466, 0.11602949},
7067  {0.97785155, 0.79789486, 0.11231628},
7068  {0.97773531, 0.79210738, 0.10864740},
7069  {0.97758449, 0.78633217, 0.10502572},
7070  {0.97739927, 0.78056919, 0.10145437},
7071  {0.97717983, 0.77481839, 0.09793676},
7072  {0.97692633, 0.76907975, 0.09447657},
7073  {0.97663892, 0.76335321, 0.09107784},
7074  {0.97631776, 0.75763876, 0.08774490},
7075  {0.97596297, 0.75193638, 0.08448249},
7076  {0.97557467, 0.74624605, 0.08129571},
7077  {0.97515298, 0.74056775, 0.07819007},
7078  {0.97469800, 0.73490149, 0.07517148},
7079  {0.97421021, 0.72924703, 0.07224664},
7080  {0.97368951, 0.72360447, 0.06942221},
7081  {0.97313583, 0.71797393, 0.06670519},
7082  {0.97254922, 0.71235541, 0.06410312},
7083  {0.97192977, 0.70674892, 0.06162387},
7084  {0.97127752, 0.70115449, 0.05927557},
7085  {0.97059296, 0.69557187, 0.05706716},
7086  {0.96987609, 0.69000113, 0.05500703},
7087  {0.96912659, 0.68444251, 0.05310302},
7088  {0.96834452, 0.67889604, 0.05136321},
7089  {0.96753005, 0.67336167, 0.04979551},
7090  {0.96668384, 0.66783904, 0.04840818},
7091  {0.96580516, 0.66232866, 0.04720612},
7092  {0.96489405, 0.65683060, 0.04619447},
7093  {0.96395109, 0.65134452, 0.04537835},
7094  {0.96297618, 0.64587055, 0.04476016},
7095  {0.96196892, 0.64040903, 0.04433994},
7096  {0.96092979, 0.63495970, 0.04411823},
7097  {0.95985892, 0.62952254, 0.04409312},
7098  {0.95875575, 0.62409801, 0.04425943},
7099  {0.95762104, 0.61868564, 0.04461378},
7100  {0.95645441, 0.61328578, 0.04514863},
7101  {0.95525570, 0.60789861, 0.04585576},
7102  {0.95402572, 0.60252363, 0.04672868},
7103  {0.95276350, 0.59716162, 0.04775541},
7104  {0.95147004, 0.59181192, 0.04892886},
7105  {0.95014456, 0.58647519, 0.05023678},
7106  {0.94878769, 0.58115104, 0.05167074},
7107  {0.94739902, 0.57583985, 0.05321958},
7108  {0.94597896, 0.57054142, 0.05487459},
7109  {0.94452718, 0.56525606, 0.05662539},
7110  {0.94304413, 0.55998352, 0.05846422},
7111  {0.94152930, 0.55472430, 0.06038105},
7112  {0.93998345, 0.54947786, 0.06237007},
7113  {0.93840582, 0.54424492, 0.06442156},
7114  {0.93679717, 0.53902496, 0.06653078},
7115  {0.93515705, 0.53381842, 0.06869001},
7116  {0.93348553, 0.52862536, 0.07089355},
7117  {0.93178309, 0.52344548, 0.07313736},
7118  {0.93004922, 0.51827929, 0.07541504},
7119  {0.92828420, 0.51312666, 0.07772287},
7120  {0.92648828, 0.50798748, 0.08005753},
7121  {0.92466114, 0.50286212, 0.08241431},
7122  {0.92280285, 0.49775063, 0.08479007},
7123  {0.92091391, 0.49265267, 0.08718318},
7124  {0.91899396, 0.48756867, 0.08958983},
7125  {0.91704306, 0.48249869, 0.09200767},
7126  {0.91506128, 0.47744277, 0.09443465},
7127  {0.91304890, 0.47240075, 0.09686954},
7128  {0.91100584, 0.46737282, 0.09931027},
7129  {0.90893209, 0.46235912, 0.10175508},
7130  {0.90682772, 0.45735968, 0.10420269},
7131  {0.90469280, 0.45237454, 0.10665194},
7132  {0.90252741, 0.44740376, 0.10910180},
7133  {0.90033161, 0.44244738, 0.11155136},
7134  {0.89810556, 0.43750535, 0.11400006},
7135  {0.89584925, 0.43257782, 0.11644693},
7136  {0.89356273, 0.42766483, 0.11889128},
7137  {0.89124607, 0.42276645, 0.12133257},
7138  {0.88889935, 0.41788270, 0.12377033},
7139  {0.88652265, 0.41301363, 0.12620414},
7140  {0.88411603, 0.40815928, 0.12863364},
7141  {0.88167959, 0.40331967, 0.13105853},
7142  {0.87921338, 0.39849486, 0.13347855},
7143  {0.87671751, 0.39368487, 0.13589347},
7144  {0.87419208, 0.38888967, 0.13830329},
7145  {0.87163719, 0.38410930, 0.14070781},
7146  {0.86905287, 0.37934382, 0.14310682},
7147  {0.86643921, 0.37459325, 0.14550020},
7148  {0.86379630, 0.36985763, 0.14788787},
7149  {0.86112421, 0.36513695, 0.15026978},
7150  {0.85842305, 0.36043124, 0.15264587},
7151  {0.85569303, 0.35574032, 0.15501666},
7152  {0.85293413, 0.35106435, 0.15738168},
7153  {0.85014642, 0.34640335, 0.15974085},
7154  {0.84733000, 0.34175732, 0.16209419},
7155  {0.84448512, 0.33712603, 0.16444234},
7156  {0.84161173, 0.33250963, 0.16678479},
7157  {0.83870993, 0.32790816, 0.16912146},
7158  {0.83577992, 0.32332138, 0.17145295},
7159  {0.83282175, 0.31874937, 0.17377900},
7160  {0.82983545, 0.31419218, 0.17609933},
7161  {0.82682132, 0.30964946, 0.17841492},
7162  {0.82377927, 0.30512146, 0.18072487},
7163  {0.82070951, 0.30060793, 0.18302979},
7164  {0.81761212, 0.29610887, 0.18532952},
7165  {0.81448721, 0.29162419, 0.18762411},
7166  {0.81133489, 0.28715376, 0.18991373},
7167  {0.80815526, 0.28269753, 0.19219826},
7168  {0.80494843, 0.27825537, 0.19447783},
7169  {0.80171453, 0.27382715, 0.19675251},
7170  {0.79845361, 0.26941284, 0.19902204},
7171  {0.79516586, 0.26501213, 0.20128700},
7172  {0.79185130, 0.26062508, 0.20354673},
7173  {0.78851009, 0.25625139, 0.20580169},
7174  {0.78514233, 0.25189095, 0.20805178},
7175  {0.78174807, 0.24754365, 0.21029670},
7176  {0.77832746, 0.24320922, 0.21253675},
7177  {0.77488060, 0.23888748, 0.21477189},
7178  {0.77140755, 0.23457829, 0.21700180},
7179  {0.76790841, 0.23028144, 0.21922646},
7180  {0.76438329, 0.22599663, 0.22144601},
7181  {0.76083227, 0.22172363, 0.22366036},
7182  {0.75725543, 0.21746226, 0.22586922},
7183  {0.75365284, 0.21321223, 0.22807250},
7184  {0.75002458, 0.20897328, 0.23027008},
7185  {0.74637073, 0.20474512, 0.23246184},
7186  {0.74269134, 0.20052745, 0.23464762},
7187  {0.73898649, 0.19631995, 0.23682727},
7188  {0.73525623, 0.19212231, 0.23900059},
7189  {0.73150060, 0.18793417, 0.24116738},
7190  {0.72771966, 0.18375520, 0.24332741},
7191  {0.72391343, 0.17958503, 0.24548042},
7192  {0.72008196, 0.17542328, 0.24762616},
7193  {0.71622525, 0.17126956, 0.24976431},
7194  {0.71234333, 0.16712346, 0.25189456},
7195  {0.70843620, 0.16298456, 0.25401657},
7196  {0.70450387, 0.15885242, 0.25612995},
7197  {0.70054631, 0.15472658, 0.25823434},
7198  {0.69656352, 0.15060653, 0.26032965},
7199  {0.69255545, 0.14649183, 0.26241508},
7200  {0.68852207, 0.14238199, 0.26449015},
7201  {0.68446333, 0.13827647, 0.26655453},
7202  {0.68037914, 0.13417471, 0.26860782},
7203  {0.67626946, 0.13007624, 0.27064908},
7204  {0.67213418, 0.12598043, 0.27267811},
7205  {0.66797319, 0.12188673, 0.27469408},
7206  {0.66378640, 0.11779458, 0.27669629},
7207  {0.65957364, 0.11370335, 0.27868422},
7208  {0.65533480, 0.10961246, 0.28065688},
7209  {0.65106969, 0.10552128, 0.28261364},
7210  {0.64677815, 0.10142921, 0.28455363},
7211  {0.64245999, 0.09733565, 0.28647567},
7212  {0.63811495, 0.09323995, 0.28837938},
7213  {0.63374286, 0.08914155, 0.29026323},
7214  {0.62934346, 0.08503984, 0.29212617},
7215  {0.62491645, 0.08093428, 0.29396724},
7216  {0.62046156, 0.07682433, 0.29578524},
7217  {0.61597849, 0.07270954, 0.29757868},
7218  {0.61146692, 0.06858949, 0.29934622},
7219  {0.60692650, 0.06446386, 0.30108639},
7220  {0.60235686, 0.06033246, 0.30279764},
7221  {0.59775761, 0.05619524, 0.30447830},
7222  {0.59312836, 0.05205234, 0.30612660},
7223  {0.58846868, 0.04790419, 0.30774064},
7224  {0.58377813, 0.04375150, 0.30931842},
7225  {0.57905626, 0.03958633, 0.31085779},
7226  {0.57430258, 0.03553832, 0.31235659},
7227  {0.56951656, 0.03174353, 0.31381251},
7228  {0.56469777, 0.02819987, 0.31522280},
7229  {0.55984570, 0.02490543, 0.31658479},
7230  {0.55495972, 0.02185857, 0.31789598},
7231  {0.55003944, 0.01905721, 0.31915292},
7232  {0.54508421, 0.01649988, 0.32035290},
7233  {0.54009364, 0.01418450, 0.32149216},
7234  {0.53506707, 0.01210967, 0.32256769},
7235  {0.53000414, 0.01027322, 0.32357540},
7236  {0.52490435, 0.00867329, 0.32451159},
7237  {0.51976718, 0.00730801, 0.32537242},
7238  {0.51459232, 0.00617496, 0.32615352},
7239  {0.50937942, 0.00527169, 0.32685057},
7240  {0.50412820, 0.00459550, 0.32745912},
7241  {0.49883845, 0.00414334, 0.32797456},
7242  {0.49351007, 0.00391176, 0.32839217},
7243  {0.48814305, 0.00389685, 0.32870713},
7244  {0.48273750, 0.00409419, 0.32891454},
7245  {0.47729369, 0.00449875, 0.32900950},
7246  {0.47181202, 0.00510487, 0.32898709},
7247  {0.46629306, 0.00590618, 0.32884247},
7248  {0.46073754, 0.00689559, 0.32857092},
7249  {0.45514636, 0.00806527, 0.32816791},
7250  {0.44952072, 0.00940630, 0.32762900},
7251  {0.44386196, 0.01090904, 0.32695012},
7252  {0.43817160, 0.01256314, 0.32612757},
7253  {0.43245143, 0.01435711, 0.32515798},
7254  {0.42670346, 0.01627877, 0.32403846},
7255  {0.42092984, 0.01831523, 0.32276667},
7256  {0.41513297, 0.02045279, 0.32134077},
7257  {0.40931540, 0.02267720, 0.31975957},
7258  {0.40347984, 0.02497369, 0.31802247},
7259  {0.39762912, 0.02732722, 0.31612956},
7260  {0.39176619, 0.02972241, 0.31408155},
7261  {0.38589406, 0.03214387, 0.31187980},
7262  {0.38001576, 0.03457641, 0.30952634},
7263  {0.37413435, 0.03700496, 0.30702377},
7264  {0.36825293, 0.03941467, 0.30437522},
7265  {0.36237443, 0.04175651, 0.30158440},
7266  {0.35650177, 0.04396933, 0.29865545},
7267  {0.35063775, 0.04606145, 0.29559288},
7268  {0.34478506, 0.04803206, 0.29240158},
7269  {0.33894627, 0.04988081, 0.28908670},
7270  {0.33312376, 0.05160777, 0.28565358},
7271  {0.32731976, 0.05321341, 0.28210775},
7272  {0.32153630, 0.05469857, 0.27845479},
7273  {0.31577523, 0.05606435, 0.27470034},
7274  {0.31003845, 0.05731174, 0.27085009},
7275  {0.30432731, 0.05844262, 0.26690960},
7276  {0.29864314, 0.05945880, 0.26288435},
7277  {0.29298736, 0.06036170, 0.25877985},
7278  {0.28736075, 0.06115387, 0.25460122},
7279  {0.28176439, 0.06183698, 0.25035367},
7280  {0.27619895, 0.06241336, 0.24604208},
7281  {0.27066497, 0.06288536, 0.24167115},
7282  {0.26516295, 0.06325514, 0.23724543},
7283  {0.25969341, 0.06352471, 0.23276936},
7284  {0.25425646, 0.06369656, 0.22824696},
7285  {0.24885223, 0.06377292, 0.22368215},
7286  {0.24348079, 0.06375601, 0.21907864},
7287  {0.23814208, 0.06364801, 0.21443993},
7288  {0.23283608, 0.06345087, 0.20976941},
7289  {0.22756254, 0.06316678, 0.20507013},
7290  {0.22232111, 0.06279787, 0.20034494},
7291  {0.21711142, 0.06234614, 0.19559652},
7292  {0.21193335, 0.06181308, 0.19082768},
7293  {0.20678617, 0.06120095, 0.18604051},
7294  {0.20166950, 0.06051127, 0.18123735},
7295  {0.19658276, 0.05974580, 0.17642018},
7296  {0.19152541, 0.05890604, 0.17159096},
7297  {0.18649662, 0.05799375, 0.16675122},
7298  {0.18149606, 0.05700991, 0.16190292},
7299  {0.17652272, 0.05595626, 0.15704718},
7300  {0.17157588, 0.05483404, 0.15218535},
7301  {0.16665478, 0.05364437, 0.14731867},
7302  {0.16175869, 0.05238821, 0.14244829},
7303  {0.15688661, 0.05106677, 0.13757500},
7304  {0.15203766, 0.04968094, 0.13269961},
7305  {0.14721089, 0.04823157, 0.12782280},
7306  {0.14240530, 0.04671941, 0.12294513},
7307  {0.13761989, 0.04514511, 0.11806704},
7308  {0.13285355, 0.04350924, 0.11318884},
7309  {0.12810517, 0.04181228, 0.10831071},
7310  {0.12337357, 0.04004903, 0.10343270}
7311 };
7312 
7313 const int Num_RGB_Palettes = 43;
7315 {
7331 };
7332 
7334 {
7346 };
7347 
7349 {
7350  // 0123456789
7351  "5-color ", "red ", "jet-like ", "coldhot ", "bone ",
7352  "hot ", "pink ", "cool ", "summer ", "hsv ",
7353  "copper ", "white ", "vivid ", "aluminum ", "sunrise ",
7354  "horizon ", "byr ", "ocean ", "pastel ", "tropical ",
7355  "wood ", "mars ", "rainbow ", "cmyk ", "calewhite ",
7356  "haxby ", "manga ", "drywet ", "gfdl ", "wbgyr ",
7357  "seq25 ", "terrain ", "bwor ", "19-lev ", "lithology ",
7358  "gray ", "turbo ", "viridis ", "plasma ", "fusion ",
7359  "iceburn ", "viola ", "pride "
7360 };
7361 
7362 double corr(double a, double x)
7363 {
7364  return x / (1.0 + (a * a - 1.0) * (1.0 - x));
7365  // return pow(x, a);
7366 }
7367 
7369 {
7370  const int ns = 7;
7371  const double ts[ns] = { 0., 1./6., 2./6., 3./6., 4./6., 5./6., 1. };
7372 
7373  const double rs[ns] = { 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 };
7374  const double gs[ns] = { 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0 };
7375  const double bs[ns] = { 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0 };
7376  const double rc[ns-1] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
7377  const double gc[ns-1] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
7378  const double bc[ns-1] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 };
7379 
7380  for (int i = 0; i < RGB_Palette_25_Size; i++)
7381  {
7382  double t = double(i) / (RGB_Palette_25_Size-1), r, g, b;
7383  int k;
7384  for (k = 1; k < ns; k++)
7385  if (t >= ts[k-1] && t <= ts[k])
7386  {
7387  break;
7388  }
7389  t = (t - ts[k-1]) / (ts[k] - ts[k-1]);
7390  r = (1.0 - t) * corr(rc[k-1], rs[k-1]) + t * corr(rc[k-1], rs[k]);
7391  g = (1.0 - t) * corr(gc[k-1], gs[k-1]) + t * corr(gc[k-1], gs[k]);
7392  b = (1.0 - t) * corr(bc[k-1], bs[k-1]) + t * corr(bc[k-1], bs[k]);
7393  RGB_Palette_25[i][0] = corr(1./rc[k-1], r);
7394  RGB_Palette_25[i][1] = corr(1./gc[k-1], g);
7395  RGB_Palette_25[i][2] = corr(1./bc[k-1], b);
7396  }
7397 }
7398 
7400 {
7401  static bool first_init = true;
7402  if (first_init)
7403  {
7404  // init rainbow palette
7405  for (int i = 0; i < RGB_Palette_23_Size; i++)
7406  {
7407  double t = double(i) / (RGB_Palette_23_Size-1), s, r, g, b;
7408  // t *= 3.0; // red to red
7409  t *= 2.5; // red to purple
7410  if (t < 1.0)
7411  {
7412  s = sin(t * M_PI);
7413  if (t < 0.5)
7414  {
7415  r = 1.0;
7416  g = s;
7417  }
7418  else
7419  {
7420  r = s;
7421  g = 1.0;
7422  }
7423  b = 0.0;
7424  }
7425  else if (t < 2.0)
7426  {
7427  s = sin((t - 1.0) * M_PI);
7428  if (t < 1.5)
7429  {
7430  g = 1.0;
7431  b = s;
7432  }
7433  else
7434  {
7435  g = s;
7436  b = 1.0;
7437  }
7438  r = 0.0;
7439  }
7440  else
7441  {
7442  s = sin((t - 2.0) * M_PI);
7443  if (t < 2.5)
7444  {
7445  r = s;
7446  b = 1.0;
7447  }
7448  else
7449  {
7450  r = 1.0;
7451  b = s;
7452  }
7453  g = 0.0;
7454  }
7455  RGB_Palette_23[i][0] = r;
7456  RGB_Palette_23[i][1] = g;
7457  RGB_Palette_23[i][2] = b;
7458  }
7459 
7460  // init vivid palette
7461  const int ns = 7;
7462  const double ts[ns] = { 0., 3./16., 4./16., 1./2., 12./16., 13./16., 1. };
7463 
7464  const double rs[ns] = { 0.0, 0.0, 0.0, 1.0, 0.9, 1.0, 0.5 };
7465  const double gs[ns] = { 0.0, 1.0, 0.9, 1.0, 0.0, 0.0, 0.0 };
7466  const double bs[ns] = { 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0 };
7467  const double rc[ns-1] = { 1.0, 1.0, 1.3, 1.0, 1.0, 1.2 };
7468  const double gc[ns-1] = { 1.2, 1.0, 1.0, 1.4, 1.0, 1.0 };
7469  const double bc[ns-1] = { 1.0, 1.0, 1.0, 1.0, 1.6, 1.0 };
7470 
7471  for (int i = 0; i < RGB_Palette_13_Size; i++)
7472  {
7473  double t = double(i) / (RGB_Palette_13_Size-1), r, g, b;
7474  int k;
7475  for (k = 1; k < ns; k++)
7476  if (t >= ts[k-1] && t <= ts[k])
7477  {
7478  break;
7479  }
7480  t = (t - ts[k-1]) / (ts[k] - ts[k-1]);
7481  r = (1.0 - t) * corr(rc[k-1], rs[k-1]) + t * corr(rc[k-1], rs[k]);
7482  g = (1.0 - t) * corr(gc[k-1], gs[k-1]) + t * corr(gc[k-1], gs[k]);
7483  b = (1.0 - t) * corr(bc[k-1], bs[k-1]) + t * corr(bc[k-1], bs[k]);
7484  RGB_Palette_13[i][0] = corr(1./rc[k-1], r);
7485  RGB_Palette_13[i][1] = corr(1./gc[k-1], g);
7486  RGB_Palette_13[i][2] = corr(1./bc[k-1], b);
7487  }
7488 
7490 
7491  // init gray palette
7492  for (int i = 0; i < RGB_Palette_36_Size; i++)
7493  {
7494  double t = double(i) / (RGB_Palette_36_Size-1);
7495  RGB_Palette_36[i][0] = t;
7496  RGB_Palette_36[i][1] = t;
7497  RGB_Palette_36[i][2] = t;
7498  }
7499  first_init = false;
7500  }
7501 }
7502 
7504 {
7505  const int buflen = 256;
7506  char buffer[buflen];
7507  int pal;
7508  cout << "Choose a palette:\n";
7509  for (pal = 0; pal < Num_RGB_Palettes; pal++)
7510  {
7511  cout << setw(4) << pal+1 << ") " << RGB_Palettes_Names[pal];
7512  if ((pal+1)%5 == 0)
7513  {
7514  cout << '\n';
7515  }
7516  }
7517  cout << "\n ---> [" << curr_palette+1 << "] " << flush;
7518 
7519  cin.getline (buffer, buflen);
7520  cin.getline (buffer, buflen);
7521 
7522  if (buffer[0])
7523  {
7524  sscanf(buffer, "%i", &pal);
7525  }
7526  else
7527  {
7528  pal = curr_palette+1;
7529  }
7530 
7531  if (pal < 1)
7532  {
7533  pal = 1;
7534  }
7535  else if (pal > Num_RGB_Palettes)
7536  {
7537  pal = Num_RGB_Palettes;
7538  }
7539 
7540  return pal-1;
7541 }
7542 
7543 
7544 // Generates a discrete texture from the given palette.
7545 void PaletteState::ToTextureDiscrete(double * palette, size_t plt_size,
7546  GLuint tex)
7547 {
7548  vector<array<float,4>> texture_buf(plt_size);
7549 
7550  if (RepeatPaletteTimes > 0)
7551  {
7552  for (size_t i = 0; i < plt_size; i++)
7553  {
7554  texture_buf[i] =
7555  {
7556  (float) palette[3*i],
7557  (float) palette[3*i+1],
7558  (float) palette[3*i+2],
7559  1.0
7560  };
7561  }
7562  }
7563  else
7564  {
7565  for (size_t i = 0; i < plt_size; i++)
7566  {
7567  texture_buf[i] =
7568  {
7569  (float) palette[3*(plt_size-1-i)+0],
7570  (float) palette[3*(plt_size-1-i)+1],
7571  (float) palette[3*(plt_size-1-i)+2],
7572  1.0
7573  };
7574  }
7575  }
7576  if (PaletteNumColors > 1 && (plt_size > (size_t)PaletteNumColors))
7577  {
7578  texture_buf.resize(PaletteNumColors);
7579  for (int i = 0; i < PaletteNumColors; i++)
7580  {
7581  int plt_i = i * plt_size / (PaletteNumColors-1);
7582  if (i >= PaletteNumColors - 1)
7583  {
7584  plt_i = plt_size - 1;
7585  }
7586  if (RepeatPaletteTimes < 0)
7587  {
7588  plt_i = plt_size-1-plt_i;
7589  }
7590  texture_buf[i] =
7591  {
7592  (float) palette[3*plt_i],
7593  (float) palette[3*plt_i+1],
7594  (float) palette[3*plt_i+2],
7595  1.0
7596  };
7597  }
7598  plt_size = PaletteNumColors;
7599  }
7600  glBindTexture(GL_TEXTURE_2D, tex);
7601  glTexImage2D(GL_TEXTURE_2D,
7602  0,
7603  rgba_internal,
7604  plt_size,
7605  1,
7606  0,
7607  GL_RGBA,
7608  GL_FLOAT,
7609  texture_buf.data());
7610 
7611  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
7612  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
7613  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
7614  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
7615 }
7616 
7617 // Generates a smooth texture from the given palette.
7618 void PaletteState::ToTextureSmooth(double * palette, size_t plt_size,
7619  GLuint tex)
7620 {
7621  vector<array<float,4>> texture_buf(MaxTextureSize);
7622  glBindTexture(GL_TEXTURE_2D, tex);
7623 
7624  size_t textureSize = MaxTextureSize;
7625  if (plt_size * abs(RepeatPaletteTimes) <= textureSize)
7626  {
7627  int flip_start = RepeatPaletteTimes < 0;
7628  for (int rpt = 0; rpt < abs(RepeatPaletteTimes); rpt++)
7629  {
7630  for (size_t i = 0; i < plt_size; i++)
7631  {
7632  // flip = 0: p_i = i
7633  // flip = 1: p_i = plt_size-1-i
7634  int p_i = (flip_start + rpt) % 2 == 0 ? i : plt_size - 1 - i;
7635  texture_buf[i + plt_size * rpt] =
7636  {
7637  (float) palette[3*p_i],
7638  (float) palette[3*p_i + 1],
7639  (float) palette[3*p_i + 2],
7640  1.0
7641  };
7642  }
7643  }
7644  glTexImage2D(GL_TEXTURE_2D, 0, rgba_internal,
7645  plt_size * abs(RepeatPaletteTimes), 1,
7646  0, GL_RGBA, GL_FLOAT, texture_buf.data());
7647  }
7648  else
7649  {
7650  for (size_t i = 0; i < textureSize; i++)
7651  {
7652  double t = double(i) / textureSize - 1;
7653  t *= 0.999999999 * (plt_size - 1) * abs(RepeatPaletteTimes);
7654  int j = floor(t);
7655  t -= j;
7656  int p_i;
7657  if (((j / (plt_size-1)) % 2 == 0 && RepeatPaletteTimes > 0) ||
7658  ((j / (plt_size-1)) % 2 == 1 && RepeatPaletteTimes < 0))
7659  {
7660  p_i = j % (plt_size - 1);
7661  }
7662  else
7663  {
7664  p_i = plt_size - 2 - j % (plt_size - 1);
7665  t = 1.0 - t;
7666  }
7667  texture_buf[i] =
7668  {
7669  (float)((1.0-t) * palette[3*p_i] + t * palette[3*(p_i+1)]),
7670  (float)((1.0-t) * palette[3*p_i+1] + t * palette[3*(p_i+1)+1]),
7671  (float)((1.0-t) * palette[3*p_i+2] + t * palette[3*(p_i+1)+2]),
7672  1.0
7673  };
7674  }
7675  glTexImage2D(GL_TEXTURE_2D, 0, rgba_internal,
7676  textureSize, 1,
7677  0, GL_RGBA, GL_FLOAT, texture_buf.data());
7678  }
7679 
7680  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
7681  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
7682  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
7683  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
7684 }
7685 
7687  : palette_tex(Num_RGB_Palettes)
7688  , first_init(false)
7689 {
7690 }
7691 
7692 static std::mutex init_mtx;
7693 
7695 {
7696  if (!first_init)
7697  {
7698  glGetIntegerv(GL_MAX_TEXTURE_SIZE, &MaxTextureSize);
7699  if (MaxTextureSize < 4096)
7700  {
7701  cerr << "Warning: GL_MAX_TEXTURE_SIZE is less than 4096." << endl;
7702  }
7703  MaxTextureSize = std::min(MaxTextureSize, 4096);
7704  {
7705  std::lock_guard<std::mutex> lk{init_mtx};
7706  Init_Palettes();
7707  }
7708 
7709  GLuint paletteTexIds[Num_RGB_Palettes][2];
7710  GLuint alphaTexId;
7711 
7712  glGenTextures(Num_RGB_Palettes * 2, &(paletteTexIds[0][0]));
7713  glGenTextures(1, &alphaTexId);
7714 
7715  for (int ipal = 0; ipal < Num_RGB_Palettes; ipal++)
7716  {
7717  palette_tex[ipal][0] = paletteTexIds[ipal][0];
7718  palette_tex[ipal][1] = paletteTexIds[ipal][1];
7719  }
7720  alpha_tex = alphaTexId;
7721 
7722  GLenum alpha_internal;
7724  {
7725  alpha_internal = GL_ALPHA;
7726  alpha_channel = GL_ALPHA;
7727  rgba_internal = GL_RGBA;
7728  }
7729  else
7730  {
7731  // WebGL 2 requires sized internal format for float texture
7732  alpha_internal = GL_R32F;
7733  alpha_channel = GL_RED;
7734  rgba_internal = GL_RGBA32F;
7735  }
7736  // set alpha texture to 1.0
7737  std::vector<float> alphaTexData(MaxTextureSize * 2);
7738  std::fill(alphaTexData.begin(), alphaTexData.end(), 1.0f);
7739  glActiveTexture(GL_TEXTURE1);
7740  glBindTexture(GL_TEXTURE_2D, alpha_tex);
7741  glTexImage2D(GL_TEXTURE_2D, 0, alpha_internal, MaxTextureSize, 2, 0,
7742  alpha_channel, GL_FLOAT, alphaTexData.data());
7743  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
7744  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
7745  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
7746  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
7747 
7748  glActiveTexture(GL_TEXTURE0);
7749  first_init = true;
7750  }
7751 
7752  for (int i = 0; i < Num_RGB_Palettes; i++)
7753  {
7754  ToTextureDiscrete(RGB_Palettes[i], RGB_Palettes_Sizes[i],
7755  palette_tex[i][0]);
7756  ToTextureSmooth(RGB_Palettes[i], RGB_Palettes_Sizes[i],
7757  palette_tex[i][1]);
7758  }
7759 }
7760 
7761 
7762 
7763 double PaletteState::GetColorCoord(double val, double min, double max)
7764 {
7765  // static double eps = 1e-24;
7766  static const double eps = 0.0;
7767  if (use_logscale)
7768  {
7769  if (val < min)
7770  {
7771  val = min;
7772  }
7773  if (val > max)
7774  {
7775  val = max;
7776  }
7777  return log(fabs(val/(min+eps))) / (log(fabs(max/(min+eps)))+eps);
7778  }
7779  else
7780  {
7781  return ((val-min)/(max-min));
7782  }
7783 }
7784 
7785 void PaletteState::GetColorFromVal(double val, float * rgba)
7786 {
7787  int palSize = RGB_Palettes_Sizes[curr_palette];
7788  const double* palData = RGB_Palettes[curr_palette];
7789  val *= 0.999999999 * ( palSize - 1 ) * abs(RepeatPaletteTimes);
7790  int i = (int) floor( val );
7791  double t = val - i;
7792 
7793  const double* pal;
7794  if (((i / (palSize-1)) % 2 == 0 && RepeatPaletteTimes > 0) ||
7795  ((i / (palSize-1)) % 2 == 1 && RepeatPaletteTimes < 0))
7796  {
7797  pal = palData + 3 * ( i % (palSize-1) );
7798  }
7799  else
7800  {
7801  pal = palData + 3 * ( (palSize-2) - i % (palSize-1) );
7802  t = 1.0 - t;
7803  }
7804  rgba[0] = (1.0 - t) * pal[0] + t * pal[3];
7805  rgba[1] = (1.0 - t) * pal[1] + t * pal[4];
7806  rgba[2] = (1.0 - t) * pal[2] + t * pal[5];
7807  rgba[3] = 1.f;
7808 }
7809 
7810 const double * PaletteState::GetData() const
7811 {
7812  return RGB_Palettes[curr_palette];
7813 }
7814 
7815 int PaletteState::GetSize(int pal) const
7816 {
7817  if (pal == -1)
7818  {
7819  return RGB_Palettes_Sizes[curr_palette];
7820  }
7821  return RGB_Palettes_Sizes[pal];
7822 }
7823 
7824 void PaletteState::GenerateAlphaTexture(float matAlpha, float matAlphaCenter)
7825 {
7826  std::vector<float> alphaTexData(MaxTextureSize);
7827  if (matAlpha >= 1.0)
7828  {
7829  // transparency off
7830  std::fill(alphaTexData.begin(), alphaTexData.end(), 1.0f);
7831  }
7832  else
7833  {
7834  for (int i = 0; i < MaxTextureSize; i++)
7835  {
7836  double val = double(2*i + 1)/(2*MaxTextureSize); // midpoint of texel
7837  if (matAlphaCenter > 1.0)
7838  {
7839  alphaTexData[i] = matAlpha * std::exp(-(matAlphaCenter)*std::abs(val - 1.0));
7840  }
7841  else if (matAlphaCenter < 0.0)
7842  {
7843  alphaTexData[i] = matAlpha * std::exp((matAlphaCenter - 1.0)*std::abs(val));
7844  }
7845  else
7846  {
7847  alphaTexData[i] = matAlpha * std::exp(-std::abs(val - matAlphaCenter));
7848  }
7849  }
7850  }
7851  glActiveTexture(GL_TEXTURE1);
7852  glBindTexture(GL_TEXTURE_2D, alpha_tex);
7853  glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 1, MaxTextureSize, 1, alpha_channel,
7854  GL_FLOAT, alphaTexData.data());
7855  glActiveTexture(GL_TEXTURE0);
7856 }
7857 
7859 {
7860  SetIndex((curr_palette + 1) % Num_RGB_Palettes);
7861 }
7862 
7864 {
7865  SetIndex((curr_palette == 0) ? Num_RGB_Palettes - 1 :
7866  curr_palette - 1);
7867 }
7868 
7870 {
7871  int pal = ChoosePalette();
7872 
7873  SetIndex(pal);
7874 
7875  return pal;
7876 }
double RGB_Palette_20[RGB_Palette_20_Size][3]
Definition: palettes.cpp:2262
const int RGB_Palette_3_Size
Definition: palettes.cpp:41
void Init_Palettes()
Definition: palettes.cpp:7399
const int RGB_Palette_25_Size
Definition: palettes.cpp:2975
double RGB_Palette_2[RGB_Palette_2_Size][3]
Definition: palettes.cpp:35
int ChoosePalette()
Definition: palettes.cpp:7503
const int RGB_Palette_40_Size
Definition: palettes.cpp:5246
const int RGB_Palette_26_Size
Definition: palettes.cpp:2979
double RGB_Palette_11[RGB_Palette_11_Size][3]
Definition: palettes.cpp:571
int GetSize(int pal=-1) const
Gets the total number of colors in the current palette color array.
Definition: palettes.cpp:7815
double RGB_Palette_21[RGB_Palette_21_Size][3]
Definition: palettes.cpp:2523
const int RGB_Palette_22_Size
Definition: palettes.cpp:2783
double corr(double a, double x)
Definition: palettes.cpp:7362
double * RGB_Palettes[Num_RGB_Palettes]
Definition: palettes.cpp:7333
const int RGB_Palette_18_Size
Definition: palettes.cpp:1739
const int RGB_Palette_29_Size
Definition: palettes.cpp:3296
double RGB_Palette_17[RGB_Palette_17_Size][3]
Definition: palettes.cpp:1480
double RGB_Palette_6[RGB_Palette_6_Size][3]
Definition: palettes.cpp:226
const int RGB_Palette_31_Size
Definition: palettes.cpp:3787
const double * GetData() const
Gets the data in the palette color array.
Definition: palettes.cpp:7810
const int RGB_Palette_37_Size
Definition: palettes.cpp:4460
double RGB_Palette_5[RGB_Palette_5_Size][3]
Definition: palettes.cpp:157
double RGB_Palette_14[RGB_Palette_14_Size][3]
Definition: palettes.cpp:697
void GetColorFromVal(double val, float *rgba)
Definition: palettes.cpp:7785
double RGB_Palette_9[RGB_Palette_9_Size][3]
Definition: palettes.cpp:433
const int RGB_Palette_17_Size
Definition: palettes.cpp:1479
double RGB_Palette_35[RGB_Palette_35_Size][3]
Definition: palettes.cpp:4239
double RGB_Palette_43[RGB_Palette_43_Size][3]
Definition: palettes.cpp:6798
double RGB_Palette_32[RGB_Palette_32_Size][3]
Definition: palettes.cpp:3819
const int RGB_Palette_33_Size
Definition: palettes.cpp:3952
double RGB_Palette_22[RGB_Palette_22_Size][3]
Definition: palettes.cpp:2784
int SelectNewRGBPalette()
Definition: palettes.cpp:7869
double RGB_Palette_19[RGB_Palette_19_Size][3]
Definition: palettes.cpp:2001
double RGB_Palette_12[RGB_Palette_12_Size][3]
Definition: palettes.cpp:640
const int RGB_Palette_19_Size
Definition: palettes.cpp:2000
const int RGB_Palette_16_Size
Definition: palettes.cpp:1217
const int RGB_Palette_12_Size
Definition: palettes.cpp:639
double RGB_Palette_16[RGB_Palette_16_Size][3]
Definition: palettes.cpp:1218
const int Num_RGB_Palettes
Definition: palettes.cpp:7313
void PrevIndex()
Definition: palettes.cpp:7863
const int RGB_Palette_39_Size
Definition: palettes.cpp:4984
const int RGB_Palette_43_Size
Definition: palettes.cpp:6797
const char * RGB_Palettes_Names[Num_RGB_Palettes]
Definition: palettes.cpp:7348
const int RGB_Palette_35_Size
Definition: palettes.cpp:4238
double RGB_Palette_34[RGB_Palette_34_Size][3]
Definition: palettes.cpp:4213
double GetColorCoord(double val, double min, double max)
Definition: palettes.cpp:7763
double RGB_Palette_39[RGB_Palette_39_Size][3]
Definition: palettes.cpp:4985
const int RGB_Palette_15_Size
Definition: palettes.cpp:957
void NextIndex()
Definition: palettes.cpp:7858
double RGB_Palette_30[RGB_Palette_30_Size][3]
Definition: palettes.cpp:3528
void Init_Visit_Calewhite_Palette()
Definition: palettes.cpp:7368
const int RGB_Palette_21_Size
Definition: palettes.cpp:2522
static bool useLegacyTextureFmts()
Definition: renderer.cpp:27
const int RGB_Palette_34_Size
Definition: palettes.cpp:4212
double RGB_Palette_10[RGB_Palette_10_Size][3]
Definition: palettes.cpp:502
const int RGB_Palette_27_Size
Definition: palettes.cpp:3017
const int RGB_Palette_30_Size
Definition: palettes.cpp:3527
const int RGB_Palette_20_Size
Definition: palettes.cpp:2261
const int RGB_Palette_23_Size
Definition: palettes.cpp:2939
double RGB_Palette_33[RGB_Palette_33_Size][3]
Definition: palettes.cpp:3953
double RGB_Palette_7[RGB_Palette_7_Size][3]
Definition: palettes.cpp:295
const int RGB_Palette_28_Size
Definition: palettes.cpp:3279
double RGB_Palette_15[RGB_Palette_15_Size][3]
Definition: palettes.cpp:958
const int RGB_Palette_7_Size
Definition: palettes.cpp:294
double RGB_Palette_3[RGB_Palette_3_Size][3]
Definition: palettes.cpp:42
void SetIndex(int num)
Sets the palette texture to bind.
Definition: palettes.hpp:31
const int RGB_Palette_42_Size
Definition: palettes.cpp:6280
const int RGB_Palette_41_Size
Definition: palettes.cpp:5763
const int RGB_Palette_9_Size
Definition: palettes.cpp:432
double RGB_Palette_29[RGB_Palette_29_Size][3]
Definition: palettes.cpp:3297
const int RGB_Palette_24_Size
Definition: palettes.cpp:2942
const int RGB_Palette_32_Size
Definition: palettes.cpp:3818
double RGB_Palette_41[RGB_Palette_41_Size][3]
Definition: palettes.cpp:5764
double RGB_Palette_4[RGB_Palette_4_Size][3]
Definition: palettes.cpp:141
double RGB_Palette_31[RGB_Palette_31_Size][3]
Definition: palettes.cpp:3788
void Init()
Initializes the palette textures.
Definition: palettes.cpp:7694
const int RGB_Palette_38_Size
Definition: palettes.cpp:4722
double RGB_Palette_37[RGB_Palette_37_Size][3]
Definition: palettes.cpp:4461
double RGB_Palette_36[RGB_Palette_36_Size][3]
Definition: palettes.cpp:4457
const int RGB_Palette_14_Size
Definition: palettes.cpp:696
double RGB_Palette_8[RGB_Palette_8_Size][3]
Definition: palettes.cpp:364
double RGB_Palette_27[RGB_Palette_27_Size][3]
Definition: palettes.cpp:3018
double RGB_Palette_25[RGB_Palette_25_Size][3]
Definition: palettes.cpp:2976
const int RGB_Palette_1_Size
Definition: palettes.cpp:24
double RGB_Palette_38[RGB_Palette_38_Size][3]
Definition: palettes.cpp:4723
const int RGB_Palette_8_Size
Definition: palettes.cpp:363
const int RGB_Palette_6_Size
Definition: palettes.cpp:225
double RGB_Palette_23[RGB_Palette_23_Size][3]
Definition: palettes.cpp:2940
const int RGB_Palettes_Sizes[Num_RGB_Palettes]
Definition: palettes.cpp:7314
const int RGB_Palette_5_Size
Definition: palettes.cpp:156
const int RGB_Palette_4_Size
Definition: palettes.cpp:140
double RGB_Palette_26[RGB_Palette_26_Size][3]
Definition: palettes.cpp:2980
double RGB_Palette_42[RGB_Palette_42_Size][3]
Definition: palettes.cpp:6281
const int RGB_Palette_36_Size
Definition: palettes.cpp:4456
double RGB_Palette_1[RGB_Palette_1_Size][3]
Definition: palettes.cpp:25
double RGB_Palette_18[RGB_Palette_18_Size][3]
Definition: palettes.cpp:1740
double RGB_Palette_40[RGB_Palette_40_Size][3]
Definition: palettes.cpp:5247
const int RGB_Palette_2_Size
Definition: palettes.cpp:34
double RGB_Palette_28[RGB_Palette_28_Size][3]
Definition: palettes.cpp:3280
void GenerateAlphaTexture(float matAlpha, float matAlphaCenter)
Definition: palettes.cpp:7824
double RGB_Palette_13[RGB_Palette_13_Size][3]
Definition: palettes.cpp:694
const int RGB_Palette_11_Size
Definition: palettes.cpp:570
const int RGB_Palette_10_Size
Definition: palettes.cpp:501
const int RGB_Palette_13_Size
Definition: palettes.cpp:693
double RGB_Palette_24[RGB_Palette_24_Size][3]
Definition: palettes.cpp:2943