#lang racket
(require "syntax.rkt")
(define colors
(hash-keys
#hash(("aliceblue" . #(240 248 255))
("antiquewhite" . #(250 235 215))
("aqua" . #(0 255 255))
("azure" . #(240 255 255))
("beige" . #(245 245 220))
("bisque" . #(255 228 196))
("blanchedalmond" . #(255 235 205))
("blueviolet" . #(138 43 226))
("burlywood" . #(222 184 135))
("cadetblue" . #(95 158 160))
("chartreuse" . #(127 255 0))
("chocolate" . #(210 105 30))
("cornflowerblue" . #(100 149 237))
("cornsilk" . #(255 248 220))
("crimson" . #(220 20 60))
("darkblue" . #(0 0 139))
("darkcyan" . #(0 139 139))
("darkgoldenrod" . #(184 134 11))
("darkgray" . #(169 169 169))
("darkgreen" . #(0 100 0))
("darkkhaki" . #(189 183 107))
("darkmagenta" . #(139 0 139))
("darkolivegreen" . #(85 107 47))
("darkorange" . #(255 140 0))
("darkorchid" . #(153 50 204))
("darkred" . #(139 0 0))
("darksalmon" . #(233 150 122))
("darkseagreen" . #(143 188 139))
("darkslateblue" . #(72 61 139))
("darkslategray" . #(47 79 79))
("darkturquoise" . #(0 206 209))
("darkviolet" . #(148 0 211))
("deeppink" . #(255 20 147))
("deepskyblue" . #(0 191 255))
("dimgray" . #(105 105 105))
("dodgerblue" . #(30 144 255))
("floralwhite" . #(255 250 240))
("forestgreen" . #(34 139 34))
("fuchsia" . #(255 0 255))
("gainsboro" . #(220 220 220))
("ghostwhite" . #(248 248 255))
("greenyellow" . #(173 255 47))
("honeydew" . #(240 255 240))
("hotpink" . #(255 105 180))
("indianred" . #(205 92 92))
("indigo" . #(75 0 130))
("ivory" . #(255 255 240))
("lavender" . #(230 230 250))
("lavenderblush" . #(255 240 245))
("lawngreen" . #(124 252 0))
("lemonchiffon" . #(255 250 205))
("lightblue" . #(173 216 230))
("lightcoral" . #(240 128 128))
("lightcyan" . #(224 255 255))
("lightgoldenrodyellow" . #(250 250 210))
("lightgreen" . #(144 238 144))
("lightgray" . #(211 211 211))
("lightpink" . #(255 182 193))
("lightsalmon" . #(255 160 122))
("lightseagreen" . #(32 178 170))
("lightskyblue" . #(135 206 250))
("lightslategray" . #(119 136 153))
("lightsteelblue" . #(176 196 222))
("lightyellow" . #(255 255 224))
("lime" . #(0 255 0))
("limegreen" . #(50 205 50))
("linen" . #(250 240 230))
("mediumaquamarine" . #(102 205 170))
("mediumblue" . #(0 0 205))
("mediumorchid" . #(186 85 211))
("mediumpurple" . #(147 112 219))
("mediumseagreen" . #(60 179 113))
("mediumslateblue" . #(123 104 238))
("mediumspringgreen" . #(0 250 154))
("mediumturquoise" . #(72 209 204))
("mediumvioletred" . #(199 21 133))
("midnightblue" . #(25 25 112))
("mintcream" . #(245 255 250))
("mistyrose" . #(255 228 225))
("moccasin" . #(255 228 181))
("navajowhite" . #(255 222 173))
("oldlace" . #(253 245 230))
("olive" . #(128 128 0))
("olivedrab" . #(107 142 35))
("orangered" . #(255 69 0))
("palegoldenrod" . #(238 232 170))
("palegreen" . #(152 251 152))
("paleturquoise" . #(175 238 238))
("palevioletred" . #(219 112 147))
("papayawhip" . #(255 239 213))
("peachpuff" . #(255 218 185))
("peru" . #(205 133 63))
("powderblue" . #(176 224 230))
("rosybrown" . #(188 143 143))
("royalblue" . #(65 105 225))
("saddlebrown" . #(139 69 19))
("sandybrown" . #(244 164 96))
("seagreen" . #(46 139 87))
("seashell" . #(255 245 238))
("silver" . #(192 192 192))
("skyblue" . #(135 206 235))
("slateblue" . #(106 90 205))
("slategray" . #(112 128 144))
("snow" . #(255 250 250))
("springgreen" . #(0 255 127))
("steelblue" . #(70 130 180))
("teal" . #(0 128 128))
("tomato" . #(255 99 71))
("whitesmoke" . #(245 245 245))
("yellowgreen" . #(154 205 50))
("aquamarine" . #(112 216 144))
("black" . #(0 0 0))
("blue" . #(0 0 255))
("blue violet" . #(138 43 226))
("brown" . #(132 60 36))
("cadet blue" . #(96 160 160))
("coral" . #(255 127 80))
("cornflower blue" . #(68 64 108))
("cyan" . #(0 255 255))
("dark gray" . #(169 169 169))
("dark green" . #(0 100 0))
("dark olive green" . #(85 107 47))
("dark orchid" . #(153 50 204))
("dark slate blue" . #(72 61 139))
("dark slate gray" . #(47 79 79))
("dark turquoise" . #(0 206 209))
("dim gray" . #(105 105 105))
("firebrick" . #(178 34 34))
("forest green" . #(34 139 34))
("gold" . #(255 215 0))
("goldenrod" . #(218 165 32))
("gray" . #(190 190 190))
("green" . #(0 255 0))
("green yellow" . #(173 255 47))
("indian red" . #(205 92 92))
("khaki" . #(240 230 140))
("light blue" . #(173 216 230))
("light gray" . #(211 211 211))
("light steel blue" . #(176 196 222))
("lime green" . #(50 205 50))
("magenta" . #(255 0 255))
("maroon" . #(176 48 96))
("medium aquamarine" . #(102 205 170))
("medium blue" . #(0 0 205))
("medium forest green" . #(107 142 35))
("mediumforestgreen" . #(107 142 35))
("medium goldenrod" . #(234 234 173))
("mediumgoldenrod" . #(234 234 173))
("medium orchid" . #(186 85 211))
("medium sea green" . #(60 179 113))
("medium slate blue" . #(123 104 238))
("medium spring green" . #(0 250 154))
("medium turquoise" . #(72 209 204))
("medium violet red" . #(199 21 133))
("midnight blue" . #(25 25 112))
("navy" . #(36 36 140))
("orange" . #(255 165 0))
("orange red" . #(255 69 0))
("orchid" . #(218 112 214))
("pale green" . #(152 251 152))
("pink" . #(255 192 203))
("plum" . #(221 160 221))
("purple" . #(160 32 240))
("red" . #(255 0 0))
("salmon" . #(250 128 114))
("sea green" . #(46 139 87))
("sienna" . #(160 82 45))
("sky blue" . #(135 206 235))
("slate blue" . #(106 90 205))
("spring green" . #(0 255 127))
("steel blue" . #(70 130 180))
("tan" . #(210 180 140))
("thistle" . #(216 191 216))
("turquoise" . #(64 224 208))
("violet" . #(238 130 238))
("violet red" . #(208 32 144))
("violetred" . #(208 32 144))
("wheat" . #(245 222 179))
("white" . #(255 255 255))
("yellow" . #(255 255 0))
("yellow green" . #(154 205 50)))))
(define color/web
`(oneof ,@(map (λ(n) `(,n (constant ,n))) colors)))
(provide color/web)