dpcolor.c 235 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179
  1. /*
  2. * Copyright 2021
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 3 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. *
  17. * SPDX-License-Identifier: GPL-3.0+
  18. * License-Filename: LICENSE
  19. *
  20. * color can be a single number when a colorscheme is used:
  21. * node [fontname = courier, shape = box, colorscheme = paired6]
  22. * "0R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
  23. *
  24. * Usable color info:
  25. * https://en.wikipedia.org/wiki/RGB_color_model
  26. * https://en.wikipedia.org/wiki/HSL_and_HSV
  27. * https://en.wikipedia.org/wiki/X11_color_names
  28. * color data based on data in x11 server src oscolor.c
  29. * april 2016
  30. * https://cgit.freedesktop.org/xorg/xserver/tree/os/oscolor.c
  31. * blob: 017aab1f2c1ced555230c9899867c0edc5876ba7
  32. *
  33. * to workaround GCC compiler colorname bug a second
  34. * copy of a name with a space is included without space
  35. * then "light grey" is also known as "lightgrey" and "LightGrey"
  36. */
  37. /*
  38. Gcc-7 uses wrong colornames in graphviz dot files.
  39. For example lightgrey should be LightGrey.
  40. The dot program does accept this but is wrong because it is not a official x11 colorname.
  41. the program uses x11 colornames and does not accept lightgrey.
  42. This are places in GCC-7 where graphviz graph data is generated:
  43. graph.c: pp_string (pp, "digraph \"");
  44. graphite-scop-detection.c: fprintf (file, "digraph all {\n");
  45. sched-rgn.c: fprintf (f, "digraph Region_%d {\n", rgn);
  46. sched-rgn.c: pp_printf (&pp, "digraph SchedDG {\n");
  47. sel-sched-dump.c: fprintf (f, "digraph G {\n"
  48. tree-loop-distribution.c: fprintf (file, "digraph RDG {\n");
  49. tree-ssa-structalias.c: fprintf (file, "strict digraph {\n");
  50. tree-ssa-structalias.c: fprintf (file, "strict digraph {\n");
  51. in graph.c is:
  52. Copyright (C) 1998 Free Software Foundation, Inc.
  53. Draw a basic block BB belonging to the function with FUNCDEF_NO
  54. as its unique number.
  55. static void
  56. draw_cfg_node (pretty_printer *pp, int funcdef_no, basic_block bb)
  57. {
  58. const char *shape;
  59. const char *fillcolor;
  60. if (bb->index == ENTRY_BLOCK || bb->index == EXIT_BLOCK)
  61. {
  62. shape = "Mdiamond";
  63. fillcolor = "white";
  64. }
  65. else
  66. {
  67. shape = "record";
  68. fillcolor =
  69. BB_PARTITION (bb) == BB_HOT_PARTITION ? "lightpink"
  70. : BB_PARTITION (bb) == BB_COLD_PARTITION ? "lightblue"
  71. : "lightgrey";
  72. }
  73. Draw all the basic blocks in LOOP. Print the blocks in breath-first
  74. order to get a good ranking of the nodes. This function is recursive:
  75. It first prints inner loops, then the body of LOOP itself.
  76. static void
  77. draw_cfg_nodes_for_loop (pretty_printer *pp, int funcdef_no,
  78. struct loop *loop)
  79. {
  80. basic_block *body;
  81. unsigned int i;
  82. const char *fillcolors[3] = { "grey88", "grey77", "grey66" };
  83. if (loop->header != NULL
  84. && loop->latch != EXIT_BLOCK_PTR_FOR_FN (cfun))
  85. pp_printf (pp,
  86. "\tsubgraph cluster_%d_%d {\n"
  87. "\tstyle=\"filled\";\n"
  88. "\tcolor=\"darkgreen\";\n"
  89. "\tfillcolor=\"%s\";\n"
  90. "\tlabel=\"loop %d\";\n"
  91. "\tlabeljust=l;\n"
  92. "\tpenwidth=2;\n",
  93. funcdef_no, loop->num,
  94. fillcolors[(loop_depth (loop) - 1) % 3],
  95. loop->num);
  96. The oficial list of x11 colornames is at freedesktop.org:
  97. https://cgit.freedesktop.org/xorg/app/rgb/tree/rgb.txt
  98. and there is light grey defined:
  99. 211 211 211 light grey
  100. 211 211 211 LightGrey
  101. 255 182 193 light pink
  102. 255 182 193 LightPink
  103. 173 216 230 light blue
  104. 173 216 230 LightBlue
  105. 0 100 0 dark green
  106. 0 100 0 DarkGreen
  107. In graph.c the colornames in GCC data should be renamed to LightGrey,
  108. LightPink, LightBlue and DarkGreen to comply with x11 names.
  109. a gtk+ gui alternative to dot to use with GCC data
  110. for example in a edge color can be a color list using ':'
  111. as in a->b[color=red:blue:green]
  112. when color is "" then the default is taken, example:
  113. digraph {
  114. node[color=red];
  115. aaa[color=""];
  116. }
  117. transparent is used as background color
  118. */
  119. #include "config.h"
  120. #include <stdio.h>
  121. #include <string.h>
  122. #include <strings.h>
  123. #include <stdlib.h>
  124. #include <errno.h>
  125. #include "splay-tree.h"
  126. #include "main.h"
  127. #include "dpcolor.h"
  128. #include "dpus.h"
  129. /* drawing background color */
  130. int dp_bgcr = 0xff; /* (red) white */
  131. int dp_bgcg = 0xff; /* (green) white */
  132. int dp_bgcb = 0xff; /* (blue) white */
  133. /* color names database */
  134. static splay_tree gucolor = NULL;
  135. /* The type of a function used to deallocate any resources associated
  136. with the key. */
  137. static void ucolor_splay_tree_delete_key_fn(splay_tree_key keydata);
  138. /* The type of a function used to deallocate any resources associated
  139. with the value. */
  140. static void ucolor_splay_tree_delete_value_fn(splay_tree_value valuedata);
  141. /* add color data */
  142. static void colordata(int rev);
  143. /* add 1 color to database */
  144. static void coloradd(const char *name, int code, int rev);
  145. /* The type of a function used to deallocate any resources associated
  146. with the key. */
  147. static void ucolor_splay_tree_delete_key_fn(splay_tree_key keydata)
  148. {
  149. /* char *key is free'ed in uniq string */
  150. if (keydata) {
  151. }
  152. return;
  153. }
  154. /* The type of a function used to deallocate any resources associated
  155. with the value. */
  156. static void ucolor_splay_tree_delete_value_fn(splay_tree_value valuedata)
  157. {
  158. /* value is a static int */
  159. if (valuedata) {
  160. }
  161. return;
  162. }
  163. /* get number code for dot colorscheme
  164. accent3 color scheme
  165. accent4 color scheme
  166. accent5 color scheme
  167. accent6 color scheme
  168. accent7 color scheme
  169. accent8 color scheme
  170. blues3 color scheme
  171. blues4 color scheme
  172. blues5 color scheme
  173. blues6 color scheme
  174. blues7 color scheme
  175. blues8 color scheme
  176. blues9 color scheme
  177. brbg10 color scheme
  178. brbg11 color scheme
  179. brbg3 color scheme
  180. brbg4 color scheme
  181. brbg5 color scheme
  182. brbg6 color scheme
  183. brbg7 color scheme
  184. brbg8 color scheme
  185. brbg9 color scheme
  186. bugn3 color scheme
  187. bugn4 color scheme
  188. bugn5 color scheme
  189. bugn6 color scheme
  190. bugn7 color scheme
  191. bugn8 color scheme
  192. bugn9 color scheme
  193. bupu3 color scheme
  194. bupu4 color scheme
  195. bupu5 color scheme
  196. bupu6 color scheme
  197. bupu7 color scheme
  198. bupu8 color scheme
  199. bupu9 color scheme
  200. dark23 color scheme
  201. dark24 color scheme
  202. dark25 color scheme
  203. dark26 color scheme
  204. dark27 color scheme
  205. dark28 color scheme
  206. gnbu3 color scheme
  207. gnbu4 color scheme
  208. gnbu5 color scheme
  209. gnbu6 color scheme
  210. gnbu7 color scheme
  211. gnbu8 color scheme
  212. gnbu9 color scheme
  213. greens3 color scheme
  214. greens4 color scheme
  215. greens5 color scheme
  216. greens6 color scheme
  217. greens7 color scheme
  218. greens8 color scheme
  219. greens9 color scheme
  220. greys3 color scheme
  221. greys4 color scheme
  222. greys5 color scheme
  223. greys6 color scheme
  224. greys7 color scheme
  225. greys8 color scheme
  226. greys9 color scheme
  227. oranges3 color scheme
  228. oranges4 color scheme
  229. oranges5 color scheme
  230. oranges6 color scheme
  231. oranges7 color scheme
  232. oranges8 color scheme
  233. oranges9 color scheme
  234. orrd3 color scheme
  235. orrd4 color scheme
  236. orrd5 color scheme
  237. orrd6 color scheme
  238. orrd7 color scheme
  239. orrd8 color scheme
  240. orrd9 color scheme
  241. paired10 color scheme
  242. paired11 color scheme
  243. paired12 color scheme
  244. paired3 color scheme
  245. paired4 color scheme
  246. paired5 color scheme
  247. paired6 color scheme
  248. paired7 color scheme
  249. paired8 color scheme
  250. paired9 color scheme
  251. pastel13 color scheme
  252. pastel14 color scheme
  253. pastel15 color scheme
  254. pastel16 color scheme
  255. pastel17 color scheme
  256. pastel18 color scheme
  257. pastel19 color scheme
  258. pastel23 color scheme
  259. pastel24 color scheme
  260. pastel25 color scheme
  261. pastel26 color scheme
  262. pastel27 color scheme
  263. pastel28 color scheme
  264. piyg10 color scheme
  265. piyg11 color scheme
  266. piyg3 color scheme
  267. piyg4 color scheme
  268. piyg5 color scheme
  269. piyg6 color scheme
  270. piyg7 color scheme
  271. piyg8 color scheme
  272. piyg9 color scheme
  273. prgn10 color scheme
  274. prgn11 color scheme
  275. prgn3 color scheme
  276. prgn4 color scheme
  277. prgn5 color scheme
  278. prgn6 color scheme
  279. prgn7 color scheme
  280. prgn8 color scheme
  281. prgn9 color scheme
  282. pubu3 color scheme
  283. pubu4 color scheme
  284. pubu5 color scheme
  285. pubu6 color scheme
  286. pubu7 color scheme
  287. pubu8 color scheme
  288. pubu9 color scheme
  289. pubugn3 color scheme
  290. pubugn4 color scheme
  291. pubugn5 color scheme
  292. pubugn6 color scheme
  293. pubugn7 color scheme
  294. pubugn8 color scheme
  295. pubugn9 color scheme
  296. puor10 color scheme
  297. puor11 color scheme
  298. puor3 color scheme
  299. puor4 color scheme
  300. puor5 color scheme
  301. puor6 color scheme
  302. puor7 color scheme
  303. puor8 color scheme
  304. puor9 color scheme
  305. purd3 color scheme
  306. purd4 color scheme
  307. purd5 color scheme
  308. purd6 color scheme
  309. purd7 color scheme
  310. purd8 color scheme
  311. purd9 color scheme
  312. purples3 color scheme
  313. purples4 color scheme
  314. purples5 color scheme
  315. purples6 color scheme
  316. purples7 color scheme
  317. purples8 color scheme
  318. purples9 color scheme
  319. rdbu10 color scheme
  320. rdbu11 color scheme
  321. rdbu3 color scheme
  322. rdbu4 color scheme
  323. rdbu5 color scheme
  324. rdbu6 color scheme
  325. rdbu7 color scheme
  326. rdbu8 color scheme
  327. rdbu9 color scheme
  328. rdgy10 color scheme
  329. rdgy11 color scheme
  330. rdgy3 color scheme
  331. rdgy4 color scheme
  332. rdgy5 color scheme
  333. rdgy6 color scheme
  334. rdgy7 color scheme
  335. rdgy8 color scheme
  336. rdgy9 color scheme
  337. rdpu3 color scheme
  338. rdpu4 color scheme
  339. rdpu5 color scheme
  340. rdpu6 color scheme
  341. rdpu7 color scheme
  342. rdpu8 color scheme
  343. rdpu9 color scheme
  344. rdylbu10 color scheme
  345. rdylbu11 color scheme
  346. rdylbu3 color scheme
  347. rdylbu4 color scheme
  348. rdylbu5 color scheme
  349. rdylbu6 color scheme
  350. rdylbu7 color scheme
  351. rdylbu8 color scheme
  352. rdylbu9 color scheme
  353. rdylgn10 color scheme
  354. rdylgn11 color scheme
  355. rdylgn3 color scheme
  356. rdylgn4 color scheme
  357. rdylgn5 color scheme
  358. rdylgn6 color scheme
  359. rdylgn7 color scheme
  360. rdylgn8 color scheme
  361. rdylgn9 color scheme
  362. reds3 color scheme
  363. reds4 color scheme
  364. reds5 color scheme
  365. reds6 color scheme
  366. reds7 color scheme
  367. reds8 color scheme
  368. reds9 color scheme
  369. set13 color scheme
  370. set14 color scheme
  371. set15 color scheme
  372. set16 color scheme
  373. set17 color scheme
  374. set18 color scheme
  375. set19 color scheme
  376. set23 color scheme
  377. set24 color scheme
  378. set25 color scheme
  379. set26 color scheme
  380. set27 color scheme
  381. set28 color scheme
  382. set310 color scheme
  383. set311 color scheme
  384. set312 color scheme
  385. set33 color scheme
  386. set34 color scheme
  387. set35 color scheme
  388. set36 color scheme
  389. set37 color scheme
  390. set38 color scheme
  391. set39 color scheme
  392. spectral10 color scheme
  393. spectral11 color scheme
  394. spectral3 color scheme
  395. spectral4 color scheme
  396. spectral5 color scheme
  397. spectral6 color scheme
  398. spectral7 color scheme
  399. spectral8 color scheme
  400. spectral9 color scheme
  401. ylgn3 color scheme
  402. ylgn4 color scheme
  403. ylgn5 color scheme
  404. ylgn6 color scheme
  405. ylgn7 color scheme
  406. ylgn8 color scheme
  407. ylgn9 color scheme
  408. ylgnbu3 color scheme
  409. ylgnbu4 color scheme
  410. ylgnbu5 color scheme
  411. ylgnbu6 color scheme
  412. ylgnbu7 color scheme
  413. ylgnbu8 color scheme
  414. ylgnbu9 color scheme
  415. ylorbr3 color scheme
  416. ylorbr4 color scheme
  417. ylorbr5 color scheme
  418. ylorbr6 color scheme
  419. ylorbr7 color scheme
  420. ylorbr8 color scheme
  421. ylorbr9 color scheme
  422. ylorrd3 color scheme
  423. ylorrd4 color scheme
  424. ylorrd5 color scheme
  425. ylorrd6 color scheme
  426. ylorrd7 color scheme
  427. ylorrd8 color scheme
  428. ylorrd9 color scheme
  429. */
  430. /* return -1 on parse error
  431. * return 0 to tuen colorcheme off with ""
  432. */
  433. int dp_colorschemecode(const char *name)
  434. {
  435. int ret = 0;
  436. /* check arg */
  437. if (name == NULL) {
  438. return (0);
  439. }
  440. if (strlen(name) == 0) {
  441. return (0);
  442. }
  443. if (strcasecmp(name, "x11") == 0) {
  444. return (0);
  445. }
  446. switch (*name) {
  447. case 'a':
  448. if (strcasecmp(name, "accent3") == 0) {
  449. ret = COLOR_NS_ACCENT3;
  450. } else if (strcasecmp(name, "accent4") == 0) {
  451. ret = COLOR_NS_ACCENT4;
  452. } else if (strcasecmp(name, "accent5") == 0) {
  453. ret = COLOR_NS_ACCENT5;
  454. } else if (strcasecmp(name, "accent6") == 0) {
  455. ret = COLOR_NS_ACCENT6;
  456. } else if (strcasecmp(name, "accent7") == 0) {
  457. ret = COLOR_NS_ACCENT7;
  458. } else if (strcasecmp(name, "accent8") == 0) {
  459. ret = COLOR_NS_ACCENT8;
  460. } else {
  461. ret = -1;
  462. }
  463. break;
  464. case 'b':
  465. if (strcasecmp(name, "blues3") == 0) {
  466. ret = COLOR_NS_BLUES3;
  467. } else if (strcasecmp(name, "blues4") == 0) {
  468. ret = COLOR_NS_BLUES4;
  469. } else if (strcasecmp(name, "blues5") == 0) {
  470. ret = COLOR_NS_BLUES5;
  471. } else if (strcasecmp(name, "blues6") == 0) {
  472. ret = COLOR_NS_BLUES6;
  473. } else if (strcasecmp(name, "blues7") == 0) {
  474. ret = COLOR_NS_BLUES7;
  475. } else if (strcasecmp(name, "blues8") == 0) {
  476. ret = COLOR_NS_BLUES8;
  477. } else if (strcasecmp(name, "blues9") == 0) {
  478. ret = COLOR_NS_BLUES9;
  479. } else if (strcasecmp(name, "brbg10") == 0) {
  480. ret = COLOR_NS_BRBG10;
  481. } else if (strcasecmp(name, "brbg11") == 0) {
  482. ret = COLOR_NS_BRBG11;
  483. } else if (strcasecmp(name, "brbg3") == 0) {
  484. ret = COLOR_NS_BRBG3;
  485. } else if (strcasecmp(name, "brbg4") == 0) {
  486. ret = COLOR_NS_BRBG4;
  487. } else if (strcasecmp(name, "brbg5") == 0) {
  488. ret = COLOR_NS_BRBG5;
  489. } else if (strcasecmp(name, "brbg6") == 0) {
  490. ret = COLOR_NS_BRBG6;
  491. } else if (strcasecmp(name, "brbg7") == 0) {
  492. ret = COLOR_NS_BRBG7;
  493. } else if (strcasecmp(name, "brbg8") == 0) {
  494. ret = COLOR_NS_BRBG8;
  495. } else if (strcasecmp(name, "brbg9") == 0) {
  496. ret = COLOR_NS_BRBG9;
  497. } else if (strcasecmp(name, "bugn3") == 0) {
  498. ret = COLOR_NS_BUGN3;
  499. } else if (strcasecmp(name, "bugn4") == 0) {
  500. ret = COLOR_NS_BUGN4;
  501. } else if (strcasecmp(name, "bugn5") == 0) {
  502. ret = COLOR_NS_BUGN5;
  503. } else if (strcasecmp(name, "bugn6") == 0) {
  504. ret = COLOR_NS_BUGN6;
  505. } else if (strcasecmp(name, "bugn7") == 0) {
  506. ret = COLOR_NS_BUGN7;
  507. } else if (strcasecmp(name, "bugn8") == 0) {
  508. ret = COLOR_NS_BUGN8;
  509. } else if (strcasecmp(name, "bugn9") == 0) {
  510. ret = COLOR_NS_BUGN9;
  511. } else if (strcasecmp(name, "bupu3") == 0) {
  512. ret = COLOR_NS_BUPU3;
  513. } else if (strcasecmp(name, "bupu4") == 0) {
  514. ret = COLOR_NS_BUPU4;
  515. } else if (strcasecmp(name, "bupu5") == 0) {
  516. ret = COLOR_NS_BUPU5;
  517. } else if (strcasecmp(name, "bupu6") == 0) {
  518. ret = COLOR_NS_BUPU6;
  519. } else if (strcasecmp(name, "bupu7") == 0) {
  520. ret = COLOR_NS_BUPU7;
  521. } else if (strcasecmp(name, "bupu8") == 0) {
  522. ret = COLOR_NS_BUPU8;
  523. } else if (strcasecmp(name, "bupu9") == 0) {
  524. ret = COLOR_NS_BUPU9;
  525. } else {
  526. ret = -1;
  527. }
  528. break;
  529. case 'd':
  530. if (strcasecmp(name, "dark23") == 0) {
  531. ret = COLOR_NS_DARK23;
  532. } else if (strcasecmp(name, "dark24") == 0) {
  533. ret = COLOR_NS_DARK24;
  534. } else if (strcasecmp(name, "dark25") == 0) {
  535. ret = COLOR_NS_DARK25;
  536. } else if (strcasecmp(name, "dark26") == 0) {
  537. ret = COLOR_NS_DARK26;
  538. } else if (strcasecmp(name, "dark27") == 0) {
  539. ret = COLOR_NS_DARK27;
  540. } else if (strcasecmp(name, "dark28") == 0) {
  541. ret = COLOR_NS_DARK28;
  542. } else {
  543. ret = -1;
  544. }
  545. break;
  546. case 'g':
  547. if (strcasecmp(name, "gnbu3") == 0) {
  548. ret = COLOR_NS_GNBU3;
  549. } else if (strcasecmp(name, "gnbu4") == 0) {
  550. ret = COLOR_NS_GNBU4;
  551. } else if (strcasecmp(name, "gnbu5") == 0) {
  552. ret = COLOR_NS_GNBU5;
  553. } else if (strcasecmp(name, "gnbu6") == 0) {
  554. ret = COLOR_NS_GNBU6;
  555. } else if (strcasecmp(name, "gnbu7") == 0) {
  556. ret = COLOR_NS_GNBU7;
  557. } else if (strcasecmp(name, "gnbu8") == 0) {
  558. ret = COLOR_NS_GNBU8;
  559. } else if (strcasecmp(name, "gnbu9") == 0) {
  560. ret = COLOR_NS_GNBU9;
  561. } else if (strcasecmp(name, "greens3") == 0) {
  562. ret = COLOR_NS_GREENS3;
  563. } else if (strcasecmp(name, "greens4") == 0) {
  564. ret = COLOR_NS_GREENS4;
  565. } else if (strcasecmp(name, "greens5") == 0) {
  566. ret = COLOR_NS_GREENS5;
  567. } else if (strcasecmp(name, "greens6") == 0) {
  568. ret = COLOR_NS_GREENS6;
  569. } else if (strcasecmp(name, "greens7") == 0) {
  570. ret = COLOR_NS_GREENS7;
  571. } else if (strcasecmp(name, "greens8") == 0) {
  572. ret = COLOR_NS_GREENS8;
  573. } else if (strcasecmp(name, "greens9") == 0) {
  574. ret = COLOR_NS_GREENS9;
  575. } else if (strcasecmp(name, "greys3") == 0) {
  576. ret = COLOR_NS_GREYS3;
  577. } else if (strcasecmp(name, "greys4") == 0) {
  578. ret = COLOR_NS_GREYS4;
  579. } else if (strcasecmp(name, "greys5") == 0) {
  580. ret = COLOR_NS_GREYS5;
  581. } else if (strcasecmp(name, "greys6") == 0) {
  582. ret = COLOR_NS_GREYS6;
  583. } else if (strcasecmp(name, "greys7") == 0) {
  584. ret = COLOR_NS_GREYS7;
  585. } else if (strcasecmp(name, "greys8") == 0) {
  586. ret = COLOR_NS_GREYS8;
  587. } else if (strcasecmp(name, "greys9") == 0) {
  588. ret = COLOR_NS_GREYS9;
  589. } else {
  590. ret = -1;
  591. }
  592. break;
  593. case 'o':
  594. if (strcasecmp(name, "oranges3") == 0) {
  595. ret = COLOR_NS_ORANGES3;
  596. } else if (strcasecmp(name, "oranges4") == 0) {
  597. ret = COLOR_NS_ORANGES4;
  598. } else if (strcasecmp(name, "oranges5") == 0) {
  599. ret = COLOR_NS_ORANGES5;
  600. } else if (strcasecmp(name, "oranges6") == 0) {
  601. ret = COLOR_NS_ORANGES6;
  602. } else if (strcasecmp(name, "oranges7") == 0) {
  603. ret = COLOR_NS_ORANGES7;
  604. } else if (strcasecmp(name, "oranges8") == 0) {
  605. ret = COLOR_NS_ORANGES8;
  606. } else if (strcasecmp(name, "oranges9") == 0) {
  607. ret = COLOR_NS_ORANGES9;
  608. } else if (strcasecmp(name, "orrd3") == 0) {
  609. ret = COLOR_NS_ORRD3;
  610. } else if (strcasecmp(name, "orrd4") == 0) {
  611. ret = COLOR_NS_ORRD4;
  612. } else if (strcasecmp(name, "orrd5") == 0) {
  613. ret = COLOR_NS_ORRD5;
  614. } else if (strcasecmp(name, "orrd6") == 0) {
  615. ret = COLOR_NS_ORRD6;
  616. } else if (strcasecmp(name, "orrd7") == 0) {
  617. ret = COLOR_NS_ORRD7;
  618. } else if (strcasecmp(name, "orrd8") == 0) {
  619. ret = COLOR_NS_ORRD8;
  620. } else if (strcasecmp(name, "orrd9") == 0) {
  621. ret = COLOR_NS_ORRD9;
  622. } else {
  623. ret = -1;
  624. }
  625. break;
  626. case 'p':
  627. if (strcasecmp(name, "paired10") == 0) {
  628. ret = COLOR_NS_PAIRED10;
  629. } else if (strcasecmp(name, "paired11") == 0) {
  630. ret = COLOR_NS_PAIRED11;
  631. } else if (strcasecmp(name, "paired12") == 0) {
  632. ret = COLOR_NS_PAIRED12;
  633. } else if (strcasecmp(name, "paired3") == 0) {
  634. ret = COLOR_NS_PAIRED3;
  635. } else if (strcasecmp(name, "paired4") == 0) {
  636. ret = COLOR_NS_PAIRED4;
  637. } else if (strcasecmp(name, "paired5") == 0) {
  638. ret = COLOR_NS_PAIRED5;
  639. } else if (strcasecmp(name, "paired6") == 0) {
  640. ret = COLOR_NS_PAIRED6;
  641. } else if (strcasecmp(name, "paired7") == 0) {
  642. ret = COLOR_NS_PAIRED7;
  643. } else if (strcasecmp(name, "paired8") == 0) {
  644. ret = COLOR_NS_PAIRED8;
  645. } else if (strcasecmp(name, "paired9") == 0) {
  646. ret = COLOR_NS_PAIRED9;
  647. } else if (strcasecmp(name, "pastel13") == 0) {
  648. ret = COLOR_NS_PASTEL13;
  649. } else if (strcasecmp(name, "pastel14") == 0) {
  650. ret = COLOR_NS_PASTEL14;
  651. } else if (strcasecmp(name, "pastel15") == 0) {
  652. ret = COLOR_NS_PASTEL15;
  653. } else if (strcasecmp(name, "pastel16") == 0) {
  654. ret = COLOR_NS_PASTEL16;
  655. } else if (strcasecmp(name, "pastel17") == 0) {
  656. ret = COLOR_NS_PASTEL17;
  657. } else if (strcasecmp(name, "pastel18") == 0) {
  658. ret = COLOR_NS_PASTEL18;
  659. } else if (strcasecmp(name, "pastel19") == 0) {
  660. ret = COLOR_NS_PASTEL19;
  661. } else if (strcasecmp(name, "pastel23") == 0) {
  662. ret = COLOR_NS_PASTEL23;
  663. } else if (strcasecmp(name, "pastel24") == 0) {
  664. ret = COLOR_NS_PASTEL24;
  665. } else if (strcasecmp(name, "pastel25") == 0) {
  666. ret = COLOR_NS_PASTEL25;
  667. } else if (strcasecmp(name, "pastel26") == 0) {
  668. ret = COLOR_NS_PASTEL26;
  669. } else if (strcasecmp(name, "pastel27") == 0) {
  670. ret = COLOR_NS_PASTEL27;
  671. } else if (strcasecmp(name, "pastel28") == 0) {
  672. ret = COLOR_NS_PASTEL28;
  673. } else if (strcasecmp(name, "piyg10") == 0) {
  674. ret = COLOR_NS_PIYG10;
  675. } else if (strcasecmp(name, "piyg11") == 0) {
  676. ret = COLOR_NS_PIYG11;
  677. } else if (strcasecmp(name, "piyg3") == 0) {
  678. ret = COLOR_NS_PIYG3;
  679. } else if (strcasecmp(name, "piyg4") == 0) {
  680. ret = COLOR_NS_PIYG4;
  681. } else if (strcasecmp(name, "piyg5") == 0) {
  682. ret = COLOR_NS_PIYG5;
  683. } else if (strcasecmp(name, "piyg6") == 0) {
  684. ret = COLOR_NS_PIYG6;
  685. } else if (strcasecmp(name, "piyg7") == 0) {
  686. ret = COLOR_NS_PIYG7;
  687. } else if (strcasecmp(name, "piyg8") == 0) {
  688. ret = COLOR_NS_PIYG8;
  689. } else if (strcasecmp(name, "piyg9") == 0) {
  690. ret = COLOR_NS_PIYG9;
  691. } else if (strcasecmp(name, "prgn10") == 0) {
  692. ret = COLOR_NS_PRGN10;
  693. } else if (strcasecmp(name, "prgn11") == 0) {
  694. ret = COLOR_NS_PRGN11;
  695. } else if (strcasecmp(name, "prgn3") == 0) {
  696. ret = COLOR_NS_PRGN3;
  697. } else if (strcasecmp(name, "prgn4") == 0) {
  698. ret = COLOR_NS_PRGN4;
  699. } else if (strcasecmp(name, "prgn5") == 0) {
  700. ret = COLOR_NS_PRGN5;
  701. } else if (strcasecmp(name, "prgn6") == 0) {
  702. ret = COLOR_NS_PRGN6;
  703. } else if (strcasecmp(name, "prgn7") == 0) {
  704. ret = COLOR_NS_PRGN7;
  705. } else if (strcasecmp(name, "prgn8") == 0) {
  706. ret = COLOR_NS_PRGN8;
  707. } else if (strcasecmp(name, "prgn9") == 0) {
  708. ret = COLOR_NS_PRGN9;
  709. } else if (strcasecmp(name, "pubu3") == 0) {
  710. ret = COLOR_NS_PUBU3;
  711. } else if (strcasecmp(name, "pubu4") == 0) {
  712. ret = COLOR_NS_PUBU4;
  713. } else if (strcasecmp(name, "pubu5") == 0) {
  714. ret = COLOR_NS_PUBU5;
  715. } else if (strcasecmp(name, "pubu6") == 0) {
  716. ret = COLOR_NS_PUBU6;
  717. } else if (strcasecmp(name, "pubu7") == 0) {
  718. ret = COLOR_NS_PUBU7;
  719. } else if (strcasecmp(name, "pubu8") == 0) {
  720. ret = COLOR_NS_PUBU8;
  721. } else if (strcasecmp(name, "pubu9") == 0) {
  722. ret = COLOR_NS_PUBU9;
  723. } else if (strcasecmp(name, "pubugn3") == 0) {
  724. ret = COLOR_NS_PUBUGN3;
  725. } else if (strcasecmp(name, "pubugn4") == 0) {
  726. ret = COLOR_NS_PUBUGN4;
  727. } else if (strcasecmp(name, "pubugn5") == 0) {
  728. ret = COLOR_NS_PUBUGN5;
  729. } else if (strcasecmp(name, "pubugn6") == 0) {
  730. ret = COLOR_NS_PUBUGN6;
  731. } else if (strcasecmp(name, "pubugn7") == 0) {
  732. ret = COLOR_NS_PUBUGN7;
  733. } else if (strcasecmp(name, "pubugn8") == 0) {
  734. ret = COLOR_NS_PUBUGN8;
  735. } else if (strcasecmp(name, "pubugn9") == 0) {
  736. ret = COLOR_NS_PUBUGN9;
  737. } else if (strcasecmp(name, "puor10") == 0) {
  738. ret = COLOR_NS_PUOR10;
  739. } else if (strcasecmp(name, "puor11") == 0) {
  740. ret = COLOR_NS_PUOR11;
  741. } else if (strcasecmp(name, "puor3") == 0) {
  742. ret = COLOR_NS_PUOR3;
  743. } else if (strcasecmp(name, "puor4") == 0) {
  744. ret = COLOR_NS_PUOR4;
  745. } else if (strcasecmp(name, "puor5") == 0) {
  746. ret = COLOR_NS_PUOR5;
  747. } else if (strcasecmp(name, "puor6") == 0) {
  748. ret = COLOR_NS_PUOR6;
  749. } else if (strcasecmp(name, "puor7") == 0) {
  750. ret = COLOR_NS_PUOR7;
  751. } else if (strcasecmp(name, "puor8") == 0) {
  752. ret = COLOR_NS_PUOR8;
  753. } else if (strcasecmp(name, "puor9") == 0) {
  754. ret = COLOR_NS_PUOR9;
  755. } else if (strcasecmp(name, "purd3") == 0) {
  756. ret = COLOR_NS_PURD3;
  757. } else if (strcasecmp(name, "purd4") == 0) {
  758. ret = COLOR_NS_PURD4;
  759. } else if (strcasecmp(name, "purd5") == 0) {
  760. ret = COLOR_NS_PURD5;
  761. } else if (strcasecmp(name, "purd6") == 0) {
  762. ret = COLOR_NS_PURD6;
  763. } else if (strcasecmp(name, "purd7") == 0) {
  764. ret = COLOR_NS_PURD7;
  765. } else if (strcasecmp(name, "purd8") == 0) {
  766. ret = COLOR_NS_PURD8;
  767. } else if (strcasecmp(name, "purd9") == 0) {
  768. ret = COLOR_NS_PURD9;
  769. } else if (strcasecmp(name, "purples3") == 0) {
  770. ret = COLOR_NS_PURPLES3;
  771. } else if (strcasecmp(name, "purples4") == 0) {
  772. ret = COLOR_NS_PURPLES4;
  773. } else if (strcasecmp(name, "purples5") == 0) {
  774. ret = COLOR_NS_PURPLES5;
  775. } else if (strcasecmp(name, "purples6") == 0) {
  776. ret = COLOR_NS_PURPLES6;
  777. } else if (strcasecmp(name, "purples7") == 0) {
  778. ret = COLOR_NS_PURPLES7;
  779. } else if (strcasecmp(name, "purples8") == 0) {
  780. ret = COLOR_NS_PURPLES8;
  781. } else if (strcasecmp(name, "purples9") == 0) {
  782. ret = COLOR_NS_PURPLES9;
  783. } else {
  784. ret = -1;
  785. }
  786. break;
  787. case 'r':
  788. if (strcasecmp(name, "rdbu10") == 0) {
  789. ret = COLOR_NS_RDBU10;
  790. } else if (strcasecmp(name, "rdbu11") == 0) {
  791. ret = COLOR_NS_RDBU11;
  792. } else if (strcasecmp(name, "rdbu3") == 0) {
  793. ret = COLOR_NS_RDBU3;
  794. } else if (strcasecmp(name, "rdbu4") == 0) {
  795. ret = COLOR_NS_RDBU4;
  796. } else if (strcasecmp(name, "rdbu5") == 0) {
  797. ret = COLOR_NS_RDBU5;
  798. } else if (strcasecmp(name, "rdbu6") == 0) {
  799. ret = COLOR_NS_RDBU6;
  800. } else if (strcasecmp(name, "rdbu7") == 0) {
  801. ret = COLOR_NS_RDBU7;
  802. } else if (strcasecmp(name, "rdbu8") == 0) {
  803. ret = COLOR_NS_RDBU8;
  804. } else if (strcasecmp(name, "rdbu9") == 0) {
  805. ret = COLOR_NS_RDBU9;
  806. } else if (strcasecmp(name, "rdgy10") == 0) {
  807. ret = COLOR_NS_RDGY10;
  808. } else if (strcasecmp(name, "rdgy11") == 0) {
  809. ret = COLOR_NS_RDGY11;
  810. } else if (strcasecmp(name, "rdgy3") == 0) {
  811. ret = COLOR_NS_RDGY3;
  812. } else if (strcasecmp(name, "rdgy4") == 0) {
  813. ret = COLOR_NS_RDGY4;
  814. } else if (strcasecmp(name, "rdgy5") == 0) {
  815. ret = COLOR_NS_RDGY5;
  816. } else if (strcasecmp(name, "rdgy6") == 0) {
  817. ret = COLOR_NS_RDGY6;
  818. } else if (strcasecmp(name, "rdgy7") == 0) {
  819. ret = COLOR_NS_RDGY7;
  820. } else if (strcasecmp(name, "rdgy8") == 0) {
  821. ret = COLOR_NS_RDGY8;
  822. } else if (strcasecmp(name, "rdgy9") == 0) {
  823. ret = COLOR_NS_RDGY9;
  824. } else if (strcasecmp(name, "rdpu3") == 0) {
  825. ret = COLOR_NS_RDPU3;
  826. } else if (strcasecmp(name, "rdpu4") == 0) {
  827. ret = COLOR_NS_RDPU4;
  828. } else if (strcasecmp(name, "rdpu5") == 0) {
  829. ret = COLOR_NS_RDPU5;
  830. } else if (strcasecmp(name, "rdpu6") == 0) {
  831. ret = COLOR_NS_RDPU6;
  832. } else if (strcasecmp(name, "rdpu7") == 0) {
  833. ret = COLOR_NS_RDPU7;
  834. } else if (strcasecmp(name, "rdpu8") == 0) {
  835. ret = COLOR_NS_RDPU8;
  836. } else if (strcasecmp(name, "rdpu9") == 0) {
  837. ret = COLOR_NS_RDPU9;
  838. } else if (strcasecmp(name, "rdylbu10") == 0) {
  839. ret = COLOR_NS_RDYLBU10;
  840. } else if (strcasecmp(name, "rdylbu11") == 0) {
  841. ret = COLOR_NS_RDYLBU11;
  842. } else if (strcasecmp(name, "rdylbu3") == 0) {
  843. ret = COLOR_NS_RDYLBU3;
  844. } else if (strcasecmp(name, "rdylbu4") == 0) {
  845. ret = COLOR_NS_RDYLBU4;
  846. } else if (strcasecmp(name, "rdylbu5") == 0) {
  847. ret = COLOR_NS_RDYLBU5;
  848. } else if (strcasecmp(name, "rdylbu6") == 0) {
  849. ret = COLOR_NS_RDYLBU6;
  850. } else if (strcasecmp(name, "rdylbu7") == 0) {
  851. ret = COLOR_NS_RDYLBU7;
  852. } else if (strcasecmp(name, "rdylbu8") == 0) {
  853. ret = COLOR_NS_RDYLBU8;
  854. } else if (strcasecmp(name, "rdylbu9") == 0) {
  855. ret = COLOR_NS_RDYLBU9;
  856. } else if (strcasecmp(name, "rdylgn10") == 0) {
  857. ret = COLOR_NS_RDYLGN10;
  858. } else if (strcasecmp(name, "rdylgn11") == 0) {
  859. ret = COLOR_NS_RDYLGN11;
  860. } else if (strcasecmp(name, "rdylgn3") == 0) {
  861. ret = COLOR_NS_RDYLGN3;
  862. } else if (strcasecmp(name, "rdylgn4") == 0) {
  863. ret = COLOR_NS_RDYLGN4;
  864. } else if (strcasecmp(name, "rdylgn5") == 0) {
  865. ret = COLOR_NS_RDYLGN5;
  866. } else if (strcasecmp(name, "rdylgn6") == 0) {
  867. ret = COLOR_NS_RDYLGN6;
  868. } else if (strcasecmp(name, "rdylgn7") == 0) {
  869. ret = COLOR_NS_RDYLGN7;
  870. } else if (strcasecmp(name, "rdylgn8") == 0) {
  871. ret = COLOR_NS_RDYLGN8;
  872. } else if (strcasecmp(name, "rdylgn9") == 0) {
  873. ret = COLOR_NS_RDYLGN9;
  874. } else if (strcasecmp(name, "reds3") == 0) {
  875. ret = COLOR_NS_REDS3;
  876. } else if (strcasecmp(name, "reds4") == 0) {
  877. ret = COLOR_NS_REDS4;
  878. } else if (strcasecmp(name, "reds5") == 0) {
  879. ret = COLOR_NS_REDS5;
  880. } else if (strcasecmp(name, "reds6") == 0) {
  881. ret = COLOR_NS_REDS6;
  882. } else if (strcasecmp(name, "reds7") == 0) {
  883. ret = COLOR_NS_REDS7;
  884. } else if (strcasecmp(name, "reds8") == 0) {
  885. ret = COLOR_NS_REDS8;
  886. } else if (strcasecmp(name, "reds9") == 0) {
  887. ret = COLOR_NS_REDS9;
  888. } else {
  889. ret = -1;
  890. }
  891. break;
  892. case 's':
  893. if (strcasecmp(name, "set13") == 0) {
  894. ret = COLOR_NS_SET13;
  895. } else if (strcasecmp(name, "set14") == 0) {
  896. ret = COLOR_NS_SET14;
  897. } else if (strcasecmp(name, "set15") == 0) {
  898. ret = COLOR_NS_SET15;
  899. } else if (strcasecmp(name, "set16") == 0) {
  900. ret = COLOR_NS_SET16;
  901. } else if (strcasecmp(name, "set17") == 0) {
  902. ret = COLOR_NS_SET17;
  903. } else if (strcasecmp(name, "set18") == 0) {
  904. ret = COLOR_NS_SET18;
  905. } else if (strcasecmp(name, "set19") == 0) {
  906. ret = COLOR_NS_SET19;
  907. } else if (strcasecmp(name, "set23") == 0) {
  908. ret = COLOR_NS_SET23;
  909. } else if (strcasecmp(name, "set24") == 0) {
  910. ret = COLOR_NS_SET24;
  911. } else if (strcasecmp(name, "set25") == 0) {
  912. ret = COLOR_NS_SET25;
  913. } else if (strcasecmp(name, "set26") == 0) {
  914. ret = COLOR_NS_SET26;
  915. } else if (strcasecmp(name, "set27") == 0) {
  916. ret = COLOR_NS_SET27;
  917. } else if (strcasecmp(name, "set28") == 0) {
  918. ret = COLOR_NS_SET28;
  919. } else if (strcasecmp(name, "set310") == 0) {
  920. ret = COLOR_NS_SET310;
  921. } else if (strcasecmp(name, "set311") == 0) {
  922. ret = COLOR_NS_SET311;
  923. } else if (strcasecmp(name, "set312") == 0) {
  924. ret = COLOR_NS_SET312;
  925. } else if (strcasecmp(name, "set33") == 0) {
  926. ret = COLOR_NS_SET33;
  927. } else if (strcasecmp(name, "set34") == 0) {
  928. ret = COLOR_NS_SET34;
  929. } else if (strcasecmp(name, "set35") == 0) {
  930. ret = COLOR_NS_SET35;
  931. } else if (strcasecmp(name, "set36") == 0) {
  932. ret = COLOR_NS_SET36;
  933. } else if (strcasecmp(name, "set37") == 0) {
  934. ret = COLOR_NS_SET37;
  935. } else if (strcasecmp(name, "set38") == 0) {
  936. ret = COLOR_NS_SET38;
  937. } else if (strcasecmp(name, "set39") == 0) {
  938. ret = COLOR_NS_SET39;
  939. } else if (strcasecmp(name, "spectral10") == 0) {
  940. ret = COLOR_NS_SPECTRAL10;
  941. } else if (strcasecmp(name, "spectral11") == 0) {
  942. ret = COLOR_NS_SPECTRAL11;
  943. } else if (strcasecmp(name, "spectral3") == 0) {
  944. ret = COLOR_NS_SPECTRAL3;
  945. } else if (strcasecmp(name, "spectral4") == 0) {
  946. ret = COLOR_NS_SPECTRAL4;
  947. } else if (strcasecmp(name, "spectral5") == 0) {
  948. ret = COLOR_NS_SPECTRAL5;
  949. } else if (strcasecmp(name, "spectral6") == 0) {
  950. ret = COLOR_NS_SPECTRAL6;
  951. } else if (strcasecmp(name, "spectral7") == 0) {
  952. ret = COLOR_NS_SPECTRAL7;
  953. } else if (strcasecmp(name, "spectral8") == 0) {
  954. ret = COLOR_NS_SPECTRAL8;
  955. } else if (strcasecmp(name, "spectral9") == 0) {
  956. ret = COLOR_NS_SPECTRAL9;
  957. } else {
  958. ret = -1;
  959. }
  960. break;
  961. case 'y':
  962. if (strcasecmp(name, "ylgn3") == 0) {
  963. ret = COLOR_NS_YLGN3;
  964. } else if (strcasecmp(name, "ylgn4") == 0) {
  965. ret = COLOR_NS_YLGN4;
  966. } else if (strcasecmp(name, "ylgn5") == 0) {
  967. ret = COLOR_NS_YLGN5;
  968. } else if (strcasecmp(name, "ylgn6") == 0) {
  969. ret = COLOR_NS_YLGN6;
  970. } else if (strcasecmp(name, "ylgn7") == 0) {
  971. ret = COLOR_NS_YLGN7;
  972. } else if (strcasecmp(name, "ylgn8") == 0) {
  973. ret = COLOR_NS_YLGN8;
  974. } else if (strcasecmp(name, "ylgn9") == 0) {
  975. ret = COLOR_NS_YLGN9;
  976. } else if (strcasecmp(name, "ylgnbu3") == 0) {
  977. ret = COLOR_NS_YLGNBU3;
  978. } else if (strcasecmp(name, "ylgnbu4") == 0) {
  979. ret = COLOR_NS_YLGNBU4;
  980. } else if (strcasecmp(name, "ylgnbu5") == 0) {
  981. ret = COLOR_NS_YLGNBU5;
  982. } else if (strcasecmp(name, "ylgnbu6") == 0) {
  983. ret = COLOR_NS_YLGNBU6;
  984. } else if (strcasecmp(name, "ylgnbu7") == 0) {
  985. ret = COLOR_NS_YLGNBU7;
  986. } else if (strcasecmp(name, "ylgnbu8") == 0) {
  987. ret = COLOR_NS_YLGNBU8;
  988. } else if (strcasecmp(name, "ylgnbu9") == 0) {
  989. ret = COLOR_NS_YLGNBU9;
  990. } else if (strcasecmp(name, "ylorbr3") == 0) {
  991. ret = COLOR_NS_YLORBR3;
  992. } else if (strcasecmp(name, "ylorbr4") == 0) {
  993. ret = COLOR_NS_YLORBR4;
  994. } else if (strcasecmp(name, "ylorbr5") == 0) {
  995. ret = COLOR_NS_YLORBR5;
  996. } else if (strcasecmp(name, "ylorbr6") == 0) {
  997. ret = COLOR_NS_YLORBR6;
  998. } else if (strcasecmp(name, "ylorbr7") == 0) {
  999. ret = COLOR_NS_YLORBR7;
  1000. } else if (strcasecmp(name, "ylorbr8") == 0) {
  1001. ret = COLOR_NS_YLORBR8;
  1002. } else if (strcasecmp(name, "ylorbr9") == 0) {
  1003. ret = COLOR_NS_YLORBR9;
  1004. } else if (strcasecmp(name, "ylorrd3") == 0) {
  1005. ret = COLOR_NS_YLORRD3;
  1006. } else if (strcasecmp(name, "ylorrd4") == 0) {
  1007. ret = COLOR_NS_YLORRD4;
  1008. } else if (strcasecmp(name, "ylorrd5") == 0) {
  1009. ret = COLOR_NS_YLORRD5;
  1010. } else if (strcasecmp(name, "ylorrd6") == 0) {
  1011. ret = COLOR_NS_YLORRD6;
  1012. } else if (strcasecmp(name, "ylorrd7") == 0) {
  1013. ret = COLOR_NS_YLORRD7;
  1014. } else if (strcasecmp(name, "ylorrd8") == 0) {
  1015. ret = COLOR_NS_YLORRD8;
  1016. } else if (strcasecmp(name, "ylorrd9") == 0) {
  1017. ret = COLOR_NS_YLORRD9;
  1018. } else {
  1019. ret = -1;
  1020. }
  1021. break;
  1022. default:
  1023. ret = -1;
  1024. break;
  1025. }
  1026. return (ret);
  1027. }
  1028. /* colorscheme color */
  1029. int dp_colornscode(int number, int scheme)
  1030. {
  1031. int ret = (-1);
  1032. switch (scheme) {
  1033. case COLOR_NS_ACCENT3: /* accent3 color scheme */
  1034. switch (number) {
  1035. case 1:
  1036. ret = 0x007fc87f; /* #7fc97f 1 */
  1037. break;
  1038. case 2:
  1039. ret = 0x00beaed5; /* #beaed4 2 */
  1040. break;
  1041. case 3:
  1042. ret = 0x00fdc085; /* #fdc086 3 */
  1043. break;
  1044. default:
  1045. ret = (-1);
  1046. break;
  1047. }
  1048. break;
  1049. case COLOR_NS_ACCENT4: /* accent4 color scheme */
  1050. switch (number) {
  1051. case 1:
  1052. ret = 0x007fc87f; /* #7fc97f 1 */
  1053. break;
  1054. case 2:
  1055. ret = 0x00beaed5; /* #beaed4 2 */
  1056. break;
  1057. case 3:
  1058. ret = 0x00fdc085; /* #fdc086 3 */
  1059. break;
  1060. case 4:
  1061. ret = 0x00ffff98; /* #ffff99 4 */
  1062. break;
  1063. default:
  1064. ret = (-1);
  1065. break;
  1066. }
  1067. break;
  1068. case COLOR_NS_ACCENT5: /* accent5 color scheme */
  1069. switch (number) {
  1070. case 1:
  1071. ret = 0x007fc97f; /* #7fc97f 1 */
  1072. break;
  1073. case 2:
  1074. ret = 0x00beaed4; /* #beaed4 2 */
  1075. break;
  1076. case 3:
  1077. ret = 0x00fdc086; /* #fdc086 3 */
  1078. break;
  1079. case 4:
  1080. ret = 0x00ffff99; /* #ffff99 4 */
  1081. break;
  1082. case 5:
  1083. ret = 0x00386cb0; /* #386cb0 5 */
  1084. break;
  1085. default:
  1086. ret = (-1);
  1087. break;
  1088. }
  1089. break;
  1090. case COLOR_NS_ACCENT6: /* accent6 color scheme */
  1091. switch (number) {
  1092. case 1:
  1093. ret = 0x007fc97f; /* #7fc97f 1 */
  1094. break;
  1095. case 2:
  1096. ret = 0x00beaed4; /* #beaed4 2 */
  1097. break;
  1098. case 3:
  1099. ret = 0x00fdc086; /* #fdc086 3 */
  1100. break;
  1101. case 4:
  1102. ret = 0x00ffff99; /* #ffff99 4 */
  1103. break;
  1104. case 5:
  1105. ret = 0x00386cb0; /* #386cb0 5 */
  1106. break;
  1107. case 6:
  1108. ret = 0x00f0027f; /* #f0027f 6 */
  1109. break;
  1110. default:
  1111. ret = (-1);
  1112. break;
  1113. }
  1114. break;
  1115. case COLOR_NS_ACCENT7: /* accent7 color scheme */
  1116. switch (number) {
  1117. case 1:
  1118. ret = 0x007fc97f; /* #7fc97f 1 */
  1119. break;
  1120. case 2:
  1121. ret = 0x00beaed4; /* #beaed4 2 */
  1122. break;
  1123. case 3:
  1124. ret = 0x00fdc086; /* #fdc086 3 */
  1125. break;
  1126. case 4:
  1127. ret = 0x00ffff99; /* #ffff99 4 */
  1128. break;
  1129. case 5:
  1130. ret = 0x00386cb0; /* #386cb0 5 */
  1131. break;
  1132. case 6:
  1133. ret = 0x00f0027f; /* #f0027f 6 */
  1134. break;
  1135. case 7:
  1136. ret = 0x00bf5b17; /* #bf5b17 7 */
  1137. break;
  1138. default:
  1139. ret = (-1);
  1140. break;
  1141. }
  1142. break;
  1143. case COLOR_NS_ACCENT8: /* accent8 color scheme */
  1144. switch (number) {
  1145. case 1:
  1146. ret = 0x007fc97f; /* #7fc97f 1 */
  1147. break;
  1148. case 2:
  1149. ret = 0x00beaed4; /* #beaed4 2 */
  1150. break;
  1151. case 3:
  1152. ret = 0x00fdc086; /* #fdc086 3 */
  1153. break;
  1154. case 4:
  1155. ret = 0x00ffff99; /* #ffff99 4 */
  1156. break;
  1157. case 5:
  1158. ret = 0x00386cb0; /* #386cb0 5 */
  1159. break;
  1160. case 6:
  1161. ret = 0x00f0027f; /* #f0027f 6 */
  1162. break;
  1163. case 7:
  1164. ret = 0x00bf5b17; /* #bf5b17 7 */
  1165. break;
  1166. case 8:
  1167. ret = 0x00666666; /* #666666 8 */
  1168. break;
  1169. default:
  1170. ret = (-1);
  1171. break;
  1172. }
  1173. break;
  1174. case COLOR_NS_BLUES3: /* blues3 color scheme */
  1175. switch (number) {
  1176. case 1:
  1177. ret = 0x00deebf7; /* #deebf7 1 */
  1178. break;
  1179. case 2:
  1180. ret = 0x009ecae1; /* #9ecae1 2 */
  1181. break;
  1182. case 3:
  1183. ret = 0x003182bd; /* #3182bd 3 */
  1184. break;
  1185. default:
  1186. ret = (-1);
  1187. break;
  1188. }
  1189. break;
  1190. case COLOR_NS_BLUES4: /* blues4 color scheme */
  1191. switch (number) {
  1192. case 1:
  1193. ret = 0x00eff3ff; /* #eff3ff 1 */
  1194. break;
  1195. case 2:
  1196. ret = 0x00bdd7e7; /* #bdd7e7 2 */
  1197. break;
  1198. case 3:
  1199. ret = 0x006baed6; /* #6baed6 3 */
  1200. break;
  1201. case 4:
  1202. ret = 0x002171b5; /* #2171b5 4 */
  1203. break;
  1204. default:
  1205. ret = (-1);
  1206. break;
  1207. }
  1208. break;
  1209. case COLOR_NS_BLUES5: /* blues5 color scheme */
  1210. switch (number) {
  1211. case 1:
  1212. ret = 0x00eff3ff; /* #eff3ff 1 */
  1213. break;
  1214. case 2:
  1215. ret = 0x00bdd7e7; /* #bdd7e7 2 */
  1216. break;
  1217. case 3:
  1218. ret = 0x006baed6; /* #6baed6 3 */
  1219. break;
  1220. case 4:
  1221. ret = 0x003182bd; /* #3182bd 4 */
  1222. break;
  1223. case 5:
  1224. ret = 0x0008519c; /* #08519c 5 */
  1225. break;
  1226. default:
  1227. ret = (-1);
  1228. break;
  1229. }
  1230. break;
  1231. case COLOR_NS_BLUES6: /* blues6 color scheme */
  1232. switch (number) {
  1233. case 1:
  1234. ret = 0x00eff3ff; /* #eff3ff 1 */
  1235. break;
  1236. case 2:
  1237. ret = 0x00c6dbef; /* #c6dbef 2 */
  1238. break;
  1239. case 3:
  1240. ret = 0x009ecae1; /* #9ecae1 3 */
  1241. break;
  1242. case 4:
  1243. ret = 0x006baed6; /* #6baed6 4 */
  1244. break;
  1245. case 5:
  1246. ret = 0x003182bd; /* #3182bd 5 */
  1247. break;
  1248. case 6:
  1249. ret = 0x0008519c; /* #08519c 6 */
  1250. break;
  1251. default:
  1252. ret = (-1);
  1253. break;
  1254. }
  1255. break;
  1256. case COLOR_NS_BLUES7: /* blues7 color scheme */
  1257. switch (number) {
  1258. case 1:
  1259. ret = 0x00eff3ff; /* #eff3ff 1 */
  1260. break;
  1261. case 2:
  1262. ret = 0x00c6dbef; /* #c6dbef 2 */
  1263. break;
  1264. case 3:
  1265. ret = 0x009ecae1; /* #9ecae1 3 */
  1266. break;
  1267. case 4:
  1268. ret = 0x006baed6; /* #6baed6 4 */
  1269. break;
  1270. case 5:
  1271. ret = 0x004292c6; /* #4292c6 5 */
  1272. break;
  1273. case 6:
  1274. ret = 0x002171b5; /* #2171b5 6 */
  1275. break;
  1276. case 7:
  1277. ret = 0x00084594; /* #084594 7 */
  1278. break;
  1279. default:
  1280. ret = (-1);
  1281. break;
  1282. }
  1283. break;
  1284. case COLOR_NS_BLUES8: /* blues8 color scheme */
  1285. switch (number) {
  1286. case 1:
  1287. ret = 0x00f7fbff; /* #f7fbff 1 */
  1288. break;
  1289. case 2:
  1290. ret = 0x00deebf7; /* #deebf7 2 */
  1291. break;
  1292. case 3:
  1293. ret = 0x00c6dbef; /* #c6dbef 3 */
  1294. break;
  1295. case 4:
  1296. ret = 0x009ecae1; /* #9ecae1 4 */
  1297. break;
  1298. case 5:
  1299. ret = 0x006baed6; /* #6baed6 5 */
  1300. break;
  1301. case 6:
  1302. ret = 0x004292c6; /* #4292c6 6 */
  1303. break;
  1304. case 7:
  1305. ret = 0x002171b5; /* #2171b5 7 */
  1306. break;
  1307. case 8:
  1308. ret = 0x00084594; /* #084594 8 */
  1309. break;
  1310. default:
  1311. ret = (-1);
  1312. break;
  1313. }
  1314. break;
  1315. case COLOR_NS_BLUES9: /* blues9 color scheme */
  1316. switch (number) {
  1317. case 1:
  1318. ret = 0x00f7fbff; /* #f7fbff 1 */
  1319. break;
  1320. case 2:
  1321. ret = 0x00deebf7; /* #deebf7 2 */
  1322. break;
  1323. case 3:
  1324. ret = 0x00c6dbef; /* #c6dbef 3 */
  1325. break;
  1326. case 4:
  1327. ret = 0x009ecae1; /* #9ecae1 4 */
  1328. break;
  1329. case 5:
  1330. ret = 0x006baed6; /* #6baed6 5 */
  1331. break;
  1332. case 6:
  1333. ret = 0x004292c6; /* #4292c6 6 */
  1334. break;
  1335. case 7:
  1336. ret = 0x002171b5; /* #2171b5 7 */
  1337. break;
  1338. case 8:
  1339. ret = 0x0008519c; /* #08519c 8 */
  1340. break;
  1341. case 9:
  1342. ret = 0x0008306b; /* #08306b 9 */
  1343. break;
  1344. default:
  1345. ret = (-1);
  1346. break;
  1347. }
  1348. break;
  1349. case COLOR_NS_BRBG10: /* brbg10 color scheme */
  1350. switch (number) {
  1351. case 1:
  1352. ret = 0x00543005; /* #543005 1 */
  1353. break;
  1354. case 2:
  1355. ret = 0x008c510a; /* #8c510a 2 */
  1356. break;
  1357. case 3:
  1358. ret = 0x00bf812d; /* #bf812d 3 */
  1359. break;
  1360. case 4:
  1361. ret = 0x00dfc27d; /* #dfc27d 4 */
  1362. break;
  1363. case 5:
  1364. ret = 0x00f6e8c3; /* #f6e8c3 5 */
  1365. break;
  1366. case 6:
  1367. ret = 0x00c7eae5; /* #c7eae5 6 */
  1368. break;
  1369. case 7:
  1370. ret = 0x0080cdc1; /* #80cdc1 7 */
  1371. break;
  1372. case 8:
  1373. ret = 0x0035978f; /* #35978f 8 */
  1374. break;
  1375. case 9:
  1376. ret = 0x0001665e; /* #01665e 9 */
  1377. break;
  1378. case 10:
  1379. ret = 0x00003c30; /* #003c30 10 */
  1380. break;
  1381. default:
  1382. ret = (-1);
  1383. break;
  1384. }
  1385. break;
  1386. case COLOR_NS_BRBG11: /* brbg11 color scheme */
  1387. switch (number) {
  1388. case 1:
  1389. ret = 0x00543005; /* #543005 1 */
  1390. break;
  1391. case 2:
  1392. ret = 0x008c510a; /* #8c510a 2 */
  1393. break;
  1394. case 3:
  1395. ret = 0x00bf812d; /* #bf812d 3 */
  1396. break;
  1397. case 4:
  1398. ret = 0x00dfc27d; /* #dfc27d 4 */
  1399. break;
  1400. case 5:
  1401. ret = 0x00f6e8c3; /* #f6e8c3 5 */
  1402. break;
  1403. case 6:
  1404. ret = 0x00f5f5f5; /* #f5f5f5 6 */
  1405. break;
  1406. case 7:
  1407. ret = 0x00c7eae5; /* #c7eae5 7 */
  1408. break;
  1409. case 8:
  1410. ret = 0x0080cdc1; /* #80cdc1 8 */
  1411. break;
  1412. case 9:
  1413. ret = 0x0035978f; /* #35978f 9 */
  1414. break;
  1415. case 10:
  1416. ret = 0x0001665e; /* #01665e 10 */
  1417. break;
  1418. case 11:
  1419. ret = 0x00003c30; /* #003c30 11 */
  1420. break;
  1421. default:
  1422. ret = (-1);
  1423. break;
  1424. }
  1425. break;
  1426. case COLOR_NS_BRBG3: /* brbg3 color scheme */
  1427. switch (number) {
  1428. case 1:
  1429. ret = 0x00d8b365; /* #d8b365 1 */
  1430. break;
  1431. case 2:
  1432. ret = 0x00f5f5f5; /* #f5f5f5 2 */
  1433. break;
  1434. case 3:
  1435. ret = 0x005ab4ac; /* #5ab4ac 3 */
  1436. break;
  1437. default:
  1438. ret = (-1);
  1439. break;
  1440. }
  1441. break;
  1442. case COLOR_NS_BRBG4: /* brbg4 color scheme */
  1443. switch (number) {
  1444. case 1:
  1445. ret = 0x00a6611a; /* #a6611a 1 */
  1446. break;
  1447. case 2:
  1448. ret = 0x00dfc27d; /* #dfc27d 2 */
  1449. break;
  1450. case 3:
  1451. ret = 0x0080cdc1; /* #80cdc1 3 */
  1452. break;
  1453. case 4:
  1454. ret = 0x00018571; /* #018571 4 */
  1455. break;
  1456. default:
  1457. ret = (-1);
  1458. break;
  1459. }
  1460. break;
  1461. case COLOR_NS_BRBG5: /* brbg5 color scheme */
  1462. switch (number) {
  1463. case 1:
  1464. ret = 0x00a6611a; /* #a6611a 1 */
  1465. break;
  1466. case 2:
  1467. ret = 0x00dfc27d; /* #dfc27d 2 */
  1468. break;
  1469. case 3:
  1470. ret = 0x00f5f5f5; /* #f5f5f5 3 */
  1471. break;
  1472. case 4:
  1473. ret = 0x0080cdc1; /* #80cdc1 4 */
  1474. break;
  1475. case 5:
  1476. ret = 0x00018571; /* #018571 5 */
  1477. break;
  1478. default:
  1479. ret = (-1);
  1480. break;
  1481. }
  1482. break;
  1483. case COLOR_NS_BRBG6: /* brbg6 color scheme */
  1484. switch (number) {
  1485. case 1:
  1486. ret = 0x008c510a; /* #8c510a 1 */
  1487. break;
  1488. case 2:
  1489. ret = 0x00d8b365; /* #d8b365 2 */
  1490. break;
  1491. case 3:
  1492. ret = 0x00f6e8c3; /* #f6e8c3 3 */
  1493. break;
  1494. case 4:
  1495. ret = 0x00c7eae5; /* #c7eae5 4 */
  1496. break;
  1497. case 5:
  1498. ret = 0x005ab4ac; /* #5ab4ac 5 */
  1499. break;
  1500. case 6:
  1501. ret = 0x0001665e; /* #01665e 6 */
  1502. break;
  1503. default:
  1504. ret = (-1);
  1505. break;
  1506. }
  1507. break;
  1508. case COLOR_NS_BRBG7: /* brbg7 color scheme */
  1509. switch (number) {
  1510. case 1:
  1511. ret = 0x008c510a; /* #8c510a 1 */
  1512. break;
  1513. case 2:
  1514. ret = 0x00d8b365; /* #d8b365 2 */
  1515. break;
  1516. case 3:
  1517. ret = 0x00f6e8c3; /* #f6e8c3 3 */
  1518. break;
  1519. case 4:
  1520. ret = 0x00f5f5f5; /* #f5f5f5 4 */
  1521. break;
  1522. case 5:
  1523. ret = 0x00c7eae5; /* #c7eae5 5 */
  1524. break;
  1525. case 6:
  1526. ret = 0x005ab4ac; /* #5ab4ac 6 */
  1527. break;
  1528. case 7:
  1529. ret = 0x0001665e; /* #01665e 7 */
  1530. break;
  1531. default:
  1532. ret = (-1);
  1533. break;
  1534. }
  1535. break;
  1536. case COLOR_NS_BRBG8: /* brbg8 color scheme */
  1537. switch (number) {
  1538. case 1:
  1539. ret = 0x008c510a; /* #8c510a 1 */
  1540. break;
  1541. case 2:
  1542. ret = 0x00bf812d; /* #bf812d 2 */
  1543. break;
  1544. case 3:
  1545. ret = 0x00dfc27d; /* #dfc27d 3 */
  1546. break;
  1547. case 4:
  1548. ret = 0x00f6e8c3; /* #f6e8c3 4 */
  1549. break;
  1550. case 5:
  1551. ret = 0x00c7eae5; /* #c7eae5 5 */
  1552. break;
  1553. case 6:
  1554. ret = 0x0080cdc1; /* #80cdc1 6 */
  1555. break;
  1556. case 7:
  1557. ret = 0x0035978f; /* #35978f 7 */
  1558. break;
  1559. case 8:
  1560. ret = 0x0001665e; /* #01665e 8 */
  1561. break;
  1562. default:
  1563. ret = (-1);
  1564. break;
  1565. }
  1566. break;
  1567. case COLOR_NS_BRBG9: /* brbg9 color scheme */
  1568. switch (number) {
  1569. case 1:
  1570. ret = 0x008c510a; /* #8c510a 1 */
  1571. break;
  1572. case 2:
  1573. ret = 0x00bf812d; /* #bf812d 2 */
  1574. break;
  1575. case 3:
  1576. ret = 0x00dfc27d; /* #dfc27d 3 */
  1577. break;
  1578. case 4:
  1579. ret = 0x00f6e8c3; /* #f6e8c3 4 */
  1580. break;
  1581. case 5:
  1582. ret = 0x00f5f5f5; /* #f5f5f5 5 */
  1583. break;
  1584. case 6:
  1585. ret = 0x00c7eae5; /* #c7eae5 6 */
  1586. break;
  1587. case 7:
  1588. ret = 0x0080cdc1; /* #80cdc1 7 */
  1589. break;
  1590. case 8:
  1591. ret = 0x0035978f; /* #35978f 8 */
  1592. break;
  1593. case 9:
  1594. ret = 0x0001665e; /* #01665e 9 */
  1595. break;
  1596. default:
  1597. ret = (-1);
  1598. break;
  1599. }
  1600. break;
  1601. case COLOR_NS_BUGN3: /* bugn3 color scheme */
  1602. switch (number) {
  1603. case 1:
  1604. ret = 0x00e5f5f9; /* #e5f5f9 1 */
  1605. break;
  1606. case 2:
  1607. ret = 0x0099d8c9; /* #99d8c9 2 */
  1608. break;
  1609. case 3:
  1610. ret = 0x002ca25f; /* #2ca25f 3 */
  1611. break;
  1612. default:
  1613. ret = (-1);
  1614. break;
  1615. }
  1616. break;
  1617. case COLOR_NS_BUGN4: /* bugn4 color scheme */
  1618. switch (number) {
  1619. case 1:
  1620. ret = 0x00edf8fb; /* #edf8fb 1 */
  1621. break;
  1622. case 2:
  1623. ret = 0x00b2e2e2; /* #b2e2e2 2 */
  1624. break;
  1625. case 3:
  1626. ret = 0x0066c2a4; /* #66c2a4 3 */
  1627. break;
  1628. case 4:
  1629. ret = 0x00238b45; /* #238b45 4 */
  1630. break;
  1631. default:
  1632. ret = (-1);
  1633. break;
  1634. }
  1635. break;
  1636. case COLOR_NS_BUGN5: /* bugn5 color scheme */
  1637. switch (number) {
  1638. case 1:
  1639. ret = 0x00edf8fb; /* #edf8fb 1 */
  1640. break;
  1641. case 2:
  1642. ret = 0x00b2e2e2; /* #b2e2e2 2 */
  1643. break;
  1644. case 3:
  1645. ret = 0x0066c2a4; /* #66c2a4 3 */
  1646. break;
  1647. case 4:
  1648. ret = 0x002ca25f; /* #2ca25f 4 */
  1649. break;
  1650. case 5:
  1651. ret = 0x00006d2c; /* #006d2c 5 */
  1652. break;
  1653. default:
  1654. ret = (-1);
  1655. break;
  1656. }
  1657. break;
  1658. case COLOR_NS_BUGN6: /* bugn6 color scheme */
  1659. switch (number) {
  1660. case 1:
  1661. ret = 0x00edf8fb; /* #edf8fb 1 */
  1662. break;
  1663. case 2:
  1664. ret = 0x00ccece6; /* #ccece6 2 */
  1665. break;
  1666. case 3:
  1667. ret = 0x0099d8c9; /* #99d8c9 3 */
  1668. break;
  1669. case 4:
  1670. ret = 0x0066c2a4; /* #66c2a4 4 */
  1671. break;
  1672. case 5:
  1673. ret = 0x002ca25f; /* #2ca25f 5 */
  1674. break;
  1675. case 6:
  1676. ret = 0x00006d2c; /* #006d2c 6 */
  1677. break;
  1678. default:
  1679. ret = (-1);
  1680. break;
  1681. }
  1682. break;
  1683. case COLOR_NS_BUGN7: /* bugn7 color scheme */
  1684. switch (number) {
  1685. case 1:
  1686. ret = 0x00edf8fb; /* #edf8fb 1 */
  1687. break;
  1688. case 2:
  1689. ret = 0x00ccece6; /* #ccece6 2 */
  1690. break;
  1691. case 3:
  1692. ret = 0x0099d8c9; /* #99d8c9 3 */
  1693. break;
  1694. case 4:
  1695. ret = 0x0066c2a4; /* #66c2a4 4 */
  1696. break;
  1697. case 5:
  1698. ret = 0x0041ae76; /* #41ae76 5 */
  1699. break;
  1700. case 6:
  1701. ret = 0x00238b45; /* #238b45 6 */
  1702. break;
  1703. case 7:
  1704. ret = 0x00005824; /* #005824 7 */
  1705. break;
  1706. default:
  1707. ret = (-1);
  1708. break;
  1709. }
  1710. break;
  1711. case COLOR_NS_BUGN8: /* bugn8 color scheme */
  1712. switch (number) {
  1713. case 1:
  1714. ret = 0x00f7fcfd; /* #f7fcfd 1 */
  1715. break;
  1716. case 2:
  1717. ret = 0x00e5f5f9; /* #e5f5f9 2 */
  1718. break;
  1719. case 3:
  1720. ret = 0x00ccece6; /* #ccece6 3 */
  1721. break;
  1722. case 4:
  1723. ret = 0x0099d8c9; /* #99d8c9 4 */
  1724. break;
  1725. case 5:
  1726. ret = 0x0066c2a4; /* #66c2a4 5 */
  1727. break;
  1728. case 6:
  1729. ret = 0x0041ae76; /* #41ae76 6 */
  1730. break;
  1731. case 7:
  1732. ret = 0x00238b45; /* #238b45 7 */
  1733. break;
  1734. case 8:
  1735. ret = 0x00005824; /* #005824 8 */
  1736. break;
  1737. default:
  1738. ret = (-1);
  1739. break;
  1740. }
  1741. break;
  1742. case COLOR_NS_BUGN9: /* bugn9 color scheme */
  1743. switch (number) {
  1744. case 1:
  1745. ret = 0x00f7fcfd; /* #f7fcfd 1 */
  1746. break;
  1747. case 2:
  1748. ret = 0x00e5f5f9; /* #e5f5f9 2 */
  1749. break;
  1750. case 3:
  1751. ret = 0x00ccece6; /* #ccece6 3 */
  1752. break;
  1753. case 4:
  1754. ret = 0x0099d8c9; /* #99d8c9 4 */
  1755. break;
  1756. case 5:
  1757. ret = 0x0066c2a4; /* #66c2a4 5 */
  1758. break;
  1759. case 6:
  1760. ret = 0x0041ae76; /* #41ae76 6 */
  1761. break;
  1762. case 7:
  1763. ret = 0x00238b45; /* #238b45 7 */
  1764. break;
  1765. case 8:
  1766. ret = 0x00006d2c; /* #006d2c 8 */
  1767. break;
  1768. case 9:
  1769. ret = 0x0000441b; /* #00441b 9 */
  1770. break;
  1771. default:
  1772. ret = (-1);
  1773. break;
  1774. }
  1775. break;
  1776. case COLOR_NS_BUPU3: /* bupu3 color scheme */
  1777. switch (number) {
  1778. case 1:
  1779. ret = 0x00e0ecf4; /* #e0ecf4 1 */
  1780. break;
  1781. case 2:
  1782. ret = 0x009ebcda; /* #9ebcda 2 */
  1783. break;
  1784. case 3:
  1785. ret = 0x008856a7; /* #8856a7 3 */
  1786. break;
  1787. default:
  1788. ret = (-1);
  1789. break;
  1790. }
  1791. break;
  1792. case COLOR_NS_BUPU4: /* bupu4 color scheme */
  1793. switch (number) {
  1794. case 1:
  1795. ret = 0x00edf8fb; /* #edf8fb 1 */
  1796. break;
  1797. case 2:
  1798. ret = 0x00b3cde3; /* #b3cde3 2 */
  1799. break;
  1800. case 3:
  1801. ret = 0x008c96c6; /* #8c96c6 3 */
  1802. break;
  1803. case 4:
  1804. ret = 0x0088419d; /* #88419d 4 */
  1805. break;
  1806. default:
  1807. ret = (-1);
  1808. break;
  1809. }
  1810. break;
  1811. case COLOR_NS_BUPU5: /* bupu5 color scheme */
  1812. switch (number) {
  1813. case 1:
  1814. ret = 0x00edf8fb; /* #edf8fb 1 */
  1815. break;
  1816. case 2:
  1817. ret = 0x00b3cde3; /* #b3cde3 2 */
  1818. break;
  1819. case 3:
  1820. ret = 0x008c96c6; /* #8c96c6 3 */
  1821. break;
  1822. case 4:
  1823. ret = 0x008856a7; /* #8856a7 4 */
  1824. break;
  1825. case 5:
  1826. ret = 0x00810f7c; /* #810f7c 5 */
  1827. break;
  1828. default:
  1829. ret = (-1);
  1830. break;
  1831. }
  1832. break;
  1833. case COLOR_NS_BUPU6: /* bupu6 color scheme */
  1834. switch (number) {
  1835. case 1:
  1836. ret = 0x00edf8fb; /* #edf8fb 1 */
  1837. break;
  1838. case 2:
  1839. ret = 0x00bfd3e6; /* #bfd3e6 2 */
  1840. break;
  1841. case 3:
  1842. ret = 0x009ebcda; /* #9ebcda 3 */
  1843. break;
  1844. case 4:
  1845. ret = 0x008c96c6; /* #8c96c6 4 */
  1846. break;
  1847. case 5:
  1848. ret = 0x008856a7; /* #8856a7 5 */
  1849. break;
  1850. case 6:
  1851. ret = 0x00810f7c; /* #810f7c 6 */
  1852. break;
  1853. default:
  1854. ret = (-1);
  1855. break;
  1856. }
  1857. break;
  1858. case COLOR_NS_BUPU7: /* bupu7 color scheme */
  1859. switch (number) {
  1860. case 1:
  1861. ret = 0x00edf8fb; /* #edf8fb 1 */
  1862. break;
  1863. case 2:
  1864. ret = 0x00bfd3e6; /* #bfd3e6 2 */
  1865. break;
  1866. case 3:
  1867. ret = 0x009ebcda; /* #9ebcda 3 */
  1868. break;
  1869. case 4:
  1870. ret = 0x008c96c6; /* #8c96c6 4 */
  1871. break;
  1872. case 5:
  1873. ret = 0x008c6bb1; /* #8c6bb1 5 */
  1874. break;
  1875. case 6:
  1876. ret = 0x0088419d; /* #88419d 6 */
  1877. break;
  1878. case 7:
  1879. ret = 0x006e016b; /* #6e016b 7 */
  1880. break;
  1881. default:
  1882. ret = (-1);
  1883. break;
  1884. }
  1885. break;
  1886. case COLOR_NS_BUPU8: /* bupu8 color scheme */
  1887. switch (number) {
  1888. case 1:
  1889. ret = 0x00f7fcfd; /* #f7fcfd 1 */
  1890. break;
  1891. case 2:
  1892. ret = 0x00e0ecf4; /* #e0ecf4 2 */
  1893. break;
  1894. case 3:
  1895. ret = 0x00bfd3e6; /* #bfd3e6 3 */
  1896. break;
  1897. case 4:
  1898. ret = 0x009ebcda; /* #9ebcda 4 */
  1899. break;
  1900. case 5:
  1901. ret = 0x008c96c6; /* #8c96c6 5 */
  1902. break;
  1903. case 6:
  1904. ret = 0x008c6bb1; /* #8c6bb1 6 */
  1905. break;
  1906. case 7:
  1907. ret = 0x0088419d; /* #88419d 7 */
  1908. break;
  1909. case 8:
  1910. ret = 0x006e016b; /* #6e016b 8 */
  1911. break;
  1912. default:
  1913. ret = (-1);
  1914. break;
  1915. }
  1916. break;
  1917. case COLOR_NS_BUPU9: /* bupu9 color scheme */
  1918. switch (number) {
  1919. case 1:
  1920. ret = 0x00f7fcfd; /* #f7fcfd 1 */
  1921. break;
  1922. case 2:
  1923. ret = 0x00e0ecf4; /* #e0ecf4 2 */
  1924. break;
  1925. case 3:
  1926. ret = 0x00bfd3e6; /* #bfd3e6 3 */
  1927. break;
  1928. case 4:
  1929. ret = 0x009ebcda; /* #9ebcda 4 */
  1930. break;
  1931. case 5:
  1932. ret = 0x008c96c6; /* #8c96c6 5 */
  1933. break;
  1934. case 6:
  1935. ret = 0x008c6bb1; /* #8c6bb1 6 */
  1936. break;
  1937. case 7:
  1938. ret = 0x0088419d; /* #88419d 7 */
  1939. break;
  1940. case 8:
  1941. ret = 0x00810f7c; /* #810f7c 8 */
  1942. break;
  1943. case 9:
  1944. ret = 0x004d004b; /* #4d004b 9 */
  1945. break;
  1946. default:
  1947. ret = (-1);
  1948. break;
  1949. }
  1950. break;
  1951. case COLOR_NS_DARK23: /* dark23 color scheme */
  1952. switch (number) {
  1953. case 1:
  1954. ret = 0x001b9e77; /* #1b9e77 1 */
  1955. break;
  1956. case 2:
  1957. ret = 0x00d95f02; /* #d95f02 2 */
  1958. break;
  1959. case 3:
  1960. ret = 0x007570b3; /* #7570b3 3 */
  1961. break;
  1962. default:
  1963. ret = (-1);
  1964. break;
  1965. }
  1966. break;
  1967. case COLOR_NS_DARK24: /* dark24 color scheme */
  1968. switch (number) {
  1969. case 1:
  1970. ret = 0x001b9e77; /* #1b9e77 1 */
  1971. break;
  1972. case 2:
  1973. ret = 0x00d95f02; /* #d95f02 2 */
  1974. break;
  1975. case 3:
  1976. ret = 0x007570b3; /* #7570b3 3 */
  1977. break;
  1978. case 4:
  1979. ret = 0x00e7298a; /* #e7298a 4 */
  1980. break;
  1981. default:
  1982. ret = (-1);
  1983. break;
  1984. }
  1985. break;
  1986. case COLOR_NS_DARK25: /* dark25 color scheme */
  1987. switch (number) {
  1988. case 1:
  1989. ret = 0x001b9e77; /* #1b9e77 1 */
  1990. break;
  1991. case 2:
  1992. ret = 0x00d95f02; /* #d95f02 2 */
  1993. break;
  1994. case 3:
  1995. ret = 0x007570b3; /* #7570b3 3 */
  1996. break;
  1997. case 4:
  1998. ret = 0x00e7298a; /* #e7298a 4 */
  1999. break;
  2000. case 5:
  2001. ret = 0x0066a61e; /* #66a61e 5 */
  2002. break;
  2003. default:
  2004. ret = (-1);
  2005. break;
  2006. }
  2007. break;
  2008. case COLOR_NS_DARK26: /* dark26 color scheme */
  2009. switch (number) {
  2010. case 1:
  2011. ret = 0x001b9e77; /* #1b9e77 1 */
  2012. break;
  2013. case 2:
  2014. ret = 0x00d95f02; /* #d95f02 2 */
  2015. break;
  2016. case 3:
  2017. ret = 0x007570b3; /* #7570b3 3 */
  2018. break;
  2019. case 4:
  2020. ret = 0x00e7298a; /* #e7298a 4 */
  2021. break;
  2022. case 5:
  2023. ret = 0x0066a61e; /* #66a61e 5 */
  2024. break;
  2025. case 6:
  2026. ret = 0x00e6ab02; /* #e6ab02 6 */
  2027. break;
  2028. default:
  2029. ret = (-1);
  2030. break;
  2031. }
  2032. break;
  2033. case COLOR_NS_DARK27: /* dark27 color scheme */
  2034. switch (number) {
  2035. case 1:
  2036. ret = 0x001b9e77; /* #1b9e77 1 */
  2037. break;
  2038. case 2:
  2039. ret = 0x00d95f02; /* #d95f02 2 */
  2040. break;
  2041. case 3:
  2042. ret = 0x007570b3; /* #7570b3 3 */
  2043. break;
  2044. case 4:
  2045. ret = 0x00e7298a; /* #e7298a 4 */
  2046. break;
  2047. case 5:
  2048. ret = 0x0066a61e; /* #66a61e 5 */
  2049. break;
  2050. case 6:
  2051. ret = 0x00e6ab02; /* #e6ab02 6 */
  2052. break;
  2053. case 7:
  2054. ret = 0x00a6761d; /* #a6761d 7 */
  2055. break;
  2056. default:
  2057. ret = (-1);
  2058. break;
  2059. }
  2060. break;
  2061. case COLOR_NS_DARK28: /* dark28 color scheme */
  2062. switch (number) {
  2063. case 1:
  2064. ret = 0x001b9e77; /* #1b9e77 1 */
  2065. break;
  2066. case 2:
  2067. ret = 0x00d95f02; /* #d95f02 2 */
  2068. break;
  2069. case 3:
  2070. ret = 0x007570b3; /* #7570b3 3 */
  2071. break;
  2072. case 4:
  2073. ret = 0x00e7298a; /* #e7298a 4 */
  2074. break;
  2075. case 5:
  2076. ret = 0x0066a61e; /* #66a61e 5 */
  2077. break;
  2078. case 6:
  2079. ret = 0x00e6ab02; /* #e6ab02 6 */
  2080. break;
  2081. case 7:
  2082. ret = 0x00a6761d; /* #a6761d 7 */
  2083. break;
  2084. case 8:
  2085. ret = 0x00666666; /* #666666 8 */
  2086. break;
  2087. default:
  2088. ret = (-1);
  2089. break;
  2090. }
  2091. break;
  2092. case COLOR_NS_GNBU3: /* gnbu3 color scheme */
  2093. switch (number) {
  2094. case 1:
  2095. ret = 0x00e0f3db; /* #e0f3db 1 */
  2096. break;
  2097. case 2:
  2098. ret = 0x00a8ddb5; /* #a8ddb5 2 */
  2099. break;
  2100. case 3:
  2101. ret = 0x0043a2ca; /* #43a2ca 3 */
  2102. break;
  2103. default:
  2104. ret = (-1);
  2105. break;
  2106. }
  2107. break;
  2108. case COLOR_NS_GNBU4: /* gnbu4 color scheme */
  2109. switch (number) {
  2110. case 1:
  2111. ret = 0x00f0f9e8; /* #f0f9e8 1 */
  2112. break;
  2113. case 2:
  2114. ret = 0x00bae4bc; /* #bae4bc 2 */
  2115. break;
  2116. case 3:
  2117. ret = 0x007bccc4; /* #7bccc4 3 */
  2118. break;
  2119. case 4:
  2120. ret = 0x002b8cbe; /* #2b8cbe 4 */
  2121. break;
  2122. default:
  2123. ret = (-1);
  2124. break;
  2125. }
  2126. break;
  2127. case COLOR_NS_GNBU5: /* gnbu5 color scheme */
  2128. switch (number) {
  2129. case 1:
  2130. ret = 0x00f0f9e8; /* #f0f9e8 1 */
  2131. break;
  2132. case 2:
  2133. ret = 0x00bae4bc; /* #bae4bc 2 */
  2134. break;
  2135. case 3:
  2136. ret = 0x007bccc4; /* #7bccc4 3 */
  2137. break;
  2138. case 4:
  2139. ret = 0x0043a2ca; /* #43a2ca 4 */
  2140. break;
  2141. case 5:
  2142. ret = 0x000868ac; /* #0868ac 5 */
  2143. break;
  2144. default:
  2145. ret = (-1);
  2146. break;
  2147. }
  2148. break;
  2149. case COLOR_NS_GNBU6: /* gnbu6 color scheme */
  2150. switch (number) {
  2151. case 1:
  2152. ret = 0x00f0f9e8; /* #f0f9e8 1 */
  2153. break;
  2154. case 2:
  2155. ret = 0x00ccebc5; /* #ccebc5 2 */
  2156. break;
  2157. case 3:
  2158. ret = 0x00a8ddb5; /* #a8ddb5 3 */
  2159. break;
  2160. case 4:
  2161. ret = 0x007bccc4; /* #7bccc4 4 */
  2162. break;
  2163. case 5:
  2164. ret = 0x0043a2ca; /* #43a2ca 5 */
  2165. break;
  2166. case 6:
  2167. ret = 0x000868ac; /* #0868ac 6 */
  2168. break;
  2169. default:
  2170. ret = (-1);
  2171. break;
  2172. }
  2173. break;
  2174. case COLOR_NS_GNBU7: /* gnbu7 color scheme */
  2175. switch (number) {
  2176. case 1:
  2177. ret = 0x00f0f9e8; /* #f0f9e8 1 */
  2178. break;
  2179. case 2:
  2180. ret = 0x00ccebc5; /* #ccebc5 2 */
  2181. break;
  2182. case 3:
  2183. ret = 0x00a8ddb5; /* #a8ddb5 3 */
  2184. break;
  2185. case 4:
  2186. ret = 0x007bccc4; /* #7bccc4 4 */
  2187. break;
  2188. case 5:
  2189. ret = 0x004eb3d3; /* #4eb3d3 5 */
  2190. break;
  2191. case 6:
  2192. ret = 0x002b8cbe; /* #2b8cbe 6 */
  2193. break;
  2194. case 7:
  2195. ret = 0x0008589e; /* #08589e 7 */
  2196. break;
  2197. default:
  2198. ret = (-1);
  2199. break;
  2200. }
  2201. break;
  2202. case COLOR_NS_GNBU8: /* gnbu8 color scheme */
  2203. switch (number) {
  2204. case 1:
  2205. ret = 0x00f7fcf0; /* #f7fcf0 1 */
  2206. break;
  2207. case 2:
  2208. ret = 0x00e0f3db; /* #e0f3db 2 */
  2209. break;
  2210. case 3:
  2211. ret = 0x00ccebc5; /* #ccebc5 3 */
  2212. break;
  2213. case 4:
  2214. ret = 0x00a8ddb5; /* #a8ddb5 4 */
  2215. break;
  2216. case 5:
  2217. ret = 0x007bccc4; /* #7bccc4 5 */
  2218. break;
  2219. case 6:
  2220. ret = 0x004eb3d3; /* #4eb3d3 6 */
  2221. break;
  2222. case 7:
  2223. ret = 0x002b8cbe; /* #2b8cbe 7 */
  2224. break;
  2225. case 8:
  2226. ret = 0x0008589e; /* #08589e 8 */
  2227. break;
  2228. default:
  2229. ret = (-1);
  2230. break;
  2231. }
  2232. break;
  2233. case COLOR_NS_GNBU9: /* gnbu9 color scheme */
  2234. switch (number) {
  2235. case 1:
  2236. ret = 0x00f7fcf0; /* #f7fcf0 1 */
  2237. break;
  2238. case 2:
  2239. ret = 0x00e0f3db; /* #e0f3db 2 */
  2240. break;
  2241. case 3:
  2242. ret = 0x00ccebc5; /* #ccebc5 3 */
  2243. break;
  2244. case 4:
  2245. ret = 0x00a8ddb5; /* #a8ddb5 4 */
  2246. break;
  2247. case 5:
  2248. ret = 0x007bccc4; /* #7bccc4 5 */
  2249. break;
  2250. case 6:
  2251. ret = 0x004eb3d3; /* #4eb3d3 6 */
  2252. break;
  2253. case 7:
  2254. ret = 0x002b8cbe; /* #2b8cbe 7 */
  2255. break;
  2256. case 8:
  2257. ret = 0x000868ac; /* #0868ac 8 */
  2258. break;
  2259. case 9:
  2260. ret = 0x00084081; /* #084081 9 */
  2261. break;
  2262. default:
  2263. ret = (-1);
  2264. break;
  2265. }
  2266. break;
  2267. case COLOR_NS_GREENS3: /* greens3 color scheme */
  2268. switch (number) {
  2269. case 1:
  2270. ret = 0x00e5f5e0; /* #e5f5e0 1 */
  2271. break;
  2272. case 2:
  2273. ret = 0x00a1d99b; /* #a1d99b 2 */
  2274. break;
  2275. case 3:
  2276. ret = 0x0031a354; /* #31a354 3 */
  2277. break;
  2278. default:
  2279. ret = (-1);
  2280. break;
  2281. }
  2282. break;
  2283. case COLOR_NS_GREENS4: /* greens4 color scheme */
  2284. switch (number) {
  2285. case 1:
  2286. ret = 0x00edf8e9; /* #edf8e9 1 */
  2287. break;
  2288. case 2:
  2289. ret = 0x00bae4b3; /* #bae4b3 2 */
  2290. break;
  2291. case 3:
  2292. ret = 0x0074c476; /* #74c476 3 */
  2293. break;
  2294. case 4:
  2295. ret = 0x00238b45; /* #238b45 4 */
  2296. break;
  2297. default:
  2298. ret = (-1);
  2299. break;
  2300. }
  2301. break;
  2302. case COLOR_NS_GREENS5: /* greens5 color scheme */
  2303. switch (number) {
  2304. case 1:
  2305. ret = 0x00edf8e9; /* #edf8e9 1 */
  2306. break;
  2307. case 2:
  2308. ret = 0x00bae4b3; /* #bae4b3 2 */
  2309. break;
  2310. case 3:
  2311. ret = 0x0074c476; /* #74c476 3 */
  2312. break;
  2313. case 4:
  2314. ret = 0x0031a354; /* #31a354 4 */
  2315. break;
  2316. case 5:
  2317. ret = 0x00006d2c; /* #006d2c 5 */
  2318. break;
  2319. default:
  2320. ret = (-1);
  2321. break;
  2322. }
  2323. break;
  2324. case COLOR_NS_GREENS6: /* greens6 color scheme */
  2325. switch (number) {
  2326. case 1:
  2327. ret = 0x00edf8e9; /* #edf8e9 1 */
  2328. break;
  2329. case 2:
  2330. ret = 0x00c7e9c0; /* #c7e9c0 2 */
  2331. break;
  2332. case 3:
  2333. ret = 0x00a1d99b; /* #a1d99b 3 */
  2334. break;
  2335. case 4:
  2336. ret = 0x0074c476; /* #74c476 4 */
  2337. break;
  2338. case 5:
  2339. ret = 0x0031a354; /* #31a354 5 */
  2340. break;
  2341. case 6:
  2342. ret = 0x00006d2c; /* #006d2c 6 */
  2343. break;
  2344. default:
  2345. ret = (-1);
  2346. break;
  2347. }
  2348. break;
  2349. case COLOR_NS_GREENS7: /* greens7 color scheme */
  2350. switch (number) {
  2351. case 1:
  2352. ret = 0x00edf8e9; /* #edf8e9 1 */
  2353. break;
  2354. case 2:
  2355. ret = 0x00c7e9c0; /* #c7e9c0 2 */
  2356. break;
  2357. case 3:
  2358. ret = 0x00a1d99b; /* #a1d99b 3 */
  2359. break;
  2360. case 4:
  2361. ret = 0x0074c476; /* #74c476 4 */
  2362. break;
  2363. case 5:
  2364. ret = 0x0041ab5d; /* #41ab5d 5 */
  2365. break;
  2366. case 6:
  2367. ret = 0x00238b45; /* #238b45 6 */
  2368. break;
  2369. case 7:
  2370. ret = 0x00005a32; /* #005a32 7 */
  2371. break;
  2372. default:
  2373. ret = (-1);
  2374. break;
  2375. }
  2376. break;
  2377. case COLOR_NS_GREENS8: /* greens8 color scheme */
  2378. switch (number) {
  2379. case 1:
  2380. ret = 0x00f7fcf5; /* #f7fcf5 1 */
  2381. break;
  2382. case 2:
  2383. ret = 0x00e5f5e0; /* #e5f5e0 2 */
  2384. break;
  2385. case 3:
  2386. ret = 0x00c7e9c0; /* #c7e9c0 3 */
  2387. break;
  2388. case 4:
  2389. ret = 0x00a1d99b; /* #a1d99b 4 */
  2390. break;
  2391. case 5:
  2392. ret = 0x0074c476; /* #74c476 5 */
  2393. break;
  2394. case 6:
  2395. ret = 0x0041ab5d; /* #41ab5d 6 */
  2396. break;
  2397. case 7:
  2398. ret = 0x00238b45; /* #238b45 7 */
  2399. break;
  2400. case 8:
  2401. ret = 0x00005a32; /* #005a32 8 */
  2402. break;
  2403. default:
  2404. ret = (-1);
  2405. break;
  2406. }
  2407. break;
  2408. case COLOR_NS_GREENS9: /* greens9 color scheme */
  2409. switch (number) {
  2410. case 1:
  2411. ret = 0x00f7fcf5; /* #f7fcf5 1 */
  2412. break;
  2413. case 2:
  2414. ret = 0x00e5f5e0; /* #e5f5e0 2 */
  2415. break;
  2416. case 3:
  2417. ret = 0x00c7e9c0; /* #c7e9c0 3 */
  2418. break;
  2419. case 4:
  2420. ret = 0x00a1d99b; /* #a1d99b 4 */
  2421. break;
  2422. case 5:
  2423. ret = 0x0074c476; /* #74c476 5 */
  2424. break;
  2425. case 6:
  2426. ret = 0x0041ab5d; /* #41ab5d 6 */
  2427. break;
  2428. case 7:
  2429. ret = 0x00238b45; /* #238b45 7 */
  2430. break;
  2431. case 8:
  2432. ret = 0x00006d2c; /* #006d2c 8 */
  2433. break;
  2434. case 9:
  2435. ret = 0x0000441b; /* #00441b 9 */
  2436. break;
  2437. default:
  2438. ret = (-1);
  2439. break;
  2440. }
  2441. break;
  2442. case COLOR_NS_GREYS3: /* greys3 color scheme */
  2443. switch (number) {
  2444. case 1:
  2445. ret = 0x00f0f0f0; /* #f0f0f0 1 */
  2446. break;
  2447. case 2:
  2448. ret = 0x00bdbdbd; /* #bdbdbd 2 */
  2449. break;
  2450. case 3:
  2451. ret = 0x00636363; /* #636363 3 */
  2452. break;
  2453. default:
  2454. ret = (-1);
  2455. break;
  2456. }
  2457. break;
  2458. case COLOR_NS_GREYS4: /* greys4 color scheme */
  2459. switch (number) {
  2460. case 1:
  2461. ret = 0x00f7f7f7; /* #f7f7f7 1 */
  2462. break;
  2463. case 2:
  2464. ret = 0x00cccccc; /* #cccccc 2 */
  2465. break;
  2466. case 3:
  2467. ret = 0x00969696; /* #969696 3 */
  2468. break;
  2469. case 4:
  2470. ret = 0x00525252; /* #525252 4 */
  2471. break;
  2472. default:
  2473. ret = (-1);
  2474. break;
  2475. }
  2476. break;
  2477. case COLOR_NS_GREYS5: /* greys5 color scheme */
  2478. switch (number) {
  2479. case 1:
  2480. ret = 0x00f7f7f7; /* #f7f7f7 1 */
  2481. break;
  2482. case 2:
  2483. ret = 0x00cccccc; /* #cccccc 2 */
  2484. break;
  2485. case 3:
  2486. ret = 0x00969696; /* #969696 3 */
  2487. break;
  2488. case 4:
  2489. ret = 0x00636363; /* #636363 4 */
  2490. break;
  2491. case 5:
  2492. ret = 0x00252525; /* #252525 5 */
  2493. break;
  2494. default:
  2495. ret = (-1);
  2496. break;
  2497. }
  2498. break;
  2499. case COLOR_NS_GREYS6: /* greys6 color scheme */
  2500. switch (number) {
  2501. case 1:
  2502. ret = 0x00f7f7f7; /* #f7f7f7 1 */
  2503. break;
  2504. case 2:
  2505. ret = 0x00d9d9d9; /* #d9d9d9 2 */
  2506. break;
  2507. case 3:
  2508. ret = 0x00bdbdbd; /* #bdbdbd 3 */
  2509. break;
  2510. case 4:
  2511. ret = 0x00969696; /* #969696 4 */
  2512. break;
  2513. case 5:
  2514. ret = 0x00636363; /* #636363 5 */
  2515. break;
  2516. case 6:
  2517. ret = 0x00252525; /* #252525 6 */
  2518. break;
  2519. default:
  2520. ret = (-1);
  2521. break;
  2522. }
  2523. break;
  2524. case COLOR_NS_GREYS7: /* greys7 color scheme */
  2525. switch (number) {
  2526. case 1:
  2527. ret = 0x00f7f7f7; /* #f7f7f7 1 */
  2528. break;
  2529. case 2:
  2530. ret = 0x00d9d9d9; /* #d9d9d9 2 */
  2531. break;
  2532. case 3:
  2533. ret = 0x00bdbdbd; /* #bdbdbd 3 */
  2534. break;
  2535. case 4:
  2536. ret = 0x00969696; /* #969696 4 */
  2537. break;
  2538. case 5:
  2539. ret = 0x00737373; /* #737373 5 */
  2540. break;
  2541. case 6:
  2542. ret = 0x00525252; /* #525252 6 */
  2543. break;
  2544. case 7:
  2545. ret = 0x00252525; /* #252525 7 */
  2546. break;
  2547. default:
  2548. ret = (-1);
  2549. break;
  2550. }
  2551. break;
  2552. case COLOR_NS_GREYS8: /* greys8 color scheme */
  2553. switch (number) {
  2554. case 1:
  2555. ret = 0x00ffffff; /* #ffffff 1 */
  2556. break;
  2557. case 2:
  2558. ret = 0x00f0f0f0; /* #f0f0f0 2 */
  2559. break;
  2560. case 3:
  2561. ret = 0x00d9d9d9; /* #d9d9d9 3 */
  2562. break;
  2563. case 4:
  2564. ret = 0x00bdbdbd; /* #bdbdbd 4 */
  2565. break;
  2566. case 5:
  2567. ret = 0x00969696; /* #969696 5 */
  2568. break;
  2569. case 6:
  2570. ret = 0x00737373; /* #737373 6 */
  2571. break;
  2572. case 7:
  2573. ret = 0x00525252; /* #525252 7 */
  2574. break;
  2575. case 8:
  2576. ret = 0x00252525; /* #252525 8 */
  2577. break;
  2578. default:
  2579. ret = (-1);
  2580. break;
  2581. }
  2582. break;
  2583. case COLOR_NS_GREYS9: /* greys9 color scheme */
  2584. switch (number) {
  2585. case 1:
  2586. ret = 0x00ffffff; /* #ffffff 1 */
  2587. break;
  2588. case 2:
  2589. ret = 0x00f0f0f0; /* #f0f0f0 2 */
  2590. break;
  2591. case 3:
  2592. ret = 0x00d9d9d9; /* #d9d9d9 3 */
  2593. break;
  2594. case 4:
  2595. ret = 0x00bdbdbd; /* #bdbdbd 4 */
  2596. break;
  2597. case 5:
  2598. ret = 0x00969696; /* #969696 5 */
  2599. break;
  2600. case 6:
  2601. ret = 0x00737373; /* #737373 6 */
  2602. break;
  2603. case 7:
  2604. ret = 0x00525252; /* #525252 7 */
  2605. break;
  2606. case 8:
  2607. ret = 0x00252525; /* #252525 8 */
  2608. break;
  2609. case 9:
  2610. ret = 0x00000000; /* #000000 9 */
  2611. break;
  2612. default:
  2613. ret = (-1);
  2614. break;
  2615. }
  2616. break;
  2617. case COLOR_NS_ORANGES3: /* oranges3 color scheme */
  2618. switch (number) {
  2619. case 1:
  2620. ret = 0x00fee6ce; /* #fee6ce 1 */
  2621. break;
  2622. case 2:
  2623. ret = 0x00fdae6b; /* #fdae6b 2 */
  2624. break;
  2625. case 3:
  2626. ret = 0x00e6550d; /* #e6550d 3 */
  2627. break;
  2628. default:
  2629. ret = (-1);
  2630. break;
  2631. }
  2632. break;
  2633. case COLOR_NS_ORANGES4: /* oranges4 color scheme */
  2634. switch (number) {
  2635. case 1:
  2636. ret = 0x00feedde; /* #feedde 1 */
  2637. break;
  2638. case 2:
  2639. ret = 0x00fdbe85; /* #fdbe85 2 */
  2640. break;
  2641. case 3:
  2642. ret = 0x00fd8d3c; /* #fd8d3c 3 */
  2643. break;
  2644. case 4:
  2645. ret = 0x00d94701; /* #d94701 4 */
  2646. break;
  2647. default:
  2648. ret = (-1);
  2649. break;
  2650. }
  2651. break;
  2652. case COLOR_NS_ORANGES5: /* oranges5 color scheme */
  2653. switch (number) {
  2654. case 1:
  2655. ret = 0x00feedde; /* #feedde 1 */
  2656. break;
  2657. case 2:
  2658. ret = 0x00fdbe85; /* #fdbe85 2 */
  2659. break;
  2660. case 3:
  2661. ret = 0x00fd8d3c; /* #fd8d3c 3 */
  2662. break;
  2663. case 4:
  2664. ret = 0x00e6550d; /* #e6550d 4 */
  2665. break;
  2666. case 5:
  2667. ret = 0x00a63603; /* #a63603 5 */
  2668. break;
  2669. default:
  2670. ret = (-1);
  2671. break;
  2672. }
  2673. break;
  2674. case COLOR_NS_ORANGES6: /* oranges6 color scheme */
  2675. switch (number) {
  2676. case 1:
  2677. ret = 0x00feedde; /* #feedde 1 */
  2678. break;
  2679. case 2:
  2680. ret = 0x00fdd0a2; /* #fdd0a2 2 */
  2681. break;
  2682. case 3:
  2683. ret = 0x00fdae6b; /* #fdae6b 3 */
  2684. break;
  2685. case 4:
  2686. ret = 0x00fd8d3c; /* #fd8d3c 4 */
  2687. break;
  2688. case 5:
  2689. ret = 0x00e6550d; /* #e6550d 5 */
  2690. break;
  2691. case 6:
  2692. ret = 0x00a63603; /* #a63603 6 */
  2693. break;
  2694. default:
  2695. ret = (-1);
  2696. break;
  2697. }
  2698. break;
  2699. case COLOR_NS_ORANGES7: /* oranges7 color scheme */
  2700. switch (number) {
  2701. case 1:
  2702. ret = 0x00feedde; /* #feedde 1 */
  2703. break;
  2704. case 2:
  2705. ret = 0x00fdd0a2; /* #fdd0a2 2 */
  2706. break;
  2707. case 3:
  2708. ret = 0x00fdae6b; /* #fdae6b 3 */
  2709. break;
  2710. case 4:
  2711. ret = 0x00fd8d3c; /* #fd8d3c 4 */
  2712. break;
  2713. case 5:
  2714. ret = 0x00f16913; /* #f16913 5 */
  2715. break;
  2716. case 6:
  2717. ret = 0x00d94801; /* #d94801 6 */
  2718. break;
  2719. case 7:
  2720. ret = 0x008c2d04; /* #8c2d04 7 */
  2721. break;
  2722. default:
  2723. ret = (-1);
  2724. break;
  2725. }
  2726. break;
  2727. case COLOR_NS_ORANGES8: /* oranges8 color scheme */
  2728. switch (number) {
  2729. case 1:
  2730. ret = 0x00fff5eb; /* #fff5eb 1 */
  2731. break;
  2732. case 2:
  2733. ret = 0x00fee6ce; /* #fee6ce 2 */
  2734. break;
  2735. case 3:
  2736. ret = 0x00fdd0a2; /* #fdd0a2 3 */
  2737. break;
  2738. case 4:
  2739. ret = 0x00fdae6b; /* #fdae6b 4 */
  2740. break;
  2741. case 5:
  2742. ret = 0x00fd8d3c; /* #fd8d3c 5 */
  2743. break;
  2744. case 6:
  2745. ret = 0x00f16913; /* #f16913 6 */
  2746. break;
  2747. case 7:
  2748. ret = 0x00d94801; /* #d94801 7 */
  2749. break;
  2750. case 8:
  2751. ret = 0x008c2d04; /* #8c2d04 8 */
  2752. break;
  2753. default:
  2754. ret = (-1);
  2755. break;
  2756. }
  2757. break;
  2758. case COLOR_NS_ORANGES9: /* oranges9 color scheme */
  2759. switch (number) {
  2760. case 1:
  2761. ret = 0x00fff5eb; /* #fff5eb 1 */
  2762. break;
  2763. case 2:
  2764. ret = 0x00fee6ce; /* #fee6ce 2 */
  2765. break;
  2766. case 3:
  2767. ret = 0x00fdd0a2; /* #fdd0a2 3 */
  2768. break;
  2769. case 4:
  2770. ret = 0x00fdae6b; /* #fdae6b 4 */
  2771. break;
  2772. case 5:
  2773. ret = 0x00fd8d3c; /* #fd8d3c 5 */
  2774. break;
  2775. case 6:
  2776. ret = 0x00f16913; /* #f16913 6 */
  2777. break;
  2778. case 7:
  2779. ret = 0x00d94801; /* #d94801 7 */
  2780. break;
  2781. case 8:
  2782. ret = 0x00a63603; /* #a63603 8 */
  2783. break;
  2784. case 9:
  2785. ret = 0x007f2704; /* #7f2704 9 */
  2786. break;
  2787. default:
  2788. ret = (-1);
  2789. break;
  2790. }
  2791. break;
  2792. case COLOR_NS_ORRD3: /* orrd3 color scheme */
  2793. switch (number) {
  2794. case 1:
  2795. ret = 0x00fee8c8; /* #fee8c8 1 */
  2796. break;
  2797. case 2:
  2798. ret = 0x00fdbb84; /* #fdbb84 2 */
  2799. break;
  2800. case 3:
  2801. ret = 0x00e34a33; /* #e34a33 3 */
  2802. break;
  2803. default:
  2804. ret = (-1);
  2805. break;
  2806. }
  2807. break;
  2808. case COLOR_NS_ORRD4: /* orrd4 color scheme */
  2809. switch (number) {
  2810. case 1:
  2811. ret = 0x00fef0d9; /* #fef0d9 1 */
  2812. break;
  2813. case 2:
  2814. ret = 0x00fdcc8a; /* #fdcc8a 2 */
  2815. break;
  2816. case 3:
  2817. ret = 0x00fc8d59; /* #fc8d59 3 */
  2818. break;
  2819. case 4:
  2820. ret = 0x00d7301f; /* #d7301f 4 */
  2821. break;
  2822. default:
  2823. ret = (-1);
  2824. break;
  2825. }
  2826. break;
  2827. case COLOR_NS_ORRD5: /* orrd5 color scheme */
  2828. switch (number) {
  2829. case 1:
  2830. ret = 0x00fef0d9; /* #fef0d9 1 */
  2831. break;
  2832. case 2:
  2833. ret = 0x00fdcc8a; /* #fdcc8a 2 */
  2834. break;
  2835. case 3:
  2836. ret = 0x00fc8d59; /* #fc8d59 3 */
  2837. break;
  2838. case 4:
  2839. ret = 0x00e34a33; /* #e34a33 4 */
  2840. break;
  2841. case 5:
  2842. ret = 0x00b30000; /* #b30000 5 */
  2843. break;
  2844. default:
  2845. ret = (-1);
  2846. break;
  2847. }
  2848. break;
  2849. case COLOR_NS_ORRD6: /* orrd6 color scheme */
  2850. switch (number) {
  2851. case 1:
  2852. ret = 0x00fef0d9; /* #fef0d9 1 */
  2853. break;
  2854. case 2:
  2855. ret = 0x00fdd49e; /* #fdd49e 2 */
  2856. break;
  2857. case 3:
  2858. ret = 0x00fdbb84; /* #fdbb84 3 */
  2859. break;
  2860. case 4:
  2861. ret = 0x00fc8d59; /* #fc8d59 4 */
  2862. break;
  2863. case 5:
  2864. ret = 0x00e34a33; /* #e34a33 5 */
  2865. break;
  2866. case 6:
  2867. ret = 0x00b30000; /* #b30000 6 */
  2868. break;
  2869. default:
  2870. ret = (-1);
  2871. break;
  2872. }
  2873. break;
  2874. case COLOR_NS_ORRD7: /* orrd7 color scheme */
  2875. switch (number) {
  2876. case 1:
  2877. ret = 0x00fef0d9; /* #fef0d9 1 */
  2878. break;
  2879. case 2:
  2880. ret = 0x00fdd49e; /* #fdd49e 2 */
  2881. break;
  2882. case 3:
  2883. ret = 0x00fdbb84; /* #fdbb84 3 */
  2884. break;
  2885. case 4:
  2886. ret = 0x00fc8d59; /* #fc8d59 4 */
  2887. break;
  2888. case 5:
  2889. ret = 0x00ef6548; /* #ef6548 5 */
  2890. break;
  2891. case 6:
  2892. ret = 0x00d7301f; /* #d7301f 6 */
  2893. break;
  2894. case 7:
  2895. ret = 0x00990000; /* #990000 7 */
  2896. break;
  2897. default:
  2898. ret = (-1);
  2899. break;
  2900. }
  2901. break;
  2902. case COLOR_NS_ORRD8: /* orrd8 color scheme */
  2903. switch (number) {
  2904. case 1:
  2905. ret = 0x00fff7ec; /* #fff7ec 1 */
  2906. break;
  2907. case 2:
  2908. ret = 0x00fee8c8; /* #fee8c8 2 */
  2909. break;
  2910. case 3:
  2911. ret = 0x00fdd49e; /* #fdd49e 3 */
  2912. break;
  2913. case 4:
  2914. ret = 0x00fdbb84; /* #fdbb84 4 */
  2915. break;
  2916. case 5:
  2917. ret = 0x00fc8d59; /* #fc8d59 5 */
  2918. break;
  2919. case 6:
  2920. ret = 0x00ef6548; /* #ef6548 6 */
  2921. break;
  2922. case 7:
  2923. ret = 0x00d7301f; /* #d7301f 7 */
  2924. break;
  2925. case 8:
  2926. ret = 0x00990000; /* #990000 8 */
  2927. break;
  2928. default:
  2929. ret = (-1);
  2930. break;
  2931. }
  2932. break;
  2933. case COLOR_NS_ORRD9: /* orrd9 color scheme */
  2934. switch (number) {
  2935. case 1:
  2936. ret = 0x00fff7ec; /* #fff7ec 1 */
  2937. break;
  2938. case 2:
  2939. ret = 0x00fee8c8; /* #fee8c8 2 */
  2940. break;
  2941. case 3:
  2942. ret = 0x00fdd49e; /* #fdd49e 3 */
  2943. break;
  2944. case 4:
  2945. ret = 0x00fdbb84; /* #fdbb84 4 */
  2946. break;
  2947. case 5:
  2948. ret = 0x00fc8d59; /* #fc8d59 5 */
  2949. break;
  2950. case 6:
  2951. ret = 0x00ef6548; /* #ef6548 6 */
  2952. break;
  2953. case 7:
  2954. ret = 0x00d7301f; /* #d7301f 7 */
  2955. break;
  2956. case 8:
  2957. ret = 0x00b30000; /* #b30000 8 */
  2958. break;
  2959. case 9:
  2960. ret = 0x007f0000; /* #7f0000 9 */
  2961. break;
  2962. default:
  2963. ret = (-1);
  2964. break;
  2965. }
  2966. break;
  2967. case COLOR_NS_PAIRED10: /* paired10 color scheme */
  2968. switch (number) {
  2969. case 1:
  2970. ret = 0x00a6cee3; /* #a6cee3 1 */
  2971. break;
  2972. case 2:
  2973. ret = 0x001f78b4; /* #1f78b4 2 */
  2974. break;
  2975. case 3:
  2976. ret = 0x00b2df8a; /* #b2df8a 3 */
  2977. break;
  2978. case 4:
  2979. ret = 0x0033a02c; /* #33a02c 4 */
  2980. break;
  2981. case 5:
  2982. ret = 0x00fb9a99; /* #fb9a99 5 */
  2983. break;
  2984. case 6:
  2985. ret = 0x00e31a1c; /* #e31a1c 6 */
  2986. break;
  2987. case 7:
  2988. ret = 0x00fdbf6f; /* #fdbf6f 7 */
  2989. break;
  2990. case 8:
  2991. ret = 0x00ff7f00; /* #ff7f00 8 */
  2992. break;
  2993. case 9:
  2994. ret = 0x00cab2d6; /* #cab2d6 9 */
  2995. break;
  2996. case 10:
  2997. ret = 0x006a3d9a; /* #6a3d9a 10 */
  2998. break;
  2999. default:
  3000. ret = (-1);
  3001. break;
  3002. }
  3003. break;
  3004. case COLOR_NS_PAIRED11: /* paired11 color scheme */
  3005. switch (number) {
  3006. case 1:
  3007. ret = 0x00a6cee3; /* #a6cee3 1 */
  3008. break;
  3009. case 2:
  3010. ret = 0x001f78b4; /* #1f78b4 2 */
  3011. break;
  3012. case 3:
  3013. ret = 0x00b2df8a; /* #b2df8a 3 */
  3014. break;
  3015. case 4:
  3016. ret = 0x0033a02c; /* #33a02c 4 */
  3017. break;
  3018. case 5:
  3019. ret = 0x00fb9a99; /* #fb9a99 5 */
  3020. break;
  3021. case 6:
  3022. ret = 0x00e31a1c; /* #e31a1c 6 */
  3023. break;
  3024. case 7:
  3025. ret = 0x00fdbf6f; /* #fdbf6f 7 */
  3026. break;
  3027. case 8:
  3028. ret = 0x00ff7f00; /* #ff7f00 8 */
  3029. break;
  3030. case 9:
  3031. ret = 0x00cab2d6; /* #cab2d6 9 */
  3032. break;
  3033. case 10:
  3034. ret = 0x006a3d9a; /* #6a3d9a 10 */
  3035. break;
  3036. case 11:
  3037. ret = 0x00ffff99; /* #ffff99 11 */
  3038. break;
  3039. default:
  3040. ret = (-1);
  3041. break;
  3042. }
  3043. break;
  3044. case COLOR_NS_PAIRED12: /* paired12 color scheme */
  3045. switch (number) {
  3046. case 1:
  3047. ret = 0x00a6cee3; /* #a6cee3 1 */
  3048. break;
  3049. case 2:
  3050. ret = 0x001f78b4; /* #1f78b4 2 */
  3051. break;
  3052. case 3:
  3053. ret = 0x00b2df8a; /* #b2df8a 3 */
  3054. break;
  3055. case 4:
  3056. ret = 0x0033a02c; /* #33a02c 4 */
  3057. break;
  3058. case 5:
  3059. ret = 0x00fb9a99; /* #fb9a99 5 */
  3060. break;
  3061. case 6:
  3062. ret = 0x00e31a1c; /* #e31a1c 6 */
  3063. break;
  3064. case 7:
  3065. ret = 0x00fdbf6f; /* #fdbf6f 7 */
  3066. break;
  3067. case 8:
  3068. ret = 0x00ff7f00; /* #ff7f00 8 */
  3069. break;
  3070. case 9:
  3071. ret = 0x00cab2d6; /* #cab2d6 9 */
  3072. break;
  3073. case 10:
  3074. ret = 0x006a3d9a; /* #6a3d9a 10 */
  3075. break;
  3076. case 11:
  3077. ret = 0x00ffff99; /* #ffff99 11 */
  3078. break;
  3079. case 12:
  3080. ret = 0x00b15928; /* #b15928 12 */
  3081. break;
  3082. default:
  3083. ret = (-1);
  3084. break;
  3085. }
  3086. break;
  3087. case COLOR_NS_PAIRED3: /* paired3 color scheme */
  3088. switch (number) {
  3089. case 1:
  3090. ret = 0x00a6cee3; /* #a6cee3 1 */
  3091. break;
  3092. case 2:
  3093. ret = 0x001f78b4; /* #1f78b4 2 */
  3094. break;
  3095. case 3:
  3096. ret = 0x00b2df8a; /* #b2df8a 3 */
  3097. break;
  3098. default:
  3099. ret = (-1);
  3100. break;
  3101. }
  3102. break;
  3103. case COLOR_NS_PAIRED4: /* paired4 color scheme */
  3104. switch (number) {
  3105. case 1:
  3106. ret = 0x00a6cee3; /* #a6cee3 1 */
  3107. break;
  3108. case 2:
  3109. ret = 0x001f78b4; /* #1f78b4 2 */
  3110. break;
  3111. case 3:
  3112. ret = 0x00b2df8a; /* #b2df8a 3 */
  3113. break;
  3114. case 4:
  3115. ret = 0x0033a02c; /* #33a02c 4 */
  3116. break;
  3117. default:
  3118. ret = (-1);
  3119. break;
  3120. }
  3121. break;
  3122. case COLOR_NS_PAIRED5: /* paired5 color scheme */
  3123. switch (number) {
  3124. case 1:
  3125. ret = 0x00a6cee3; /* #a6cee3 1 */
  3126. break;
  3127. case 2:
  3128. ret = 0x001f78b4; /* #1f78b4 2 */
  3129. break;
  3130. case 3:
  3131. ret = 0x00b2df8a; /* #b2df8a 3 */
  3132. break;
  3133. case 4:
  3134. ret = 0x0033a02c; /* #33a02c 4 */
  3135. break;
  3136. case 5:
  3137. ret = 0x00fb9a99; /* #fb9a99 5 */
  3138. break;
  3139. default:
  3140. ret = (-1);
  3141. break;
  3142. }
  3143. break;
  3144. case COLOR_NS_PAIRED6: /* paired6 color scheme */
  3145. switch (number) {
  3146. case 1:
  3147. ret = 0x00a6cee3; /* #a6cee3 1 */
  3148. break;
  3149. case 2:
  3150. ret = 0x001f78b4; /* #1f78b4 2 */
  3151. break;
  3152. case 3:
  3153. ret = 0x00b2df8a; /* #b2df8a 3 */
  3154. break;
  3155. case 4:
  3156. ret = 0x0033a02c; /* #33a02c 4 */
  3157. break;
  3158. case 5:
  3159. ret = 0x00fb9a99; /* #fb9a99 5 */
  3160. break;
  3161. case 6:
  3162. ret = 0x00e31a1c; /* #e31a1c 6 */
  3163. break;
  3164. default:
  3165. ret = (-1);
  3166. break;
  3167. }
  3168. break;
  3169. case COLOR_NS_PAIRED7: /* paired7 color scheme */
  3170. switch (number) {
  3171. case 1:
  3172. ret = 0x00a6cee3; /* #a6cee3 1 */
  3173. break;
  3174. case 2:
  3175. ret = 0x001f78b4; /* #1f78b4 2 */
  3176. break;
  3177. case 3:
  3178. ret = 0x00b2df8a; /* #b2df8a 3 */
  3179. break;
  3180. case 4:
  3181. ret = 0x0033a02c; /* #33a02c 4 */
  3182. break;
  3183. case 5:
  3184. ret = 0x00fb9a99; /* #fb9a99 5 */
  3185. break;
  3186. case 6:
  3187. ret = 0x00e31a1c; /* #e31a1c 6 */
  3188. break;
  3189. case 7:
  3190. ret = 0x00fdbf6f; /* #fdbf6f 7 */
  3191. break;
  3192. default:
  3193. ret = (-1);
  3194. break;
  3195. }
  3196. break;
  3197. case COLOR_NS_PAIRED8: /* paired8 color scheme */
  3198. switch (number) {
  3199. case 1:
  3200. ret = 0x00a6cee3; /* #a6cee3 1 */
  3201. break;
  3202. case 2:
  3203. ret = 0x001f78b4; /* #1f78b4 2 */
  3204. break;
  3205. case 3:
  3206. ret = 0x00b2df8a; /* #b2df8a 3 */
  3207. break;
  3208. case 4:
  3209. ret = 0x0033a02c; /* #33a02c 4 */
  3210. break;
  3211. case 5:
  3212. ret = 0x00fb9a99; /* #fb9a99 5 */
  3213. break;
  3214. case 6:
  3215. ret = 0x00e31a1c; /* #e31a1c 6 */
  3216. break;
  3217. case 7:
  3218. ret = 0x00fdbf6f; /* #fdbf6f 7 */
  3219. break;
  3220. case 8:
  3221. ret = 0x00ff7f00; /* #ff7f00 8 */
  3222. break;
  3223. default:
  3224. ret = (-1);
  3225. break;
  3226. }
  3227. break;
  3228. case COLOR_NS_PAIRED9: /* paired9 color scheme */
  3229. switch (number) {
  3230. case 1:
  3231. ret = 0x00a6cee3; /* #a6cee3 1 */
  3232. break;
  3233. case 2:
  3234. ret = 0x001f78b4; /* #1f78b4 2 */
  3235. break;
  3236. case 3:
  3237. ret = 0x00b2df8a; /* #b2df8a 3 */
  3238. break;
  3239. case 4:
  3240. ret = 0x0033a02c; /* #33a02c 4 */
  3241. break;
  3242. case 5:
  3243. ret = 0x00fb9a99; /* #fb9a99 5 */
  3244. break;
  3245. case 6:
  3246. ret = 0x00e31a1c; /* #e31a1c 6 */
  3247. break;
  3248. case 7:
  3249. ret = 0x00fdbf6f; /* #fdbf6f 7 */
  3250. break;
  3251. case 8:
  3252. ret = 0x00ff7f00; /* #ff7f00 8 */
  3253. break;
  3254. case 9:
  3255. ret = 0x00cab2d6; /* #cab2d6 9 */
  3256. break;
  3257. default:
  3258. ret = (-1);
  3259. break;
  3260. }
  3261. break;
  3262. case COLOR_NS_PASTEL13: /* pastel13 color scheme */
  3263. switch (number) {
  3264. case 1:
  3265. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3266. break;
  3267. case 2:
  3268. ret = 0x00b3cde3; /* #b3cde3 2 */
  3269. break;
  3270. case 3:
  3271. ret = 0x00ccebc5; /* #ccebc5 3 */
  3272. break;
  3273. default:
  3274. ret = (-1);
  3275. break;
  3276. }
  3277. break;
  3278. case COLOR_NS_PASTEL14: /* pastel14 color scheme */
  3279. switch (number) {
  3280. case 1:
  3281. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3282. break;
  3283. case 2:
  3284. ret = 0x00b3cde3; /* #b3cde3 2 */
  3285. break;
  3286. case 3:
  3287. ret = 0x00ccebc5; /* #ccebc5 3 */
  3288. break;
  3289. case 4:
  3290. ret = 0x00decbe4; /* #decbe4 4 */
  3291. break;
  3292. default:
  3293. ret = (-1);
  3294. break;
  3295. }
  3296. break;
  3297. case COLOR_NS_PASTEL15: /* pastel15 color scheme */
  3298. switch (number) {
  3299. case 1:
  3300. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3301. break;
  3302. case 2:
  3303. ret = 0x00b3cde3; /* #b3cde3 2 */
  3304. break;
  3305. case 3:
  3306. ret = 0x00ccebc5; /* #ccebc5 3 */
  3307. break;
  3308. case 4:
  3309. ret = 0x00decbe4; /* #decbe4 4 */
  3310. break;
  3311. case 5:
  3312. ret = 0x00fed9a6; /* #fed9a6 5 */
  3313. break;
  3314. default:
  3315. ret = (-1);
  3316. break;
  3317. }
  3318. break;
  3319. case COLOR_NS_PASTEL16: /* pastel16 color scheme */
  3320. switch (number) {
  3321. case 1:
  3322. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3323. break;
  3324. case 2:
  3325. ret = 0x00b3cde3; /* #b3cde3 2 */
  3326. break;
  3327. case 3:
  3328. ret = 0x00ccebc5; /* #ccebc5 3 */
  3329. break;
  3330. case 4:
  3331. ret = 0x00decbe4; /* #decbe4 4 */
  3332. break;
  3333. case 5:
  3334. ret = 0x00fed9a6; /* #fed9a6 5 */
  3335. break;
  3336. case 6:
  3337. ret = 0x00ffffcc; /* #ffffcc 6 */
  3338. break;
  3339. default:
  3340. ret = (-1);
  3341. break;
  3342. }
  3343. break;
  3344. case COLOR_NS_PASTEL17: /* pastel17 color scheme */
  3345. switch (number) {
  3346. case 1:
  3347. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3348. break;
  3349. case 2:
  3350. ret = 0x00b3cde3; /* #b3cde3 2 */
  3351. break;
  3352. case 3:
  3353. ret = 0x00ccebc5; /* #ccebc5 3 */
  3354. break;
  3355. case 4:
  3356. ret = 0x00decbe4; /* #decbe4 4 */
  3357. break;
  3358. case 5:
  3359. ret = 0x00fed9a6; /* #fed9a6 5 */
  3360. break;
  3361. case 6:
  3362. ret = 0x00ffffcc; /* #ffffcc 6 */
  3363. break;
  3364. case 7:
  3365. ret = 0x00e5d8bd; /* #e5d8bd 7 */
  3366. break;
  3367. default:
  3368. ret = (-1);
  3369. break;
  3370. }
  3371. break;
  3372. case COLOR_NS_PASTEL18: /* pastel18 color scheme */
  3373. switch (number) {
  3374. case 1:
  3375. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3376. break;
  3377. case 2:
  3378. ret = 0x00b3cde3; /* #b3cde3 2 */
  3379. break;
  3380. case 3:
  3381. ret = 0x00ccebc5; /* #ccebc5 3 */
  3382. break;
  3383. case 4:
  3384. ret = 0x00decbe4; /* #decbe4 4 */
  3385. break;
  3386. case 5:
  3387. ret = 0x00fed9a6; /* #fed9a6 5 */
  3388. break;
  3389. case 6:
  3390. ret = 0x00ffffcc; /* #ffffcc 6 */
  3391. break;
  3392. case 7:
  3393. ret = 0x00e5d8bd; /* #e5d8bd 7 */
  3394. break;
  3395. case 8:
  3396. ret = 0x00fddaec; /* #fddaec 8 */
  3397. break;
  3398. default:
  3399. ret = (-1);
  3400. break;
  3401. }
  3402. break;
  3403. case COLOR_NS_PASTEL19: /* pastel19 color scheme */
  3404. switch (number) {
  3405. case 1:
  3406. ret = 0x00fbb4ae; /* #fbb4ae 1 */
  3407. break;
  3408. case 2:
  3409. ret = 0x00b3cde3; /* #b3cde3 2 */
  3410. break;
  3411. case 3:
  3412. ret = 0x00ccebc5; /* #ccebc5 3 */
  3413. break;
  3414. case 4:
  3415. ret = 0x00decbe4; /* #decbe4 4 */
  3416. break;
  3417. case 5:
  3418. ret = 0x00fed9a6; /* #fed9a6 5 */
  3419. break;
  3420. case 6:
  3421. ret = 0x00ffffcc; /* #ffffcc 6 */
  3422. break;
  3423. case 7:
  3424. ret = 0x00e5d8bd; /* #e5d8bd 7 */
  3425. break;
  3426. case 8:
  3427. ret = 0x00fddaec; /* #fddaec 8 */
  3428. break;
  3429. case 9:
  3430. ret = 0x00f2f2f2; /* #f2f2f2 9 */
  3431. break;
  3432. default:
  3433. ret = (-1);
  3434. break;
  3435. }
  3436. break;
  3437. case COLOR_NS_PASTEL23: /* pastel23 color scheme */
  3438. switch (number) {
  3439. case 1:
  3440. ret = 0x00b3e2cd; /* #b3e2cd 1 */
  3441. break;
  3442. case 2:
  3443. ret = 0x00fdcdac; /* #fdcdac 2 */
  3444. break;
  3445. case 3:
  3446. ret = 0x00cbd5e8; /* #cbd5e8 3 */
  3447. break;
  3448. default:
  3449. ret = (-1);
  3450. break;
  3451. }
  3452. break;
  3453. case COLOR_NS_PASTEL24: /* pastel24 color scheme */
  3454. switch (number) {
  3455. case 1:
  3456. ret = 0x00b3e2cd; /* #b3e2cd 1 */
  3457. break;
  3458. case 2:
  3459. ret = 0x00fdcdac; /* #fdcdac 2 */
  3460. break;
  3461. case 3:
  3462. ret = 0x00cbd5e8; /* #cbd5e8 3 */
  3463. break;
  3464. case 4:
  3465. ret = 0x00f4cae4; /* #f4cae4 4 */
  3466. break;
  3467. default:
  3468. ret = (-1);
  3469. break;
  3470. }
  3471. break;
  3472. case COLOR_NS_PASTEL25: /* pastel25 color scheme */
  3473. switch (number) {
  3474. case 1:
  3475. ret = 0x00b3e2cd; /* #b3e2cd 1 */
  3476. break;
  3477. case 2:
  3478. ret = 0x00fdcdac; /* #fdcdac 2 */
  3479. break;
  3480. case 3:
  3481. ret = 0x00cbd5e8; /* #cbd5e8 3 */
  3482. break;
  3483. case 4:
  3484. ret = 0x00f4cae4; /* #f4cae4 4 */
  3485. break;
  3486. case 5:
  3487. ret = 0x00e6f5c9; /* #e6f5c9 5 */
  3488. break;
  3489. default:
  3490. ret = (-1);
  3491. break;
  3492. }
  3493. break;
  3494. case COLOR_NS_PASTEL26: /* pastel26 color scheme */
  3495. switch (number) {
  3496. case 1:
  3497. ret = 0x00b3e2cd; /* #b3e2cd 1 */
  3498. break;
  3499. case 2:
  3500. ret = 0x00fdcdac; /* #fdcdac 2 */
  3501. break;
  3502. case 3:
  3503. ret = 0x00cbd5e8; /* #cbd5e8 3 */
  3504. break;
  3505. case 4:
  3506. ret = 0x00f4cae4; /* #f4cae4 4 */
  3507. break;
  3508. case 5:
  3509. ret = 0x00e6f5c9; /* #e6f5c9 5 */
  3510. break;
  3511. case 6:
  3512. ret = 0x00fff2ae; /* #fff2ae 6 */
  3513. break;
  3514. default:
  3515. ret = (-1);
  3516. break;
  3517. }
  3518. break;
  3519. case COLOR_NS_PASTEL27: /* pastel27 color scheme */
  3520. switch (number) {
  3521. case 1:
  3522. ret = 0x00b3e2cd; /* #b3e2cd 1 */
  3523. break;
  3524. case 2:
  3525. ret = 0x00fdcdac; /* #fdcdac 2 */
  3526. break;
  3527. case 3:
  3528. ret = 0x00cbd5e8; /* #cbd5e8 3 */
  3529. break;
  3530. case 4:
  3531. ret = 0x00f4cae4; /* #f4cae4 4 */
  3532. break;
  3533. case 5:
  3534. ret = 0x00e6f5c9; /* #e6f5c9 5 */
  3535. break;
  3536. case 6:
  3537. ret = 0x00fff2ae; /* #fff2ae 6 */
  3538. break;
  3539. case 7:
  3540. ret = 0x00f1e2cc; /* #f1e2cc 7 */
  3541. break;
  3542. default:
  3543. ret = (-1);
  3544. break;
  3545. }
  3546. break;
  3547. case COLOR_NS_PASTEL28: /* pastel28 color scheme */
  3548. switch (number) {
  3549. case 1:
  3550. ret = 0x00b3e2cd; /* #b3e2cd 1 */
  3551. break;
  3552. case 2:
  3553. ret = 0x00fdcdac; /* #fdcdac 2 */
  3554. break;
  3555. case 3:
  3556. ret = 0x00cbd5e8; /* #cbd5e8 3 */
  3557. break;
  3558. case 4:
  3559. ret = 0x00f4cae4; /* #f4cae4 4 */
  3560. break;
  3561. case 5:
  3562. ret = 0x00e6f5c9; /* #e6f5c9 5 */
  3563. break;
  3564. case 6:
  3565. ret = 0x00fff2ae; /* #fff2ae 6 */
  3566. break;
  3567. case 7:
  3568. ret = 0x00f1e2cc; /* #f1e2cc 7 */
  3569. break;
  3570. case 8:
  3571. ret = 0x00cccccc; /* #cccccc 8 */
  3572. break;
  3573. default:
  3574. ret = (-1);
  3575. break;
  3576. }
  3577. break;
  3578. case COLOR_NS_PIYG10: /* piyg10 color scheme */
  3579. switch (number) {
  3580. case 1:
  3581. ret = 0x008e0152; /* #8e0152 1 */
  3582. break;
  3583. case 2:
  3584. ret = 0x00c51b7d; /* #c51b7d 2 */
  3585. break;
  3586. case 3:
  3587. ret = 0x00de77ae; /* #de77ae 3 */
  3588. break;
  3589. case 4:
  3590. ret = 0x00f1b6da; /* #f1b6da 4 */
  3591. break;
  3592. case 5:
  3593. ret = 0x00fde0ef; /* #fde0ef 5 */
  3594. break;
  3595. case 6:
  3596. ret = 0x00e6f5d0; /* #e6f5d0 6 */
  3597. break;
  3598. case 7:
  3599. ret = 0x00b8e186; /* #b8e186 7 */
  3600. break;
  3601. case 8:
  3602. ret = 0x007fbc41; /* #7fbc41 8 */
  3603. break;
  3604. case 9:
  3605. ret = 0x004d9221; /* #4d9221 9 */
  3606. break;
  3607. case 10:
  3608. ret = 0x00276419; /* #276419 10 */
  3609. break;
  3610. default:
  3611. ret = (-1);
  3612. break;
  3613. }
  3614. break;
  3615. case COLOR_NS_PIYG11: /* piyg11 color scheme */
  3616. switch (number) {
  3617. case 1:
  3618. ret = 0x008e0152; /* #8e0152 1 */
  3619. break;
  3620. case 2:
  3621. ret = 0x00c51b7d; /* #c51b7d 2 */
  3622. break;
  3623. case 3:
  3624. ret = 0x00de77ae; /* #de77ae 3 */
  3625. break;
  3626. case 4:
  3627. ret = 0x00f1b6da; /* #f1b6da 4 */
  3628. break;
  3629. case 5:
  3630. ret = 0x00fde0ef; /* #fde0ef 5 */
  3631. break;
  3632. case 6:
  3633. ret = 0x00f7f7f7; /* #f7f7f7 6 */
  3634. break;
  3635. case 7:
  3636. ret = 0x00e6f5d0; /* #e6f5d0 7 */
  3637. break;
  3638. case 8:
  3639. ret = 0x00b8e186; /* #b8e186 8 */
  3640. break;
  3641. case 9:
  3642. ret = 0x007fbc41; /* #7fbc41 9 */
  3643. break;
  3644. case 10:
  3645. ret = 0x004d9221; /* #4d9221 10 */
  3646. break;
  3647. case 11:
  3648. ret = 0x00276419; /* #276419 11 */
  3649. break;
  3650. default:
  3651. ret = (-1);
  3652. break;
  3653. }
  3654. break;
  3655. case COLOR_NS_PIYG3: /* piyg3 color scheme */
  3656. switch (number) {
  3657. case 1:
  3658. ret = 0x00e9a3c9; /* #e9a3c9 1 */
  3659. break;
  3660. case 2:
  3661. ret = 0x00f7f7f7; /* #f7f7f7 2 */
  3662. break;
  3663. case 3:
  3664. ret = 0x00a1d76a; /* #a1d76a 3 */
  3665. break;
  3666. default:
  3667. ret = (-1);
  3668. break;
  3669. }
  3670. break;
  3671. case COLOR_NS_PIYG4: /* piyg4 color scheme */
  3672. switch (number) {
  3673. case 1:
  3674. ret = 0x00d01c8b; /* #d01c8b 1 */
  3675. break;
  3676. case 2:
  3677. ret = 0x00f1b6da; /* #f1b6da 2 */
  3678. break;
  3679. case 3:
  3680. ret = 0x00b8e186; /* #b8e186 3 */
  3681. break;
  3682. case 4:
  3683. ret = 0x004dac26; /* #4dac26 4 */
  3684. break;
  3685. default:
  3686. ret = (-1);
  3687. break;
  3688. }
  3689. break;
  3690. case COLOR_NS_PIYG5: /* piyg5 color scheme */
  3691. switch (number) {
  3692. case 1:
  3693. ret = 0x00d01c8b; /* #d01c8b 1 */
  3694. break;
  3695. case 2:
  3696. ret = 0x00f1b6da; /* #f1b6da 2 */
  3697. break;
  3698. case 3:
  3699. ret = 0x00f7f7f7; /* #f7f7f7 3 */
  3700. break;
  3701. case 4:
  3702. ret = 0x00b8e186; /* #b8e186 4 */
  3703. break;
  3704. case 5:
  3705. ret = 0x004dac26; /* #4dac26 5 */
  3706. break;
  3707. default:
  3708. ret = (-1);
  3709. break;
  3710. }
  3711. break;
  3712. case COLOR_NS_PIYG6: /* piyg6 color scheme */
  3713. switch (number) {
  3714. case 1:
  3715. ret = 0x00c51b7d; /* #c51b7d 1 */
  3716. break;
  3717. case 2:
  3718. ret = 0x00e9a3c9; /* #e9a3c9 2 */
  3719. break;
  3720. case 3:
  3721. ret = 0x00fde0ef; /* #fde0ef 3 */
  3722. break;
  3723. case 4:
  3724. ret = 0x00e6f5d0; /* #e6f5d0 4 */
  3725. break;
  3726. case 5:
  3727. ret = 0x00a1d76a; /* #a1d76a 5 */
  3728. break;
  3729. case 6:
  3730. ret = 0x004d9221; /* #4d9221 6 */
  3731. break;
  3732. default:
  3733. ret = (-1);
  3734. break;
  3735. }
  3736. break;
  3737. case COLOR_NS_PIYG7: /* piyg7 color scheme */
  3738. switch (number) {
  3739. case 1:
  3740. ret = 0x00c51b7d; /* #c51b7d 1 */
  3741. break;
  3742. case 2:
  3743. ret = 0x00e9a3c9; /* #e9a3c9 2 */
  3744. break;
  3745. case 3:
  3746. ret = 0x00fde0ef; /* #fde0ef 3 */
  3747. break;
  3748. case 4:
  3749. ret = 0x00f7f7f7; /* #f7f7f7 4 */
  3750. break;
  3751. case 5:
  3752. ret = 0x00e6f5d0; /* #e6f5d0 5 */
  3753. break;
  3754. case 6:
  3755. ret = 0x00a1d76a; /* #a1d76a 6 */
  3756. break;
  3757. case 7:
  3758. ret = 0x004d9221; /* #4d9221 7 */
  3759. break;
  3760. default:
  3761. ret = (-1);
  3762. break;
  3763. }
  3764. break;
  3765. case COLOR_NS_PIYG8: /* piyg8 color scheme */
  3766. switch (number) {
  3767. case 1:
  3768. ret = 0x00c51b7d; /* #c51b7d 1 */
  3769. break;
  3770. case 2:
  3771. ret = 0x00de77ae; /* #de77ae 2 */
  3772. break;
  3773. case 3:
  3774. ret = 0x00f1b6da; /* #f1b6da 3 */
  3775. break;
  3776. case 4:
  3777. ret = 0x00fde0ef; /* #fde0ef 4 */
  3778. break;
  3779. case 5:
  3780. ret = 0x00e6f5d0; /* #e6f5d0 5 */
  3781. break;
  3782. case 6:
  3783. ret = 0x00b8e186; /* #b8e186 6 */
  3784. break;
  3785. case 7:
  3786. ret = 0x007fbc41; /* #7fbc41 7 */
  3787. break;
  3788. case 8:
  3789. ret = 0x004d9221; /* #4d9221 8 */
  3790. break;
  3791. default:
  3792. ret = (-1);
  3793. break;
  3794. }
  3795. break;
  3796. case COLOR_NS_PIYG9: /* piyg9 color scheme */
  3797. switch (number) {
  3798. case 1:
  3799. ret = 0x00c51b7d; /* #c51b7d 1 */
  3800. break;
  3801. case 2:
  3802. ret = 0x00de77ae; /* #de77ae 2 */
  3803. break;
  3804. case 3:
  3805. ret = 0x00f1b6da; /* #f1b6da 3 */
  3806. break;
  3807. case 4:
  3808. ret = 0x00fde0ef; /* #fde0ef 4 */
  3809. break;
  3810. case 5:
  3811. ret = 0x00f7f7f7; /* #f7f7f7 5 */
  3812. break;
  3813. case 6:
  3814. ret = 0x00e6f5d0; /* #e6f5d0 6 */
  3815. break;
  3816. case 7:
  3817. ret = 0x00b8e186; /* #b8e186 7 */
  3818. break;
  3819. case 8:
  3820. ret = 0x007fbc41; /* #7fbc41 8 */
  3821. break;
  3822. case 9:
  3823. ret = 0x004d9221; /* #4d9221 9 */
  3824. break;
  3825. default:
  3826. ret = (-1);
  3827. break;
  3828. }
  3829. break;
  3830. case COLOR_NS_PRGN10: /* prgn10 color scheme */
  3831. switch (number) {
  3832. case 1:
  3833. ret = 0x0040004b; /* #40004b 1 */
  3834. break;
  3835. case 2:
  3836. ret = 0x00762a83; /* #762a83 2 */
  3837. break;
  3838. case 3:
  3839. ret = 0x009970ab; /* #9970ab 3 */
  3840. break;
  3841. case 4:
  3842. ret = 0x00c2a5cf; /* #c2a5cf 4 */
  3843. break;
  3844. case 5:
  3845. ret = 0x00e7d4e8; /* #e7d4e8 5 */
  3846. break;
  3847. case 6:
  3848. ret = 0x00d9f0d3; /* #d9f0d3 6 */
  3849. break;
  3850. case 7:
  3851. ret = 0x00a6dba0; /* #a6dba0 7 */
  3852. break;
  3853. case 8:
  3854. ret = 0x005aae61; /* #5aae61 8 */
  3855. break;
  3856. case 9:
  3857. ret = 0x001b7837; /* #1b7837 9 */
  3858. break;
  3859. case 10:
  3860. ret = 0x0000441b; /* #00441b 10 */
  3861. break;
  3862. default:
  3863. ret = (-1);
  3864. break;
  3865. }
  3866. break;
  3867. case COLOR_NS_PRGN11: /* prgn11 color scheme */
  3868. switch (number) {
  3869. case 1:
  3870. ret = 0x0040004b; /* #40004b 1 */
  3871. break;
  3872. case 2:
  3873. ret = 0x00762a83; /* #762a83 2 */
  3874. break;
  3875. case 3:
  3876. ret = 0x009970ab; /* #9970ab 3 */
  3877. break;
  3878. case 4:
  3879. ret = 0x00c2a5cf; /* #c2a5cf 4 */
  3880. break;
  3881. case 5:
  3882. ret = 0x00e7d4e8; /* #e7d4e8 5 */
  3883. break;
  3884. case 6:
  3885. ret = 0x00f7f7f7; /* #f7f7f7 6 */
  3886. break;
  3887. case 7:
  3888. ret = 0x00d9f0d3; /* #d9f0d3 7 */
  3889. break;
  3890. case 8:
  3891. ret = 0x00a6dba0; /* #a6dba0 8 */
  3892. break;
  3893. case 9:
  3894. ret = 0x005aae61; /* #5aae61 9 */
  3895. break;
  3896. case 10:
  3897. ret = 0x001b7837; /* #1b7837 10 */
  3898. break;
  3899. case 11:
  3900. ret = 0x0000441b; /* #00441b 11 */
  3901. break;
  3902. default:
  3903. ret = (-1);
  3904. break;
  3905. }
  3906. break;
  3907. case COLOR_NS_PRGN3: /* prgn3 color scheme */
  3908. switch (number) {
  3909. case 1:
  3910. ret = 0x00af8dc3; /* #af8dc3 1 */
  3911. break;
  3912. case 2:
  3913. ret = 0x00f7f7f7; /* #f7f7f7 2 */
  3914. break;
  3915. case 3:
  3916. ret = 0x007fbf7b; /* #7fbf7b 3 */
  3917. break;
  3918. default:
  3919. ret = (-1);
  3920. break;
  3921. }
  3922. break;
  3923. case COLOR_NS_PRGN4: /* prgn4 color scheme */
  3924. switch (number) {
  3925. case 1:
  3926. ret = 0x007b3294; /* #7b3294 1 */
  3927. break;
  3928. case 2:
  3929. ret = 0x00c2a5cf; /* #c2a5cf 2 */
  3930. break;
  3931. case 3:
  3932. ret = 0x00a6dba0; /* #a6dba0 3 */
  3933. break;
  3934. case 4:
  3935. ret = 0x00008837; /* #008837 4 */
  3936. break;
  3937. default:
  3938. ret = (-1);
  3939. break;
  3940. }
  3941. break;
  3942. case COLOR_NS_PRGN5: /* prgn5 color scheme */
  3943. switch (number) {
  3944. case 1:
  3945. ret = 0x007b3294; /* #7b3294 1 */
  3946. break;
  3947. case 2:
  3948. ret = 0x00c2a5cf; /* #c2a5cf 2 */
  3949. break;
  3950. case 3:
  3951. ret = 0x00f7f7f7; /* #f7f7f7 3 */
  3952. break;
  3953. case 4:
  3954. ret = 0x00a6dba0; /* #a6dba0 4 */
  3955. break;
  3956. case 5:
  3957. ret = 0x00008837; /* #008837 5 */
  3958. break;
  3959. default:
  3960. ret = (-1);
  3961. break;
  3962. }
  3963. break;
  3964. case COLOR_NS_PRGN6: /* prgn6 color scheme */
  3965. switch (number) {
  3966. case 1:
  3967. ret = 0x00762a83; /* #762a83 1 */
  3968. break;
  3969. case 2:
  3970. ret = 0x00af8dc3; /* #af8dc3 2 */
  3971. break;
  3972. case 3:
  3973. ret = 0x00e7d4e8; /* #e7d4e8 3 */
  3974. break;
  3975. case 4:
  3976. ret = 0x00d9f0d3; /* #d9f0d3 4 */
  3977. break;
  3978. case 5:
  3979. ret = 0x007fbf7b; /* #7fbf7b 5 */
  3980. break;
  3981. case 6:
  3982. ret = 0x001b7837; /* #1b7837 6 */
  3983. break;
  3984. default:
  3985. ret = (-1);
  3986. break;
  3987. }
  3988. break;
  3989. case COLOR_NS_PRGN7: /* prgn7 color scheme */
  3990. switch (number) {
  3991. case 1:
  3992. ret = 0x00762a83; /* #762a83 1 */
  3993. break;
  3994. case 2:
  3995. ret = 0x00af8dc3; /* #af8dc3 2 */
  3996. break;
  3997. case 3:
  3998. ret = 0x00e7d4e8; /* #e7d4e8 3 */
  3999. break;
  4000. case 4:
  4001. ret = 0x00f7f7f7; /* #f7f7f7 4 */
  4002. break;
  4003. case 5:
  4004. ret = 0x00d9f0d3; /* #d9f0d3 5 */
  4005. break;
  4006. case 6:
  4007. ret = 0x007fbf7b; /* #7fbf7b 6 */
  4008. break;
  4009. case 7:
  4010. ret = 0x001b7837; /* #1b7837 7 */
  4011. break;
  4012. default:
  4013. ret = (-1);
  4014. break;
  4015. }
  4016. break;
  4017. case COLOR_NS_PRGN8: /* prgn8 color scheme */
  4018. switch (number) {
  4019. case 1:
  4020. ret = 0x00762a83; /* #762a83 1 */
  4021. break;
  4022. case 2:
  4023. ret = 0x009970ab; /* #9970ab 2 */
  4024. break;
  4025. case 3:
  4026. ret = 0x00c2a5cf; /* #c2a5cf 3 */
  4027. break;
  4028. case 4:
  4029. ret = 0x00e7d4e8; /* #e7d4e8 4 */
  4030. break;
  4031. case 5:
  4032. ret = 0x00d9f0d3; /* #d9f0d3 5 */
  4033. break;
  4034. case 6:
  4035. ret = 0x00a6dba0; /* #a6dba0 6 */
  4036. break;
  4037. case 7:
  4038. ret = 0x005aae61; /* #5aae61 7 */
  4039. break;
  4040. case 8:
  4041. ret = 0x001b7837; /* #1b7837 8 */
  4042. break;
  4043. default:
  4044. ret = (-1);
  4045. break;
  4046. }
  4047. break;
  4048. case COLOR_NS_PRGN9: /* prgn9 color scheme */
  4049. switch (number) {
  4050. case 1:
  4051. ret = 0x00762a83; /* #762a83 1 */
  4052. break;
  4053. case 2:
  4054. ret = 0x009970ab; /* #9970ab 2 */
  4055. break;
  4056. case 3:
  4057. ret = 0x00c2a5cf; /* #c2a5cf 3 */
  4058. break;
  4059. case 4:
  4060. ret = 0x00e7d4e8; /* #e7d4e8 4 */
  4061. break;
  4062. case 5:
  4063. ret = 0x00f7f7f7; /* #f7f7f7 5 */
  4064. break;
  4065. case 6:
  4066. ret = 0x00d9f0d3; /* #d9f0d3 6 */
  4067. break;
  4068. case 7:
  4069. ret = 0x00a6dba0; /* #a6dba0 7 */
  4070. break;
  4071. case 8:
  4072. ret = 0x005aae61; /* #5aae61 8 */
  4073. break;
  4074. case 9:
  4075. ret = 0x001b7837; /* #1b7837 9 */
  4076. break;
  4077. default:
  4078. ret = (-1);
  4079. break;
  4080. }
  4081. break;
  4082. case COLOR_NS_PUBU3: /* pubu3 color scheme */
  4083. switch (number) {
  4084. case 1:
  4085. ret = 0x00ece7f2; /* #ece7f2 1 */
  4086. break;
  4087. case 2:
  4088. ret = 0x00a6bddb; /* #a6bddb 2 */
  4089. break;
  4090. case 3:
  4091. ret = 0x002b8cbe; /* #2b8cbe 3 */
  4092. break;
  4093. default:
  4094. ret = (-1);
  4095. break;
  4096. }
  4097. break;
  4098. case COLOR_NS_PUBU4: /* pubu4 color scheme */
  4099. switch (number) {
  4100. case 1:
  4101. ret = 0x00f1eef6; /* #f1eef6 1 */
  4102. break;
  4103. case 2:
  4104. ret = 0x00bdc9e1; /* #bdc9e1 2 */
  4105. break;
  4106. case 3:
  4107. ret = 0x0074a9cf; /* #74a9cf 3 */
  4108. break;
  4109. case 4:
  4110. ret = 0x000570b0; /* #0570b0 4 */
  4111. break;
  4112. default:
  4113. ret = (-1);
  4114. break;
  4115. }
  4116. break;
  4117. case COLOR_NS_PUBU5: /* pubu5 color scheme */
  4118. switch (number) {
  4119. case 1:
  4120. ret = 0x00f1eef6; /* #f1eef6 1 */
  4121. break;
  4122. case 2:
  4123. ret = 0x00bdc9e1; /* #bdc9e1 2 */
  4124. break;
  4125. case 3:
  4126. ret = 0x0074a9cf; /* #74a9cf 3 */
  4127. break;
  4128. case 4:
  4129. ret = 0x002b8cbe; /* #2b8cbe 4 */
  4130. break;
  4131. case 5:
  4132. ret = 0x00045a8d; /* #045a8d 5 */
  4133. break;
  4134. default:
  4135. ret = (-1);
  4136. break;
  4137. }
  4138. break;
  4139. case COLOR_NS_PUBU6: /* pubu6 color scheme */
  4140. switch (number) {
  4141. case 1:
  4142. ret = 0x00f1eef6; /* #f1eef6 1 */
  4143. break;
  4144. case 2:
  4145. ret = 0x00d0d1e6; /* #d0d1e6 2 */
  4146. break;
  4147. case 3:
  4148. ret = 0x00a6bddb; /* #a6bddb 3 */
  4149. break;
  4150. case 4:
  4151. ret = 0x0074a9cf; /* #74a9cf 4 */
  4152. break;
  4153. case 5:
  4154. ret = 0x002b8cbe; /* #2b8cbe 5 */
  4155. break;
  4156. case 6:
  4157. ret = 0x00045a8d; /* #045a8d 6 */
  4158. break;
  4159. default:
  4160. ret = (-1);
  4161. break;
  4162. }
  4163. break;
  4164. case COLOR_NS_PUBU7: /* pubu7 color scheme */
  4165. switch (number) {
  4166. case 1:
  4167. ret = 0x00f1eef6; /* #f1eef6 1 */
  4168. break;
  4169. case 2:
  4170. ret = 0x00d0d1e6; /* #d0d1e6 2 */
  4171. break;
  4172. case 3:
  4173. ret = 0x00a6bddb; /* #a6bddb 3 */
  4174. break;
  4175. case 4:
  4176. ret = 0x0074a9cf; /* #74a9cf 4 */
  4177. break;
  4178. case 5:
  4179. ret = 0x003690c0; /* #3690c0 5 */
  4180. break;
  4181. case 6:
  4182. ret = 0x000570b0; /* #0570b0 6 */
  4183. break;
  4184. case 7:
  4185. ret = 0x00034e7b; /* #034e7b 7 */
  4186. break;
  4187. default:
  4188. ret = (-1);
  4189. break;
  4190. }
  4191. break;
  4192. case COLOR_NS_PUBU8: /* pubu8 color scheme */
  4193. switch (number) {
  4194. case 1:
  4195. ret = 0x00fff7fb; /* #fff7fb 1 */
  4196. break;
  4197. case 2:
  4198. ret = 0x00ece7f2; /* #ece7f2 2 */
  4199. break;
  4200. case 3:
  4201. ret = 0x00d0d1e6; /* #d0d1e6 3 */
  4202. break;
  4203. case 4:
  4204. ret = 0x00a6bddb; /* #a6bddb 4 */
  4205. break;
  4206. case 5:
  4207. ret = 0x0074a9cf; /* #74a9cf 5 */
  4208. break;
  4209. case 6:
  4210. ret = 0x003690c0; /* #3690c0 6 */
  4211. break;
  4212. case 7:
  4213. ret = 0x000570b0; /* #0570b0 7 */
  4214. break;
  4215. case 8:
  4216. ret = 0x00034e7b; /* #034e7b 8 */
  4217. break;
  4218. default:
  4219. ret = (-1);
  4220. break;
  4221. }
  4222. break;
  4223. case COLOR_NS_PUBU9: /* pubu9 color scheme */
  4224. switch (number) {
  4225. case 1:
  4226. ret = 0x00fff7fb; /* #fff7fb 1 */
  4227. break;
  4228. case 2:
  4229. ret = 0x00ece7f2; /* #ece7f2 2 */
  4230. break;
  4231. case 3:
  4232. ret = 0x00d0d1e6; /* #d0d1e6 3 */
  4233. break;
  4234. case 4:
  4235. ret = 0x00a6bddb; /* #a6bddb 4 */
  4236. break;
  4237. case 5:
  4238. ret = 0x0074a9cf; /* #74a9cf 5 */
  4239. break;
  4240. case 6:
  4241. ret = 0x003690c0; /* #3690c0 6 */
  4242. break;
  4243. case 7:
  4244. ret = 0x000570b0; /* #0570b0 7 */
  4245. break;
  4246. case 8:
  4247. ret = 0x00045a8d; /* #045a8d 8 */
  4248. break;
  4249. case 9:
  4250. ret = 0x00023858; /* #023858 9 */
  4251. break;
  4252. default:
  4253. ret = (-1);
  4254. break;
  4255. }
  4256. break;
  4257. case COLOR_NS_PUBUGN3: /* pubugn3 color scheme */
  4258. switch (number) {
  4259. case 1:
  4260. ret = 0x00ece2f0; /* #ece2f0 1 */
  4261. break;
  4262. case 2:
  4263. ret = 0x00a6bddb; /* #a6bddb 2 */
  4264. break;
  4265. case 3:
  4266. ret = 0x001c9099; /* #1c9099 3 */
  4267. break;
  4268. default:
  4269. ret = (-1);
  4270. break;
  4271. }
  4272. break;
  4273. case COLOR_NS_PUBUGN4: /* pubugn4 color scheme */
  4274. switch (number) {
  4275. case 1:
  4276. ret = 0x00f6eff7; /* #f6eff7 1 */
  4277. break;
  4278. case 2:
  4279. ret = 0x00bdc9e1; /* #bdc9e1 2 */
  4280. break;
  4281. case 3:
  4282. ret = 0x0067a9cf; /* #67a9cf 3 */
  4283. break;
  4284. case 4:
  4285. ret = 0x0002818a; /* #02818a 4 */
  4286. break;
  4287. default:
  4288. ret = (-1);
  4289. break;
  4290. }
  4291. break;
  4292. case COLOR_NS_PUBUGN5: /* pubugn5 color scheme */
  4293. switch (number) {
  4294. case 1:
  4295. ret = 0x00f6eff7; /* #f6eff7 1 */
  4296. break;
  4297. case 2:
  4298. ret = 0x00bdc9e1; /* #bdc9e1 2 */
  4299. break;
  4300. case 3:
  4301. ret = 0x0067a9cf; /* #67a9cf 3 */
  4302. break;
  4303. case 4:
  4304. ret = 0x001c9099; /* #1c9099 4 */
  4305. break;
  4306. case 5:
  4307. ret = 0x00016c59; /* #016c59 5 */
  4308. break;
  4309. default:
  4310. ret = (-1);
  4311. break;
  4312. }
  4313. break;
  4314. case COLOR_NS_PUBUGN6: /* pubugn6 color scheme */
  4315. switch (number) {
  4316. case 1:
  4317. ret = 0x00f6eff7; /* #f6eff7 1 */
  4318. break;
  4319. case 2:
  4320. ret = 0x00d0d1e6; /* #d0d1e6 2 */
  4321. break;
  4322. case 3:
  4323. ret = 0x00a6bddb; /* #a6bddb 3 */
  4324. break;
  4325. case 4:
  4326. ret = 0x0067a9cf; /* #67a9cf 4 */
  4327. break;
  4328. case 5:
  4329. ret = 0x001c9099; /* #1c9099 5 */
  4330. break;
  4331. case 6:
  4332. ret = 0x00016c59; /* #016c59 6 */
  4333. break;
  4334. default:
  4335. ret = (-1);
  4336. break;
  4337. }
  4338. break;
  4339. case COLOR_NS_PUBUGN7: /* pubugn7 color scheme */
  4340. switch (number) {
  4341. case 1:
  4342. ret = 0x00f6eff7; /* #f6eff7 1 */
  4343. break;
  4344. case 2:
  4345. ret = 0x00d0d1e6; /* #d0d1e6 2 */
  4346. break;
  4347. case 3:
  4348. ret = 0x00a6bddb; /* #a6bddb 3 */
  4349. break;
  4350. case 4:
  4351. ret = 0x0067a9cf; /* #67a9cf 4 */
  4352. break;
  4353. case 5:
  4354. ret = 0x003690c0; /* #3690c0 5 */
  4355. break;
  4356. case 6:
  4357. ret = 0x0002818a; /* #02818a 6 */
  4358. break;
  4359. case 7:
  4360. ret = 0x00016450; /* #016450 7 */
  4361. break;
  4362. default:
  4363. ret = (-1);
  4364. break;
  4365. }
  4366. break;
  4367. case COLOR_NS_PUBUGN8: /* pubugn8 color scheme */
  4368. switch (number) {
  4369. case 1:
  4370. ret = 0x00fff7fb; /* #fff7fb 1 */
  4371. break;
  4372. case 2:
  4373. ret = 0x00ece2f0; /* #ece2f0 2 */
  4374. break;
  4375. case 3:
  4376. ret = 0x00d0d1e6; /* #d0d1e6 3 */
  4377. break;
  4378. case 4:
  4379. ret = 0x00a6bddb; /* #a6bddb 4 */
  4380. break;
  4381. case 5:
  4382. ret = 0x0067a9cf; /* #67a9cf 5 */
  4383. break;
  4384. case 6:
  4385. ret = 0x003690c0; /* #3690c0 6 */
  4386. break;
  4387. case 7:
  4388. ret = 0x0002818a; /* #02818a 7 */
  4389. break;
  4390. case 8:
  4391. ret = 0x00016450; /* #016450 8 */
  4392. break;
  4393. default:
  4394. ret = (-1);
  4395. break;
  4396. }
  4397. break;
  4398. case COLOR_NS_PUBUGN9: /* pubugn9 color scheme */
  4399. switch (number) {
  4400. case 1:
  4401. ret = 0x00fff7fb; /* #fff7fb 1 */
  4402. break;
  4403. case 2:
  4404. ret = 0x00ece2f0; /* #ece2f0 2 */
  4405. break;
  4406. case 3:
  4407. ret = 0x00d0d1e6; /* #d0d1e6 3 */
  4408. break;
  4409. case 4:
  4410. ret = 0x00a6bddb; /* #a6bddb 4 */
  4411. break;
  4412. case 5:
  4413. ret = 0x0067a9cf; /* #67a9cf 5 */
  4414. break;
  4415. case 6:
  4416. ret = 0x003690c0; /* #3690c0 6 */
  4417. break;
  4418. case 7:
  4419. ret = 0x0002818a; /* #02818a 7 */
  4420. break;
  4421. case 8:
  4422. ret = 0x00016c59; /* #016c59 8 */
  4423. break;
  4424. case 9:
  4425. ret = 0x00014636; /* #014636 9 */
  4426. break;
  4427. default:
  4428. ret = (-1);
  4429. break;
  4430. }
  4431. break;
  4432. case COLOR_NS_PUOR10: /* puor10 color scheme */
  4433. switch (number) {
  4434. case 1:
  4435. ret = 0x007f3b08; /* #7f3b08 1 */
  4436. break;
  4437. case 2:
  4438. ret = 0x00b35806; /* #b35806 2 */
  4439. break;
  4440. case 3:
  4441. ret = 0x00e08214; /* #e08214 3 */
  4442. break;
  4443. case 4:
  4444. ret = 0x00fdb863; /* #fdb863 4 */
  4445. break;
  4446. case 5:
  4447. ret = 0x00fee0b6; /* #fee0b6 5 */
  4448. break;
  4449. case 6:
  4450. ret = 0x00d8daeb; /* #d8daeb 6 */
  4451. break;
  4452. case 7:
  4453. ret = 0x00b2abd2; /* #b2abd2 7 */
  4454. break;
  4455. case 8:
  4456. ret = 0x008073ac; /* #8073ac 8 */
  4457. break;
  4458. case 9:
  4459. ret = 0x00542788; /* #542788 9 */
  4460. break;
  4461. case 10:
  4462. ret = 0x002d004b; /* #2d004b 10 */
  4463. break;
  4464. default:
  4465. ret = (-1);
  4466. break;
  4467. }
  4468. break;
  4469. case COLOR_NS_PUOR11: /* puor11 color scheme */
  4470. switch (number) {
  4471. case 1:
  4472. ret = 0x007f3b08; /* #7f3b08 1 */
  4473. break;
  4474. case 2:
  4475. ret = 0x00b35806; /* #b35806 2 */
  4476. break;
  4477. case 3:
  4478. ret = 0x00e08214; /* #e08214 3 */
  4479. break;
  4480. case 4:
  4481. ret = 0x00fdb863; /* #fdb863 4 */
  4482. break;
  4483. case 5:
  4484. ret = 0x00fee0b6; /* #fee0b6 5 */
  4485. break;
  4486. case 6:
  4487. ret = 0x00f7f7f7; /* #f7f7f7 6 */
  4488. break;
  4489. case 7:
  4490. ret = 0x00d8daeb; /* #d8daeb 7 */
  4491. break;
  4492. case 8:
  4493. ret = 0x00b2abd2; /* #b2abd2 8 */
  4494. break;
  4495. case 9:
  4496. ret = 0x008073ac; /* #8073ac 9 */
  4497. break;
  4498. case 10:
  4499. ret = 0x00542788; /* #542788 10 */
  4500. break;
  4501. case 11:
  4502. ret = 0x002d004b; /* #2d004b 11 */
  4503. break;
  4504. default:
  4505. ret = (-1);
  4506. break;
  4507. }
  4508. break;
  4509. case COLOR_NS_PUOR3: /* puor3 color scheme */
  4510. switch (number) {
  4511. case 1:
  4512. ret = 0x00f1a340; /* #f1a340 1 */
  4513. break;
  4514. case 2:
  4515. ret = 0x00f7f7f7; /* #f7f7f7 2 */
  4516. break;
  4517. case 3:
  4518. ret = 0x00998ec3; /* #998ec3 3 */
  4519. break;
  4520. default:
  4521. ret = (-1);
  4522. break;
  4523. }
  4524. break;
  4525. case COLOR_NS_PUOR4: /* puor4 color scheme */
  4526. switch (number) {
  4527. case 1:
  4528. ret = 0x00e66101; /* #e66101 1 */
  4529. break;
  4530. case 2:
  4531. ret = 0x00fdb863; /* #fdb863 2 */
  4532. break;
  4533. case 3:
  4534. ret = 0x00b2abd2; /* #b2abd2 3 */
  4535. break;
  4536. case 4:
  4537. ret = 0x005e3c99; /* #5e3c99 4 */
  4538. break;
  4539. default:
  4540. ret = (-1);
  4541. break;
  4542. }
  4543. break;
  4544. case COLOR_NS_PUOR5: /* puor5 color scheme */
  4545. switch (number) {
  4546. case 1:
  4547. ret = 0x00e66101; /* #e66101 1 */
  4548. break;
  4549. case 2:
  4550. ret = 0x00fdb863; /* #fdb863 2 */
  4551. break;
  4552. case 3:
  4553. ret = 0x00f7f7f7; /* #f7f7f7 3 */
  4554. break;
  4555. case 4:
  4556. ret = 0x00b2abd2; /* #b2abd2 4 */
  4557. break;
  4558. case 5:
  4559. ret = 0x005e3c99; /* #5e3c99 5 */
  4560. break;
  4561. default:
  4562. ret = (-1);
  4563. break;
  4564. }
  4565. break;
  4566. case COLOR_NS_PUOR6: /* puor6 color scheme */
  4567. switch (number) {
  4568. case 1:
  4569. ret = 0x00b35806; /* #b35806 1 */
  4570. break;
  4571. case 2:
  4572. ret = 0x00f1a340; /* #f1a340 2 */
  4573. break;
  4574. case 3:
  4575. ret = 0x00fee0b6; /* #fee0b6 3 */
  4576. break;
  4577. case 4:
  4578. ret = 0x00d8daeb; /* #d8daeb 4 */
  4579. break;
  4580. case 5:
  4581. ret = 0x00998ec3; /* #998ec3 5 */
  4582. break;
  4583. case 6:
  4584. ret = 0x00542788; /* #542788 6 */
  4585. break;
  4586. default:
  4587. ret = (-1);
  4588. break;
  4589. }
  4590. break;
  4591. case COLOR_NS_PUOR7: /* puor7 color scheme */
  4592. switch (number) {
  4593. case 1:
  4594. ret = 0x00b35806; /* #b35806 1 */
  4595. break;
  4596. case 2:
  4597. ret = 0x00f1a340; /* #f1a340 2 */
  4598. break;
  4599. case 3:
  4600. ret = 0x00fee0b6; /* #fee0b6 3 */
  4601. break;
  4602. case 4:
  4603. ret = 0x00f7f7f7; /* #f7f7f7 4 */
  4604. break;
  4605. case 5:
  4606. ret = 0x00d8daeb; /* #d8daeb 5 */
  4607. break;
  4608. case 6:
  4609. ret = 0x00998ec3; /* #998ec3 6 */
  4610. break;
  4611. case 7:
  4612. ret = 0x00542788; /* #542788 7 */
  4613. break;
  4614. default:
  4615. ret = (-1);
  4616. break;
  4617. }
  4618. break;
  4619. case COLOR_NS_PUOR8: /* puor8 color scheme */
  4620. switch (number) {
  4621. case 1:
  4622. ret = 0x00b35806; /* #b35806 1 */
  4623. break;
  4624. case 2:
  4625. ret = 0x00e08214; /* #e08214 2 */
  4626. break;
  4627. case 3:
  4628. ret = 0x00fdb863; /* #fdb863 3 */
  4629. break;
  4630. case 4:
  4631. ret = 0x00fee0b6; /* #fee0b6 4 */
  4632. break;
  4633. case 5:
  4634. ret = 0x00d8daeb; /* #d8daeb 5 */
  4635. break;
  4636. case 6:
  4637. ret = 0x00b2abd2; /* #b2abd2 6 */
  4638. break;
  4639. case 7:
  4640. ret = 0x008073ac; /* #8073ac 7 */
  4641. break;
  4642. case 8:
  4643. ret = 0x00542788; /* #542788 8 */
  4644. break;
  4645. default:
  4646. ret = (-1);
  4647. break;
  4648. }
  4649. break;
  4650. case COLOR_NS_PUOR9: /* puor9 color scheme */
  4651. switch (number) {
  4652. case 1:
  4653. ret = 0x00b35806; /* #b35806 1 */
  4654. break;
  4655. case 2:
  4656. ret = 0x00e08214; /* #e08214 2 */
  4657. break;
  4658. case 3:
  4659. ret = 0x00fdb863; /* #fdb863 3 */
  4660. break;
  4661. case 4:
  4662. ret = 0x00fee0b6; /* #fee0b6 4 */
  4663. break;
  4664. case 5:
  4665. ret = 0x00f7f7f7; /* #f7f7f7 5 */
  4666. break;
  4667. case 6:
  4668. ret = 0x00d8daeb; /* #d8daeb 6 */
  4669. break;
  4670. case 7:
  4671. ret = 0x00b2abd2; /* #b2abd2 7 */
  4672. break;
  4673. case 8:
  4674. ret = 0x008073ac; /* #8073ac 8 */
  4675. break;
  4676. case 9:
  4677. ret = 0x00542788; /* #542788 9 */
  4678. break;
  4679. default:
  4680. ret = (-1);
  4681. break;
  4682. }
  4683. break;
  4684. case COLOR_NS_PURD3: /* purd3 color scheme */
  4685. switch (number) {
  4686. case 1:
  4687. ret = 0x00e7e1ef; /* #e7e1ef 1 */
  4688. break;
  4689. case 2:
  4690. ret = 0x00c994c7; /* #c994c7 2 */
  4691. break;
  4692. case 3:
  4693. ret = 0x00dd1c77; /* #dd1c77 3 */
  4694. break;
  4695. default:
  4696. ret = (-1);
  4697. break;
  4698. }
  4699. break;
  4700. case COLOR_NS_PURD4: /* purd4 color scheme */
  4701. switch (number) {
  4702. case 1:
  4703. ret = 0x00f1eef6; /* #f1eef6 1 */
  4704. break;
  4705. case 2:
  4706. ret = 0x00d7b5d8; /* #d7b5d8 2 */
  4707. break;
  4708. case 3:
  4709. ret = 0x00df65b0; /* #df65b0 3 */
  4710. break;
  4711. case 4:
  4712. ret = 0x00ce1256; /* #ce1256 4 */
  4713. break;
  4714. default:
  4715. ret = (-1);
  4716. break;
  4717. }
  4718. break;
  4719. case COLOR_NS_PURD5: /* purd5 color scheme */
  4720. switch (number) {
  4721. case 1:
  4722. ret = 0x00f1eef6; /* #f1eef6 1 */
  4723. break;
  4724. case 2:
  4725. ret = 0x00d7b5d8; /* #d7b5d8 2 */
  4726. break;
  4727. case 3:
  4728. ret = 0x00df65b0; /* #df65b0 3 */
  4729. break;
  4730. case 4:
  4731. ret = 0x00dd1c77; /* #dd1c77 4 */
  4732. break;
  4733. case 5:
  4734. ret = 0x00980043; /* #980043 5 */
  4735. break;
  4736. default:
  4737. ret = (-1);
  4738. break;
  4739. }
  4740. break;
  4741. case COLOR_NS_PURD6: /* purd6 color scheme */
  4742. switch (number) {
  4743. case 1:
  4744. ret = 0x00f1eef6; /* #f1eef6 1 */
  4745. break;
  4746. case 2:
  4747. ret = 0x00d4b9da; /* #d4b9da 2 */
  4748. break;
  4749. case 3:
  4750. ret = 0x00c994c7; /* #c994c7 3 */
  4751. break;
  4752. case 4:
  4753. ret = 0x00df65b0; /* #df65b0 4 */
  4754. break;
  4755. case 5:
  4756. ret = 0x00dd1c77; /* #dd1c77 5 */
  4757. break;
  4758. case 6:
  4759. ret = 0x00980043; /* #980043 6 */
  4760. break;
  4761. default:
  4762. ret = (-1);
  4763. break;
  4764. }
  4765. break;
  4766. case COLOR_NS_PURD7: /* purd7 color scheme */
  4767. switch (number) {
  4768. case 1:
  4769. ret = 0x00f1eef6; /* #f1eef6 1 */
  4770. break;
  4771. case 2:
  4772. ret = 0x00d4b9da; /* #d4b9da 2 */
  4773. break;
  4774. case 3:
  4775. ret = 0x00c994c7; /* #c994c7 3 */
  4776. break;
  4777. case 4:
  4778. ret = 0x00df65b0; /* #df65b0 4 */
  4779. break;
  4780. case 5:
  4781. ret = 0x00e7298a; /* #e7298a 5 */
  4782. break;
  4783. case 6:
  4784. ret = 0x00ce1256; /* #ce1256 6 */
  4785. break;
  4786. case 7:
  4787. ret = 0x0091003f; /* #91003f 7 */
  4788. break;
  4789. default:
  4790. ret = (-1);
  4791. break;
  4792. }
  4793. break;
  4794. case COLOR_NS_PURD8: /* purd8 color scheme */
  4795. switch (number) {
  4796. case 1:
  4797. ret = 0x00f7f4f9; /* #f7f4f9 1 */
  4798. break;
  4799. case 2:
  4800. ret = 0x00e7e1ef; /* #e7e1ef 2 */
  4801. break;
  4802. case 3:
  4803. ret = 0x00d4b9da; /* #d4b9da 3 */
  4804. break;
  4805. case 4:
  4806. ret = 0x00c994c7; /* #c994c7 4 */
  4807. break;
  4808. case 5:
  4809. ret = 0x00df65b0; /* #df65b0 5 */
  4810. break;
  4811. case 6:
  4812. ret = 0x00e7298a; /* #e7298a 6 */
  4813. break;
  4814. case 7:
  4815. ret = 0x00ce1256; /* #ce1256 7 */
  4816. break;
  4817. case 8:
  4818. ret = 0x0091003f; /* #91003f 8 */
  4819. break;
  4820. default:
  4821. ret = (-1);
  4822. break;
  4823. }
  4824. break;
  4825. case COLOR_NS_PURD9: /* purd9 color scheme */
  4826. switch (number) {
  4827. case 1:
  4828. ret = 0x00f7f4f9; /* #f7f4f9 1 */
  4829. break;
  4830. case 2:
  4831. ret = 0x00e7e1ef; /* #e7e1ef 2 */
  4832. break;
  4833. case 3:
  4834. ret = 0x00d4b9da; /* #d4b9da 3 */
  4835. break;
  4836. case 4:
  4837. ret = 0x00c994c7; /* #c994c7 4 */
  4838. break;
  4839. case 5:
  4840. ret = 0x00df65b0; /* #df65b0 5 */
  4841. break;
  4842. case 6:
  4843. ret = 0x00e7298a; /* #e7298a 6 */
  4844. break;
  4845. case 7:
  4846. ret = 0x00ce1256; /* #ce1256 7 */
  4847. break;
  4848. case 8:
  4849. ret = 0x00980043; /* #980043 8 */
  4850. break;
  4851. case 9:
  4852. ret = 0x0067001f; /* #67001f 9 */
  4853. break;
  4854. default:
  4855. ret = (-1);
  4856. break;
  4857. }
  4858. break;
  4859. case COLOR_NS_PURPLES3: /* purples3 color scheme */
  4860. switch (number) {
  4861. case 1:
  4862. ret = 0x00efedf5; /* #efedf5 1 */
  4863. break;
  4864. case 2:
  4865. ret = 0x00bcbddc; /* #bcbddc 2 */
  4866. break;
  4867. case 3:
  4868. ret = 0x00756bb1; /* #756bb1 3 */
  4869. break;
  4870. default:
  4871. ret = (-1);
  4872. break;
  4873. }
  4874. break;
  4875. case COLOR_NS_PURPLES4: /* purples4 color scheme */
  4876. switch (number) {
  4877. case 1:
  4878. ret = 0x00f2f0f7; /* #f2f0f7 1 */
  4879. break;
  4880. case 2:
  4881. ret = 0x00cbc9e2; /* #cbc9e2 2 */
  4882. break;
  4883. case 3:
  4884. ret = 0x009e9ac8; /* #9e9ac8 3 */
  4885. break;
  4886. case 4:
  4887. ret = 0x006a51a3; /* #6a51a3 4 */
  4888. break;
  4889. default:
  4890. ret = (-1);
  4891. break;
  4892. }
  4893. break;
  4894. case COLOR_NS_PURPLES5: /* purples5 color scheme */
  4895. switch (number) {
  4896. case 1:
  4897. ret = 0x00f2f0f7; /* #f2f0f7 1 */
  4898. break;
  4899. case 2:
  4900. ret = 0x00cbc9e2; /* #cbc9e2 2 */
  4901. break;
  4902. case 3:
  4903. ret = 0x009e9ac8; /* #9e9ac8 3 */
  4904. break;
  4905. case 4:
  4906. ret = 0x00756bb1; /* #756bb1 4 */
  4907. break;
  4908. case 5:
  4909. ret = 0x0054278f; /* #54278f 5 */
  4910. break;
  4911. default:
  4912. ret = (-1);
  4913. break;
  4914. }
  4915. break;
  4916. case COLOR_NS_PURPLES6: /* purples6 color scheme */
  4917. switch (number) {
  4918. case 1:
  4919. ret = 0x00f2f0f7; /* #f2f0f7 1 */
  4920. break;
  4921. case 2:
  4922. ret = 0x00dadaeb; /* #dadaeb 2 */
  4923. break;
  4924. case 3:
  4925. ret = 0x00bcbddc; /* #bcbddc 3 */
  4926. break;
  4927. case 4:
  4928. ret = 0x009e9ac8; /* #9e9ac8 4 */
  4929. break;
  4930. case 5:
  4931. ret = 0x00756bb1; /* #756bb1 5 */
  4932. break;
  4933. case 6:
  4934. ret = 0x0054278f; /* #54278f 6 */
  4935. break;
  4936. default:
  4937. ret = (-1);
  4938. break;
  4939. }
  4940. break;
  4941. case COLOR_NS_PURPLES7: /* purples7 color scheme */
  4942. switch (number) {
  4943. case 1:
  4944. ret = 0x00f2f0f7; /* #f2f0f7 1 */
  4945. break;
  4946. case 2:
  4947. ret = 0x00dadaeb; /* #dadaeb 2 */
  4948. break;
  4949. case 3:
  4950. ret = 0x00bcbddc; /* #bcbddc 3 */
  4951. break;
  4952. case 4:
  4953. ret = 0x009e9ac8; /* #9e9ac8 4 */
  4954. break;
  4955. case 5:
  4956. ret = 0x00807dba; /* #807dba 5 */
  4957. break;
  4958. case 6:
  4959. ret = 0x006a51a3; /* #6a51a3 6 */
  4960. break;
  4961. case 7:
  4962. ret = 0x004a1486; /* #4a1486 7 */
  4963. break;
  4964. default:
  4965. ret = (-1);
  4966. break;
  4967. }
  4968. break;
  4969. case COLOR_NS_PURPLES8: /* purples8 color scheme */
  4970. switch (number) {
  4971. case 1:
  4972. ret = 0x00fcfbfd; /* #fcfbfd 1 */
  4973. break;
  4974. case 2:
  4975. ret = 0x00efedf5; /* #efedf5 2 */
  4976. break;
  4977. case 3:
  4978. ret = 0x00dadaeb; /* #dadaeb 3 */
  4979. break;
  4980. case 4:
  4981. ret = 0x00bcbddc; /* #bcbddc 4 */
  4982. break;
  4983. case 5:
  4984. ret = 0x009e9ac8; /* #9e9ac8 5 */
  4985. break;
  4986. case 6:
  4987. ret = 0x00807dba; /* #807dba 6 */
  4988. break;
  4989. case 7:
  4990. ret = 0x006a51a3; /* #6a51a3 7 */
  4991. break;
  4992. case 8:
  4993. ret = 0x004a1486; /* #4a1486 8 */
  4994. break;
  4995. default:
  4996. ret = (-1);
  4997. break;
  4998. }
  4999. break;
  5000. case COLOR_NS_PURPLES9: /* purples9 color scheme */
  5001. switch (number) {
  5002. case 1:
  5003. ret = 0x00fcfbfd; /* #fcfbfd 1 */
  5004. break;
  5005. case 2:
  5006. ret = 0x00efedf5; /* #efedf5 2 */
  5007. break;
  5008. case 3:
  5009. ret = 0x00dadaeb; /* #dadaeb 3 */
  5010. break;
  5011. case 4:
  5012. ret = 0x00bcbddc; /* #bcbddc 4 */
  5013. break;
  5014. case 5:
  5015. ret = 0x009e9ac8; /* #9e9ac8 5 */
  5016. break;
  5017. case 6:
  5018. ret = 0x00807dba; /* #807dba 6 */
  5019. break;
  5020. case 7:
  5021. ret = 0x006a51a3; /* #6a51a3 7 */
  5022. break;
  5023. case 8:
  5024. ret = 0x0054278f; /* #54278f 8 */
  5025. break;
  5026. case 9:
  5027. ret = 0x003f007d; /* #3f007d 9 */
  5028. break;
  5029. default:
  5030. ret = (-1);
  5031. break;
  5032. }
  5033. break;
  5034. case COLOR_NS_RDBU10: /* rdbu10 color scheme */
  5035. switch (number) {
  5036. case 1:
  5037. ret = 0x0067001f; /* #67001f 1 */
  5038. break;
  5039. case 2:
  5040. ret = 0x00b2182b; /* #b2182b 2 */
  5041. break;
  5042. case 3:
  5043. ret = 0x00d6604d; /* #d6604d 3 */
  5044. break;
  5045. case 4:
  5046. ret = 0x00f4a582; /* #f4a582 4 */
  5047. break;
  5048. case 5:
  5049. ret = 0x00fddbc7; /* #fddbc7 5 */
  5050. break;
  5051. case 6:
  5052. ret = 0x00d1e5f0; /* #d1e5f0 6 */
  5053. break;
  5054. case 7:
  5055. ret = 0x0092c5de; /* #92c5de 7 */
  5056. break;
  5057. case 8:
  5058. ret = 0x004393c3; /* #4393c3 8 */
  5059. break;
  5060. case 9:
  5061. ret = 0x002166ac; /* #2166ac 9 */
  5062. break;
  5063. case 10:
  5064. ret = 0x00053061; /* #053061 10 */
  5065. break;
  5066. default:
  5067. ret = (-1);
  5068. break;
  5069. }
  5070. break;
  5071. case COLOR_NS_RDBU11: /* rdbu11 color scheme */
  5072. switch (number) {
  5073. case 1:
  5074. ret = 0x0067001f; /* #67001f 1 */
  5075. break;
  5076. case 2:
  5077. ret = 0x00b2182b; /* #b2182b 2 */
  5078. break;
  5079. case 3:
  5080. ret = 0x00d6604d; /* #d6604d 3 */
  5081. break;
  5082. case 4:
  5083. ret = 0x00f4a582; /* #f4a582 4 */
  5084. break;
  5085. case 5:
  5086. ret = 0x00fddbc7; /* #fddbc7 5 */
  5087. break;
  5088. case 6:
  5089. ret = 0x00f7f7f7; /* #f7f7f7 6 */
  5090. break;
  5091. case 7:
  5092. ret = 0x00d1e5f0; /* #d1e5f0 7 */
  5093. break;
  5094. case 8:
  5095. ret = 0x0092c5de; /* #92c5de 8 */
  5096. break;
  5097. case 9:
  5098. ret = 0x004393c3; /* #4393c3 9 */
  5099. break;
  5100. case 10:
  5101. ret = 0x002166ac; /* #2166ac 10 */
  5102. break;
  5103. case 11:
  5104. ret = 0x00053061; /* #053061 11 */
  5105. break;
  5106. default:
  5107. ret = (-1);
  5108. break;
  5109. }
  5110. break;
  5111. case COLOR_NS_RDBU3: /* rdbu3 color scheme */
  5112. switch (number) {
  5113. case 1:
  5114. ret = 0x00ef8a62; /* #ef8a62 1 */
  5115. break;
  5116. case 2:
  5117. ret = 0x00f7f7f7; /* #f7f7f7 2 */
  5118. break;
  5119. case 3:
  5120. ret = 0x0067a9cf; /* #67a9cf 3 */
  5121. break;
  5122. default:
  5123. ret = (-1);
  5124. break;
  5125. }
  5126. break;
  5127. case COLOR_NS_RDBU4: /* rdbu4 color scheme */
  5128. switch (number) {
  5129. case 1:
  5130. ret = 0x00ca0020; /* #ca0020 1 */
  5131. break;
  5132. case 2:
  5133. ret = 0x00f4a582; /* #f4a582 2 */
  5134. break;
  5135. case 3:
  5136. ret = 0x0092c5de; /* #92c5de 3 */
  5137. break;
  5138. case 4:
  5139. ret = 0x000571b0; /* #0571b0 4 */
  5140. break;
  5141. default:
  5142. ret = (-1);
  5143. break;
  5144. }
  5145. break;
  5146. case COLOR_NS_RDBU5: /* rdbu5 color scheme */
  5147. switch (number) {
  5148. case 1:
  5149. ret = 0x00ca0020; /* #ca0020 1 */
  5150. break;
  5151. case 2:
  5152. ret = 0x00f4a582; /* #f4a582 2 */
  5153. break;
  5154. case 3:
  5155. ret = 0x00f7f7f7; /* #f7f7f7 3 */
  5156. break;
  5157. case 4:
  5158. ret = 0x0092c5de; /* #92c5de 4 */
  5159. break;
  5160. case 5:
  5161. ret = 0x000571b0; /* #0571b0 5 */
  5162. break;
  5163. default:
  5164. ret = (-1);
  5165. break;
  5166. }
  5167. break;
  5168. case COLOR_NS_RDBU6: /* rdbu6 color scheme */
  5169. switch (number) {
  5170. case 1:
  5171. ret = 0x00b2182b; /* #b2182b 1 */
  5172. break;
  5173. case 2:
  5174. ret = 0x00ef8a62; /* #ef8a62 2 */
  5175. break;
  5176. case 3:
  5177. ret = 0x00fddbc7; /* #fddbc7 3 */
  5178. break;
  5179. case 4:
  5180. ret = 0x00d1e5f0; /* #d1e5f0 4 */
  5181. break;
  5182. case 5:
  5183. ret = 0x0067a9cf; /* #67a9cf 5 */
  5184. break;
  5185. case 6:
  5186. ret = 0x002166ac; /* #2166ac 6 */
  5187. break;
  5188. default:
  5189. ret = (-1);
  5190. break;
  5191. }
  5192. break;
  5193. case COLOR_NS_RDBU7: /* rdbu7 color scheme */
  5194. switch (number) {
  5195. case 1:
  5196. ret = 0x00b2182b; /* #b2182b 1 */
  5197. break;
  5198. case 2:
  5199. ret = 0x00ef8a62; /* #ef8a62 2 */
  5200. break;
  5201. case 3:
  5202. ret = 0x00fddbc7; /* #fddbc7 3 */
  5203. break;
  5204. case 4:
  5205. ret = 0x00f7f7f7; /* #f7f7f7 4 */
  5206. break;
  5207. case 5:
  5208. ret = 0x00d1e5f0; /* #d1e5f0 5 */
  5209. break;
  5210. case 6:
  5211. ret = 0x0067a9cf; /* #67a9cf 6 */
  5212. break;
  5213. case 7:
  5214. ret = 0x002166ac; /* #2166ac 7 */
  5215. break;
  5216. default:
  5217. ret = (-1);
  5218. break;
  5219. }
  5220. break;
  5221. case COLOR_NS_RDBU8: /* rdbu8 color scheme */
  5222. switch (number) {
  5223. case 1:
  5224. ret = 0x00b2182b; /* #b2182b 1 */
  5225. break;
  5226. case 2:
  5227. ret = 0x00d6604d; /* #d6604d 2 */
  5228. break;
  5229. case 3:
  5230. ret = 0x00f4a582; /* #f4a582 3 */
  5231. break;
  5232. case 4:
  5233. ret = 0x00fddbc7; /* #fddbc7 4 */
  5234. break;
  5235. case 5:
  5236. ret = 0x00d1e5f0; /* #d1e5f0 5 */
  5237. break;
  5238. case 6:
  5239. ret = 0x0092c5de; /* #92c5de 6 */
  5240. break;
  5241. case 7:
  5242. ret = 0x004393c3; /* #4393c3 7 */
  5243. break;
  5244. case 8:
  5245. ret = 0x002166ac; /* #2166ac 8 */
  5246. break;
  5247. default:
  5248. ret = (-1);
  5249. break;
  5250. }
  5251. break;
  5252. case COLOR_NS_RDBU9: /* rdbu9 color scheme */
  5253. switch (number) {
  5254. case 1:
  5255. ret = 0x00b2182b; /* #b2182b 1 */
  5256. break;
  5257. case 2:
  5258. ret = 0x00d6604d; /* #d6604d 2 */
  5259. break;
  5260. case 3:
  5261. ret = 0x00f4a582; /* #f4a582 3 */
  5262. break;
  5263. case 4:
  5264. ret = 0x00fddbc7; /* #fddbc7 4 */
  5265. break;
  5266. case 5:
  5267. ret = 0x00f7f7f7; /* #f7f7f7 5 */
  5268. break;
  5269. case 6:
  5270. ret = 0x00d1e5f0; /* #d1e5f0 6 */
  5271. break;
  5272. case 7:
  5273. ret = 0x0092c5de; /* #92c5de 7 */
  5274. break;
  5275. case 8:
  5276. ret = 0x004393c3; /* #4393c3 8 */
  5277. break;
  5278. case 9:
  5279. ret = 0x002166ac; /* #2166ac 9 */
  5280. break;
  5281. default:
  5282. ret = (-1);
  5283. break;
  5284. }
  5285. break;
  5286. case COLOR_NS_RDGY10: /* rdgy10 color scheme */
  5287. switch (number) {
  5288. case 1:
  5289. ret = 0x0067001f; /* #67001f 1 */
  5290. break;
  5291. case 2:
  5292. ret = 0x00b2182b; /* #b2182b 2 */
  5293. break;
  5294. case 3:
  5295. ret = 0x00d6604d; /* #d6604d 3 */
  5296. break;
  5297. case 4:
  5298. ret = 0x00f4a582; /* #f4a582 4 */
  5299. break;
  5300. case 5:
  5301. ret = 0x00fddbc7; /* #fddbc7 5 */
  5302. break;
  5303. case 6:
  5304. ret = 0x00e0e0e0; /* #e0e0e0 6 */
  5305. break;
  5306. case 7:
  5307. ret = 0x00bababa; /* #bababa 7 */
  5308. break;
  5309. case 8:
  5310. ret = 0x00878787; /* #878787 8 */
  5311. break;
  5312. case 9:
  5313. ret = 0x004d4d4d; /* #4d4d4d 9 */
  5314. break;
  5315. case 10:
  5316. ret = 0x001a1a1a; /* #1a1a1a 10 */
  5317. break;
  5318. default:
  5319. ret = (-1);
  5320. break;
  5321. }
  5322. break;
  5323. case COLOR_NS_RDGY11: /* rdgy11 color scheme */
  5324. switch (number) {
  5325. case 1:
  5326. ret = 0x0067001f; /* #67001f 1 */
  5327. break;
  5328. case 2:
  5329. ret = 0x00b2182b; /* #b2182b 2 */
  5330. break;
  5331. case 3:
  5332. ret = 0x00d6604d; /* #d6604d 3 */
  5333. break;
  5334. case 4:
  5335. ret = 0x00f4a582; /* #f4a582 4 */
  5336. break;
  5337. case 5:
  5338. ret = 0x00fddbc7; /* #fddbc7 5 */
  5339. break;
  5340. case 6:
  5341. ret = 0x00ffffff; /* #ffffff 6 */
  5342. break;
  5343. case 7:
  5344. ret = 0x00e0e0e0; /* #e0e0e0 7 */
  5345. break;
  5346. case 8:
  5347. ret = 0x00bababa; /* #bababa 8 */
  5348. break;
  5349. case 9:
  5350. ret = 0x00878787; /* #878787 9 */
  5351. break;
  5352. case 10:
  5353. ret = 0x004d4d4d; /* #4d4d4d 10 */
  5354. break;
  5355. case 11:
  5356. ret = 0x001a1a1a; /* #1a1a1a 11 */
  5357. break;
  5358. default:
  5359. ret = (-1);
  5360. break;
  5361. }
  5362. break;
  5363. case COLOR_NS_RDGY3: /* rdgy3 color scheme */
  5364. switch (number) {
  5365. case 1:
  5366. ret = 0x00ef8a62; /* #ef8a62 1 */
  5367. break;
  5368. case 2:
  5369. ret = 0x00ffffff; /* #ffffff 2 */
  5370. break;
  5371. case 3:
  5372. ret = 0x00999999; /* #999999 3 */
  5373. break;
  5374. default:
  5375. ret = (-1);
  5376. break;
  5377. }
  5378. break;
  5379. case COLOR_NS_RDGY4: /* rdgy4 color scheme */
  5380. switch (number) {
  5381. case 1:
  5382. ret = 0x00ca0020; /* #ca0020 1 */
  5383. break;
  5384. case 2:
  5385. ret = 0x00f4a582; /* #f4a582 2 */
  5386. break;
  5387. case 3:
  5388. ret = 0x00bababa; /* #bababa 3 */
  5389. break;
  5390. case 4:
  5391. ret = 0x00404040; /* #404040 4 */
  5392. break;
  5393. default:
  5394. ret = (-1);
  5395. break;
  5396. }
  5397. break;
  5398. case COLOR_NS_RDGY5: /* rdgy5 color scheme */
  5399. switch (number) {
  5400. case 1:
  5401. ret = 0x00ca0020; /* #ca0020 1 */
  5402. break;
  5403. case 2:
  5404. ret = 0x00f4a582; /* #f4a582 2 */
  5405. break;
  5406. case 3:
  5407. ret = 0x00ffffff; /* #ffffff 3 */
  5408. break;
  5409. case 4:
  5410. ret = 0x00bababa; /* #bababa 4 */
  5411. break;
  5412. case 5:
  5413. ret = 0x00404040; /* #404040 5 */
  5414. break;
  5415. default:
  5416. ret = (-1);
  5417. break;
  5418. }
  5419. break;
  5420. case COLOR_NS_RDGY6: /* rdgy6 color scheme */
  5421. switch (number) {
  5422. case 1:
  5423. ret = 0x00b2182b; /* #b2182b 1 */
  5424. break;
  5425. case 2:
  5426. ret = 0x00ef8a62; /* #ef8a62 2 */
  5427. break;
  5428. case 3:
  5429. ret = 0x00fddbc7; /* #fddbc7 3 */
  5430. break;
  5431. case 4:
  5432. ret = 0x00e0e0e0; /* #e0e0e0 4 */
  5433. break;
  5434. case 5:
  5435. ret = 0x00999999; /* #999999 5 */
  5436. break;
  5437. case 6:
  5438. ret = 0x004d4d4d; /* #4d4d4d 6 */
  5439. break;
  5440. default:
  5441. ret = (-1);
  5442. break;
  5443. }
  5444. break;
  5445. case COLOR_NS_RDGY7: /* rdgy7 color scheme */
  5446. switch (number) {
  5447. case 1:
  5448. ret = 0x00b2182b; /* #b2182b 1 */
  5449. break;
  5450. case 2:
  5451. ret = 0x00ef8a62; /* #ef8a62 2 */
  5452. break;
  5453. case 3:
  5454. ret = 0x00fddbc7; /* #fddbc7 3 */
  5455. break;
  5456. case 4:
  5457. ret = 0x00ffffff; /* #ffffff 4 */
  5458. break;
  5459. case 5:
  5460. ret = 0x00e0e0e0; /* #e0e0e0 5 */
  5461. break;
  5462. case 6:
  5463. ret = 0x00999999; /* #999999 6 */
  5464. break;
  5465. case 7:
  5466. ret = 0x004d4d4d; /* #4d4d4d 7 */
  5467. break;
  5468. default:
  5469. ret = (-1);
  5470. break;
  5471. }
  5472. break;
  5473. case COLOR_NS_RDGY8: /* rdgy8 color scheme */
  5474. switch (number) {
  5475. case 1:
  5476. ret = 0x00b2182b; /* #b2182b 1 */
  5477. break;
  5478. case 2:
  5479. ret = 0x00d6604d; /* #d6604d 2 */
  5480. break;
  5481. case 3:
  5482. ret = 0x00f4a582; /* #f4a582 3 */
  5483. break;
  5484. case 4:
  5485. ret = 0x00fddbc7; /* #fddbc7 4 */
  5486. break;
  5487. case 5:
  5488. ret = 0x00e0e0e0; /* #e0e0e0 5 */
  5489. break;
  5490. case 6:
  5491. ret = 0x00bababa; /* #bababa 6 */
  5492. break;
  5493. case 7:
  5494. ret = 0x00878787; /* #878787 7 */
  5495. break;
  5496. case 8:
  5497. ret = 0x004d4d4d; /* #4d4d4d 8 */
  5498. break;
  5499. default:
  5500. ret = (-1);
  5501. break;
  5502. }
  5503. break;
  5504. case COLOR_NS_RDGY9: /* rdgy9 color scheme */
  5505. switch (number) {
  5506. case 1:
  5507. ret = 0x00b2182b; /* #b2182b 1 */
  5508. break;
  5509. case 2:
  5510. ret = 0x00d6604d; /* #d6604d 2 */
  5511. break;
  5512. case 3:
  5513. ret = 0x00f4a582; /* #f4a582 3 */
  5514. break;
  5515. case 4:
  5516. ret = 0x00fddbc7; /* #fddbc7 4 */
  5517. break;
  5518. case 5:
  5519. ret = 0x00ffffff; /* #ffffff 5 */
  5520. break;
  5521. case 6:
  5522. ret = 0x00e0e0e0; /* #e0e0e0 6 */
  5523. break;
  5524. case 7:
  5525. ret = 0x00bababa; /* #bababa 7 */
  5526. break;
  5527. case 8:
  5528. ret = 0x00878787; /* #878787 8 */
  5529. break;
  5530. case 9:
  5531. ret = 0x004d4d4d; /* #4d4d4d 9 */
  5532. break;
  5533. default:
  5534. ret = (-1);
  5535. break;
  5536. }
  5537. break;
  5538. case COLOR_NS_RDPU3: /* rdpu3 color scheme */
  5539. switch (number) {
  5540. case 1:
  5541. ret = 0x00fde0dd; /* #fde0dd 1 */
  5542. break;
  5543. case 2:
  5544. ret = 0x00fa9fb5; /* #fa9fb5 2 */
  5545. break;
  5546. case 3:
  5547. ret = 0x00c51b8a; /* #c51b8a 3 */
  5548. break;
  5549. default:
  5550. ret = (-1);
  5551. break;
  5552. }
  5553. break;
  5554. case COLOR_NS_RDPU4: /* rdpu4 color scheme */
  5555. switch (number) {
  5556. case 1:
  5557. ret = 0x00feebe2; /* #feebe2 1 */
  5558. break;
  5559. case 2:
  5560. ret = 0x00fbb4b9; /* #fbb4b9 2 */
  5561. break;
  5562. case 3:
  5563. ret = 0x00f768a1; /* #f768a1 3 */
  5564. break;
  5565. case 4:
  5566. ret = 0x00ae017e; /* #ae017e 4 */
  5567. break;
  5568. default:
  5569. ret = (-1);
  5570. break;
  5571. }
  5572. break;
  5573. case COLOR_NS_RDPU5: /* rdpu5 color scheme */
  5574. switch (number) {
  5575. case 1:
  5576. ret = 0x00feebe2; /* #feebe2 1 */
  5577. break;
  5578. case 2:
  5579. ret = 0x00fbb4b9; /* #fbb4b9 2 */
  5580. break;
  5581. case 3:
  5582. ret = 0x00f768a1; /* #f768a1 3 */
  5583. break;
  5584. case 4:
  5585. ret = 0x00c51b8a; /* #c51b8a 4 */
  5586. break;
  5587. case 5:
  5588. ret = 0x007a0177; /* #7a0177 5 */
  5589. break;
  5590. default:
  5591. ret = (-1);
  5592. break;
  5593. }
  5594. break;
  5595. case COLOR_NS_RDPU6: /* rdpu6 color scheme */
  5596. switch (number) {
  5597. case 1:
  5598. ret = 0x00feebe2; /* #feebe2 1 */
  5599. break;
  5600. case 2:
  5601. ret = 0x00fcc5c0; /* #fcc5c0 2 */
  5602. break;
  5603. case 3:
  5604. ret = 0x00fa9fb5; /* #fa9fb5 3 */
  5605. break;
  5606. case 4:
  5607. ret = 0x00f768a1; /* #f768a1 4 */
  5608. break;
  5609. case 5:
  5610. ret = 0x00c51b8a; /* #c51b8a 5 */
  5611. break;
  5612. case 6:
  5613. ret = 0x007a0177; /* #7a0177 6 */
  5614. break;
  5615. default:
  5616. ret = (-1);
  5617. break;
  5618. }
  5619. break;
  5620. case COLOR_NS_RDPU7: /* rdpu7 color scheme */
  5621. switch (number) {
  5622. case 1:
  5623. ret = 0x00feebe2; /* #feebe2 1 */
  5624. break;
  5625. case 2:
  5626. ret = 0x00fcc5c0; /* #fcc5c0 2 */
  5627. break;
  5628. case 3:
  5629. ret = 0x00fa9fb5; /* #fa9fb5 3 */
  5630. break;
  5631. case 4:
  5632. ret = 0x00f768a1; /* #f768a1 4 */
  5633. break;
  5634. case 5:
  5635. ret = 0x00dd3497; /* #dd3497 5 */
  5636. break;
  5637. case 6:
  5638. ret = 0x00ae017e; /* #ae017e 6 */
  5639. break;
  5640. case 7:
  5641. ret = 0x007a0177; /* #7a0177 7 */
  5642. break;
  5643. default:
  5644. ret = (-1);
  5645. break;
  5646. }
  5647. break;
  5648. case COLOR_NS_RDPU8: /* rdpu8 color scheme */
  5649. switch (number) {
  5650. case 1:
  5651. ret = 0x00fff7f3; /* #fff7f3 1 */
  5652. break;
  5653. case 2:
  5654. ret = 0x00fde0dd; /* #fde0dd 2 */
  5655. break;
  5656. case 3:
  5657. ret = 0x00fcc5c0; /* #fcc5c0 3 */
  5658. break;
  5659. case 4:
  5660. ret = 0x00fa9fb5; /* #fa9fb5 4 */
  5661. break;
  5662. case 5:
  5663. ret = 0x00f768a1; /* #f768a1 5 */
  5664. break;
  5665. case 6:
  5666. ret = 0x00dd3497; /* #dd3497 6 */
  5667. break;
  5668. case 7:
  5669. ret = 0x00ae017e; /* #ae017e 7 */
  5670. break;
  5671. case 8:
  5672. ret = 0x007a0177; /* #7a0177 8 */
  5673. break;
  5674. default:
  5675. ret = (-1);
  5676. break;
  5677. }
  5678. break;
  5679. case COLOR_NS_RDPU9: /* rdpu9 color scheme */
  5680. switch (number) {
  5681. case 1:
  5682. ret = 0x00fff7f3; /* #fff7f3 1 */
  5683. break;
  5684. case 2:
  5685. ret = 0x00fde0dd; /* #fde0dd 2 */
  5686. break;
  5687. case 3:
  5688. ret = 0x00fcc5c0; /* #fcc5c0 3 */
  5689. break;
  5690. case 4:
  5691. ret = 0x00fa9fb5; /* #fa9fb5 4 */
  5692. break;
  5693. case 5:
  5694. ret = 0x00f768a1; /* #f768a1 5 */
  5695. break;
  5696. case 6:
  5697. ret = 0x00dd3497; /* #dd3497 6 */
  5698. break;
  5699. case 7:
  5700. ret = 0x00ae017e; /* #ae017e 7 */
  5701. break;
  5702. case 8:
  5703. ret = 0x007a0177; /* #7a0177 8 */
  5704. break;
  5705. case 9:
  5706. ret = 0x0049006a; /* #49006a 9 */
  5707. break;
  5708. default:
  5709. ret = (-1);
  5710. break;
  5711. }
  5712. break;
  5713. case COLOR_NS_RDYLBU10: /* rdylbu10 color scheme */
  5714. switch (number) {
  5715. case 1:
  5716. ret = 0x00a50026; /* #a50026 1 */
  5717. break;
  5718. case 2:
  5719. ret = 0x00d73027; /* #d73027 2 */
  5720. break;
  5721. case 3:
  5722. ret = 0x00f46d43; /* #f46d43 3 */
  5723. break;
  5724. case 4:
  5725. ret = 0x00fdae61; /* #fdae61 4 */
  5726. break;
  5727. case 5:
  5728. ret = 0x00fee090; /* #fee090 5 */
  5729. break;
  5730. case 6:
  5731. ret = 0x00e0f3f8; /* #e0f3f8 6 */
  5732. break;
  5733. case 7:
  5734. ret = 0x00abd9e9; /* #abd9e9 7 */
  5735. break;
  5736. case 8:
  5737. ret = 0x0074add1; /* #74add1 8 */
  5738. break;
  5739. case 9:
  5740. ret = 0x004575b4; /* #4575b4 9 */
  5741. break;
  5742. case 10:
  5743. ret = 0x00313695; /* #313695 10 */
  5744. break;
  5745. default:
  5746. ret = (-1);
  5747. break;
  5748. }
  5749. break;
  5750. case COLOR_NS_RDYLBU11: /* rdylbu11 color scheme */
  5751. switch (number) {
  5752. case 1:
  5753. ret = 0x00a50026; /* #a50026 1 */
  5754. break;
  5755. case 2:
  5756. ret = 0x00d73027; /* #d73027 2 */
  5757. break;
  5758. case 3:
  5759. ret = 0x00f46d43; /* #f46d43 3 */
  5760. break;
  5761. case 4:
  5762. ret = 0x00fdae61; /* #fdae61 4 */
  5763. break;
  5764. case 5:
  5765. ret = 0x00fee090; /* #fee090 5 */
  5766. break;
  5767. case 6:
  5768. ret = 0x00ffffbf; /* #ffffbf 6 */
  5769. break;
  5770. case 7:
  5771. ret = 0x00e0f3f8; /* #e0f3f8 7 */
  5772. break;
  5773. case 8:
  5774. ret = 0x00abd9e9; /* #abd9e9 8 */
  5775. break;
  5776. case 9:
  5777. ret = 0x0074add1; /* #74add1 9 */
  5778. break;
  5779. case 10:
  5780. ret = 0x004575b4; /* #4575b4 10 */
  5781. break;
  5782. case 11:
  5783. ret = 0x00313695; /* #313695 11 */
  5784. break;
  5785. default:
  5786. ret = (-1);
  5787. break;
  5788. }
  5789. break;
  5790. case COLOR_NS_RDYLBU3: /* rdylbu3 color scheme */
  5791. switch (number) {
  5792. case 1:
  5793. ret = 0x00fc8d59; /* #fc8d59 1 */
  5794. break;
  5795. case 2:
  5796. ret = 0x00ffffbf; /* #ffffbf 2 */
  5797. break;
  5798. case 3:
  5799. ret = 0x0091bfdb; /* #91bfdb 3 */
  5800. break;
  5801. default:
  5802. ret = (-1);
  5803. break;
  5804. }
  5805. break;
  5806. case COLOR_NS_RDYLBU4: /* rdylbu4 color scheme */
  5807. switch (number) {
  5808. case 1:
  5809. ret = 0x00d7191c; /* #d7191c 1 */
  5810. break;
  5811. case 2:
  5812. ret = 0x00fdae61; /* #fdae61 2 */
  5813. break;
  5814. case 3:
  5815. ret = 0x00abd9e9; /* #abd9e9 3 */
  5816. break;
  5817. case 4:
  5818. ret = 0x002c7bb6; /* #2c7bb6 4 */
  5819. break;
  5820. default:
  5821. ret = (-1);
  5822. break;
  5823. }
  5824. break;
  5825. case COLOR_NS_RDYLBU5: /* rdylbu5 color scheme */
  5826. switch (number) {
  5827. case 1:
  5828. ret = 0x00d7191c; /* #d7191c 1 */
  5829. break;
  5830. case 2:
  5831. ret = 0x00fdae61; /* #fdae61 2 */
  5832. break;
  5833. case 3:
  5834. ret = 0x00ffffbf; /* #ffffbf 3 */
  5835. break;
  5836. case 4:
  5837. ret = 0x00abd9e9; /* #abd9e9 4 */
  5838. break;
  5839. case 5:
  5840. ret = 0x002c7bb6; /* #2c7bb6 5 */
  5841. break;
  5842. default:
  5843. ret = (-1);
  5844. break;
  5845. }
  5846. break;
  5847. case COLOR_NS_RDYLBU6: /* rdylbu6 color scheme */
  5848. switch (number) {
  5849. case 1:
  5850. ret = 0x00d73027; /* #d73027 1 */
  5851. break;
  5852. case 2:
  5853. ret = 0x00fc8d59; /* #fc8d59 2 */
  5854. break;
  5855. case 3:
  5856. ret = 0x00fee090; /* #fee090 3 */
  5857. break;
  5858. case 4:
  5859. ret = 0x00e0f3f8; /* #e0f3f8 4 */
  5860. break;
  5861. case 5:
  5862. ret = 0x0091bfdb; /* #91bfdb 5 */
  5863. break;
  5864. case 6:
  5865. ret = 0x004575b4; /* #4575b4 6 */
  5866. break;
  5867. default:
  5868. ret = (-1);
  5869. break;
  5870. }
  5871. break;
  5872. case COLOR_NS_RDYLBU7: /* rdylbu7 color scheme */
  5873. switch (number) {
  5874. case 1:
  5875. ret = 0x00d73027; /* #d73027 1 */
  5876. break;
  5877. case 2:
  5878. ret = 0x00fc8d59; /* #fc8d59 2 */
  5879. break;
  5880. case 3:
  5881. ret = 0x00fee090; /* #fee090 3 */
  5882. break;
  5883. case 4:
  5884. ret = 0x00ffffbf; /* #ffffbf 4 */
  5885. break;
  5886. case 5:
  5887. ret = 0x00e0f3f8; /* #e0f3f8 5 */
  5888. break;
  5889. case 6:
  5890. ret = 0x0091bfdb; /* #91bfdb 6 */
  5891. break;
  5892. case 7:
  5893. ret = 0x004575b4; /* #4575b4 7 */
  5894. break;
  5895. default:
  5896. ret = (-1);
  5897. break;
  5898. }
  5899. break;
  5900. case COLOR_NS_RDYLBU8: /* rdylbu8 color scheme */
  5901. switch (number) {
  5902. case 1:
  5903. ret = 0x00d73027; /* #d73027 1 */
  5904. break;
  5905. case 2:
  5906. ret = 0x00f46d43; /* #f46d43 2 */
  5907. break;
  5908. case 3:
  5909. ret = 0x00fdae61; /* #fdae61 3 */
  5910. break;
  5911. case 4:
  5912. ret = 0x00fee090; /* #fee090 4 */
  5913. break;
  5914. case 5:
  5915. ret = 0x00e0f3f8; /* #e0f3f8 5 */
  5916. break;
  5917. case 6:
  5918. ret = 0x00abd9e9; /* #abd9e9 6 */
  5919. break;
  5920. case 7:
  5921. ret = 0x0074add1; /* #74add1 7 */
  5922. break;
  5923. case 8:
  5924. ret = 0x004575b4; /* #4575b4 8 */
  5925. break;
  5926. default:
  5927. ret = (-1);
  5928. break;
  5929. }
  5930. break;
  5931. case COLOR_NS_RDYLBU9: /* rdylbu9 color scheme */
  5932. switch (number) {
  5933. case 1:
  5934. ret = 0x00d73027; /* #d73027 1 */
  5935. break;
  5936. case 2:
  5937. ret = 0x00f46d43; /* #f46d43 2 */
  5938. break;
  5939. case 3:
  5940. ret = 0x00fdae61; /* #fdae61 3 */
  5941. break;
  5942. case 4:
  5943. ret = 0x00fee090; /* #fee090 4 */
  5944. break;
  5945. case 5:
  5946. ret = 0x00ffffbf; /* #ffffbf 5 */
  5947. break;
  5948. case 6:
  5949. ret = 0x00e0f3f8; /* #e0f3f8 6 */
  5950. break;
  5951. case 7:
  5952. ret = 0x00abd9e9; /* #abd9e9 7 */
  5953. break;
  5954. case 8:
  5955. ret = 0x0074add1; /* #74add1 8 */
  5956. break;
  5957. case 9:
  5958. ret = 0x004575b4; /* #4575b4 9 */
  5959. break;
  5960. default:
  5961. ret = (-1);
  5962. break;
  5963. }
  5964. break;
  5965. case COLOR_NS_RDYLGN10: /* rdylgn10 color scheme */
  5966. switch (number) {
  5967. case 1:
  5968. ret = 0x00a50026; /* #a50026 1 */
  5969. break;
  5970. case 2:
  5971. ret = 0x00d73027; /* #d73027 2 */
  5972. break;
  5973. case 3:
  5974. ret = 0x00f46d43; /* #f46d43 3 */
  5975. break;
  5976. case 4:
  5977. ret = 0x00fdae61; /* #fdae61 4 */
  5978. break;
  5979. case 5:
  5980. ret = 0x00fee08b; /* #fee08b 5 */
  5981. break;
  5982. case 6:
  5983. ret = 0x00d9ef8b; /* #d9ef8b 6 */
  5984. break;
  5985. case 7:
  5986. ret = 0x00a6d96a; /* #a6d96a 7 */
  5987. break;
  5988. case 8:
  5989. ret = 0x0066bd63; /* #66bd63 8 */
  5990. break;
  5991. case 9:
  5992. ret = 0x001a9850; /* #1a9850 9 */
  5993. break;
  5994. case 10:
  5995. ret = 0x00006837; /* #006837 10 */
  5996. break;
  5997. default:
  5998. ret = (-1);
  5999. break;
  6000. }
  6001. break;
  6002. case COLOR_NS_RDYLGN11: /* rdylgn11 color scheme */
  6003. switch (number) {
  6004. case 1:
  6005. ret = 0x00a50026; /* #a50026 1 */
  6006. break;
  6007. case 2:
  6008. ret = 0x00d73027; /* #d73027 2 */
  6009. break;
  6010. case 3:
  6011. ret = 0x00f46d43; /* #f46d43 3 */
  6012. break;
  6013. case 4:
  6014. ret = 0x00fdae61; /* #fdae61 4 */
  6015. break;
  6016. case 5:
  6017. ret = 0x00fee08b; /* #fee08b 5 */
  6018. break;
  6019. case 6:
  6020. ret = 0x00ffffbf; /* #ffffbf 6 */
  6021. break;
  6022. case 7:
  6023. ret = 0x00d9ef8b; /* #d9ef8b 7 */
  6024. break;
  6025. case 8:
  6026. ret = 0x00a6d96a; /* #a6d96a 8 */
  6027. break;
  6028. case 9:
  6029. ret = 0x0066bd63; /* #66bd63 9 */
  6030. break;
  6031. case 10:
  6032. ret = 0x001a9850; /* #1a9850 10 */
  6033. break;
  6034. case 11:
  6035. ret = 0x00006837; /* #006837 11 */
  6036. break;
  6037. default:
  6038. ret = (-1);
  6039. break;
  6040. }
  6041. break;
  6042. case COLOR_NS_RDYLGN3: /* rdylgn3 color scheme */
  6043. switch (number) {
  6044. case 1:
  6045. ret = 0x00fc8d59; /* #fc8d59 1 */
  6046. break;
  6047. case 2:
  6048. ret = 0x00ffffbf; /* #ffffbf 2 */
  6049. break;
  6050. case 3:
  6051. ret = 0x0091cf60; /* #91cf60 3 */
  6052. break;
  6053. default:
  6054. ret = (-1);
  6055. break;
  6056. }
  6057. break;
  6058. case COLOR_NS_RDYLGN4: /* rdylgn4 color scheme */
  6059. switch (number) {
  6060. case 1:
  6061. ret = 0x00d7191c; /* #d7191c 1 */
  6062. break;
  6063. case 2:
  6064. ret = 0x00fdae61; /* #fdae61 2 */
  6065. break;
  6066. case 3:
  6067. ret = 0x00a6d96a; /* #a6d96a 3 */
  6068. break;
  6069. case 4:
  6070. ret = 0x001a9641; /* #1a9641 4 */
  6071. break;
  6072. default:
  6073. ret = (-1);
  6074. break;
  6075. }
  6076. break;
  6077. case COLOR_NS_RDYLGN5: /* rdylgn5 color scheme */
  6078. switch (number) {
  6079. case 1:
  6080. ret = 0x00d7191c; /* #d7191c 1 */
  6081. break;
  6082. case 2:
  6083. ret = 0x00fdae61; /* #fdae61 2 */
  6084. break;
  6085. case 3:
  6086. ret = 0x00ffffbf; /* #ffffbf 3 */
  6087. break;
  6088. case 4:
  6089. ret = 0x00a6d96a; /* #a6d96a 4 */
  6090. break;
  6091. case 5:
  6092. ret = 0x001a9641; /* #1a9641 5 */
  6093. break;
  6094. default:
  6095. ret = (-1);
  6096. break;
  6097. }
  6098. break;
  6099. case COLOR_NS_RDYLGN6: /* rdylgn6 color scheme */
  6100. switch (number) {
  6101. case 1:
  6102. ret = 0x00d73027; /* #d73027 1 */
  6103. break;
  6104. case 2:
  6105. ret = 0x00fc8d59; /* #fc8d59 2 */
  6106. break;
  6107. case 3:
  6108. ret = 0x00fee08b; /* #fee08b 3 */
  6109. break;
  6110. case 4:
  6111. ret = 0x00d9ef8b; /* #d9ef8b 4 */
  6112. break;
  6113. case 5:
  6114. ret = 0x0091cf60; /* #91cf60 5 */
  6115. break;
  6116. case 6:
  6117. ret = 0x001a9850; /* #1a9850 6 */
  6118. break;
  6119. default:
  6120. ret = (-1);
  6121. break;
  6122. }
  6123. break;
  6124. case COLOR_NS_RDYLGN7: /* rdylgn7 color scheme */
  6125. switch (number) {
  6126. case 1:
  6127. ret = 0x00d73027; /* #d73027 1 */
  6128. break;
  6129. case 2:
  6130. ret = 0x00fc8d59; /* #fc8d59 2 */
  6131. break;
  6132. case 3:
  6133. ret = 0x00fee08b; /* #fee08b 3 */
  6134. break;
  6135. case 4:
  6136. ret = 0x00ffffbf; /* #ffffbf 4 */
  6137. break;
  6138. case 5:
  6139. ret = 0x00d9ef8b; /* #d9ef8b 5 */
  6140. break;
  6141. case 6:
  6142. ret = 0x0091cf60; /* #91cf60 6 */
  6143. break;
  6144. case 7:
  6145. ret = 0x001a9850; /* #1a9850 7 */
  6146. break;
  6147. default:
  6148. ret = (-1);
  6149. break;
  6150. }
  6151. break;
  6152. case COLOR_NS_RDYLGN8: /* rdylgn8 color scheme */
  6153. switch (number) {
  6154. case 1:
  6155. ret = 0x00d73027; /* #d73027 1 */
  6156. break;
  6157. case 2:
  6158. ret = 0x00f46d43; /* #f46d43 2 */
  6159. break;
  6160. case 3:
  6161. ret = 0x00fdae61; /* #fdae61 3 */
  6162. break;
  6163. case 4:
  6164. ret = 0x00fee08b; /* #fee08b 4 */
  6165. break;
  6166. case 5:
  6167. ret = 0x00d9ef8b; /* #d9ef8b 5 */
  6168. break;
  6169. case 6:
  6170. ret = 0x00a6d96a; /* #a6d96a 6 */
  6171. break;
  6172. case 7:
  6173. ret = 0x0066bd63; /* #66bd63 7 */
  6174. break;
  6175. case 8:
  6176. ret = 0x001a9850; /* #1a9850 8 */
  6177. break;
  6178. default:
  6179. ret = (-1);
  6180. break;
  6181. }
  6182. break;
  6183. case COLOR_NS_RDYLGN9: /* rdylgn9 color scheme */
  6184. switch (number) {
  6185. case 1:
  6186. ret = 0x00d73027; /* #d73027 1 */
  6187. break;
  6188. case 2:
  6189. ret = 0x00f46d43; /* #f46d43 2 */
  6190. break;
  6191. case 3:
  6192. ret = 0x00fdae61; /* #fdae61 3 */
  6193. break;
  6194. case 4:
  6195. ret = 0x00fee08b; /* #fee08b 4 */
  6196. break;
  6197. case 5:
  6198. ret = 0x00ffffbf; /* #ffffbf 5 */
  6199. break;
  6200. case 6:
  6201. ret = 0x00d9ef8b; /* #d9ef8b 6 */
  6202. break;
  6203. case 7:
  6204. ret = 0x00a6d96a; /* #a6d96a 7 */
  6205. break;
  6206. case 8:
  6207. ret = 0x0066bd63; /* #66bd63 8 */
  6208. break;
  6209. case 9:
  6210. ret = 0x001a9850; /* #1a9850 9 */
  6211. break;
  6212. default:
  6213. ret = (-1);
  6214. break;
  6215. }
  6216. break;
  6217. case COLOR_NS_REDS3: /* reds3 color scheme */
  6218. switch (number) {
  6219. case 1:
  6220. ret = 0x00fee0d2; /* #fee0d2 1 */
  6221. break;
  6222. case 2:
  6223. ret = 0x00fc9272; /* #fc9272 2 */
  6224. break;
  6225. case 3:
  6226. ret = 0x00de2d26; /* #de2d26 3 */
  6227. break;
  6228. default:
  6229. ret = (-1);
  6230. break;
  6231. }
  6232. break;
  6233. case COLOR_NS_REDS4: /* reds4 color scheme */
  6234. switch (number) {
  6235. case 1:
  6236. ret = 0x00fee5d9; /* #fee5d9 1 */
  6237. break;
  6238. case 2:
  6239. ret = 0x00fcae91; /* #fcae91 2 */
  6240. break;
  6241. case 3:
  6242. ret = 0x00fb6a4a; /* #fb6a4a 3 */
  6243. break;
  6244. case 4:
  6245. ret = 0x00cb181d; /* #cb181d 4 */
  6246. break;
  6247. default:
  6248. ret = (-1);
  6249. break;
  6250. }
  6251. break;
  6252. case COLOR_NS_REDS5: /* reds5 color scheme */
  6253. switch (number) {
  6254. case 1:
  6255. ret = 0x00fee5d9; /* #fee5d9 1 */
  6256. break;
  6257. case 2:
  6258. ret = 0x00fcae91; /* #fcae91 2 */
  6259. break;
  6260. case 3:
  6261. ret = 0x00fb6a4a; /* #fb6a4a 3 */
  6262. break;
  6263. case 4:
  6264. ret = 0x00de2d26; /* #de2d26 4 */
  6265. break;
  6266. case 5:
  6267. ret = 0x00a50f15; /* #a50f15 5 */
  6268. break;
  6269. default:
  6270. ret = (-1);
  6271. break;
  6272. }
  6273. break;
  6274. case COLOR_NS_REDS6: /* reds6 color scheme */
  6275. switch (number) {
  6276. case 1:
  6277. ret = 0x00fee5d9; /* #fee5d9 1 */
  6278. break;
  6279. case 2:
  6280. ret = 0x00fcbba1; /* #fcbba1 2 */
  6281. break;
  6282. case 3:
  6283. ret = 0x00fc9272; /* #fc9272 3 */
  6284. break;
  6285. case 4:
  6286. ret = 0x00fb6a4a; /* #fb6a4a 4 */
  6287. break;
  6288. case 5:
  6289. ret = 0x00de2d26; /* #de2d26 5 */
  6290. break;
  6291. case 6:
  6292. ret = 0x00a50f15; /* #a50f15 6 */
  6293. break;
  6294. default:
  6295. ret = (-1);
  6296. break;
  6297. }
  6298. break;
  6299. case COLOR_NS_REDS7: /* reds7 color scheme */
  6300. switch (number) {
  6301. case 1:
  6302. ret = 0x00fee5d9; /* #fee5d9 1 */
  6303. break;
  6304. case 2:
  6305. ret = 0x00fcbba1; /* #fcbba1 2 */
  6306. break;
  6307. case 3:
  6308. ret = 0x00fc9272; /* #fc9272 3 */
  6309. break;
  6310. case 4:
  6311. ret = 0x00fb6a4a; /* #fb6a4a 4 */
  6312. break;
  6313. case 5:
  6314. ret = 0x00ef3b2c; /* #ef3b2c 5 */
  6315. break;
  6316. case 6:
  6317. ret = 0x00cb181d; /* #cb181d 6 */
  6318. break;
  6319. case 7:
  6320. ret = 0x0099000d; /* #99000d 7 */
  6321. break;
  6322. default:
  6323. ret = (-1);
  6324. break;
  6325. }
  6326. break;
  6327. case COLOR_NS_REDS8: /* reds8 color scheme */
  6328. switch (number) {
  6329. case 1:
  6330. ret = 0x00fff5f0; /* #fff5f0 1 */
  6331. break;
  6332. case 2:
  6333. ret = 0x00fee0d2; /* #fee0d2 2 */
  6334. break;
  6335. case 3:
  6336. ret = 0x00fcbba1; /* #fcbba1 3 */
  6337. break;
  6338. case 4:
  6339. ret = 0x00fc9272; /* #fc9272 4 */
  6340. break;
  6341. case 5:
  6342. ret = 0x00fb6a4a; /* #fb6a4a 5 */
  6343. break;
  6344. case 6:
  6345. ret = 0x00ef3b2c; /* #ef3b2c 6 */
  6346. break;
  6347. case 7:
  6348. ret = 0x00cb181d; /* #cb181d 7 */
  6349. break;
  6350. case 8:
  6351. ret = 0x0099000d; /* #99000d 8 */
  6352. break;
  6353. default:
  6354. ret = (-1);
  6355. break;
  6356. }
  6357. break;
  6358. case COLOR_NS_REDS9: /* reds9 color scheme */
  6359. switch (number) {
  6360. case 1:
  6361. ret = 0x00fff5f0; /* #fff5f0 1 */
  6362. break;
  6363. case 2:
  6364. ret = 0x00fee0d2; /* #fee0d2 2 */
  6365. break;
  6366. case 3:
  6367. ret = 0x00fcbba1; /* #fcbba1 3 */
  6368. break;
  6369. case 4:
  6370. ret = 0x00fc9272; /* #fc9272 4 */
  6371. break;
  6372. case 5:
  6373. ret = 0x00fb6a4a; /* #fb6a4a 5 */
  6374. break;
  6375. case 6:
  6376. ret = 0x00ef3b2c; /* #ef3b2c 6 */
  6377. break;
  6378. case 7:
  6379. ret = 0x00cb181d; /* #cb181d 7 */
  6380. break;
  6381. case 8:
  6382. ret = 0x00a50f15; /* #a50f15 8 */
  6383. break;
  6384. case 9:
  6385. ret = 0x0067000d; /* #67000d 9 */
  6386. break;
  6387. default:
  6388. ret = (-1);
  6389. break;
  6390. }
  6391. break;
  6392. case COLOR_NS_SET13: /* set13 color scheme */
  6393. switch (number) {
  6394. case 1:
  6395. ret = 0x00e41a1c; /* #e41a1c 1 */
  6396. break;
  6397. case 2:
  6398. ret = 0x00377eb8; /* #377eb8 2 */
  6399. break;
  6400. case 3:
  6401. ret = 0x004daf4a; /* #4daf4a 3 */
  6402. break;
  6403. default:
  6404. ret = (-1);
  6405. break;
  6406. }
  6407. break;
  6408. case COLOR_NS_SET14: /* set14 color scheme */
  6409. switch (number) {
  6410. case 1:
  6411. ret = 0x00e41a1c; /* #e41a1c 1 */
  6412. break;
  6413. case 2:
  6414. ret = 0x00377eb8; /* #377eb8 2 */
  6415. break;
  6416. case 3:
  6417. ret = 0x004daf4a; /* #4daf4a 3 */
  6418. break;
  6419. case 4:
  6420. ret = 0x00984ea3; /* #984ea3 4 */
  6421. break;
  6422. default:
  6423. ret = (-1);
  6424. break;
  6425. }
  6426. break;
  6427. case COLOR_NS_SET15: /* set15 color scheme */
  6428. switch (number) {
  6429. case 1:
  6430. ret = 0x00e41a1c; /* #e41a1c 1 */
  6431. break;
  6432. case 2:
  6433. ret = 0x00377eb8; /* #377eb8 2 */
  6434. break;
  6435. case 3:
  6436. ret = 0x004daf4a; /* #4daf4a 3 */
  6437. break;
  6438. case 4:
  6439. ret = 0x00984ea3; /* #984ea3 4 */
  6440. break;
  6441. case 5:
  6442. ret = 0x00ff7f00; /* #ff7f00 5 */
  6443. break;
  6444. default:
  6445. ret = (-1);
  6446. break;
  6447. }
  6448. break;
  6449. case COLOR_NS_SET16: /* set16 color scheme */
  6450. switch (number) {
  6451. case 1:
  6452. ret = 0x00e41a1c; /* #e41a1c 1 */
  6453. break;
  6454. case 2:
  6455. ret = 0x00377eb8; /* #377eb8 2 */
  6456. break;
  6457. case 3:
  6458. ret = 0x004daf4a; /* #4daf4a 3 */
  6459. break;
  6460. case 4:
  6461. ret = 0x00984ea3; /* #984ea3 4 */
  6462. break;
  6463. case 5:
  6464. ret = 0x00ff7f00; /* #ff7f00 5 */
  6465. break;
  6466. case 6:
  6467. ret = 0x00ffff33; /* #ffff33 6 */
  6468. break;
  6469. default:
  6470. ret = (-1);
  6471. break;
  6472. }
  6473. break;
  6474. case COLOR_NS_SET17: /* set17 color scheme */
  6475. switch (number) {
  6476. case 1:
  6477. ret = 0x00e41a1c; /* #e41a1c 1 */
  6478. break;
  6479. case 2:
  6480. ret = 0x00377eb8; /* #377eb8 2 */
  6481. break;
  6482. case 3:
  6483. ret = 0x004daf4a; /* #4daf4a 3 */
  6484. break;
  6485. case 4:
  6486. ret = 0x00984ea3; /* #984ea3 4 */
  6487. break;
  6488. case 5:
  6489. ret = 0x00ff7f00; /* #ff7f00 5 */
  6490. break;
  6491. case 6:
  6492. ret = 0x00ffff33; /* #ffff33 6 */
  6493. break;
  6494. case 7:
  6495. ret = 0x00a65628; /* #a65628 7 */
  6496. break;
  6497. default:
  6498. ret = (-1);
  6499. break;
  6500. }
  6501. break;
  6502. case COLOR_NS_SET18: /* set18 color scheme */
  6503. switch (number) {
  6504. case 1:
  6505. ret = 0x00e41a1c; /* #e41a1c 1 */
  6506. break;
  6507. case 2:
  6508. ret = 0x00377eb8; /* #377eb8 2 */
  6509. break;
  6510. case 3:
  6511. ret = 0x004daf4a; /* #4daf4a 3 */
  6512. break;
  6513. case 4:
  6514. ret = 0x00984ea3; /* #984ea3 4 */
  6515. break;
  6516. case 5:
  6517. ret = 0x00ff7f00; /* #ff7f00 5 */
  6518. break;
  6519. case 6:
  6520. ret = 0x00ffff33; /* #ffff33 6 */
  6521. break;
  6522. case 7:
  6523. ret = 0x00a65628; /* #a65628 7 */
  6524. break;
  6525. case 8:
  6526. ret = 0x00f781bf; /* #f781bf 8 */
  6527. break;
  6528. default:
  6529. ret = (-1);
  6530. break;
  6531. }
  6532. break;
  6533. case COLOR_NS_SET19: /* set19 color scheme */
  6534. switch (number) {
  6535. case 1:
  6536. ret = 0x00e41a1c; /* #e41a1c 1 */
  6537. break;
  6538. case 2:
  6539. ret = 0x00377eb8; /* #377eb8 2 */
  6540. break;
  6541. case 3:
  6542. ret = 0x004daf4a; /* #4daf4a 3 */
  6543. break;
  6544. case 4:
  6545. ret = 0x00984ea3; /* #984ea3 4 */
  6546. break;
  6547. case 5:
  6548. ret = 0x00ff7f00; /* #ff7f00 5 */
  6549. break;
  6550. case 6:
  6551. ret = 0x00ffff33; /* #ffff33 6 */
  6552. break;
  6553. case 7:
  6554. ret = 0x00a65628; /* #a65628 7 */
  6555. break;
  6556. case 8:
  6557. ret = 0x00f781bf; /* #f781bf 8 */
  6558. break;
  6559. case 9:
  6560. ret = 0x00999999; /* #999999 9 */
  6561. break;
  6562. default:
  6563. ret = (-1);
  6564. break;
  6565. }
  6566. break;
  6567. case COLOR_NS_SET23: /* set23 color scheme */
  6568. switch (number) {
  6569. case 1:
  6570. ret = 0x0066c2a5; /* #66c2a5 1 */
  6571. break;
  6572. case 2:
  6573. ret = 0x00fc8d62; /* #fc8d62 2 */
  6574. break;
  6575. case 3:
  6576. ret = 0x008da0cb; /* #8da0cb 3 */
  6577. break;
  6578. default:
  6579. ret = (-1);
  6580. break;
  6581. }
  6582. break;
  6583. case COLOR_NS_SET24: /* set24 color scheme */
  6584. switch (number) {
  6585. case 1:
  6586. ret = 0x0066c2a5; /* #66c2a5 1 */
  6587. break;
  6588. case 2:
  6589. ret = 0x00fc8d62; /* #fc8d62 2 */
  6590. break;
  6591. case 3:
  6592. ret = 0x008da0cb; /* #8da0cb 3 */
  6593. break;
  6594. case 4:
  6595. ret = 0x00e78ac3; /* #e78ac3 4 */
  6596. break;
  6597. default:
  6598. ret = (-1);
  6599. break;
  6600. }
  6601. break;
  6602. case COLOR_NS_SET25: /* set25 color scheme */
  6603. switch (number) {
  6604. case 1:
  6605. ret = 0x0066c2a5; /* #66c2a5 1 */
  6606. break;
  6607. case 2:
  6608. ret = 0x00fc8d62; /* #fc8d62 2 */
  6609. break;
  6610. case 3:
  6611. ret = 0x008da0cb; /* #8da0cb 3 */
  6612. break;
  6613. case 4:
  6614. ret = 0x00e78ac3; /* #e78ac3 4 */
  6615. break;
  6616. case 5:
  6617. ret = 0x00a6d854; /* #a6d854 5 */
  6618. break;
  6619. default:
  6620. ret = (-1);
  6621. break;
  6622. }
  6623. break;
  6624. case COLOR_NS_SET26: /* set26 color scheme */
  6625. switch (number) {
  6626. case 1:
  6627. ret = 0x0066c2a5; /* #66c2a5 1 */
  6628. break;
  6629. case 2:
  6630. ret = 0x00fc8d62; /* #fc8d62 2 */
  6631. break;
  6632. case 3:
  6633. ret = 0x008da0cb; /* #8da0cb 3 */
  6634. break;
  6635. case 4:
  6636. ret = 0x00e78ac3; /* #e78ac3 4 */
  6637. break;
  6638. case 5:
  6639. ret = 0x00a6d854; /* #a6d854 5 */
  6640. break;
  6641. case 6:
  6642. ret = 0x00ffd92f; /* #ffd92f 6 */
  6643. break;
  6644. default:
  6645. ret = (-1);
  6646. break;
  6647. }
  6648. break;
  6649. case COLOR_NS_SET27: /* set27 color scheme */
  6650. switch (number) {
  6651. case 1:
  6652. ret = 0x0066c2a5; /* #66c2a5 1 */
  6653. break;
  6654. case 2:
  6655. ret = 0x00fc8d62; /* #fc8d62 2 */
  6656. break;
  6657. case 3:
  6658. ret = 0x008da0cb; /* #8da0cb 3 */
  6659. break;
  6660. case 4:
  6661. ret = 0x00e78ac3; /* #e78ac3 4 */
  6662. break;
  6663. case 5:
  6664. ret = 0x00a6d854; /* #a6d854 5 */
  6665. break;
  6666. case 6:
  6667. ret = 0x00ffd92f; /* #ffd92f 6 */
  6668. break;
  6669. case 7:
  6670. ret = 0x00e5c494; /* #e5c494 7 */
  6671. break;
  6672. default:
  6673. ret = (-1);
  6674. break;
  6675. }
  6676. break;
  6677. case COLOR_NS_SET28: /* set28 color scheme */
  6678. switch (number) {
  6679. case 1:
  6680. ret = 0x0066c2a5; /* #66c2a5 1 */
  6681. break;
  6682. case 2:
  6683. ret = 0x00fc8d62; /* #fc8d62 2 */
  6684. break;
  6685. case 3:
  6686. ret = 0x008da0cb; /* #8da0cb 3 */
  6687. break;
  6688. case 4:
  6689. ret = 0x00e78ac3; /* #e78ac3 4 */
  6690. break;
  6691. case 5:
  6692. ret = 0x00a6d854; /* #a6d854 5 */
  6693. break;
  6694. case 6:
  6695. ret = 0x00ffd92f; /* #ffd92f 6 */
  6696. break;
  6697. case 7:
  6698. ret = 0x00e5c494; /* #e5c494 7 */
  6699. break;
  6700. case 8:
  6701. ret = 0x00b3b3b3; /* #b3b3b3 8 */
  6702. break;
  6703. default:
  6704. ret = (-1);
  6705. break;
  6706. }
  6707. break;
  6708. case COLOR_NS_SET310: /* set310 color scheme */
  6709. switch (number) {
  6710. case 1:
  6711. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6712. break;
  6713. case 2:
  6714. ret = 0x00ffffb3; /* #ffffb3 2 */
  6715. break;
  6716. case 3:
  6717. ret = 0x00bebada; /* #bebada 3 */
  6718. break;
  6719. case 4:
  6720. ret = 0x00fb8072; /* #fb8072 4 */
  6721. break;
  6722. case 5:
  6723. ret = 0x0080b1d3; /* #80b1d3 5 */
  6724. break;
  6725. case 6:
  6726. ret = 0x00fdb462; /* #fdb462 6 */
  6727. break;
  6728. case 7:
  6729. ret = 0x00b3de69; /* #b3de69 7 */
  6730. break;
  6731. case 8:
  6732. ret = 0x00fccde5; /* #fccde5 8 */
  6733. break;
  6734. case 9:
  6735. ret = 0x00d9d9d9; /* #d9d9d9 9 */
  6736. break;
  6737. case 10:
  6738. ret = 0x00bc80bd; /* #bc80bd 10 */
  6739. break;
  6740. default:
  6741. ret = (-1);
  6742. break;
  6743. }
  6744. break;
  6745. case COLOR_NS_SET311: /* set311 color scheme */
  6746. switch (number) {
  6747. case 1:
  6748. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6749. break;
  6750. case 2:
  6751. ret = 0x00ffffb3; /* #ffffb3 2 */
  6752. break;
  6753. case 3:
  6754. ret = 0x00bebada; /* #bebada 3 */
  6755. break;
  6756. case 4:
  6757. ret = 0x00fb8072; /* #fb8072 4 */
  6758. break;
  6759. case 5:
  6760. ret = 0x0080b1d3; /* #80b1d3 5 */
  6761. break;
  6762. case 6:
  6763. ret = 0x00fdb462; /* #fdb462 6 */
  6764. break;
  6765. case 7:
  6766. ret = 0x00b3de69; /* #b3de69 7 */
  6767. break;
  6768. case 8:
  6769. ret = 0x00fccde5; /* #fccde5 8 */
  6770. break;
  6771. case 9:
  6772. ret = 0x00d9d9d9; /* #d9d9d9 9 */
  6773. break;
  6774. case 10:
  6775. ret = 0x00bc80bd; /* #bc80bd 10 */
  6776. break;
  6777. case 11:
  6778. ret = 0x00ccebc5; /* #ccebc5 11 */
  6779. break;
  6780. default:
  6781. ret = (-1);
  6782. break;
  6783. }
  6784. break;
  6785. case COLOR_NS_SET312: /* set312 color scheme */
  6786. switch (number) {
  6787. case 1:
  6788. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6789. break;
  6790. case 2:
  6791. ret = 0x00ffffb3; /* #ffffb3 2 */
  6792. break;
  6793. case 3:
  6794. ret = 0x00bebada; /* #bebada 3 */
  6795. break;
  6796. case 4:
  6797. ret = 0x00fb8072; /* #fb8072 4 */
  6798. break;
  6799. case 5:
  6800. ret = 0x0080b1d3; /* #80b1d3 5 */
  6801. break;
  6802. case 6:
  6803. ret = 0x00fdb462; /* #fdb462 6 */
  6804. break;
  6805. case 7:
  6806. ret = 0x00b3de69; /* #b3de69 7 */
  6807. break;
  6808. case 8:
  6809. ret = 0x00fccde5; /* #fccde5 8 */
  6810. break;
  6811. case 9:
  6812. ret = 0x00d9d9d9; /* #d9d9d9 9 */
  6813. break;
  6814. case 10:
  6815. ret = 0x00bc80bd; /* #bc80bd 10 */
  6816. break;
  6817. case 11:
  6818. ret = 0x00ccebc5; /* #ccebc5 11 */
  6819. break;
  6820. case 12:
  6821. ret = 0x00ffed6f; /* #ffed6f 12 */
  6822. break;
  6823. default:
  6824. ret = (-1);
  6825. break;
  6826. }
  6827. break;
  6828. case COLOR_NS_SET33: /* set33 color scheme */
  6829. switch (number) {
  6830. case 1:
  6831. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6832. break;
  6833. case 2:
  6834. ret = 0x00ffffb3; /* #ffffb3 2 */
  6835. break;
  6836. case 3:
  6837. ret = 0x00bebada; /* #bebada 3 */
  6838. break;
  6839. default:
  6840. ret = (-1);
  6841. break;
  6842. }
  6843. break;
  6844. case COLOR_NS_SET34: /* set34 color scheme */
  6845. switch (number) {
  6846. case 1:
  6847. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6848. break;
  6849. case 2:
  6850. ret = 0x00ffffb3; /* #ffffb3 2 */
  6851. break;
  6852. case 3:
  6853. ret = 0x00bebada; /* #bebada 3 */
  6854. break;
  6855. case 4:
  6856. ret = 0x00fb8072; /* #fb8072 4 */
  6857. break;
  6858. default:
  6859. ret = (-1);
  6860. break;
  6861. }
  6862. break;
  6863. case COLOR_NS_SET35: /* set35 color scheme */
  6864. switch (number) {
  6865. case 1:
  6866. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6867. break;
  6868. case 2:
  6869. ret = 0x00ffffb3; /* #ffffb3 2 */
  6870. break;
  6871. case 3:
  6872. ret = 0x00bebada; /* #bebada 3 */
  6873. break;
  6874. case 4:
  6875. ret = 0x00fb8072; /* #fb8072 4 */
  6876. break;
  6877. case 5:
  6878. ret = 0x0080b1d3; /* #80b1d3 5 */
  6879. break;
  6880. default:
  6881. ret = (-1);
  6882. break;
  6883. }
  6884. break;
  6885. case COLOR_NS_SET36: /* set36 color scheme */
  6886. switch (number) {
  6887. case 1:
  6888. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6889. break;
  6890. case 2:
  6891. ret = 0x00ffffb3; /* #ffffb3 2 */
  6892. break;
  6893. case 3:
  6894. ret = 0x00bebada; /* #bebada 3 */
  6895. break;
  6896. case 4:
  6897. ret = 0x00fb8072; /* #fb8072 4 */
  6898. break;
  6899. case 5:
  6900. ret = 0x0080b1d3; /* #80b1d3 5 */
  6901. break;
  6902. case 6:
  6903. ret = 0x00fdb462; /* #fdb462 6 */
  6904. break;
  6905. default:
  6906. ret = (-1);
  6907. break;
  6908. }
  6909. break;
  6910. case COLOR_NS_SET37: /* set37 color scheme */
  6911. switch (number) {
  6912. case 1:
  6913. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6914. break;
  6915. case 2:
  6916. ret = 0x00ffffb3; /* #ffffb3 2 */
  6917. break;
  6918. case 3:
  6919. ret = 0x00bebada; /* #bebada 3 */
  6920. break;
  6921. case 4:
  6922. ret = 0x00fb8072; /* #fb8072 4 */
  6923. break;
  6924. case 5:
  6925. ret = 0x0080b1d3; /* #80b1d3 5 */
  6926. break;
  6927. case 6:
  6928. ret = 0x00fdb462; /* #fdb462 6 */
  6929. break;
  6930. case 7:
  6931. ret = 0x00b3de69; /* #b3de69 7 */
  6932. break;
  6933. default:
  6934. ret = (-1);
  6935. break;
  6936. }
  6937. break;
  6938. case COLOR_NS_SET38: /* set38 color scheme */
  6939. switch (number) {
  6940. case 1:
  6941. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6942. break;
  6943. case 2:
  6944. ret = 0x00ffffb3; /* #ffffb3 2 */
  6945. break;
  6946. case 3:
  6947. ret = 0x00bebada; /* #bebada 3 */
  6948. break;
  6949. case 4:
  6950. ret = 0x00fb8072; /* #fb8072 4 */
  6951. break;
  6952. case 5:
  6953. ret = 0x0080b1d3; /* #80b1d3 5 */
  6954. break;
  6955. case 6:
  6956. ret = 0x00fdb462; /* #fdb462 6 */
  6957. break;
  6958. case 7:
  6959. ret = 0x00b3de69; /* #b3de69 7 */
  6960. break;
  6961. case 8:
  6962. ret = 0x00fccde5; /* #fccde5 8 */
  6963. break;
  6964. default:
  6965. ret = (-1);
  6966. break;
  6967. }
  6968. break;
  6969. case COLOR_NS_SET39: /* set39 color scheme */
  6970. switch (number) {
  6971. case 1:
  6972. ret = 0x008dd3c7; /* #8dd3c7 1 */
  6973. break;
  6974. case 2:
  6975. ret = 0x00ffffb3; /* #ffffb3 2 */
  6976. break;
  6977. case 3:
  6978. ret = 0x00bebada; /* #bebada 3 */
  6979. break;
  6980. case 4:
  6981. ret = 0x00fb8072; /* #fb8072 4 */
  6982. break;
  6983. case 5:
  6984. ret = 0x0080b1d3; /* #80b1d3 5 */
  6985. break;
  6986. case 6:
  6987. ret = 0x00fdb462; /* #fdb462 6 */
  6988. break;
  6989. case 7:
  6990. ret = 0x00b3de69; /* #b3de69 7 */
  6991. break;
  6992. case 8:
  6993. ret = 0x00fccde5; /* #fccde5 8 */
  6994. break;
  6995. case 9:
  6996. ret = 0x00d9d9d9; /* #d9d9d9 9 */
  6997. break;
  6998. default:
  6999. ret = (-1);
  7000. break;
  7001. }
  7002. break;
  7003. case COLOR_NS_SPECTRAL10: /* spectral10 color scheme */
  7004. switch (number) {
  7005. case 1:
  7006. ret = 0x009e0142; /* #9e0142 1 */
  7007. break;
  7008. case 2:
  7009. ret = 0x00d53e4f; /* #d53e4f 2 */
  7010. break;
  7011. case 3:
  7012. ret = 0x00f46d43; /* #f46d43 3 */
  7013. break;
  7014. case 4:
  7015. ret = 0x00fdae61; /* #fdae61 4 */
  7016. break;
  7017. case 5:
  7018. ret = 0x00fee08b; /* #fee08b 5 */
  7019. break;
  7020. case 6:
  7021. ret = 0x00e6f598; /* #e6f598 6 */
  7022. break;
  7023. case 7:
  7024. ret = 0x00abdda4; /* #abdda4 7 */
  7025. break;
  7026. case 8:
  7027. ret = 0x0066c2a5; /* #66c2a5 8 */
  7028. break;
  7029. case 9:
  7030. ret = 0x003288bd; /* #3288bd 9 */
  7031. break;
  7032. case 10:
  7033. ret = 0x005e4fa2; /* #5e4fa2 10 */
  7034. break;
  7035. default:
  7036. ret = (-1);
  7037. break;
  7038. }
  7039. break;
  7040. case COLOR_NS_SPECTRAL11: /* spectral11 color scheme */
  7041. switch (number) {
  7042. case 1:
  7043. ret = 0x009e0142; /* #9e0142 1 */
  7044. break;
  7045. case 2:
  7046. ret = 0x00d53e4f; /* #d53e4f 2 */
  7047. break;
  7048. case 3:
  7049. ret = 0x00f46d43; /* #f46d43 3 */
  7050. break;
  7051. case 4:
  7052. ret = 0x00fdae61; /* #fdae61 4 */
  7053. break;
  7054. case 5:
  7055. ret = 0x00fee08b; /* #fee08b 5 */
  7056. break;
  7057. case 6:
  7058. ret = 0x00ffffbf; /* #ffffbf 6 */
  7059. break;
  7060. case 7:
  7061. ret = 0x00e6f598; /* #e6f598 7 */
  7062. break;
  7063. case 8:
  7064. ret = 0x00abdda4; /* #abdda4 8 */
  7065. break;
  7066. case 9:
  7067. ret = 0x0066c2a5; /* #66c2a5 9 */
  7068. break;
  7069. case 10:
  7070. ret = 0x003288bd; /* #3288bd 10 */
  7071. break;
  7072. case 11:
  7073. ret = 0x005e4fa2; /* #5e4fa2 11 */
  7074. break;
  7075. default:
  7076. ret = (-1);
  7077. break;
  7078. }
  7079. break;
  7080. case COLOR_NS_SPECTRAL3: /* spectral3 color scheme */
  7081. switch (number) {
  7082. case 1:
  7083. ret = 0x00fc8d59; /* #fc8d59 1 */
  7084. break;
  7085. case 2:
  7086. ret = 0x00ffffbf; /* #ffffbf 2 */
  7087. break;
  7088. case 3:
  7089. ret = 0x0099d594; /* #99d594 3 */
  7090. break;
  7091. default:
  7092. ret = (-1);
  7093. break;
  7094. }
  7095. break;
  7096. case COLOR_NS_SPECTRAL4: /* spectral4 color scheme */
  7097. switch (number) {
  7098. case 1:
  7099. ret = 0x00d7191c; /* #d7191c 1 */
  7100. break;
  7101. case 2:
  7102. ret = 0x00fdae61; /* #fdae61 2 */
  7103. break;
  7104. case 3:
  7105. ret = 0x00abdda4; /* #abdda4 3 */
  7106. break;
  7107. case 4:
  7108. ret = 0x002b83ba; /* #2b83ba 4 */
  7109. break;
  7110. default:
  7111. ret = (-1);
  7112. break;
  7113. }
  7114. break;
  7115. case COLOR_NS_SPECTRAL5: /* spectral5 color scheme */
  7116. switch (number) {
  7117. case 1:
  7118. ret = 0x00d7191c; /* #d7191c 1 */
  7119. break;
  7120. case 2:
  7121. ret = 0x00fdae61; /* #fdae61 2 */
  7122. break;
  7123. case 3:
  7124. ret = 0x00ffffbf; /* #ffffbf 3 */
  7125. break;
  7126. case 4:
  7127. ret = 0x00abdda4; /* #abdda4 4 */
  7128. break;
  7129. case 5:
  7130. ret = 0x002b83ba; /* #2b83ba 5 */
  7131. break;
  7132. default:
  7133. ret = (-1);
  7134. break;
  7135. }
  7136. break;
  7137. case COLOR_NS_SPECTRAL6: /* spectral6 color scheme */
  7138. switch (number) {
  7139. case 1:
  7140. ret = 0x00d53e4f; /* #d53e4f 1 */
  7141. break;
  7142. case 2:
  7143. ret = 0x00fc8d59; /* #fc8d59 2 */
  7144. break;
  7145. case 3:
  7146. ret = 0x00fee08b; /* #fee08b 3 */
  7147. break;
  7148. case 4:
  7149. ret = 0x00e6f598; /* #e6f598 4 */
  7150. break;
  7151. case 5:
  7152. ret = 0x0099d594; /* #99d594 5 */
  7153. break;
  7154. case 6:
  7155. ret = 0x003288bd; /* #3288bd 6 */
  7156. break;
  7157. default:
  7158. ret = (-1);
  7159. break;
  7160. }
  7161. break;
  7162. case COLOR_NS_SPECTRAL7: /* spectral7 color scheme */
  7163. switch (number) {
  7164. case 1:
  7165. ret = 0x00d53e4f; /* #d53e4f 1 */
  7166. break;
  7167. case 2:
  7168. ret = 0x00fc8d59; /* #fc8d59 2 */
  7169. break;
  7170. case 3:
  7171. ret = 0x00fee08b; /* #fee08b 3 */
  7172. break;
  7173. case 4:
  7174. ret = 0x00ffffbf; /* #ffffbf 4 */
  7175. break;
  7176. case 5:
  7177. ret = 0x00e6f598; /* #e6f598 5 */
  7178. break;
  7179. case 6:
  7180. ret = 0x0099d594; /* #99d594 6 */
  7181. break;
  7182. case 7:
  7183. ret = 0x003288bd; /* #3288bd 7 */
  7184. break;
  7185. default:
  7186. ret = (-1);
  7187. break;
  7188. }
  7189. break;
  7190. case COLOR_NS_SPECTRAL8: /* spectral8 color scheme */
  7191. switch (number) {
  7192. case 1:
  7193. ret = 0x00d53e4f; /* #d53e4f 1 */
  7194. break;
  7195. case 2:
  7196. ret = 0x00f46d43; /* #f46d43 2 */
  7197. break;
  7198. case 3:
  7199. ret = 0x00fdae61; /* #fdae61 3 */
  7200. break;
  7201. case 4:
  7202. ret = 0x00fee08b; /* #fee08b 4 */
  7203. break;
  7204. case 5:
  7205. ret = 0x00e6f598; /* #e6f598 5 */
  7206. break;
  7207. case 6:
  7208. ret = 0x00abdda4; /* #abdda4 6 */
  7209. break;
  7210. case 7:
  7211. ret = 0x0066c2a5; /* #66c2a5 7 */
  7212. break;
  7213. case 8:
  7214. ret = 0x003288bd; /* #3288bd 8 */
  7215. break;
  7216. default:
  7217. ret = (-1);
  7218. break;
  7219. }
  7220. break;
  7221. case COLOR_NS_SPECTRAL9: /* spectral9 color scheme */
  7222. switch (number) {
  7223. case 1:
  7224. ret = 0x00d53e4f; /* #d53e4f 1 */
  7225. break;
  7226. case 2:
  7227. ret = 0x00f46d43; /* #f46d43 2 */
  7228. break;
  7229. case 3:
  7230. ret = 0x00fdae61; /* #fdae61 3 */
  7231. break;
  7232. case 4:
  7233. ret = 0x00fee08b; /* #fee08b 4 */
  7234. break;
  7235. case 5:
  7236. ret = 0x00ffffbf; /* #ffffbf 5 */
  7237. break;
  7238. case 6:
  7239. ret = 0x00e6f598; /* #e6f598 6 */
  7240. break;
  7241. case 7:
  7242. ret = 0x00abdda4; /* #abdda4 7 */
  7243. break;
  7244. case 8:
  7245. ret = 0x0066c2a5; /* #66c2a5 8 */
  7246. break;
  7247. case 9:
  7248. ret = 0x003288bd; /* #3288bd 9 */
  7249. break;
  7250. default:
  7251. ret = (-1);
  7252. break;
  7253. }
  7254. break;
  7255. case COLOR_NS_YLGN3: /* ylgn3 color scheme */
  7256. switch (number) {
  7257. case 1:
  7258. ret = 0x00f7fcb9; /* #f7fcb9 1 */
  7259. break;
  7260. case 2:
  7261. ret = 0x00addd8e; /* #addd8e 2 */
  7262. break;
  7263. case 3:
  7264. ret = 0x0031a354; /* #31a354 3 */
  7265. break;
  7266. default:
  7267. ret = (-1);
  7268. break;
  7269. }
  7270. break;
  7271. case COLOR_NS_YLGN4: /* ylgn4 color scheme */
  7272. switch (number) {
  7273. case 1:
  7274. ret = 0x00ffffcc; /* #ffffcc 1 */
  7275. break;
  7276. case 2:
  7277. ret = 0x00c2e699; /* #c2e699 2 */
  7278. break;
  7279. case 3:
  7280. ret = 0x0078c679; /* #78c679 3 */
  7281. break;
  7282. case 4:
  7283. ret = 0x00238443; /* #238443 4 */
  7284. break;
  7285. default:
  7286. ret = (-1);
  7287. break;
  7288. }
  7289. break;
  7290. case COLOR_NS_YLGN5: /* ylgn5 color scheme */
  7291. switch (number) {
  7292. case 1:
  7293. ret = 0x00ffffcc; /* #ffffcc 1 */
  7294. break;
  7295. case 2:
  7296. ret = 0x00c2e699; /* #c2e699 2 */
  7297. break;
  7298. case 3:
  7299. ret = 0x0078c679; /* #78c679 3 */
  7300. break;
  7301. case 4:
  7302. ret = 0x0031a354; /* #31a354 4 */
  7303. break;
  7304. case 5:
  7305. ret = 0x00006837; /* #006837 5 */
  7306. break;
  7307. default:
  7308. ret = (-1);
  7309. break;
  7310. }
  7311. break;
  7312. case COLOR_NS_YLGN6: /* ylgn6 color scheme */
  7313. switch (number) {
  7314. case 1:
  7315. ret = 0x00ffffcc; /* #ffffcc 1 */
  7316. break;
  7317. case 2:
  7318. ret = 0x00d9f0a3; /* #d9f0a3 2 */
  7319. break;
  7320. case 3:
  7321. ret = 0x00addd8e; /* #addd8e 3 */
  7322. break;
  7323. case 4:
  7324. ret = 0x0078c679; /* #78c679 4 */
  7325. break;
  7326. case 5:
  7327. ret = 0x0031a354; /* #31a354 5 */
  7328. break;
  7329. case 6:
  7330. ret = 0x00006837; /* #006837 6 */
  7331. break;
  7332. default:
  7333. ret = (-1);
  7334. break;
  7335. }
  7336. break;
  7337. case COLOR_NS_YLGN7: /* ylgn7 color scheme */
  7338. switch (number) {
  7339. case 1:
  7340. ret = 0x00ffffcc; /* #ffffcc 1 */
  7341. break;
  7342. case 2:
  7343. ret = 0x00d9f0a3; /* #d9f0a3 2 */
  7344. break;
  7345. case 3:
  7346. ret = 0x00addd8e; /* #addd8e 3 */
  7347. break;
  7348. case 4:
  7349. ret = 0x0078c679; /* #78c679 4 */
  7350. break;
  7351. case 5:
  7352. ret = 0x0041ab5d; /* #41ab5d 5 */
  7353. break;
  7354. case 6:
  7355. ret = 0x00238443; /* #238443 6 */
  7356. break;
  7357. case 7:
  7358. ret = 0x00005a32; /* #005a32 7 */
  7359. break;
  7360. default:
  7361. ret = (-1);
  7362. break;
  7363. }
  7364. break;
  7365. case COLOR_NS_YLGN8: /* ylgn8 color scheme */
  7366. switch (number) {
  7367. case 1:
  7368. ret = 0x00ffffe5; /* #ffffe5 1 */
  7369. break;
  7370. case 2:
  7371. ret = 0x00f7fcb9; /* #f7fcb9 2 */
  7372. break;
  7373. case 3:
  7374. ret = 0x00d9f0a3; /* #d9f0a3 3 */
  7375. break;
  7376. case 4:
  7377. ret = 0x00addd8e; /* #addd8e 4 */
  7378. break;
  7379. case 5:
  7380. ret = 0x0078c679; /* #78c679 5 */
  7381. break;
  7382. case 6:
  7383. ret = 0x0041ab5d; /* #41ab5d 6 */
  7384. break;
  7385. case 7:
  7386. ret = 0x00238443; /* #238443 7 */
  7387. break;
  7388. case 8:
  7389. ret = 0x00005a32; /* #005a32 8 */
  7390. break;
  7391. default:
  7392. ret = (-1);
  7393. break;
  7394. }
  7395. break;
  7396. case COLOR_NS_YLGN9: /* ylgn9 color scheme */
  7397. switch (number) {
  7398. case 1:
  7399. ret = 0x00ffffe5; /* #ffffe5 1 */
  7400. break;
  7401. case 2:
  7402. ret = 0x00f7fcb9; /* #f7fcb9 2 */
  7403. break;
  7404. case 3:
  7405. ret = 0x00d9f0a3; /* #d9f0a3 3 */
  7406. break;
  7407. case 4:
  7408. ret = 0x00addd8e; /* #addd8e 4 */
  7409. break;
  7410. case 5:
  7411. ret = 0x0078c679; /* #78c679 5 */
  7412. break;
  7413. case 6:
  7414. ret = 0x0041ab5d; /* #41ab5d 6 */
  7415. break;
  7416. case 7:
  7417. ret = 0x00238443; /* #238443 7 */
  7418. break;
  7419. case 8:
  7420. ret = 0x00006837; /* #006837 8 */
  7421. break;
  7422. case 9:
  7423. ret = 0x00004529; /* #004529 9 */
  7424. break;
  7425. default:
  7426. ret = (-1);
  7427. break;
  7428. }
  7429. break;
  7430. case COLOR_NS_YLGNBU3: /* ylgnbu3 color scheme */
  7431. switch (number) {
  7432. case 1:
  7433. ret = 0x00edf8b1; /* #edf8b1 1 */
  7434. break;
  7435. case 2:
  7436. ret = 0x007fcdbb; /* #7fcdbb 2 */
  7437. break;
  7438. case 3:
  7439. ret = 0x002c7fb8; /* #2c7fb8 3 */
  7440. break;
  7441. default:
  7442. ret = (-1);
  7443. break;
  7444. }
  7445. break;
  7446. case COLOR_NS_YLGNBU4: /* ylgnbu4 color scheme */
  7447. switch (number) {
  7448. case 1:
  7449. ret = 0x00ffffcc; /* #ffffcc 1 */
  7450. break;
  7451. case 2:
  7452. ret = 0x00a1dab4; /* #a1dab4 2 */
  7453. break;
  7454. case 3:
  7455. ret = 0x0041b6c4; /* #41b6c4 3 */
  7456. break;
  7457. case 4:
  7458. ret = 0x00225ea8; /* #225ea8 4 */
  7459. break;
  7460. default:
  7461. ret = (-1);
  7462. break;
  7463. }
  7464. break;
  7465. case COLOR_NS_YLGNBU5: /* ylgnbu5 color scheme */
  7466. switch (number) {
  7467. case 1:
  7468. ret = 0x00ffffcc; /* #ffffcc 1 */
  7469. break;
  7470. case 2:
  7471. ret = 0x00a1dab4; /* #a1dab4 2 */
  7472. break;
  7473. case 3:
  7474. ret = 0x0041b6c4; /* #41b6c4 3 */
  7475. break;
  7476. case 4:
  7477. ret = 0x002c7fb8; /* #2c7fb8 4 */
  7478. break;
  7479. case 5:
  7480. ret = 0x00253494; /* #253494 5 */
  7481. break;
  7482. default:
  7483. ret = (-1);
  7484. break;
  7485. }
  7486. break;
  7487. case COLOR_NS_YLGNBU6: /* ylgnbu6 color scheme */
  7488. switch (number) {
  7489. case 1:
  7490. ret = 0x00ffffcc; /* #ffffcc 1 */
  7491. break;
  7492. case 2:
  7493. ret = 0x00c7e9b4; /* #c7e9b4 2 */
  7494. break;
  7495. case 3:
  7496. ret = 0x007fcdbb; /* #7fcdbb 3 */
  7497. break;
  7498. case 4:
  7499. ret = 0x0041b6c4; /* #41b6c4 4 */
  7500. break;
  7501. case 5:
  7502. ret = 0x002c7fb8; /* #2c7fb8 5 */
  7503. break;
  7504. case 6:
  7505. ret = 0x00253494; /* #253494 6 */
  7506. break;
  7507. default:
  7508. ret = (-1);
  7509. break;
  7510. }
  7511. break;
  7512. case COLOR_NS_YLGNBU7: /* ylgnbu7 color scheme */
  7513. switch (number) {
  7514. case 1:
  7515. ret = 0x00ffffcc; /* #ffffcc 1 */
  7516. break;
  7517. case 2:
  7518. ret = 0x00c7e9b4; /* #c7e9b4 2 */
  7519. break;
  7520. case 3:
  7521. ret = 0x007fcdbb; /* #7fcdbb 3 */
  7522. break;
  7523. case 4:
  7524. ret = 0x0041b6c4; /* #41b6c4 4 */
  7525. break;
  7526. case 5:
  7527. ret = 0x001d91c0; /* #1d91c0 5 */
  7528. break;
  7529. case 6:
  7530. ret = 0x00225ea8; /* #225ea8 6 */
  7531. break;
  7532. case 7:
  7533. ret = 0x000c2c84; /* #0c2c84 7 */
  7534. break;
  7535. default:
  7536. ret = (-1);
  7537. break;
  7538. }
  7539. break;
  7540. case COLOR_NS_YLGNBU8: /* ylgnbu8 color scheme */
  7541. switch (number) {
  7542. case 1:
  7543. ret = 0x00ffffd9; /* #ffffd9 1 */
  7544. break;
  7545. case 2:
  7546. ret = 0x00edf8b1; /* #edf8b1 2 */
  7547. break;
  7548. case 3:
  7549. ret = 0x00c7e9b4; /* #c7e9b4 3 */
  7550. break;
  7551. case 4:
  7552. ret = 0x007fcdbb; /* #7fcdbb 4 */
  7553. break;
  7554. case 5:
  7555. ret = 0x0041b6c4; /* #41b6c4 5 */
  7556. break;
  7557. case 6:
  7558. ret = 0x001d91c0; /* #1d91c0 6 */
  7559. break;
  7560. case 7:
  7561. ret = 0x00225ea8; /* #225ea8 7 */
  7562. break;
  7563. case 8:
  7564. ret = 0x000c2c84; /* #0c2c84 8 */
  7565. break;
  7566. default:
  7567. ret = (-1);
  7568. break;
  7569. }
  7570. break;
  7571. case COLOR_NS_YLGNBU9: /* ylgnbu9 color scheme */
  7572. switch (number) {
  7573. case 1:
  7574. ret = 0x00ffffd9; /* #ffffd9 1 */
  7575. break;
  7576. case 2:
  7577. ret = 0x00edf8b1; /* #edf8b1 2 */
  7578. break;
  7579. case 3:
  7580. ret = 0x00c7e9b4; /* #c7e9b4 3 */
  7581. break;
  7582. case 4:
  7583. ret = 0x007fcdbb; /* #7fcdbb 4 */
  7584. break;
  7585. case 5:
  7586. ret = 0x0041b6c4; /* #41b6c4 5 */
  7587. break;
  7588. case 6:
  7589. ret = 0x001d91c0; /* #1d91c0 6 */
  7590. break;
  7591. case 7:
  7592. ret = 0x00225ea8; /* #225ea8 7 */
  7593. break;
  7594. case 8:
  7595. ret = 0x00253494; /* #253494 8 */
  7596. break;
  7597. case 9:
  7598. ret = 0x00081d58; /* #081d58 9 */
  7599. break;
  7600. default:
  7601. ret = (-1);
  7602. break;
  7603. }
  7604. break;
  7605. case COLOR_NS_YLORBR3: /* ylorbr3 color scheme */
  7606. switch (number) {
  7607. case 1:
  7608. ret = 0x00fff7bc; /* #fff7bc 1 */
  7609. break;
  7610. case 2:
  7611. ret = 0x00fec44f; /* #fec44f 2 */
  7612. break;
  7613. case 3:
  7614. ret = 0x00d95f0e; /* #d95f0e 3 */
  7615. break;
  7616. default:
  7617. ret = (-1);
  7618. break;
  7619. }
  7620. break;
  7621. case COLOR_NS_YLORBR4: /* ylorbr4 color scheme */
  7622. switch (number) {
  7623. case 1:
  7624. ret = 0x00ffffd4; /* #ffffd4 1 */
  7625. break;
  7626. case 2:
  7627. ret = 0x00fed98e; /* #fed98e 2 */
  7628. break;
  7629. case 3:
  7630. ret = 0x00fe9929; /* #fe9929 3 */
  7631. break;
  7632. case 4:
  7633. ret = 0x00cc4c02; /* #cc4c02 4 */
  7634. break;
  7635. default:
  7636. ret = (-1);
  7637. break;
  7638. }
  7639. break;
  7640. case COLOR_NS_YLORBR5: /* ylorbr5 color scheme */
  7641. switch (number) {
  7642. case 1:
  7643. ret = 0x00ffffd4; /* #ffffd4 1 */
  7644. break;
  7645. case 2:
  7646. ret = 0x00fed98e; /* #fed98e 2 */
  7647. break;
  7648. case 3:
  7649. ret = 0x00fe9929; /* #fe9929 3 */
  7650. break;
  7651. case 4:
  7652. ret = 0x00d95f0e; /* #d95f0e 4 */
  7653. break;
  7654. case 5:
  7655. ret = 0x00993404; /* #993404 5 */
  7656. break;
  7657. default:
  7658. ret = (-1);
  7659. break;
  7660. }
  7661. break;
  7662. case COLOR_NS_YLORBR6: /* ylorbr6 color scheme */
  7663. switch (number) {
  7664. case 1:
  7665. ret = 0x00ffffd4; /* #ffffd4 1 */
  7666. break;
  7667. case 2:
  7668. ret = 0x00fee391; /* #fee391 2 */
  7669. break;
  7670. case 3:
  7671. ret = 0x00fec44f; /* #fec44f 3 */
  7672. break;
  7673. case 4:
  7674. ret = 0x00fe9929; /* #fe9929 4 */
  7675. break;
  7676. case 5:
  7677. ret = 0x00d95f0e; /* #d95f0e 5 */
  7678. break;
  7679. case 6:
  7680. ret = 0x00993404; /* #993404 6 */
  7681. break;
  7682. default:
  7683. ret = (-1);
  7684. break;
  7685. }
  7686. break;
  7687. case COLOR_NS_YLORBR7: /* ylorbr7 color scheme */
  7688. switch (number) {
  7689. case 1:
  7690. ret = 0x00ffffd4; /* #ffffd4 1 */
  7691. break;
  7692. case 2:
  7693. ret = 0x00fee391; /* #fee391 2 */
  7694. break;
  7695. case 3:
  7696. ret = 0x00fec44f; /* #fec44f 3 */
  7697. break;
  7698. case 4:
  7699. ret = 0x00fe9929; /* #fe9929 4 */
  7700. break;
  7701. case 5:
  7702. ret = 0x00ec7014; /* #ec7014 5 */
  7703. break;
  7704. case 6:
  7705. ret = 0x00cc4c02; /* #cc4c02 6 */
  7706. break;
  7707. case 7:
  7708. ret = 0x008c2d04; /* #8c2d04 7 */
  7709. break;
  7710. default:
  7711. ret = (-1);
  7712. break;
  7713. }
  7714. break;
  7715. case COLOR_NS_YLORBR8: /* ylorbr8 color scheme */
  7716. switch (number) {
  7717. case 1:
  7718. ret = 0x00ffffe5; /* #ffffe5 1 */
  7719. break;
  7720. case 2:
  7721. ret = 0x00fff7bc; /* #fff7bc 2 */
  7722. break;
  7723. case 3:
  7724. ret = 0x00fee391; /* #fee391 3 */
  7725. break;
  7726. case 4:
  7727. ret = 0x00fec44f; /* #fec44f 4 */
  7728. break;
  7729. case 5:
  7730. ret = 0x00fe9929; /* #fe9929 5 */
  7731. break;
  7732. case 6:
  7733. ret = 0x00ec7014; /* #ec7014 6 */
  7734. break;
  7735. case 7:
  7736. ret = 0x00cc4c02; /* #cc4c02 7 */
  7737. break;
  7738. case 8:
  7739. ret = 0x008c2d04; /* #8c2d04 8 */
  7740. break;
  7741. default:
  7742. ret = (-1);
  7743. break;
  7744. }
  7745. break;
  7746. case COLOR_NS_YLORBR9: /* ylorbr9 color scheme */
  7747. switch (number) {
  7748. case 1:
  7749. ret = 0x00ffffe5; /* #ffffe5 1 */
  7750. break;
  7751. case 2:
  7752. ret = 0x00fff7bc; /* #fff7bc 2 */
  7753. break;
  7754. case 3:
  7755. ret = 0x00fee391; /* #fee391 3 */
  7756. break;
  7757. case 4:
  7758. ret = 0x00fec44f; /* #fec44f 4 */
  7759. break;
  7760. case 5:
  7761. ret = 0x00fe9929; /* #fe9929 5 */
  7762. break;
  7763. case 6:
  7764. ret = 0x00ec7014; /* #ec7014 6 */
  7765. break;
  7766. case 7:
  7767. ret = 0x00cc4c02; /* #cc4c02 7 */
  7768. break;
  7769. case 8:
  7770. ret = 0x00993404; /* #993404 8 */
  7771. break;
  7772. case 9:
  7773. ret = 0x00662506; /* #662506 9 */
  7774. break;
  7775. default:
  7776. ret = (-1);
  7777. break;
  7778. }
  7779. break;
  7780. case COLOR_NS_YLORRD3: /* ylorrd3 color scheme */
  7781. switch (number) {
  7782. case 1:
  7783. ret = 0x00ffeda0; /* #ffeda0 1 */
  7784. break;
  7785. case 2:
  7786. ret = 0x00feb24c; /* #feb24c 2 */
  7787. break;
  7788. case 3:
  7789. ret = 0x00f03b20; /* #f03b20 3 */
  7790. break;
  7791. default:
  7792. ret = (-1);
  7793. break;
  7794. }
  7795. break;
  7796. case COLOR_NS_YLORRD4: /* ylorrd4 color scheme */
  7797. switch (number) {
  7798. case 1:
  7799. ret = 0x00ffffb2; /* #ffffb2 1 */
  7800. break;
  7801. case 2:
  7802. ret = 0x00fecc5c; /* #fecc5c 2 */
  7803. break;
  7804. case 3:
  7805. ret = 0x00fd8d3c; /* #fd8d3c 3 */
  7806. break;
  7807. case 4:
  7808. ret = 0x00e31a1c; /* #e31a1c 4 */
  7809. break;
  7810. default:
  7811. ret = (-1);
  7812. break;
  7813. }
  7814. break;
  7815. case COLOR_NS_YLORRD5: /* ylorrd5 color scheme */
  7816. switch (number) {
  7817. case 1:
  7818. ret = 0x00ffffb2; /* #ffffb2 1 */
  7819. break;
  7820. case 2:
  7821. ret = 0x00fecc5c; /* #fecc5c 2 */
  7822. break;
  7823. case 3:
  7824. ret = 0x00fd8d3c; /* #fd8d3c 3 */
  7825. break;
  7826. case 4:
  7827. ret = 0x00f03b20; /* #f03b20 4 */
  7828. break;
  7829. case 5:
  7830. ret = 0x00bd0026; /* #bd0026 5 */
  7831. break;
  7832. default:
  7833. ret = (-1);
  7834. break;
  7835. }
  7836. break;
  7837. case COLOR_NS_YLORRD6: /* ylorrd6 color scheme */
  7838. switch (number) {
  7839. case 1:
  7840. ret = 0x00ffffb2; /* #ffffb2 1 */
  7841. break;
  7842. case 2:
  7843. ret = 0x00fed976; /* #fed976 2 */
  7844. break;
  7845. case 3:
  7846. ret = 0x00feb24c; /* #feb24c 3 */
  7847. break;
  7848. case 4:
  7849. ret = 0x00fd8d3c; /* #fd8d3c 4 */
  7850. break;
  7851. case 5:
  7852. ret = 0x00f03b20; /* #f03b20 5 */
  7853. break;
  7854. case 6:
  7855. ret = 0x00bd0026; /* #bd0026 6 */
  7856. break;
  7857. default:
  7858. ret = (-1);
  7859. break;
  7860. }
  7861. break;
  7862. case COLOR_NS_YLORRD7: /* ylorrd7 color scheme */
  7863. switch (number) {
  7864. case 1:
  7865. ret = 0x00ffffb2; /* #ffffb2 1 */
  7866. break;
  7867. case 2:
  7868. ret = 0x00fed976; /* #fed976 2 */
  7869. break;
  7870. case 3:
  7871. ret = 0x00feb24c; /* #feb24c 3 */
  7872. break;
  7873. case 4:
  7874. ret = 0x00fd8d3c; /* #fd8d3c 4 */
  7875. break;
  7876. case 5:
  7877. ret = 0x00fc4e2a; /* #fc4e2a 5 */
  7878. break;
  7879. case 6:
  7880. ret = 0x00e31a1c; /* #e31a1c 6 */
  7881. break;
  7882. case 7:
  7883. ret = 0x00b10026; /* #b10026 7 */
  7884. break;
  7885. default:
  7886. ret = (-1);
  7887. break;
  7888. }
  7889. break;
  7890. case COLOR_NS_YLORRD8: /* ylorrd8 color scheme */
  7891. switch (number) {
  7892. case 1:
  7893. ret = 0x00ffffcc; /* #ffffcc 1 */
  7894. break;
  7895. case 2:
  7896. ret = 0x00ffeda0; /* #ffeda0 2 */
  7897. break;
  7898. case 3:
  7899. ret = 0x00fed976; /* #fed976 3 */
  7900. break;
  7901. case 4:
  7902. ret = 0x00feb24c; /* #feb24c 4 */
  7903. break;
  7904. case 5:
  7905. ret = 0x00fd8d3c; /* #fd8d3c 5 */
  7906. break;
  7907. case 6:
  7908. ret = 0x00fc4e2a; /* #fc4e2a 6 */
  7909. break;
  7910. case 7:
  7911. ret = 0x00e31a1c; /* #e31a1c 7 */
  7912. break;
  7913. case 8:
  7914. ret = 0x00b10026; /* #b10026 8 */
  7915. break;
  7916. default:
  7917. ret = (-1);
  7918. break;
  7919. }
  7920. break;
  7921. case COLOR_NS_YLORRD9: /* ylorrd9 color scheme */
  7922. switch (number) {
  7923. case 1:
  7924. ret = 0x00ffffcc; /* #ffffcc 1 */
  7925. break;
  7926. case 2:
  7927. ret = 0x00ffeda0; /* #ffeda0 2 */
  7928. break;
  7929. case 3:
  7930. ret = 0x00fed976; /* #fed976 3 */
  7931. break;
  7932. case 4:
  7933. ret = 0x00feb24c; /* #feb24c 4 */
  7934. break;
  7935. case 5:
  7936. ret = 0x00fd8d3c; /* #fd8d3c 5 */
  7937. break;
  7938. case 6:
  7939. ret = 0x00fc4e2a; /* #fc4e2a 6 */
  7940. break;
  7941. case 7:
  7942. ret = 0x00e31a1c; /* #e31a1c 7 */
  7943. break;
  7944. case 8:
  7945. ret = 0x00bd0026; /* #bd0026 8 */
  7946. break;
  7947. case 9:
  7948. ret = 0x00800026; /* #800026 9 */
  7949. break;
  7950. default:
  7951. ret = (-1);
  7952. break;
  7953. }
  7954. break;
  7955. /* unknown scheme, then unknown color */
  7956. default:
  7957. ret = (-1);
  7958. break;
  7959. }
  7960. return (ret);
  7961. }
  7962. /* wipe color database */
  7963. void dp_colorcode_clear(void)
  7964. {
  7965. /* color names database */
  7966. gucolor = splay_tree_delete(gucolor);
  7967. return;
  7968. }
  7969. /* Comparison function for a splay tree in which the keys are strings.
  7970. K1 and K2 have the dynamic type "const char *". Returns <0, 0, or
  7971. >0 to indicate whether K1 is less than, equal to, or greater than
  7972. K2, respectively.
  7973. similar issues here when as compare pointers and c portable src.
  7974. */
  7975. static int splay_tree_compare_case_strings(splay_tree_key k1, splay_tree_key k2)
  7976. {
  7977. const char *s1 = (const char *)k1;
  7978. const char *s2 = (const char *)k2;
  7979. int ret = 0;
  7980. if ((k1 == (splay_tree_key) 0) && (k2 == (splay_tree_key) 0)) {
  7981. return (0);
  7982. }
  7983. if (s1 == (const char *)0) {
  7984. /* to avoid crashes only */
  7985. return (0);
  7986. }
  7987. if (s2 == (const char *)0) {
  7988. /* to avoid crashes only */
  7989. return (0);
  7990. }
  7991. /* check if same pointer. possible not portable c. */
  7992. if (s1 == s2) {
  7993. return (0);
  7994. }
  7995. ret = strcasecmp(s1, s2);
  7996. return ((int)ret);
  7997. }
  7998. /* create color database */
  7999. static void color_init(void)
  8000. {
  8001. /* indexed on (char *) */
  8002. gucolor = splay_tree_new(splay_tree_compare_case_strings, /* splay_tree_compare_fn */
  8003. ucolor_splay_tree_delete_key_fn, /* splay_tree_delete_key_fn */
  8004. ucolor_splay_tree_delete_value_fn /* splay_tree_delete_value_fn */
  8005. );
  8006. /* add color data indexed by name */
  8007. colordata(0);
  8008. /* drawing background color white */
  8009. dp_bgcr = 0xff;
  8010. dp_bgcg = 0xff;
  8011. dp_bgcb = 0xff;
  8012. return;
  8013. }
  8014. /* add color data */
  8015. static void colordata(int rev)
  8016. {
  8017. /* 782 colors */
  8018. coloradd("alice blue", 0x00f0f8ff, rev); /* color 0 r/g/b decimal 240 248 255 */
  8019. coloradd("AliceBlue", 0x00f0f8ff, rev); /* color 1 r/g/b decimal 240 248 255 */
  8020. coloradd("antique white", 0x00faebd7, rev); /* color 2 r/g/b decimal 250 235 215 */
  8021. coloradd("AntiqueWhite", 0x00faebd7, rev); /* color 3 r/g/b decimal 250 235 215 */
  8022. coloradd("AntiqueWhite1", 0x00ffefdb, rev); /* color 4 r/g/b decimal 255 239 219 */
  8023. coloradd("AntiqueWhite2", 0x00eedfcc, rev); /* color 5 r/g/b decimal 238 223 204 */
  8024. coloradd("AntiqueWhite3", 0x00cdc0b0, rev); /* color 6 r/g/b decimal 205 192 176 */
  8025. coloradd("AntiqueWhite4", 0x008b8378, rev); /* color 7 r/g/b decimal 139 131 120 */
  8026. coloradd("aqua", 0x0000ffff, rev); /* color 8 r/g/b decimal 0 255 255 */
  8027. coloradd("aquamarine", 0x007fffd4, rev); /* color 9 r/g/b decimal 127 255 212 */
  8028. coloradd("aquamarine1", 0x007fffd4, rev); /* color 10 r/g/b decimal 127 255 212 */
  8029. coloradd("aquamarine2", 0x0076eec6, rev); /* color 11 r/g/b decimal 118 238 198 */
  8030. coloradd("aquamarine3", 0x0066cdaa, rev); /* color 12 r/g/b decimal 102 205 170 */
  8031. coloradd("aquamarine4", 0x00458b74, rev); /* color 13 r/g/b decimal 69 139 116 */
  8032. coloradd("azure", 0x00f0ffff, rev); /* color 14 r/g/b decimal 240 255 255 */
  8033. coloradd("azure1", 0x00f0ffff, rev); /* color 15 r/g/b decimal 240 255 255 */
  8034. coloradd("azure2", 0x00e0eeee, rev); /* color 16 r/g/b decimal 224 238 238 */
  8035. coloradd("azure3", 0x00c1cdcd, rev); /* color 17 r/g/b decimal 193 205 205 */
  8036. coloradd("azure4", 0x00838b8b, rev); /* color 18 r/g/b decimal 131 139 139 */
  8037. coloradd("beige", 0x00f5f5dc, rev); /* color 19 r/g/b decimal 245 245 220 */
  8038. coloradd("bisque", 0x00ffe4c4, rev); /* color 20 r/g/b decimal 255 228 196 */
  8039. coloradd("bisque1", 0x00ffe4c4, rev); /* color 21 r/g/b decimal 255 228 196 */
  8040. coloradd("bisque2", 0x00eed5b7, rev); /* color 22 r/g/b decimal 238 213 183 */
  8041. coloradd("bisque3", 0x00cdb79e, rev); /* color 23 r/g/b decimal 205 183 158 */
  8042. coloradd("bisque4", 0x008b7d6b, rev); /* color 24 r/g/b decimal 139 125 107 */
  8043. coloradd("black", 0x00000000, rev); /* color 25 r/g/b decimal 0 0 0 */
  8044. coloradd("blanched almond", 0x00ffebcd, rev); /* color 26 r/g/b decimal 255 235 205 */
  8045. coloradd("BlanchedAlmond", 0x00ffebcd, rev); /* color 27 r/g/b decimal 255 235 205 */
  8046. coloradd("blue", 0x000000ff, rev); /* color 28 r/g/b decimal 0 0 255 */
  8047. coloradd("blue violet", 0x008a2be2, rev); /* color 29 r/g/b decimal 138 43 226 */
  8048. coloradd("blue1", 0x000000ff, rev); /* color 30 r/g/b decimal 0 0 255 */
  8049. coloradd("blue2", 0x000000ee, rev); /* color 31 r/g/b decimal 0 0 238 */
  8050. coloradd("blue3", 0x000000cd, rev); /* color 32 r/g/b decimal 0 0 205 */
  8051. coloradd("blue4", 0x0000008b, rev); /* color 33 r/g/b decimal 0 0 139 */
  8052. coloradd("BlueViolet", 0x008a2be2, rev); /* color 34 r/g/b decimal 138 43 226 */
  8053. coloradd("brown", 0x00a52a2a, rev); /* color 35 r/g/b decimal 165 42 42 */
  8054. coloradd("brown1", 0x00ff4040, rev); /* color 36 r/g/b decimal 255 64 64 */
  8055. coloradd("brown2", 0x00ee3b3b, rev); /* color 37 r/g/b decimal 238 59 59 */
  8056. coloradd("brown3", 0x00cd3333, rev); /* color 38 r/g/b decimal 205 51 51 */
  8057. coloradd("brown4", 0x008b2323, rev); /* color 39 r/g/b decimal 139 35 35 */
  8058. coloradd("burlywood", 0x00deb887, rev); /* color 40 r/g/b decimal 222 184 135 */
  8059. coloradd("burlywood1", 0x00ffd39b, rev); /* color 41 r/g/b decimal 255 211 155 */
  8060. coloradd("burlywood2", 0x00eec591, rev); /* color 42 r/g/b decimal 238 197 145 */
  8061. coloradd("burlywood3", 0x00cdaa7d, rev); /* color 43 r/g/b decimal 205 170 125 */
  8062. coloradd("burlywood4", 0x008b7355, rev); /* color 44 r/g/b decimal 139 115 85 */
  8063. coloradd("cadet blue", 0x005f9ea0, rev); /* color 45 r/g/b decimal 95 158 160 */
  8064. coloradd("CadetBlue", 0x005f9ea0, rev); /* color 46 r/g/b decimal 95 158 160 */
  8065. coloradd("CadetBlue1", 0x0098f5ff, rev); /* color 47 r/g/b decimal 152 245 255 */
  8066. coloradd("CadetBlue2", 0x008ee5ee, rev); /* color 48 r/g/b decimal 142 229 238 */
  8067. coloradd("CadetBlue3", 0x007ac5cd, rev); /* color 49 r/g/b decimal 122 197 205 */
  8068. coloradd("CadetBlue4", 0x0053868b, rev); /* color 50 r/g/b decimal 83 134 139 */
  8069. coloradd("chartreuse", 0x007fff00, rev); /* color 51 r/g/b decimal 127 255 0 */
  8070. coloradd("chartreuse1", 0x007fff00, rev); /* color 52 r/g/b decimal 127 255 0 */
  8071. coloradd("chartreuse2", 0x0076ee00, rev); /* color 53 r/g/b decimal 118 238 0 */
  8072. coloradd("chartreuse3", 0x0066cd00, rev); /* color 54 r/g/b decimal 102 205 0 */
  8073. coloradd("chartreuse4", 0x00458b00, rev); /* color 55 r/g/b decimal 69 139 0 */
  8074. coloradd("chocolate", 0x00d2691e, rev); /* color 56 r/g/b decimal 210 105 30 */
  8075. coloradd("chocolate1", 0x00ff7f24, rev); /* color 57 r/g/b decimal 255 127 36 */
  8076. coloradd("chocolate2", 0x00ee7621, rev); /* color 58 r/g/b decimal 238 118 33 */
  8077. coloradd("chocolate3", 0x00cd661d, rev); /* color 59 r/g/b decimal 205 102 29 */
  8078. coloradd("chocolate4", 0x008b4513, rev); /* color 60 r/g/b decimal 139 69 19 */
  8079. coloradd("coral", 0x00ff7f50, rev); /* color 61 r/g/b decimal 255 127 80 */
  8080. coloradd("coral1", 0x00ff7256, rev); /* color 62 r/g/b decimal 255 114 86 */
  8081. coloradd("coral2", 0x00ee6a50, rev); /* color 63 r/g/b decimal 238 106 80 */
  8082. coloradd("coral3", 0x00cd5b45, rev); /* color 64 r/g/b decimal 205 91 69 */
  8083. coloradd("coral4", 0x008b3e2f, rev); /* color 65 r/g/b decimal 139 62 47 */
  8084. coloradd("cornflower blue", 0x006495ed, rev); /* color 66 r/g/b decimal 100 149 237 */
  8085. coloradd("CornflowerBlue", 0x006495ed, rev); /* color 67 r/g/b decimal 100 149 237 */
  8086. coloradd("cornsilk", 0x00fff8dc, rev); /* color 68 r/g/b decimal 255 248 220 */
  8087. coloradd("cornsilk1", 0x00fff8dc, rev); /* color 69 r/g/b decimal 255 248 220 */
  8088. coloradd("cornsilk2", 0x00eee8cd, rev); /* color 70 r/g/b decimal 238 232 205 */
  8089. coloradd("cornsilk3", 0x00cdc8b1, rev); /* color 71 r/g/b decimal 205 200 177 */
  8090. coloradd("cornsilk4", 0x008b8878, rev); /* color 72 r/g/b decimal 139 136 120 */
  8091. coloradd("crimson", 0x00dc143c, rev); /* color 73 r/g/b decimal 220 20 60 */
  8092. coloradd("cyan", 0x0000ffff, rev); /* color 74 r/g/b decimal 0 255 255 */
  8093. coloradd("cyan1", 0x0000ffff, rev); /* color 75 r/g/b decimal 0 255 255 */
  8094. coloradd("cyan2", 0x0000eeee, rev); /* color 76 r/g/b decimal 0 238 238 */
  8095. coloradd("cyan3", 0x0000cdcd, rev); /* color 77 r/g/b decimal 0 205 205 */
  8096. coloradd("cyan4", 0x00008b8b, rev); /* color 78 r/g/b decimal 0 139 139 */
  8097. coloradd("dark blue", 0x0000008b, rev); /* color 79 r/g/b decimal 0 0 139 */
  8098. coloradd("dark cyan", 0x00008b8b, rev); /* color 80 r/g/b decimal 0 139 139 */
  8099. coloradd("dark goldenrod", 0x00b8860b, rev); /* color 81 r/g/b decimal 184 134 11 */
  8100. coloradd("dark gray", 0x00a9a9a9, rev); /* color 82 r/g/b decimal 169 169 169 */
  8101. coloradd("dark green", 0x00006400, rev); /* color 83 r/g/b decimal 0 100 0 */
  8102. coloradd("dark grey", 0x00a9a9a9, rev); /* color 84 r/g/b decimal 169 169 169 */
  8103. coloradd("dark khaki", 0x00bdb76b, rev); /* color 85 r/g/b decimal 189 183 107 */
  8104. coloradd("dark magenta", 0x008b008b, rev); /* color 86 r/g/b decimal 139 0 139 */
  8105. coloradd("dark olive green", 0x00556b2f, rev); /* color 87 r/g/b decimal 85 107 47 */
  8106. coloradd("dark orange", 0x00ff8c00, rev); /* color 88 r/g/b decimal 255 140 0 */
  8107. coloradd("dark orchid", 0x009932cc, rev); /* color 89 r/g/b decimal 153 50 204 */
  8108. coloradd("dark red", 0x008b0000, rev); /* color 90 r/g/b decimal 139 0 0 */
  8109. coloradd("dark salmon", 0x00e9967a, rev); /* color 91 r/g/b decimal 233 150 122 */
  8110. coloradd("dark sea green", 0x008fbc8f, rev); /* color 92 r/g/b decimal 143 188 143 */
  8111. coloradd("dark slate blue", 0x00483d8b, rev); /* color 93 r/g/b decimal 72 61 139 */
  8112. coloradd("dark slate gray", 0x002f4f4f, rev); /* color 94 r/g/b decimal 47 79 79 */
  8113. coloradd("dark slate grey", 0x002f4f4f, rev); /* color 95 r/g/b decimal 47 79 79 */
  8114. coloradd("dark turquoise", 0x0000ced1, rev); /* color 96 r/g/b decimal 0 206 209 */
  8115. coloradd("dark violet", 0x009400d3, rev); /* color 97 r/g/b decimal 148 0 211 */
  8116. coloradd("DarkBlue", 0x0000008b, rev); /* color 98 r/g/b decimal 0 0 139 */
  8117. coloradd("DarkCyan", 0x00008b8b, rev); /* color 99 r/g/b decimal 0 139 139 */
  8118. coloradd("DarkGoldenrod", 0x00b8860b, rev); /* color 100 r/g/b decimal 184 134 11 */
  8119. coloradd("DarkGoldenrod1", 0x00ffb90f, rev); /* color 101 r/g/b decimal 255 185 15 */
  8120. coloradd("DarkGoldenrod2", 0x00eead0e, rev); /* color 102 r/g/b decimal 238 173 14 */
  8121. coloradd("DarkGoldenrod3", 0x00cd950c, rev); /* color 103 r/g/b decimal 205 149 12 */
  8122. coloradd("DarkGoldenrod4", 0x008b6508, rev); /* color 104 r/g/b decimal 139 101 8 */
  8123. coloradd("DarkGray", 0x00a9a9a9, rev); /* color 105 r/g/b decimal 169 169 169 */
  8124. coloradd("DarkGreen", 0x00006400, rev); /* color 106 r/g/b decimal 0 100 0 */
  8125. coloradd("DarkGrey", 0x00a9a9a9, rev); /* color 107 r/g/b decimal 169 169 169 */
  8126. coloradd("DarkKhaki", 0x00bdb76b, rev); /* color 108 r/g/b decimal 189 183 107 */
  8127. coloradd("DarkMagenta", 0x008b008b, rev); /* color 109 r/g/b decimal 139 0 139 */
  8128. coloradd("DarkOliveGreen", 0x00556b2f, rev); /* color 110 r/g/b decimal 85 107 47 */
  8129. coloradd("DarkOliveGreen1", 0x00caff70, rev); /* color 111 r/g/b decimal 202 255 112 */
  8130. coloradd("DarkOliveGreen2", 0x00bcee68, rev); /* color 112 r/g/b decimal 188 238 104 */
  8131. coloradd("DarkOliveGreen3", 0x00a2cd5a, rev); /* color 113 r/g/b decimal 162 205 90 */
  8132. coloradd("DarkOliveGreen4", 0x006e8b3d, rev); /* color 114 r/g/b decimal 110 139 61 */
  8133. coloradd("DarkOrange", 0x00ff8c00, rev); /* color 115 r/g/b decimal 255 140 0 */
  8134. coloradd("DarkOrange1", 0x00ff7f00, rev); /* color 116 r/g/b decimal 255 127 0 */
  8135. coloradd("DarkOrange2", 0x00ee7600, rev); /* color 117 r/g/b decimal 238 118 0 */
  8136. coloradd("DarkOrange3", 0x00cd6600, rev); /* color 118 r/g/b decimal 205 102 0 */
  8137. coloradd("DarkOrange4", 0x008b4500, rev); /* color 119 r/g/b decimal 139 69 0 */
  8138. coloradd("DarkOrchid", 0x009932cc, rev); /* color 120 r/g/b decimal 153 50 204 */
  8139. coloradd("DarkOrchid1", 0x00bf3eff, rev); /* color 121 r/g/b decimal 191 62 255 */
  8140. coloradd("DarkOrchid2", 0x00b23aee, rev); /* color 122 r/g/b decimal 178 58 238 */
  8141. coloradd("DarkOrchid3", 0x009a32cd, rev); /* color 123 r/g/b decimal 154 50 205 */
  8142. coloradd("DarkOrchid4", 0x0068228b, rev); /* color 124 r/g/b decimal 104 34 139 */
  8143. coloradd("DarkRed", 0x008b0000, rev); /* color 125 r/g/b decimal 139 0 0 */
  8144. coloradd("DarkSalmon", 0x00e9967a, rev); /* color 126 r/g/b decimal 233 150 122 */
  8145. coloradd("DarkSeaGreen", 0x008fbc8f, rev); /* color 127 r/g/b decimal 143 188 143 */
  8146. coloradd("DarkSeaGreen1", 0x00c1ffc1, rev); /* color 128 r/g/b decimal 193 255 193 */
  8147. coloradd("DarkSeaGreen2", 0x00b4eeb4, rev); /* color 129 r/g/b decimal 180 238 180 */
  8148. coloradd("DarkSeaGreen3", 0x009bcd9b, rev); /* color 130 r/g/b decimal 155 205 155 */
  8149. coloradd("DarkSeaGreen4", 0x00698b69, rev); /* color 131 r/g/b decimal 105 139 105 */
  8150. coloradd("DarkSlateBlue", 0x00483d8b, rev); /* color 132 r/g/b decimal 72 61 139 */
  8151. coloradd("DarkSlateGray", 0x002f4f4f, rev); /* color 133 r/g/b decimal 47 79 79 */
  8152. coloradd("DarkSlateGray1", 0x0097ffff, rev); /* color 134 r/g/b decimal 151 255 255 */
  8153. coloradd("DarkSlateGray2", 0x008deeee, rev); /* color 135 r/g/b decimal 141 238 238 */
  8154. coloradd("DarkSlateGray3", 0x0079cdcd, rev); /* color 136 r/g/b decimal 121 205 205 */
  8155. coloradd("DarkSlateGray4", 0x00528b8b, rev); /* color 137 r/g/b decimal 82 139 139 */
  8156. coloradd("DarkSlateGrey", 0x002f4f4f, rev); /* color 138 r/g/b decimal 47 79 79 */
  8157. coloradd("DarkTurquoise", 0x0000ced1, rev); /* color 139 r/g/b decimal 0 206 209 */
  8158. coloradd("DarkViolet", 0x009400d3, rev); /* color 140 r/g/b decimal 148 0 211 */
  8159. coloradd("deep pink", 0x00ff1493, rev); /* color 141 r/g/b decimal 255 20 147 */
  8160. coloradd("deep sky blue", 0x0000bfff, rev); /* color 142 r/g/b decimal 0 191 255 */
  8161. coloradd("DeepPink", 0x00ff1493, rev); /* color 143 r/g/b decimal 255 20 147 */
  8162. coloradd("DeepPink1", 0x00ff1493, rev); /* color 144 r/g/b decimal 255 20 147 */
  8163. coloradd("DeepPink2", 0x00ee1289, rev); /* color 145 r/g/b decimal 238 18 137 */
  8164. coloradd("DeepPink3", 0x00cd1076, rev); /* color 146 r/g/b decimal 205 16 118 */
  8165. coloradd("DeepPink4", 0x008b0a50, rev); /* color 147 r/g/b decimal 139 10 80 */
  8166. coloradd("DeepSkyBlue", 0x0000bfff, rev); /* color 148 r/g/b decimal 0 191 255 */
  8167. coloradd("DeepSkyBlue1", 0x0000bfff, rev); /* color 149 r/g/b decimal 0 191 255 */
  8168. coloradd("DeepSkyBlue2", 0x0000b2ee, rev); /* color 150 r/g/b decimal 0 178 238 */
  8169. coloradd("DeepSkyBlue3", 0x00009acd, rev); /* color 151 r/g/b decimal 0 154 205 */
  8170. coloradd("DeepSkyBlue4", 0x0000688b, rev); /* color 152 r/g/b decimal 0 104 139 */
  8171. coloradd("dim gray", 0x00696969, rev); /* color 153 r/g/b decimal 105 105 105 */
  8172. coloradd("dim grey", 0x00696969, rev); /* color 154 r/g/b decimal 105 105 105 */
  8173. coloradd("DimGray", 0x00696969, rev); /* color 155 r/g/b decimal 105 105 105 */
  8174. coloradd("DimGrey", 0x00696969, rev); /* color 156 r/g/b decimal 105 105 105 */
  8175. coloradd("dodger blue", 0x001e90ff, rev); /* color 157 r/g/b decimal 30 144 255 */
  8176. coloradd("DodgerBlue", 0x001e90ff, rev); /* color 158 r/g/b decimal 30 144 255 */
  8177. coloradd("DodgerBlue1", 0x001e90ff, rev); /* color 159 r/g/b decimal 30 144 255 */
  8178. coloradd("DodgerBlue2", 0x001c86ee, rev); /* color 160 r/g/b decimal 28 134 238 */
  8179. coloradd("DodgerBlue3", 0x001874cd, rev); /* color 161 r/g/b decimal 24 116 205 */
  8180. coloradd("DodgerBlue4", 0x00104e8b, rev); /* color 162 r/g/b decimal 16 78 139 */
  8181. coloradd("firebrick", 0x00b22222, rev); /* color 163 r/g/b decimal 178 34 34 */
  8182. coloradd("firebrick1", 0x00ff3030, rev); /* color 164 r/g/b decimal 255 48 48 */
  8183. coloradd("firebrick2", 0x00ee2c2c, rev); /* color 165 r/g/b decimal 238 44 44 */
  8184. coloradd("firebrick3", 0x00cd2626, rev); /* color 166 r/g/b decimal 205 38 38 */
  8185. coloradd("firebrick4", 0x008b1a1a, rev); /* color 167 r/g/b decimal 139 26 26 */
  8186. coloradd("floral white", 0x00fffaf0, rev); /* color 168 r/g/b decimal 255 250 240 */
  8187. coloradd("FloralWhite", 0x00fffaf0, rev); /* color 169 r/g/b decimal 255 250 240 */
  8188. coloradd("forest green", 0x00228b22, rev); /* color 170 r/g/b decimal 34 139 34 */
  8189. coloradd("ForestGreen", 0x00228b22, rev); /* color 171 r/g/b decimal 34 139 34 */
  8190. coloradd("fuchsia", 0x00ff00ff, rev); /* color 172 r/g/b decimal 255 0 255 */
  8191. coloradd("gainsboro", 0x00dcdcdc, rev); /* color 173 r/g/b decimal 220 220 220 */
  8192. coloradd("ghost white", 0x00f8f8ff, rev); /* color 174 r/g/b decimal 248 248 255 */
  8193. coloradd("GhostWhite", 0x00f8f8ff, rev); /* color 175 r/g/b decimal 248 248 255 */
  8194. coloradd("gold", 0x00ffd700, rev); /* color 176 r/g/b decimal 255 215 0 */
  8195. coloradd("gold1", 0x00ffd700, rev); /* color 177 r/g/b decimal 255 215 0 */
  8196. coloradd("gold2", 0x00eec900, rev); /* color 178 r/g/b decimal 238 201 0 */
  8197. coloradd("gold3", 0x00cdad00, rev); /* color 179 r/g/b decimal 205 173 0 */
  8198. coloradd("gold4", 0x008b7500, rev); /* color 180 r/g/b decimal 139 117 0 */
  8199. coloradd("goldenrod", 0x00daa520, rev); /* color 181 r/g/b decimal 218 165 32 */
  8200. coloradd("goldenrod1", 0x00ffc125, rev); /* color 182 r/g/b decimal 255 193 37 */
  8201. coloradd("goldenrod2", 0x00eeb422, rev); /* color 183 r/g/b decimal 238 180 34 */
  8202. coloradd("goldenrod3", 0x00cd9b1d, rev); /* color 184 r/g/b decimal 205 155 29 */
  8203. coloradd("goldenrod4", 0x008b6914, rev); /* color 185 r/g/b decimal 139 105 20 */
  8204. coloradd("gray", 0x00bebebe, rev); /* color 186 r/g/b decimal 190 190 190 */
  8205. coloradd("gray0", 0x00000000, rev); /* color 187 r/g/b decimal 0 0 0 */
  8206. coloradd("gray1", 0x00030303, rev); /* color 188 r/g/b decimal 3 3 3 */
  8207. coloradd("gray10", 0x001a1a1a, rev); /* color 189 r/g/b decimal 26 26 26 */
  8208. coloradd("gray100", 0x00ffffff, rev); /* color 190 r/g/b decimal 255 255 255 */
  8209. coloradd("gray11", 0x001c1c1c, rev); /* color 191 r/g/b decimal 28 28 28 */
  8210. coloradd("gray12", 0x001f1f1f, rev); /* color 192 r/g/b decimal 31 31 31 */
  8211. coloradd("gray13", 0x00212121, rev); /* color 193 r/g/b decimal 33 33 33 */
  8212. coloradd("gray14", 0x00242424, rev); /* color 194 r/g/b decimal 36 36 36 */
  8213. coloradd("gray15", 0x00262626, rev); /* color 195 r/g/b decimal 38 38 38 */
  8214. coloradd("gray16", 0x00292929, rev); /* color 196 r/g/b decimal 41 41 41 */
  8215. coloradd("gray17", 0x002b2b2b, rev); /* color 197 r/g/b decimal 43 43 43 */
  8216. coloradd("gray18", 0x002e2e2e, rev); /* color 198 r/g/b decimal 46 46 46 */
  8217. coloradd("gray19", 0x00303030, rev); /* color 199 r/g/b decimal 48 48 48 */
  8218. coloradd("gray2", 0x00050505, rev); /* color 200 r/g/b decimal 5 5 5 */
  8219. coloradd("gray20", 0x00333333, rev); /* color 201 r/g/b decimal 51 51 51 */
  8220. coloradd("gray21", 0x00363636, rev); /* color 202 r/g/b decimal 54 54 54 */
  8221. coloradd("gray22", 0x00383838, rev); /* color 203 r/g/b decimal 56 56 56 */
  8222. coloradd("gray23", 0x003b3b3b, rev); /* color 204 r/g/b decimal 59 59 59 */
  8223. coloradd("gray24", 0x003d3d3d, rev); /* color 205 r/g/b decimal 61 61 61 */
  8224. coloradd("gray25", 0x00404040, rev); /* color 206 r/g/b decimal 64 64 64 */
  8225. coloradd("gray26", 0x00424242, rev); /* color 207 r/g/b decimal 66 66 66 */
  8226. coloradd("gray27", 0x00454545, rev); /* color 208 r/g/b decimal 69 69 69 */
  8227. coloradd("gray28", 0x00474747, rev); /* color 209 r/g/b decimal 71 71 71 */
  8228. coloradd("gray29", 0x004a4a4a, rev); /* color 210 r/g/b decimal 74 74 74 */
  8229. coloradd("gray3", 0x00080808, rev); /* color 211 r/g/b decimal 8 8 8 */
  8230. coloradd("gray30", 0x004d4d4d, rev); /* color 212 r/g/b decimal 77 77 77 */
  8231. coloradd("gray31", 0x004f4f4f, rev); /* color 213 r/g/b decimal 79 79 79 */
  8232. coloradd("gray32", 0x00525252, rev); /* color 214 r/g/b decimal 82 82 82 */
  8233. coloradd("gray33", 0x00545454, rev); /* color 215 r/g/b decimal 84 84 84 */
  8234. coloradd("gray34", 0x00575757, rev); /* color 216 r/g/b decimal 87 87 87 */
  8235. coloradd("gray35", 0x00595959, rev); /* color 217 r/g/b decimal 89 89 89 */
  8236. coloradd("gray36", 0x005c5c5c, rev); /* color 218 r/g/b decimal 92 92 92 */
  8237. coloradd("gray37", 0x005e5e5e, rev); /* color 219 r/g/b decimal 94 94 94 */
  8238. coloradd("gray38", 0x00616161, rev); /* color 220 r/g/b decimal 97 97 97 */
  8239. coloradd("gray39", 0x00636363, rev); /* color 221 r/g/b decimal 99 99 99 */
  8240. coloradd("gray4", 0x000a0a0a, rev); /* color 222 r/g/b decimal 10 10 10 */
  8241. coloradd("gray40", 0x00666666, rev); /* color 223 r/g/b decimal 102 102 102 */
  8242. coloradd("gray41", 0x00696969, rev); /* color 224 r/g/b decimal 105 105 105 */
  8243. coloradd("gray42", 0x006b6b6b, rev); /* color 225 r/g/b decimal 107 107 107 */
  8244. coloradd("gray43", 0x006e6e6e, rev); /* color 226 r/g/b decimal 110 110 110 */
  8245. coloradd("gray44", 0x00707070, rev); /* color 227 r/g/b decimal 112 112 112 */
  8246. coloradd("gray45", 0x00737373, rev); /* color 228 r/g/b decimal 115 115 115 */
  8247. coloradd("gray46", 0x00757575, rev); /* color 229 r/g/b decimal 117 117 117 */
  8248. coloradd("gray47", 0x00787878, rev); /* color 230 r/g/b decimal 120 120 120 */
  8249. coloradd("gray48", 0x007a7a7a, rev); /* color 231 r/g/b decimal 122 122 122 */
  8250. coloradd("gray49", 0x007d7d7d, rev); /* color 232 r/g/b decimal 125 125 125 */
  8251. coloradd("gray5", 0x000d0d0d, rev); /* color 233 r/g/b decimal 13 13 13 */
  8252. coloradd("gray50", 0x007f7f7f, rev); /* color 234 r/g/b decimal 127 127 127 */
  8253. coloradd("gray51", 0x00828282, rev); /* color 235 r/g/b decimal 130 130 130 */
  8254. coloradd("gray52", 0x00858585, rev); /* color 236 r/g/b decimal 133 133 133 */
  8255. coloradd("gray53", 0x00878787, rev); /* color 237 r/g/b decimal 135 135 135 */
  8256. coloradd("gray54", 0x008a8a8a, rev); /* color 238 r/g/b decimal 138 138 138 */
  8257. coloradd("gray55", 0x008c8c8c, rev); /* color 239 r/g/b decimal 140 140 140 */
  8258. coloradd("gray56", 0x008f8f8f, rev); /* color 240 r/g/b decimal 143 143 143 */
  8259. coloradd("gray57", 0x00919191, rev); /* color 241 r/g/b decimal 145 145 145 */
  8260. coloradd("gray58", 0x00949494, rev); /* color 242 r/g/b decimal 148 148 148 */
  8261. coloradd("gray59", 0x00969696, rev); /* color 243 r/g/b decimal 150 150 150 */
  8262. coloradd("gray6", 0x000f0f0f, rev); /* color 244 r/g/b decimal 15 15 15 */
  8263. coloradd("gray60", 0x00999999, rev); /* color 245 r/g/b decimal 153 153 153 */
  8264. coloradd("gray61", 0x009c9c9c, rev); /* color 246 r/g/b decimal 156 156 156 */
  8265. coloradd("gray62", 0x009e9e9e, rev); /* color 247 r/g/b decimal 158 158 158 */
  8266. coloradd("gray63", 0x00a1a1a1, rev); /* color 248 r/g/b decimal 161 161 161 */
  8267. coloradd("gray64", 0x00a3a3a3, rev); /* color 249 r/g/b decimal 163 163 163 */
  8268. coloradd("gray65", 0x00a6a6a6, rev); /* color 250 r/g/b decimal 166 166 166 */
  8269. coloradd("gray66", 0x00a8a8a8, rev); /* color 251 r/g/b decimal 168 168 168 */
  8270. coloradd("gray67", 0x00ababab, rev); /* color 252 r/g/b decimal 171 171 171 */
  8271. coloradd("gray68", 0x00adadad, rev); /* color 253 r/g/b decimal 173 173 173 */
  8272. coloradd("gray69", 0x00b0b0b0, rev); /* color 254 r/g/b decimal 176 176 176 */
  8273. coloradd("gray7", 0x00121212, rev); /* color 255 r/g/b decimal 18 18 18 */
  8274. coloradd("gray70", 0x00b3b3b3, rev); /* color 256 r/g/b decimal 179 179 179 */
  8275. coloradd("gray71", 0x00b5b5b5, rev); /* color 257 r/g/b decimal 181 181 181 */
  8276. coloradd("gray72", 0x00b8b8b8, rev); /* color 258 r/g/b decimal 184 184 184 */
  8277. coloradd("gray73", 0x00bababa, rev); /* color 259 r/g/b decimal 186 186 186 */
  8278. coloradd("gray74", 0x00bdbdbd, rev); /* color 260 r/g/b decimal 189 189 189 */
  8279. coloradd("gray75", 0x00bfbfbf, rev); /* color 261 r/g/b decimal 191 191 191 */
  8280. coloradd("gray76", 0x00c2c2c2, rev); /* color 262 r/g/b decimal 194 194 194 */
  8281. coloradd("gray77", 0x00c4c4c4, rev); /* color 263 r/g/b decimal 196 196 196 */
  8282. coloradd("gray78", 0x00c7c7c7, rev); /* color 264 r/g/b decimal 199 199 199 */
  8283. coloradd("gray79", 0x00c9c9c9, rev); /* color 265 r/g/b decimal 201 201 201 */
  8284. coloradd("gray8", 0x00141414, rev); /* color 266 r/g/b decimal 20 20 20 */
  8285. coloradd("gray80", 0x00cccccc, rev); /* color 267 r/g/b decimal 204 204 204 */
  8286. coloradd("gray81", 0x00cfcfcf, rev); /* color 268 r/g/b decimal 207 207 207 */
  8287. coloradd("gray82", 0x00d1d1d1, rev); /* color 269 r/g/b decimal 209 209 209 */
  8288. coloradd("gray83", 0x00d4d4d4, rev); /* color 270 r/g/b decimal 212 212 212 */
  8289. coloradd("gray84", 0x00d6d6d6, rev); /* color 271 r/g/b decimal 214 214 214 */
  8290. coloradd("gray85", 0x00d9d9d9, rev); /* color 272 r/g/b decimal 217 217 217 */
  8291. coloradd("gray86", 0x00dbdbdb, rev); /* color 273 r/g/b decimal 219 219 219 */
  8292. coloradd("gray87", 0x00dedede, rev); /* color 274 r/g/b decimal 222 222 222 */
  8293. coloradd("gray88", 0x00e0e0e0, rev); /* color 275 r/g/b decimal 224 224 224 */
  8294. coloradd("gray89", 0x00e3e3e3, rev); /* color 276 r/g/b decimal 227 227 227 */
  8295. coloradd("gray9", 0x00171717, rev); /* color 277 r/g/b decimal 23 23 23 */
  8296. coloradd("gray90", 0x00e5e5e5, rev); /* color 278 r/g/b decimal 229 229 229 */
  8297. coloradd("gray91", 0x00e8e8e8, rev); /* color 279 r/g/b decimal 232 232 232 */
  8298. coloradd("gray92", 0x00ebebeb, rev); /* color 280 r/g/b decimal 235 235 235 */
  8299. coloradd("gray93", 0x00ededed, rev); /* color 281 r/g/b decimal 237 237 237 */
  8300. coloradd("gray94", 0x00f0f0f0, rev); /* color 282 r/g/b decimal 240 240 240 */
  8301. coloradd("gray95", 0x00f2f2f2, rev); /* color 283 r/g/b decimal 242 242 242 */
  8302. coloradd("gray96", 0x00f5f5f5, rev); /* color 284 r/g/b decimal 245 245 245 */
  8303. coloradd("gray97", 0x00f7f7f7, rev); /* color 285 r/g/b decimal 247 247 247 */
  8304. coloradd("gray98", 0x00fafafa, rev); /* color 286 r/g/b decimal 250 250 250 */
  8305. coloradd("gray99", 0x00fcfcfc, rev); /* color 287 r/g/b decimal 252 252 252 */
  8306. coloradd("green", 0x0000ff00, rev); /* color 288 r/g/b decimal 0 255 0 */
  8307. coloradd("green yellow", 0x00adff2f, rev); /* color 289 r/g/b decimal 173 255 47 */
  8308. coloradd("green1", 0x0000ff00, rev); /* color 290 r/g/b decimal 0 255 0 */
  8309. coloradd("green2", 0x0000ee00, rev); /* color 291 r/g/b decimal 0 238 0 */
  8310. coloradd("green3", 0x0000cd00, rev); /* color 292 r/g/b decimal 0 205 0 */
  8311. coloradd("green4", 0x00008b00, rev); /* color 293 r/g/b decimal 0 139 0 */
  8312. coloradd("GreenYellow", 0x00adff2f, rev); /* color 294 r/g/b decimal 173 255 47 */
  8313. coloradd("grey", 0x00bebebe, rev); /* color 295 r/g/b decimal 190 190 190 */
  8314. coloradd("grey0", 0x00000000, rev); /* color 296 r/g/b decimal 0 0 0 */
  8315. coloradd("grey1", 0x00030303, rev); /* color 297 r/g/b decimal 3 3 3 */
  8316. coloradd("grey10", 0x001a1a1a, rev); /* color 298 r/g/b decimal 26 26 26 */
  8317. coloradd("grey100", 0x00ffffff, rev); /* color 299 r/g/b decimal 255 255 255 */
  8318. coloradd("grey11", 0x001c1c1c, rev); /* color 300 r/g/b decimal 28 28 28 */
  8319. coloradd("grey12", 0x001f1f1f, rev); /* color 301 r/g/b decimal 31 31 31 */
  8320. coloradd("grey13", 0x00212121, rev); /* color 302 r/g/b decimal 33 33 33 */
  8321. coloradd("grey14", 0x00242424, rev); /* color 303 r/g/b decimal 36 36 36 */
  8322. coloradd("grey15", 0x00262626, rev); /* color 304 r/g/b decimal 38 38 38 */
  8323. coloradd("grey16", 0x00292929, rev); /* color 305 r/g/b decimal 41 41 41 */
  8324. coloradd("grey17", 0x002b2b2b, rev); /* color 306 r/g/b decimal 43 43 43 */
  8325. coloradd("grey18", 0x002e2e2e, rev); /* color 307 r/g/b decimal 46 46 46 */
  8326. coloradd("grey19", 0x00303030, rev); /* color 308 r/g/b decimal 48 48 48 */
  8327. coloradd("grey2", 0x00050505, rev); /* color 309 r/g/b decimal 5 5 5 */
  8328. coloradd("grey20", 0x00333333, rev); /* color 310 r/g/b decimal 51 51 51 */
  8329. coloradd("grey21", 0x00363636, rev); /* color 311 r/g/b decimal 54 54 54 */
  8330. coloradd("grey22", 0x00383838, rev); /* color 312 r/g/b decimal 56 56 56 */
  8331. coloradd("grey23", 0x003b3b3b, rev); /* color 313 r/g/b decimal 59 59 59 */
  8332. coloradd("grey24", 0x003d3d3d, rev); /* color 314 r/g/b decimal 61 61 61 */
  8333. coloradd("grey25", 0x00404040, rev); /* color 315 r/g/b decimal 64 64 64 */
  8334. coloradd("grey26", 0x00424242, rev); /* color 316 r/g/b decimal 66 66 66 */
  8335. coloradd("grey27", 0x00454545, rev); /* color 317 r/g/b decimal 69 69 69 */
  8336. coloradd("grey28", 0x00474747, rev); /* color 318 r/g/b decimal 71 71 71 */
  8337. coloradd("grey29", 0x004a4a4a, rev); /* color 319 r/g/b decimal 74 74 74 */
  8338. coloradd("grey3", 0x00080808, rev); /* color 320 r/g/b decimal 8 8 8 */
  8339. coloradd("grey30", 0x004d4d4d, rev); /* color 321 r/g/b decimal 77 77 77 */
  8340. coloradd("grey31", 0x004f4f4f, rev); /* color 322 r/g/b decimal 79 79 79 */
  8341. coloradd("grey32", 0x00525252, rev); /* color 323 r/g/b decimal 82 82 82 */
  8342. coloradd("grey33", 0x00545454, rev); /* color 324 r/g/b decimal 84 84 84 */
  8343. coloradd("grey34", 0x00575757, rev); /* color 325 r/g/b decimal 87 87 87 */
  8344. coloradd("grey35", 0x00595959, rev); /* color 326 r/g/b decimal 89 89 89 */
  8345. coloradd("grey36", 0x005c5c5c, rev); /* color 327 r/g/b decimal 92 92 92 */
  8346. coloradd("grey37", 0x005e5e5e, rev); /* color 328 r/g/b decimal 94 94 94 */
  8347. coloradd("grey38", 0x00616161, rev); /* color 329 r/g/b decimal 97 97 97 */
  8348. coloradd("grey39", 0x00636363, rev); /* color 330 r/g/b decimal 99 99 99 */
  8349. coloradd("grey4", 0x000a0a0a, rev); /* color 331 r/g/b decimal 10 10 10 */
  8350. coloradd("grey40", 0x00666666, rev); /* color 332 r/g/b decimal 102 102 102 */
  8351. coloradd("grey41", 0x00696969, rev); /* color 333 r/g/b decimal 105 105 105 */
  8352. coloradd("grey42", 0x006b6b6b, rev); /* color 334 r/g/b decimal 107 107 107 */
  8353. coloradd("grey43", 0x006e6e6e, rev); /* color 335 r/g/b decimal 110 110 110 */
  8354. coloradd("grey44", 0x00707070, rev); /* color 336 r/g/b decimal 112 112 112 */
  8355. coloradd("grey45", 0x00737373, rev); /* color 337 r/g/b decimal 115 115 115 */
  8356. coloradd("grey46", 0x00757575, rev); /* color 338 r/g/b decimal 117 117 117 */
  8357. coloradd("grey47", 0x00787878, rev); /* color 339 r/g/b decimal 120 120 120 */
  8358. coloradd("grey48", 0x007a7a7a, rev); /* color 340 r/g/b decimal 122 122 122 */
  8359. coloradd("grey49", 0x007d7d7d, rev); /* color 341 r/g/b decimal 125 125 125 */
  8360. coloradd("grey5", 0x000d0d0d, rev); /* color 342 r/g/b decimal 13 13 13 */
  8361. coloradd("grey50", 0x007f7f7f, rev); /* color 343 r/g/b decimal 127 127 127 */
  8362. coloradd("grey51", 0x00828282, rev); /* color 344 r/g/b decimal 130 130 130 */
  8363. coloradd("grey52", 0x00858585, rev); /* color 345 r/g/b decimal 133 133 133 */
  8364. coloradd("grey53", 0x00878787, rev); /* color 346 r/g/b decimal 135 135 135 */
  8365. coloradd("grey54", 0x008a8a8a, rev); /* color 347 r/g/b decimal 138 138 138 */
  8366. coloradd("grey55", 0x008c8c8c, rev); /* color 348 r/g/b decimal 140 140 140 */
  8367. coloradd("grey56", 0x008f8f8f, rev); /* color 349 r/g/b decimal 143 143 143 */
  8368. coloradd("grey57", 0x00919191, rev); /* color 350 r/g/b decimal 145 145 145 */
  8369. coloradd("grey58", 0x00949494, rev); /* color 351 r/g/b decimal 148 148 148 */
  8370. coloradd("grey59", 0x00969696, rev); /* color 352 r/g/b decimal 150 150 150 */
  8371. coloradd("grey6", 0x000f0f0f, rev); /* color 353 r/g/b decimal 15 15 15 */
  8372. coloradd("grey60", 0x00999999, rev); /* color 354 r/g/b decimal 153 153 153 */
  8373. coloradd("grey61", 0x009c9c9c, rev); /* color 355 r/g/b decimal 156 156 156 */
  8374. coloradd("grey62", 0x009e9e9e, rev); /* color 356 r/g/b decimal 158 158 158 */
  8375. coloradd("grey63", 0x00a1a1a1, rev); /* color 357 r/g/b decimal 161 161 161 */
  8376. coloradd("grey64", 0x00a3a3a3, rev); /* color 358 r/g/b decimal 163 163 163 */
  8377. coloradd("grey65", 0x00a6a6a6, rev); /* color 359 r/g/b decimal 166 166 166 */
  8378. coloradd("grey66", 0x00a8a8a8, rev); /* color 360 r/g/b decimal 168 168 168 */
  8379. coloradd("grey67", 0x00ababab, rev); /* color 361 r/g/b decimal 171 171 171 */
  8380. coloradd("grey68", 0x00adadad, rev); /* color 362 r/g/b decimal 173 173 173 */
  8381. coloradd("grey69", 0x00b0b0b0, rev); /* color 363 r/g/b decimal 176 176 176 */
  8382. coloradd("grey7", 0x00121212, rev); /* color 364 r/g/b decimal 18 18 18 */
  8383. coloradd("grey70", 0x00b3b3b3, rev); /* color 365 r/g/b decimal 179 179 179 */
  8384. coloradd("grey71", 0x00b5b5b5, rev); /* color 366 r/g/b decimal 181 181 181 */
  8385. coloradd("grey72", 0x00b8b8b8, rev); /* color 367 r/g/b decimal 184 184 184 */
  8386. coloradd("grey73", 0x00bababa, rev); /* color 368 r/g/b decimal 186 186 186 */
  8387. coloradd("grey74", 0x00bdbdbd, rev); /* color 369 r/g/b decimal 189 189 189 */
  8388. coloradd("grey75", 0x00bfbfbf, rev); /* color 370 r/g/b decimal 191 191 191 */
  8389. coloradd("grey76", 0x00c2c2c2, rev); /* color 371 r/g/b decimal 194 194 194 */
  8390. coloradd("grey77", 0x00c4c4c4, rev); /* color 372 r/g/b decimal 196 196 196 */
  8391. coloradd("grey78", 0x00c7c7c7, rev); /* color 373 r/g/b decimal 199 199 199 */
  8392. coloradd("grey79", 0x00c9c9c9, rev); /* color 374 r/g/b decimal 201 201 201 */
  8393. coloradd("grey8", 0x00141414, rev); /* color 375 r/g/b decimal 20 20 20 */
  8394. coloradd("grey80", 0x00cccccc, rev); /* color 376 r/g/b decimal 204 204 204 */
  8395. coloradd("grey81", 0x00cfcfcf, rev); /* color 377 r/g/b decimal 207 207 207 */
  8396. coloradd("grey82", 0x00d1d1d1, rev); /* color 378 r/g/b decimal 209 209 209 */
  8397. coloradd("grey83", 0x00d4d4d4, rev); /* color 379 r/g/b decimal 212 212 212 */
  8398. coloradd("grey84", 0x00d6d6d6, rev); /* color 380 r/g/b decimal 214 214 214 */
  8399. coloradd("grey85", 0x00d9d9d9, rev); /* color 381 r/g/b decimal 217 217 217 */
  8400. coloradd("grey86", 0x00dbdbdb, rev); /* color 382 r/g/b decimal 219 219 219 */
  8401. coloradd("grey87", 0x00dedede, rev); /* color 383 r/g/b decimal 222 222 222 */
  8402. coloradd("grey88", 0x00e0e0e0, rev); /* color 384 r/g/b decimal 224 224 224 */
  8403. coloradd("grey89", 0x00e3e3e3, rev); /* color 385 r/g/b decimal 227 227 227 */
  8404. coloradd("grey9", 0x00171717, rev); /* color 386 r/g/b decimal 23 23 23 */
  8405. coloradd("grey90", 0x00e5e5e5, rev); /* color 387 r/g/b decimal 229 229 229 */
  8406. coloradd("grey91", 0x00e8e8e8, rev); /* color 388 r/g/b decimal 232 232 232 */
  8407. coloradd("grey92", 0x00ebebeb, rev); /* color 389 r/g/b decimal 235 235 235 */
  8408. coloradd("grey93", 0x00ededed, rev); /* color 390 r/g/b decimal 237 237 237 */
  8409. coloradd("grey94", 0x00f0f0f0, rev); /* color 391 r/g/b decimal 240 240 240 */
  8410. coloradd("grey95", 0x00f2f2f2, rev); /* color 392 r/g/b decimal 242 242 242 */
  8411. coloradd("grey96", 0x00f5f5f5, rev); /* color 393 r/g/b decimal 245 245 245 */
  8412. coloradd("grey97", 0x00f7f7f7, rev); /* color 394 r/g/b decimal 247 247 247 */
  8413. coloradd("grey98", 0x00fafafa, rev); /* color 395 r/g/b decimal 250 250 250 */
  8414. coloradd("grey99", 0x00fcfcfc, rev); /* color 396 r/g/b decimal 252 252 252 */
  8415. coloradd("honeydew", 0x00f0fff0, rev); /* color 397 r/g/b decimal 240 255 240 */
  8416. coloradd("honeydew1", 0x00f0fff0, rev); /* color 398 r/g/b decimal 240 255 240 */
  8417. coloradd("honeydew2", 0x00e0eee0, rev); /* color 399 r/g/b decimal 224 238 224 */
  8418. coloradd("honeydew3", 0x00c1cdc1, rev); /* color 400 r/g/b decimal 193 205 193 */
  8419. coloradd("honeydew4", 0x00838b83, rev); /* color 401 r/g/b decimal 131 139 131 */
  8420. coloradd("hot pink", 0x00ff69b4, rev); /* color 402 r/g/b decimal 255 105 180 */
  8421. coloradd("HotPink", 0x00ff69b4, rev); /* color 403 r/g/b decimal 255 105 180 */
  8422. coloradd("HotPink1", 0x00ff6eb4, rev); /* color 404 r/g/b decimal 255 110 180 */
  8423. coloradd("HotPink2", 0x00ee6aa7, rev); /* color 405 r/g/b decimal 238 106 167 */
  8424. coloradd("HotPink3", 0x00cd6090, rev); /* color 406 r/g/b decimal 205 96 144 */
  8425. coloradd("HotPink4", 0x008b3a62, rev); /* color 407 r/g/b decimal 139 58 98 */
  8426. coloradd("indian red", 0x00cd5c5c, rev); /* color 408 r/g/b decimal 205 92 92 */
  8427. coloradd("IndianRed", 0x00cd5c5c, rev); /* color 409 r/g/b decimal 205 92 92 */
  8428. coloradd("IndianRed1", 0x00ff6a6a, rev); /* color 410 r/g/b decimal 255 106 106 */
  8429. coloradd("IndianRed2", 0x00ee6363, rev); /* color 411 r/g/b decimal 238 99 99 */
  8430. coloradd("IndianRed3", 0x00cd5555, rev); /* color 412 r/g/b decimal 205 85 85 */
  8431. coloradd("IndianRed4", 0x008b3a3a, rev); /* color 413 r/g/b decimal 139 58 58 */
  8432. coloradd("indigo", 0x004b0082, rev); /* color 414 r/g/b decimal 75 0 130 */
  8433. coloradd("ivory", 0x00fffff0, rev); /* color 415 r/g/b decimal 255 255 240 */
  8434. coloradd("ivory1", 0x00fffff0, rev); /* color 416 r/g/b decimal 255 255 240 */
  8435. coloradd("ivory2", 0x00eeeee0, rev); /* color 417 r/g/b decimal 238 238 224 */
  8436. coloradd("ivory3", 0x00cdcdc1, rev); /* color 418 r/g/b decimal 205 205 193 */
  8437. coloradd("ivory4", 0x008b8b83, rev); /* color 419 r/g/b decimal 139 139 131 */
  8438. coloradd("khaki", 0x00f0e68c, rev); /* color 420 r/g/b decimal 240 230 140 */
  8439. coloradd("khaki1", 0x00fff68f, rev); /* color 421 r/g/b decimal 255 246 143 */
  8440. coloradd("khaki2", 0x00eee685, rev); /* color 422 r/g/b decimal 238 230 133 */
  8441. coloradd("khaki3", 0x00cdc673, rev); /* color 423 r/g/b decimal 205 198 115 */
  8442. coloradd("khaki4", 0x008b864e, rev); /* color 424 r/g/b decimal 139 134 78 */
  8443. coloradd("lavender", 0x00e6e6fa, rev); /* color 425 r/g/b decimal 230 230 250 */
  8444. coloradd("lavender blush", 0x00fff0f5, rev); /* color 426 r/g/b decimal 255 240 245 */
  8445. coloradd("LavenderBlush", 0x00fff0f5, rev); /* color 427 r/g/b decimal 255 240 245 */
  8446. coloradd("LavenderBlush1", 0x00fff0f5, rev); /* color 428 r/g/b decimal 255 240 245 */
  8447. coloradd("LavenderBlush2", 0x00eee0e5, rev); /* color 429 r/g/b decimal 238 224 229 */
  8448. coloradd("LavenderBlush3", 0x00cdc1c5, rev); /* color 430 r/g/b decimal 205 193 197 */
  8449. coloradd("LavenderBlush4", 0x008b8386, rev); /* color 431 r/g/b decimal 139 131 134 */
  8450. coloradd("lawn green", 0x007cfc00, rev); /* color 432 r/g/b decimal 124 252 0 */
  8451. coloradd("LawnGreen", 0x007cfc00, rev); /* color 433 r/g/b decimal 124 252 0 */
  8452. coloradd("lemon chiffon", 0x00fffacd, rev); /* color 434 r/g/b decimal 255 250 205 */
  8453. coloradd("LemonChiffon", 0x00fffacd, rev); /* color 435 r/g/b decimal 255 250 205 */
  8454. coloradd("LemonChiffon1", 0x00fffacd, rev); /* color 436 r/g/b decimal 255 250 205 */
  8455. coloradd("LemonChiffon2", 0x00eee9bf, rev); /* color 437 r/g/b decimal 238 233 191 */
  8456. coloradd("LemonChiffon3", 0x00cdc9a5, rev); /* color 438 r/g/b decimal 205 201 165 */
  8457. coloradd("LemonChiffon4", 0x008b8970, rev); /* color 439 r/g/b decimal 139 137 112 */
  8458. coloradd("light blue", 0x00add8e6, rev); /* color 440 r/g/b decimal 173 216 230 */
  8459. coloradd("light coral", 0x00f08080, rev); /* color 441 r/g/b decimal 240 128 128 */
  8460. coloradd("light cyan", 0x00e0ffff, rev); /* color 442 r/g/b decimal 224 255 255 */
  8461. coloradd("light goldenrod", 0x00eedd82, rev); /* color 443 r/g/b decimal 238 221 130 */
  8462. coloradd("light goldenrod yellow", 0x00fafad2, rev); /* color 444 r/g/b decimal 250 250 210 */
  8463. coloradd("light gray", 0x00d3d3d3, rev); /* color 445 r/g/b decimal 211 211 211 */
  8464. coloradd("light green", 0x0090ee90, rev); /* color 446 r/g/b decimal 144 238 144 */
  8465. coloradd("light grey", 0x00d3d3d3, rev); /* color 447 r/g/b decimal 211 211 211 */
  8466. /* GCC-7 uses lightgrey but it should be LightGrey or "light grey", this patch to get GCC7 colorized */
  8467. /* coloradd ("lightgrey", 0x00d3d3d3, rev); color 447 r/g/b decimal 211 211 211 --> Not in standard definition */
  8468. coloradd("light pink", 0x00ffb6c1, rev); /* color 448 r/g/b decimal 255 182 193 */
  8469. coloradd("light salmon", 0x00ffa07a, rev); /* color 449 r/g/b decimal 255 160 122 */
  8470. coloradd("light sea green", 0x0020b2aa, rev); /* color 450 r/g/b decimal 32 178 170 */
  8471. coloradd("light sky blue", 0x0087cefa, rev); /* color 451 r/g/b decimal 135 206 250 */
  8472. coloradd("light slate blue", 0x008470ff, rev); /* color 452 r/g/b decimal 132 112 255 */
  8473. coloradd("light slate gray", 0x00778899, rev); /* color 453 r/g/b decimal 119 136 153 */
  8474. coloradd("light slate grey", 0x00778899, rev); /* color 454 r/g/b decimal 119 136 153 */
  8475. coloradd("light steel blue", 0x00b0c4de, rev); /* color 455 r/g/b decimal 176 196 222 */
  8476. coloradd("light yellow", 0x00ffffe0, rev); /* color 456 r/g/b decimal 255 255 224 */
  8477. coloradd("LightBlue", 0x00add8e6, rev); /* color 457 r/g/b decimal 173 216 230 */
  8478. coloradd("LightBlue1", 0x00bfefff, rev); /* color 458 r/g/b decimal 191 239 255 */
  8479. coloradd("LightBlue2", 0x00b2dfee, rev); /* color 459 r/g/b decimal 178 223 238 */
  8480. coloradd("LightBlue3", 0x009ac0cd, rev); /* color 460 r/g/b decimal 154 192 205 */
  8481. coloradd("LightBlue4", 0x0068838b, rev); /* color 461 r/g/b decimal 104 131 139 */
  8482. coloradd("LightCoral", 0x00f08080, rev); /* color 462 r/g/b decimal 240 128 128 */
  8483. coloradd("LightCyan", 0x00e0ffff, rev); /* color 463 r/g/b decimal 224 255 255 */
  8484. coloradd("LightCyan1", 0x00e0ffff, rev); /* color 464 r/g/b decimal 224 255 255 */
  8485. coloradd("LightCyan2", 0x00d1eeee, rev); /* color 465 r/g/b decimal 209 238 238 */
  8486. coloradd("LightCyan3", 0x00b4cdcd, rev); /* color 466 r/g/b decimal 180 205 205 */
  8487. coloradd("LightCyan4", 0x007a8b8b, rev); /* color 467 r/g/b decimal 122 139 139 */
  8488. coloradd("LightGoldenrod", 0x00eedd82, rev); /* color 468 r/g/b decimal 238 221 130 */
  8489. coloradd("LightGoldenrod1", 0x00ffec8b, rev); /* color 469 r/g/b decimal 255 236 139 */
  8490. coloradd("LightGoldenrod2", 0x00eedc82, rev); /* color 470 r/g/b decimal 238 220 130 */
  8491. coloradd("LightGoldenrod3", 0x00cdbe70, rev); /* color 471 r/g/b decimal 205 190 112 */
  8492. coloradd("LightGoldenrod4", 0x008b814c, rev); /* color 472 r/g/b decimal 139 129 76 */
  8493. coloradd("LightGoldenrodYellow", 0x00fafad2, rev); /* color 473 r/g/b decimal 250 250 210 */
  8494. coloradd("LightGray", 0x00d3d3d3, rev); /* color 474 r/g/b decimal 211 211 211 */
  8495. coloradd("LightGreen", 0x0090ee90, rev); /* color 475 r/g/b decimal 144 238 144 */
  8496. coloradd("LightGrey", 0x00d3d3d3, rev); /* color 476 r/g/b decimal 211 211 211 */
  8497. coloradd("LightPink", 0x00ffb6c1, rev); /* color 477 r/g/b decimal 255 182 193 */
  8498. coloradd("LightPink1", 0x00ffaeb9, rev); /* color 478 r/g/b decimal 255 174 185 */
  8499. coloradd("LightPink2", 0x00eea2ad, rev); /* color 479 r/g/b decimal 238 162 173 */
  8500. coloradd("LightPink3", 0x00cd8c95, rev); /* color 480 r/g/b decimal 205 140 149 */
  8501. coloradd("LightPink4", 0x008b5f65, rev); /* color 481 r/g/b decimal 139 95 101 */
  8502. coloradd("LightSalmon", 0x00ffa07a, rev); /* color 482 r/g/b decimal 255 160 122 */
  8503. coloradd("LightSalmon1", 0x00ffa07a, rev); /* color 483 r/g/b decimal 255 160 122 */
  8504. coloradd("LightSalmon2", 0x00ee9572, rev); /* color 484 r/g/b decimal 238 149 114 */
  8505. coloradd("LightSalmon3", 0x00cd8162, rev); /* color 485 r/g/b decimal 205 129 98 */
  8506. coloradd("LightSalmon4", 0x008b5742, rev); /* color 486 r/g/b decimal 139 87 66 */
  8507. coloradd("LightSeaGreen", 0x0020b2aa, rev); /* color 487 r/g/b decimal 32 178 170 */
  8508. coloradd("LightSkyBlue", 0x0087cefa, rev); /* color 488 r/g/b decimal 135 206 250 */
  8509. coloradd("LightSkyBlue1", 0x00b0e2ff, rev); /* color 489 r/g/b decimal 176 226 255 */
  8510. coloradd("LightSkyBlue2", 0x00a4d3ee, rev); /* color 490 r/g/b decimal 164 211 238 */
  8511. coloradd("LightSkyBlue3", 0x008db6cd, rev); /* color 491 r/g/b decimal 141 182 205 */
  8512. coloradd("LightSkyBlue4", 0x00607b8b, rev); /* color 492 r/g/b decimal 96 123 139 */
  8513. coloradd("LightSlateBlue", 0x008470ff, rev); /* color 493 r/g/b decimal 132 112 255 */
  8514. coloradd("LightSlateGray", 0x00778899, rev); /* color 494 r/g/b decimal 119 136 153 */
  8515. coloradd("LightSlateGrey", 0x00778899, rev); /* color 495 r/g/b decimal 119 136 153 */
  8516. coloradd("LightSteelBlue", 0x00b0c4de, rev); /* color 496 r/g/b decimal 176 196 222 */
  8517. coloradd("LightSteelBlue1", 0x00cae1ff, rev); /* color 497 r/g/b decimal 202 225 255 */
  8518. coloradd("LightSteelBlue2", 0x00bcd2ee, rev); /* color 498 r/g/b decimal 188 210 238 */
  8519. coloradd("LightSteelBlue3", 0x00a2b5cd, rev); /* color 499 r/g/b decimal 162 181 205 */
  8520. coloradd("LightSteelBlue4", 0x006e7b8b, rev); /* color 500 r/g/b decimal 110 123 139 */
  8521. coloradd("LightYellow", 0x00ffffe0, rev); /* color 501 r/g/b decimal 255 255 224 */
  8522. coloradd("LightYellow1", 0x00ffffe0, rev); /* color 502 r/g/b decimal 255 255 224 */
  8523. coloradd("LightYellow2", 0x00eeeed1, rev); /* color 503 r/g/b decimal 238 238 209 */
  8524. coloradd("LightYellow3", 0x00cdcdb4, rev); /* color 504 r/g/b decimal 205 205 180 */
  8525. coloradd("LightYellow4", 0x008b8b7a, rev); /* color 505 r/g/b decimal 139 139 122 */
  8526. coloradd("lime", 0x0000ff00, rev); /* color 506 r/g/b decimal 0 255 0 */
  8527. coloradd("lime green", 0x0032cd32, rev); /* color 507 r/g/b decimal 50 205 50 */
  8528. coloradd("LimeGreen", 0x0032cd32, rev); /* color 508 r/g/b decimal 50 205 50 */
  8529. coloradd("linen", 0x00faf0e6, rev); /* color 509 r/g/b decimal 250 240 230 */
  8530. coloradd("magenta", 0x00ff00ff, rev); /* color 510 r/g/b decimal 255 0 255 */
  8531. coloradd("magenta1", 0x00ff00ff, rev); /* color 511 r/g/b decimal 255 0 255 */
  8532. coloradd("magenta2", 0x00ee00ee, rev); /* color 512 r/g/b decimal 238 0 238 */
  8533. coloradd("magenta3", 0x00cd00cd, rev); /* color 513 r/g/b decimal 205 0 205 */
  8534. coloradd("magenta4", 0x008b008b, rev); /* color 514 r/g/b decimal 139 0 139 */
  8535. coloradd("maroon", 0x00b03060, rev); /* color 515 r/g/b decimal 176 48 96 */
  8536. coloradd("maroon1", 0x00ff34b3, rev); /* color 516 r/g/b decimal 255 52 179 */
  8537. coloradd("maroon2", 0x00ee30a7, rev); /* color 517 r/g/b decimal 238 48 167 */
  8538. coloradd("maroon3", 0x00cd2990, rev); /* color 518 r/g/b decimal 205 41 144 */
  8539. coloradd("maroon4", 0x008b1c62, rev); /* color 519 r/g/b decimal 139 28 98 */
  8540. coloradd("medium aquamarine", 0x0066cdaa, rev); /* color 520 r/g/b decimal 102 205 170 */
  8541. coloradd("medium blue", 0x000000cd, rev); /* color 521 r/g/b decimal 0 0 205 */
  8542. coloradd("medium orchid", 0x00ba55d3, rev); /* color 522 r/g/b decimal 186 85 211 */
  8543. coloradd("medium purple", 0x009370db, rev); /* color 523 r/g/b decimal 147 112 219 */
  8544. coloradd("medium sea green", 0x003cb371, rev); /* color 524 r/g/b decimal 60 179 113 */
  8545. coloradd("medium slate blue", 0x007b68ee, rev); /* color 525 r/g/b decimal 123 104 238 */
  8546. coloradd("medium spring green", 0x0000fa9a, rev); /* color 526 r/g/b decimal 0 250 154 */
  8547. coloradd("medium turquoise", 0x0048d1cc, rev); /* color 527 r/g/b decimal 72 209 204 */
  8548. coloradd("medium violet red", 0x00c71585, rev); /* color 528 r/g/b decimal 199 21 133 */
  8549. coloradd("MediumAquamarine", 0x0066cdaa, rev); /* color 529 r/g/b decimal 102 205 170 */
  8550. coloradd("MediumBlue", 0x000000cd, rev); /* color 530 r/g/b decimal 0 0 205 */
  8551. coloradd("MediumOrchid", 0x00ba55d3, rev); /* color 531 r/g/b decimal 186 85 211 */
  8552. coloradd("MediumOrchid1", 0x00e066ff, rev); /* color 532 r/g/b decimal 224 102 255 */
  8553. coloradd("MediumOrchid2", 0x00d15fee, rev); /* color 533 r/g/b decimal 209 95 238 */
  8554. coloradd("MediumOrchid3", 0x00b452cd, rev); /* color 534 r/g/b decimal 180 82 205 */
  8555. coloradd("MediumOrchid4", 0x007a378b, rev); /* color 535 r/g/b decimal 122 55 139 */
  8556. coloradd("MediumPurple", 0x009370db, rev); /* color 536 r/g/b decimal 147 112 219 */
  8557. coloradd("MediumPurple1", 0x00ab82ff, rev); /* color 537 r/g/b decimal 171 130 255 */
  8558. coloradd("MediumPurple2", 0x009f79ee, rev); /* color 538 r/g/b decimal 159 121 238 */
  8559. coloradd("MediumPurple3", 0x008968cd, rev); /* color 539 r/g/b decimal 137 104 205 */
  8560. coloradd("MediumPurple4", 0x005d478b, rev); /* color 540 r/g/b decimal 93 71 139 */
  8561. coloradd("MediumSeaGreen", 0x003cb371, rev); /* color 541 r/g/b decimal 60 179 113 */
  8562. coloradd("MediumSlateBlue", 0x007b68ee, rev); /* color 542 r/g/b decimal 123 104 238 */
  8563. coloradd("MediumSpringGreen", 0x0000fa9a, rev); /* color 543 r/g/b decimal 0 250 154 */
  8564. coloradd("MediumTurquoise", 0x0048d1cc, rev); /* color 544 r/g/b decimal 72 209 204 */
  8565. coloradd("MediumVioletRed", 0x00c71585, rev); /* color 545 r/g/b decimal 199 21 133 */
  8566. coloradd("midnight blue", 0x00191970, rev); /* color 546 r/g/b decimal 25 25 112 */
  8567. coloradd("MidnightBlue", 0x00191970, rev); /* color 547 r/g/b decimal 25 25 112 */
  8568. coloradd("mint cream", 0x00f5fffa, rev); /* color 548 r/g/b decimal 245 255 250 */
  8569. coloradd("MintCream", 0x00f5fffa, rev); /* color 549 r/g/b decimal 245 255 250 */
  8570. coloradd("misty rose", 0x00ffe4e1, rev); /* color 550 r/g/b decimal 255 228 225 */
  8571. coloradd("MistyRose", 0x00ffe4e1, rev); /* color 551 r/g/b decimal 255 228 225 */
  8572. coloradd("MistyRose1", 0x00ffe4e1, rev); /* color 552 r/g/b decimal 255 228 225 */
  8573. coloradd("MistyRose2", 0x00eed5d2, rev); /* color 553 r/g/b decimal 238 213 210 */
  8574. coloradd("MistyRose3", 0x00cdb7b5, rev); /* color 554 r/g/b decimal 205 183 181 */
  8575. coloradd("MistyRose4", 0x008b7d7b, rev); /* color 555 r/g/b decimal 139 125 123 */
  8576. coloradd("moccasin", 0x00ffe4b5, rev); /* color 556 r/g/b decimal 255 228 181 */
  8577. coloradd("navajo white", 0x00ffdead, rev); /* color 557 r/g/b decimal 255 222 173 */
  8578. coloradd("NavajoWhite", 0x00ffdead, rev); /* color 558 r/g/b decimal 255 222 173 */
  8579. coloradd("NavajoWhite1", 0x00ffdead, rev); /* color 559 r/g/b decimal 255 222 173 */
  8580. coloradd("NavajoWhite2", 0x00eecfa1, rev); /* color 560 r/g/b decimal 238 207 161 */
  8581. coloradd("NavajoWhite3", 0x00cdb38b, rev); /* color 561 r/g/b decimal 205 179 139 */
  8582. coloradd("NavajoWhite4", 0x008b795e, rev); /* color 562 r/g/b decimal 139 121 94 */
  8583. coloradd("navy", 0x00000080, rev); /* color 563 r/g/b decimal 0 0 128 */
  8584. coloradd("navy blue", 0x00000080, rev); /* color 564 r/g/b decimal 0 0 128 */
  8585. coloradd("NavyBlue", 0x00000080, rev); /* color 565 r/g/b decimal 0 0 128 */
  8586. coloradd("old lace", 0x00fdf5e6, rev); /* color 566 r/g/b decimal 253 245 230 */
  8587. coloradd("OldLace", 0x00fdf5e6, rev); /* color 567 r/g/b decimal 253 245 230 */
  8588. coloradd("olive", 0x00808000, rev); /* color 568 r/g/b decimal 128 128 0 */
  8589. coloradd("olive drab", 0x006b8e23, rev); /* color 569 r/g/b decimal 107 142 35 */
  8590. coloradd("OliveDrab", 0x006b8e23, rev); /* color 570 r/g/b decimal 107 142 35 */
  8591. coloradd("OliveDrab1", 0x00c0ff3e, rev); /* color 571 r/g/b decimal 192 255 62 */
  8592. coloradd("OliveDrab2", 0x00b3ee3a, rev); /* color 572 r/g/b decimal 179 238 58 */
  8593. coloradd("OliveDrab3", 0x009acd32, rev); /* color 573 r/g/b decimal 154 205 50 */
  8594. coloradd("OliveDrab4", 0x00698b22, rev); /* color 574 r/g/b decimal 105 139 34 */
  8595. coloradd("orange", 0x00ffa500, rev); /* color 575 r/g/b decimal 255 165 0 */
  8596. coloradd("orange red", 0x00ff4500, rev); /* color 576 r/g/b decimal 255 69 0 */
  8597. coloradd("orange1", 0x00ffa500, rev); /* color 577 r/g/b decimal 255 165 0 */
  8598. coloradd("orange2", 0x00ee9a00, rev); /* color 578 r/g/b decimal 238 154 0 */
  8599. coloradd("orange3", 0x00cd8500, rev); /* color 579 r/g/b decimal 205 133 0 */
  8600. coloradd("orange4", 0x008b5a00, rev); /* color 580 r/g/b decimal 139 90 0 */
  8601. coloradd("OrangeRed", 0x00ff4500, rev); /* color 581 r/g/b decimal 255 69 0 */
  8602. coloradd("OrangeRed1", 0x00ff4500, rev); /* color 582 r/g/b decimal 255 69 0 */
  8603. coloradd("OrangeRed2", 0x00ee4000, rev); /* color 583 r/g/b decimal 238 64 0 */
  8604. coloradd("OrangeRed3", 0x00cd3700, rev); /* color 584 r/g/b decimal 205 55 0 */
  8605. coloradd("OrangeRed4", 0x008b2500, rev); /* color 585 r/g/b decimal 139 37 0 */
  8606. coloradd("orchid", 0x00da70d6, rev); /* color 586 r/g/b decimal 218 112 214 */
  8607. coloradd("orchid1", 0x00ff83fa, rev); /* color 587 r/g/b decimal 255 131 250 */
  8608. coloradd("orchid2", 0x00ee7ae9, rev); /* color 588 r/g/b decimal 238 122 233 */
  8609. coloradd("orchid3", 0x00cd69c9, rev); /* color 589 r/g/b decimal 205 105 201 */
  8610. coloradd("orchid4", 0x008b4789, rev); /* color 590 r/g/b decimal 139 71 137 */
  8611. coloradd("pale goldenrod", 0x00eee8aa, rev); /* color 591 r/g/b decimal 238 232 170 */
  8612. coloradd("pale green", 0x0098fb98, rev); /* color 592 r/g/b decimal 152 251 152 */
  8613. coloradd("pale turquoise", 0x00afeeee, rev); /* color 593 r/g/b decimal 175 238 238 */
  8614. coloradd("pale violet red", 0x00db7093, rev); /* color 594 r/g/b decimal 219 112 147 */
  8615. coloradd("PaleGoldenrod", 0x00eee8aa, rev); /* color 595 r/g/b decimal 238 232 170 */
  8616. coloradd("PaleGreen", 0x0098fb98, rev); /* color 596 r/g/b decimal 152 251 152 */
  8617. coloradd("PaleGreen1", 0x009aff9a, rev); /* color 597 r/g/b decimal 154 255 154 */
  8618. coloradd("PaleGreen2", 0x0090ee90, rev); /* color 598 r/g/b decimal 144 238 144 */
  8619. coloradd("PaleGreen3", 0x007ccd7c, rev); /* color 599 r/g/b decimal 124 205 124 */
  8620. coloradd("PaleGreen4", 0x00548b54, rev); /* color 600 r/g/b decimal 84 139 84 */
  8621. coloradd("PaleTurquoise", 0x00afeeee, rev); /* color 601 r/g/b decimal 175 238 238 */
  8622. coloradd("PaleTurquoise1", 0x00bbffff, rev); /* color 602 r/g/b decimal 187 255 255 */
  8623. coloradd("PaleTurquoise2", 0x00aeeeee, rev); /* color 603 r/g/b decimal 174 238 238 */
  8624. coloradd("PaleTurquoise3", 0x0096cdcd, rev); /* color 604 r/g/b decimal 150 205 205 */
  8625. coloradd("PaleTurquoise4", 0x00668b8b, rev); /* color 605 r/g/b decimal 102 139 139 */
  8626. coloradd("PaleVioletRed", 0x00db7093, rev); /* color 606 r/g/b decimal 219 112 147 */
  8627. coloradd("PaleVioletRed1", 0x00ff82ab, rev); /* color 607 r/g/b decimal 255 130 171 */
  8628. coloradd("PaleVioletRed2", 0x00ee799f, rev); /* color 608 r/g/b decimal 238 121 159 */
  8629. coloradd("PaleVioletRed3", 0x00cd6889, rev); /* color 609 r/g/b decimal 205 104 137 */
  8630. coloradd("PaleVioletRed4", 0x008b475d, rev); /* color 610 r/g/b decimal 139 71 93 */
  8631. coloradd("papaya whip", 0x00ffefd5, rev); /* color 611 r/g/b decimal 255 239 213 */
  8632. coloradd("PapayaWhip", 0x00ffefd5, rev); /* color 612 r/g/b decimal 255 239 213 */
  8633. coloradd("peach puff", 0x00ffdab9, rev); /* color 613 r/g/b decimal 255 218 185 */
  8634. coloradd("PeachPuff", 0x00ffdab9, rev); /* color 614 r/g/b decimal 255 218 185 */
  8635. coloradd("PeachPuff1", 0x00ffdab9, rev); /* color 615 r/g/b decimal 255 218 185 */
  8636. coloradd("PeachPuff2", 0x00eecbad, rev); /* color 616 r/g/b decimal 238 203 173 */
  8637. coloradd("PeachPuff3", 0x00cdaf95, rev); /* color 617 r/g/b decimal 205 175 149 */
  8638. coloradd("PeachPuff4", 0x008b7765, rev); /* color 618 r/g/b decimal 139 119 101 */
  8639. coloradd("peru", 0x00cd853f, rev); /* color 619 r/g/b decimal 205 133 63 */
  8640. coloradd("pink", 0x00ffc0cb, rev); /* color 620 r/g/b decimal 255 192 203 */
  8641. coloradd("pink1", 0x00ffb5c5, rev); /* color 621 r/g/b decimal 255 181 197 */
  8642. coloradd("pink2", 0x00eea9b8, rev); /* color 622 r/g/b decimal 238 169 184 */
  8643. coloradd("pink3", 0x00cd919e, rev); /* color 623 r/g/b decimal 205 145 158 */
  8644. coloradd("pink4", 0x008b636c, rev); /* color 624 r/g/b decimal 139 99 108 */
  8645. coloradd("plum", 0x00dda0dd, rev); /* color 625 r/g/b decimal 221 160 221 */
  8646. coloradd("plum1", 0x00ffbbff, rev); /* color 626 r/g/b decimal 255 187 255 */
  8647. coloradd("plum2", 0x00eeaeee, rev); /* color 627 r/g/b decimal 238 174 238 */
  8648. coloradd("plum3", 0x00cd96cd, rev); /* color 628 r/g/b decimal 205 150 205 */
  8649. coloradd("plum4", 0x008b668b, rev); /* color 629 r/g/b decimal 139 102 139 */
  8650. coloradd("powder blue", 0x00b0e0e6, rev); /* color 630 r/g/b decimal 176 224 230 */
  8651. coloradd("PowderBlue", 0x00b0e0e6, rev); /* color 631 r/g/b decimal 176 224 230 */
  8652. coloradd("purple", 0x00a020f0, rev); /* color 632 r/g/b decimal 160 32 240 */
  8653. coloradd("purple1", 0x009b30ff, rev); /* color 633 r/g/b decimal 155 48 255 */
  8654. coloradd("purple2", 0x00912cee, rev); /* color 634 r/g/b decimal 145 44 238 */
  8655. coloradd("purple3", 0x007d26cd, rev); /* color 635 r/g/b decimal 125 38 205 */
  8656. coloradd("purple4", 0x00551a8b, rev); /* color 636 r/g/b decimal 85 26 139 */
  8657. coloradd("rebecca purple", 0x00663399, rev); /* color 637 r/g/b decimal 102 51 153 */
  8658. coloradd("RebeccaPurple", 0x00663399, rev); /* color 638 r/g/b decimal 102 51 153 */
  8659. coloradd("red", 0x00ff0000, rev); /* color 639 r/g/b decimal 255 0 0 */
  8660. coloradd("red1", 0x00ff0000, rev); /* color 640 r/g/b decimal 255 0 0 */
  8661. coloradd("red2", 0x00ee0000, rev); /* color 641 r/g/b decimal 238 0 0 */
  8662. coloradd("red3", 0x00cd0000, rev); /* color 642 r/g/b decimal 205 0 0 */
  8663. coloradd("red4", 0x008b0000, rev); /* color 643 r/g/b decimal 139 0 0 */
  8664. coloradd("rosy brown", 0x00bc8f8f, rev); /* color 644 r/g/b decimal 188 143 143 */
  8665. coloradd("RosyBrown", 0x00bc8f8f, rev); /* color 645 r/g/b decimal 188 143 143 */
  8666. coloradd("RosyBrown1", 0x00ffc1c1, rev); /* color 646 r/g/b decimal 255 193 193 */
  8667. coloradd("RosyBrown2", 0x00eeb4b4, rev); /* color 647 r/g/b decimal 238 180 180 */
  8668. coloradd("RosyBrown3", 0x00cd9b9b, rev); /* color 648 r/g/b decimal 205 155 155 */
  8669. coloradd("RosyBrown4", 0x008b6969, rev); /* color 649 r/g/b decimal 139 105 105 */
  8670. coloradd("royal blue", 0x004169e1, rev); /* color 650 r/g/b decimal 65 105 225 */
  8671. coloradd("RoyalBlue", 0x004169e1, rev); /* color 651 r/g/b decimal 65 105 225 */
  8672. coloradd("RoyalBlue1", 0x004876ff, rev); /* color 652 r/g/b decimal 72 118 255 */
  8673. coloradd("RoyalBlue2", 0x00436eee, rev); /* color 653 r/g/b decimal 67 110 238 */
  8674. coloradd("RoyalBlue3", 0x003a5fcd, rev); /* color 654 r/g/b decimal 58 95 205 */
  8675. coloradd("RoyalBlue4", 0x0027408b, rev); /* color 655 r/g/b decimal 39 64 139 */
  8676. coloradd("saddle brown", 0x008b4513, rev); /* color 656 r/g/b decimal 139 69 19 */
  8677. coloradd("SaddleBrown", 0x008b4513, rev); /* color 657 r/g/b decimal 139 69 19 */
  8678. coloradd("salmon", 0x00fa8072, rev); /* color 658 r/g/b decimal 250 128 114 */
  8679. coloradd("salmon1", 0x00ff8c69, rev); /* color 659 r/g/b decimal 255 140 105 */
  8680. coloradd("salmon2", 0x00ee8262, rev); /* color 660 r/g/b decimal 238 130 98 */
  8681. coloradd("salmon3", 0x00cd7054, rev); /* color 661 r/g/b decimal 205 112 84 */
  8682. coloradd("salmon4", 0x008b4c39, rev); /* color 662 r/g/b decimal 139 76 57 */
  8683. coloradd("sandy brown", 0x00f4a460, rev); /* color 663 r/g/b decimal 244 164 96 */
  8684. coloradd("SandyBrown", 0x00f4a460, rev); /* color 664 r/g/b decimal 244 164 96 */
  8685. coloradd("sea green", 0x002e8b57, rev); /* color 665 r/g/b decimal 46 139 87 */
  8686. coloradd("SeaGreen", 0x002e8b57, rev); /* color 666 r/g/b decimal 46 139 87 */
  8687. coloradd("SeaGreen1", 0x0054ff9f, rev); /* color 667 r/g/b decimal 84 255 159 */
  8688. coloradd("SeaGreen2", 0x004eee94, rev); /* color 668 r/g/b decimal 78 238 148 */
  8689. coloradd("SeaGreen3", 0x0043cd80, rev); /* color 669 r/g/b decimal 67 205 128 */
  8690. coloradd("SeaGreen4", 0x002e8b57, rev); /* color 670 r/g/b decimal 46 139 87 */
  8691. coloradd("seashell", 0x00fff5ee, rev); /* color 671 r/g/b decimal 255 245 238 */
  8692. coloradd("seashell1", 0x00fff5ee, rev); /* color 672 r/g/b decimal 255 245 238 */
  8693. coloradd("seashell2", 0x00eee5de, rev); /* color 673 r/g/b decimal 238 229 222 */
  8694. coloradd("seashell3", 0x00cdc5bf, rev); /* color 674 r/g/b decimal 205 197 191 */
  8695. coloradd("seashell4", 0x008b8682, rev); /* color 675 r/g/b decimal 139 134 130 */
  8696. coloradd("sienna", 0x00a0522d, rev); /* color 676 r/g/b decimal 160 82 45 */
  8697. coloradd("sienna1", 0x00ff8247, rev); /* color 677 r/g/b decimal 255 130 71 */
  8698. coloradd("sienna2", 0x00ee7942, rev); /* color 678 r/g/b decimal 238 121 66 */
  8699. coloradd("sienna3", 0x00cd6839, rev); /* color 679 r/g/b decimal 205 104 57 */
  8700. coloradd("sienna4", 0x008b4726, rev); /* color 680 r/g/b decimal 139 71 38 */
  8701. coloradd("silver", 0x00c0c0c0, rev); /* color 681 r/g/b decimal 192 192 192 */
  8702. coloradd("sky blue", 0x0087ceeb, rev); /* color 682 r/g/b decimal 135 206 235 */
  8703. coloradd("SkyBlue", 0x0087ceeb, rev); /* color 683 r/g/b decimal 135 206 235 */
  8704. coloradd("SkyBlue1", 0x0087ceff, rev); /* color 684 r/g/b decimal 135 206 255 */
  8705. coloradd("SkyBlue2", 0x007ec0ee, rev); /* color 685 r/g/b decimal 126 192 238 */
  8706. coloradd("SkyBlue3", 0x006ca6cd, rev); /* color 686 r/g/b decimal 108 166 205 */
  8707. coloradd("SkyBlue4", 0x004a708b, rev); /* color 687 r/g/b decimal 74 112 139 */
  8708. coloradd("slate blue", 0x006a5acd, rev); /* color 688 r/g/b decimal 106 90 205 */
  8709. coloradd("slate gray", 0x00708090, rev); /* color 689 r/g/b decimal 112 128 144 */
  8710. coloradd("slate grey", 0x00708090, rev); /* color 690 r/g/b decimal 112 128 144 */
  8711. coloradd("SlateBlue", 0x006a5acd, rev); /* color 691 r/g/b decimal 106 90 205 */
  8712. coloradd("SlateBlue1", 0x00836fff, rev); /* color 692 r/g/b decimal 131 111 255 */
  8713. coloradd("SlateBlue2", 0x007a67ee, rev); /* color 693 r/g/b decimal 122 103 238 */
  8714. coloradd("SlateBlue3", 0x006959cd, rev); /* color 694 r/g/b decimal 105 89 205 */
  8715. coloradd("SlateBlue4", 0x00473c8b, rev); /* color 695 r/g/b decimal 71 60 139 */
  8716. coloradd("SlateGray", 0x00708090, rev); /* color 696 r/g/b decimal 112 128 144 */
  8717. coloradd("SlateGray1", 0x00c6e2ff, rev); /* color 697 r/g/b decimal 198 226 255 */
  8718. coloradd("SlateGray2", 0x00b9d3ee, rev); /* color 698 r/g/b decimal 185 211 238 */
  8719. coloradd("SlateGray3", 0x009fb6cd, rev); /* color 699 r/g/b decimal 159 182 205 */
  8720. coloradd("SlateGray4", 0x006c7b8b, rev); /* color 700 r/g/b decimal 108 123 139 */
  8721. coloradd("SlateGrey", 0x00708090, rev); /* color 701 r/g/b decimal 112 128 144 */
  8722. coloradd("snow", 0x00fffafa, rev); /* color 702 r/g/b decimal 255 250 250 */
  8723. coloradd("snow1", 0x00fffafa, rev); /* color 703 r/g/b decimal 255 250 250 */
  8724. coloradd("snow2", 0x00eee9e9, rev); /* color 704 r/g/b decimal 238 233 233 */
  8725. coloradd("snow3", 0x00cdc9c9, rev); /* color 705 r/g/b decimal 205 201 201 */
  8726. coloradd("snow4", 0x008b8989, rev); /* color 706 r/g/b decimal 139 137 137 */
  8727. coloradd("spring green", 0x0000ff7f, rev); /* color 707 r/g/b decimal 0 255 127 */
  8728. coloradd("SpringGreen", 0x0000ff7f, rev); /* color 708 r/g/b decimal 0 255 127 */
  8729. coloradd("SpringGreen1", 0x0000ff7f, rev); /* color 709 r/g/b decimal 0 255 127 */
  8730. coloradd("SpringGreen2", 0x0000ee76, rev); /* color 710 r/g/b decimal 0 238 118 */
  8731. coloradd("SpringGreen3", 0x0000cd66, rev); /* color 711 r/g/b decimal 0 205 102 */
  8732. coloradd("SpringGreen4", 0x00008b45, rev); /* color 712 r/g/b decimal 0 139 69 */
  8733. coloradd("steel blue", 0x004682b4, rev); /* color 713 r/g/b decimal 70 130 180 */
  8734. coloradd("SteelBlue", 0x004682b4, rev); /* color 714 r/g/b decimal 70 130 180 */
  8735. coloradd("SteelBlue1", 0x0063b8ff, rev); /* color 715 r/g/b decimal 99 184 255 */
  8736. coloradd("SteelBlue2", 0x005cacee, rev); /* color 716 r/g/b decimal 92 172 238 */
  8737. coloradd("SteelBlue3", 0x004f94cd, rev); /* color 717 r/g/b decimal 79 148 205 */
  8738. coloradd("SteelBlue4", 0x0036648b, rev); /* color 718 r/g/b decimal 54 100 139 */
  8739. coloradd("tan", 0x00d2b48c, rev); /* color 719 r/g/b decimal 210 180 140 */
  8740. coloradd("tan1", 0x00ffa54f, rev); /* color 720 r/g/b decimal 255 165 79 */
  8741. coloradd("tan2", 0x00ee9a49, rev); /* color 721 r/g/b decimal 238 154 73 */
  8742. coloradd("tan3", 0x00cd853f, rev); /* color 722 r/g/b decimal 205 133 63 */
  8743. coloradd("tan4", 0x008b5a2b, rev); /* color 723 r/g/b decimal 139 90 43 */
  8744. coloradd("teal", 0x00008080, rev); /* color 724 r/g/b decimal 0 128 128 */
  8745. coloradd("thistle", 0x00d8bfd8, rev); /* color 725 r/g/b decimal 216 191 216 */
  8746. coloradd("thistle1", 0x00ffe1ff, rev); /* color 726 r/g/b decimal 255 225 255 */
  8747. coloradd("thistle2", 0x00eed2ee, rev); /* color 727 r/g/b decimal 238 210 238 */
  8748. coloradd("thistle3", 0x00cdb5cd, rev); /* color 728 r/g/b decimal 205 181 205 */
  8749. coloradd("thistle4", 0x008b7b8b, rev); /* color 729 r/g/b decimal 139 123 139 */
  8750. coloradd("tomato", 0x00ff6347, rev); /* color 730 r/g/b decimal 255 99 71 */
  8751. coloradd("tomato1", 0x00ff6347, rev); /* color 731 r/g/b decimal 255 99 71 */
  8752. coloradd("tomato2", 0x00ee5c42, rev); /* color 732 r/g/b decimal 238 92 66 */
  8753. coloradd("tomato3", 0x00cd4f39, rev); /* color 733 r/g/b decimal 205 79 57 */
  8754. coloradd("tomato4", 0x008b3626, rev); /* color 734 r/g/b decimal 139 54 38 */
  8755. coloradd("turquoise", 0x0040e0d0, rev); /* color 735 r/g/b decimal 64 224 208 */
  8756. coloradd("turquoise1", 0x0000f5ff, rev); /* color 736 r/g/b decimal 0 245 255 */
  8757. coloradd("turquoise2", 0x0000e5ee, rev); /* color 737 r/g/b decimal 0 229 238 */
  8758. coloradd("turquoise3", 0x0000c5cd, rev); /* color 738 r/g/b decimal 0 197 205 */
  8759. coloradd("turquoise4", 0x0000868b, rev); /* color 739 r/g/b decimal 0 134 139 */
  8760. coloradd("violet", 0x00ee82ee, rev); /* color 740 r/g/b decimal 238 130 238 */
  8761. coloradd("violet red", 0x00d02090, rev); /* color 741 r/g/b decimal 208 32 144 */
  8762. coloradd("VioletRed", 0x00d02090, rev); /* color 742 r/g/b decimal 208 32 144 */
  8763. coloradd("VioletRed1", 0x00ff3e96, rev); /* color 743 r/g/b decimal 255 62 150 */
  8764. coloradd("VioletRed2", 0x00ee3a8c, rev); /* color 744 r/g/b decimal 238 58 140 */
  8765. coloradd("VioletRed3", 0x00cd3278, rev); /* color 745 r/g/b decimal 205 50 120 */
  8766. coloradd("VioletRed4", 0x008b2252, rev); /* color 746 r/g/b decimal 139 34 82 */
  8767. coloradd("web gray", 0x00808080, rev); /* color 747 r/g/b decimal 128 128 128 */
  8768. coloradd("web green", 0x00008000, rev); /* color 748 r/g/b decimal 0 128 0 */
  8769. coloradd("web grey", 0x00808080, rev); /* color 749 r/g/b decimal 128 128 128 */
  8770. coloradd("web maroon", 0x00800000, rev); /* color 750 r/g/b decimal 128 0 0 */
  8771. coloradd("web purple", 0x00800080, rev); /* color 751 r/g/b decimal 128 0 128 */
  8772. coloradd("WebGray", 0x00808080, rev); /* color 752 r/g/b decimal 128 128 128 */
  8773. coloradd("WebGreen", 0x00008000, rev); /* color 753 r/g/b decimal 0 128 0 */
  8774. coloradd("WebGrey", 0x00808080, rev); /* color 754 r/g/b decimal 128 128 128 */
  8775. coloradd("WebMaroon", 0x00800000, rev); /* color 755 r/g/b decimal 128 0 0 */
  8776. coloradd("WebPurple", 0x00800080, rev); /* color 756 r/g/b decimal 128 0 128 */
  8777. coloradd("wheat", 0x00f5deb3, rev); /* color 757 r/g/b decimal 245 222 179 */
  8778. coloradd("wheat1", 0x00ffe7ba, rev); /* color 758 r/g/b decimal 255 231 186 */
  8779. coloradd("wheat2", 0x00eed8ae, rev); /* color 759 r/g/b decimal 238 216 174 */
  8780. coloradd("wheat3", 0x00cdba96, rev); /* color 760 r/g/b decimal 205 186 150 */
  8781. coloradd("wheat4", 0x008b7e66, rev); /* color 761 r/g/b decimal 139 126 102 */
  8782. coloradd("white", 0x00ffffff, rev); /* color 762 r/g/b decimal 255 255 255 */
  8783. coloradd("white smoke", 0x00f5f5f5, rev); /* color 763 r/g/b decimal 245 245 245 */
  8784. coloradd("WhiteSmoke", 0x00f5f5f5, rev); /* color 764 r/g/b decimal 245 245 245 */
  8785. coloradd("x11 gray", 0x00bebebe, rev); /* color 765 r/g/b decimal 190 190 190 */
  8786. coloradd("x11 green", 0x0000ff00, rev); /* color 766 r/g/b decimal 0 255 0 */
  8787. coloradd("x11 grey", 0x00bebebe, rev); /* color 767 r/g/b decimal 190 190 190 */
  8788. coloradd("x11 maroon", 0x00b03060, rev); /* color 768 r/g/b decimal 176 48 96 */
  8789. coloradd("x11 purple", 0x00a020f0, rev); /* color 769 r/g/b decimal 160 32 240 */
  8790. coloradd("X11Gray", 0x00bebebe, rev); /* color 770 r/g/b decimal 190 190 190 */
  8791. coloradd("X11Green", 0x0000ff00, rev); /* color 771 r/g/b decimal 0 255 0 */
  8792. coloradd("X11Grey", 0x00bebebe, rev); /* color 772 r/g/b decimal 190 190 190 */
  8793. coloradd("X11Maroon", 0x00b03060, rev); /* color 773 r/g/b decimal 176 48 96 */
  8794. coloradd("X11Purple", 0x00a020f0, rev); /* color 774 r/g/b decimal 160 32 240 */
  8795. coloradd("yellow", 0x00ffff00, rev); /* color 775 r/g/b decimal 255 255 0 */
  8796. coloradd("yellow green", 0x009acd32, rev); /* color 776 r/g/b decimal 154 205 50 */
  8797. coloradd("yellow1", 0x00ffff00, rev); /* color 777 r/g/b decimal 255 255 0 */
  8798. coloradd("yellow2", 0x00eeee00, rev); /* color 778 r/g/b decimal 238 238 0 */
  8799. coloradd("yellow3", 0x00cdcd00, rev); /* color 779 r/g/b decimal 205 205 0 */
  8800. coloradd("yellow4", 0x008b8b00, rev); /* color 780 r/g/b decimal 139 139 0 */
  8801. coloradd("YellowGreen", 0x009acd32, rev); /* color 781 r/g/b decimal 154 205 50 */
  8802. return;
  8803. }
  8804. /* add 1 color to database */
  8805. static void coloradd(const char *name, int code, int rev)
  8806. {
  8807. char buf[64];
  8808. const char *s = NULL;
  8809. int i = 0;
  8810. int j = 0;
  8811. if (rev) {
  8812. return;
  8813. }
  8814. s = dp_uniqstr((char *)name);
  8815. splay_tree_insert(gucolor, /* splay_tree */
  8816. (splay_tree_key) s, (splay_tree_value) code);
  8817. /* workaround GCC colorname bug to add also colornames with a space
  8818. * " " as one without a space by transforming the name.
  8819. */
  8820. s = strchr(name, (int)' ');
  8821. if (rev == 0) {
  8822. if (s) {
  8823. /* strip sp from name */
  8824. memset(buf, 0, 64);
  8825. s = (char *)name;
  8826. j = 0;
  8827. for (i = 0; i < 64 - 1; i++) {
  8828. if (*s == '\0') {
  8829. break;
  8830. }
  8831. if (*s == ' ') {
  8832. /* skip */
  8833. } else {
  8834. buf[j] = (*s);
  8835. j++;
  8836. }
  8837. s++;
  8838. }
  8839. /* strdup (buf); */
  8840. s = dp_uniqstr((char *)buf);
  8841. splay_tree_insert(gucolor, /* splay_tree */
  8842. (splay_tree_key) s, (splay_tree_value) code);
  8843. }
  8844. }
  8845. return;
  8846. }
  8847. #include <math.h>
  8848. /* input h must be in range 0...360 degrees */
  8849. static void hsv2rgb(float *r, float *g, float *b, float h, float s, float v)
  8850. {
  8851. int i = 0;
  8852. float f = 0;
  8853. float p = 0;
  8854. float q = 0;
  8855. float t = 0;
  8856. if (s == 0) {
  8857. /* achromatic (grey) */
  8858. *r = *g = *b = v;
  8859. return;
  8860. }
  8861. h /= 60; /* sector 0 to 5 */
  8862. i = floor(h);
  8863. f = h - i; /* factorial part of h */
  8864. p = v * (1 - s);
  8865. q = v * (1 - s * f);
  8866. t = v * (1 - s * (1 - f));
  8867. switch (i) {
  8868. case 0:
  8869. *r = v;
  8870. *g = t;
  8871. *b = p;
  8872. break;
  8873. case 1:
  8874. *r = q;
  8875. *g = v;
  8876. *b = p;
  8877. break;
  8878. case 2:
  8879. *r = p;
  8880. *g = v;
  8881. *b = t;
  8882. break;
  8883. case 3:
  8884. *r = p;
  8885. *g = q;
  8886. *b = v;
  8887. break;
  8888. case 4:
  8889. *r = t;
  8890. *g = p;
  8891. *b = v;
  8892. break;
  8893. default: /* case 5: */
  8894. *r = v;
  8895. *g = p;
  8896. *b = q;
  8897. break;
  8898. }
  8899. return;
  8900. }
  8901. /* search colorname in database and return argb or -1 on unknown color name or colorlist */
  8902. /* in a colorlist a gradient is possible
  8903. * with colors seperated by ':'
  8904. * and color specified as <color>;value
  8905. * where color is a known color name or hex code
  8906. * and value a floating point number of percentage
  8907. * and all floating point numbers must be 1
  8908. * example with 30% red and the rest green:
  8909. * bgcolor="#ff0000;0.3:#00ff00";
  8910. * return -2 for color "none"
  8911. */
  8912. /* todo gradientangle */
  8913. /* todo /xxx/yyy and //yyy colors */
  8914. int dp_colorcode(const char *name)
  8915. {
  8916. splay_tree_node spn = (splay_tree_node) 0;
  8917. int n = 0;
  8918. unsigned int red = 0;
  8919. unsigned int green = 0;
  8920. unsigned int blue = 0;
  8921. unsigned int aa = 0;
  8922. int pe = 0;
  8923. float hnum = 0;
  8924. float snum = 0;
  8925. float vnum = 0;
  8926. float rf = 0;
  8927. float gf = 0;
  8928. float bf = 0;
  8929. if (name == NULL) {
  8930. return ((int)-1);
  8931. }
  8932. /* check for "" */
  8933. if (strlen(name) == 0) {
  8934. /* unknown color, use default */
  8935. return ((int)-3);
  8936. }
  8937. /* check for cr in colorname */
  8938. if (strchr(name, '\n')) {
  8939. /* unknown color, use default */
  8940. return ((int)-3);
  8941. }
  8942. if (gucolor == NULL) {
  8943. color_init();
  8944. }
  8945. /* color for drawing no border for example. special case. */
  8946. if (strcasecmp(name, "none") == 0) {
  8947. return ((int)-3);
  8948. }
  8949. if (strcasecmp(name, "invis") == 0) {
  8950. return ((int)-3);
  8951. }
  8952. /* background color, bgcolor */
  8953. if (strcasecmp(name, "transparent") == 0) {
  8954. return ((int)-3);
  8955. }
  8956. /* check if colorlist with a ':' with optional ';' */
  8957. if (strchr(name, ':')) {
  8958. /* unknown color use default */
  8959. return ((int)-3);
  8960. }
  8961. /* check if colorlist with a '/' */
  8962. if (strchr(name, '/')) {
  8963. /* unknown color use default */
  8964. return ((int)-3);
  8965. }
  8966. /* check for hexa, and it can be like this #ffffff:#333333 */
  8967. if (name[0] == '#') {
  8968. /* todo n = sscanf (name, "#%02x%02x%02x:#%02x%02x%02x",&red0, &green0, &blue0, &red, &green, &blue); */
  8969. pe = 0;
  8970. /* assume html color #rrggbb or #rrggbbaa */
  8971. if (strlen(name) == 9) {
  8972. n = sscanf(name, "#%02x%02x%02x%02x", &red, &green, &blue, &aa);
  8973. if (n != 4) {
  8974. pe = 1;
  8975. }
  8976. } else if (strlen(name) == 7) {
  8977. n = sscanf(name, "#%02x%02x%02x", &red, &green, &blue);
  8978. if (n != 3) {
  8979. pe = 1;
  8980. }
  8981. } else if (strlen(name) == 5) {
  8982. red = 0;
  8983. n = sscanf(name, "#%02x%02x", &green, &blue);
  8984. if (n != 2) {
  8985. pe = 1;
  8986. }
  8987. } else if (strlen(name) == 3) {
  8988. red = 0;
  8989. green = 0;
  8990. n = sscanf(name, "#%02x", &blue);
  8991. if (n != 1) {
  8992. pe = 1;
  8993. }
  8994. } else {
  8995. /* parse error */
  8996. pe = 1;
  8997. }
  8998. if (pe) {
  8999. return ((int)-1);
  9000. }
  9001. if (0) {
  9002. printf("dot %s(): found aa=%02x rgb=#%02x%02x%02x\n", __func__, aa, red, green, blue);
  9003. }
  9004. return ((red << 16) | (green << 8) | blue);
  9005. }
  9006. /* check for float number as used in hsv color */
  9007. if ((name[0] == '.') || (name[0] >= '0' && name[0] <= '9')) {
  9008. /* try sep cahe ',' or ' ' */
  9009. if (strchr(name, ',')) {
  9010. n = sscanf(name, "%f,%f,%f", &hnum, &snum, &vnum);
  9011. } else {
  9012. n = sscanf(name, "%f %f %f", &hnum, &snum, &vnum);
  9013. }
  9014. if (n != 3) {
  9015. /* parse error */
  9016. return ((int)-1);
  9017. }
  9018. /* check range +0...1.0 */
  9019. if (hnum < 0 || snum < 0 || vnum < 0) {
  9020. /* parse error */
  9021. return ((int)-1);
  9022. }
  9023. if (hnum > 1 || snum > 1 || vnum > 1) {
  9024. /* parse error */
  9025. return ((int)-1);
  9026. }
  9027. /* hsv is in rage 0...1, make h in ragen 0...360 degrees by multiply with 360 */
  9028. hsv2rgb(&rf, &gf, &bf, hnum * 360, snum, vnum);
  9029. rf = rf * 255;
  9030. gf = gf * 255;
  9031. bf = bf * 255;
  9032. /* round float to nearest int number */
  9033. rf = rint(rf);
  9034. gf = rint(gf);
  9035. bf = rint(bf);
  9036. red = (int)rf;
  9037. green = (int)gf;
  9038. blue = (int)bf;
  9039. if (0) {
  9040. printf("dot %s(): found aa=%02x rgb=%02x%02x%02x %f,%f,%f from `%s'\n",
  9041. __func__, aa, red, green, blue, rf, gf, bf, name);
  9042. }
  9043. return ((red << 16) | (green << 8) | blue);
  9044. }
  9045. spn = splay_tree_lookup((splay_tree) gucolor, (splay_tree_key) name);
  9046. if (spn) {
  9047. return ((int)spn->value);
  9048. }
  9049. /* unknown color name */
  9050. return ((int)-1);
  9051. }
  9052. /* find color, optional in a scheme */
  9053. int dp_findcolor(int scheme, char *str)
  9054. {
  9055. long int n = 0;
  9056. char **endstr = NULL;
  9057. int n2 = 0;
  9058. int ret = 0;
  9059. /* try colorscheme if active */
  9060. if (scheme) {
  9061. errno = 0;
  9062. n = strtol(str, endstr, 10);
  9063. if ((errno == 0) && ((endstr) == NULL)) {
  9064. n2 = (int)n;
  9065. /* colorscheme color */
  9066. ret = dp_colornscode(n2, scheme);
  9067. if (ret != (-1)) {
  9068. return (ret);
  9069. }
  9070. }
  9071. }
  9072. /* get argb value for x11 colorname */
  9073. ret = dp_colorcode(str);
  9074. if (ret != (-1)) {
  9075. return (ret);
  9076. }
  9077. /* not found */
  9078. return (-1);
  9079. }
  9080. /* end */