· 2 years ago · Sep 09, 2023, 06:10 PM
1# Configuration for captcha customization.
2#
3# Warning! By default the captcha is allocated in direct memory, not in the one you usually specify via the Xmx argument.
4# Usually the size of direct memory is the same as Xmx, but this memory is not the same!
5# Keep this in mind when generating a large number of images.
6# You can change the in-memory packets caching behavior in the config.yml configuration.
7captcha:
8 # How many threads to use to generate captcha. -1 uses all available threads of the current processor.
9 threads-for-generation: -1
10 # How often the captcha should regenerate itself in minutes. -1 to disable.
11 auto-regenerate-time: 180
12 # Should hide messages about automatic captcha generation?
13 auto-regenerate-hide-messages: false
14 # What type of captcha cache to use?
15 # If a cache is used, the generator will save all captcha variants to disk.
16 # On the next initializations, the captcha will be immediately loaded from disk to save time.
17 # The captcha cache will automatically be deleted when the configuration settings are changed or if the captcha has been shown to the player at least 1 time.
18 #
19 # Available types:
20 # none - The cache is not used. The captcha will not be saved to disk, which means that captcha will be initialized each time.
21 # bin - Cache using bin format. Such files store the captcha in its original form, just like it is stored in RAM, making it possible to quickly write and read them.
22 # binz - Cache using binz format. Such files store the captcha in its original form, just like in RAM, but they are compressed using the fast gzip algorithm.
23 #
24 # Warning! When generating a large number of captchas and without using compression, the captcha can take up gigabytes of disk space.
25 captcha-cache-type: "binz"
26 # What type of image cache to use?
27 # If a cache is used, the generator will save all image variants to disk.
28 # On the next initializations, the images will be immediately loaded from disk to save time.
29 #
30 # Available types:
31 # none - The cache is not used. The images will not be saved to disk, which means that images of all sizes will be initialized each time.
32 # png - Cache using png format. Such files are usually compressed, which can affect reading and writing from disk.
33 # bin - Cache using bin format. Such files store the image in its original form, just like it is stored in RAM, making it possible to quickly write and read them.
34 images-cache-type: "png"
35 # What type of gif cache to use?
36 # If a cache is used, the generator will save all gif variants to disk.
37 # On the next initializations, the gifs will be immediately loaded from disk to save time.
38 #
39 # Available types:
40 # none - The cache is not used. The gifs will not be saved to disk, which means that gifs of all sizes and frames will be initialized each time.
41 # gif - Cache using gif format. The gifs will be encoded in the original gif format, which can save a lot of space, but it can take a long time to create the file.
42 # bin - Cache using bin format. Such files store the gif in its original form, just like it is stored in RAM, making it possible to quickly write and read them.
43 # binz - Cache using binz format. Such files store the gif in its original form, just like in RAM, but they are compressed using the fast gzip algorithm.
44 gifs-cache-type: "binz"
45 # Which image resize mode to use?
46 #
47 # Available modes:
48 # SPEED - Used to indicate that the scaling implementation should scale as fast as possible.
49 # AUTOMATIC - Used to indicate that the scaling implementation should decide which method to use in order to get the best looking scaled image in the least amount of time.
50 # BALANCED - Used to indicate that the scaling implementation should use a scaling operation balanced between SPEED and QUALITY.
51 # QUALITY - Used to indicate that the scaling implementation should do everything it can to create as nice of a result as possible.
52 # ULTRA_QUALITY - Used to indicate that the scaling implementation should go above and beyond the work done by QUALITY to make the image look exceptionally good at the cost of more processing time.
53 image-resize-mode: "QUALITY"
54 # Configuration for hand captcha
55 hand:
56 # How many captcha images to generate. A large number can take up a lot of RAM.
57 # If network_compression_threshold is -1 or the packet compression level is too low, the captcha can take up a lot of RAM.
58 # A large number of captchas is more difficult for an attacker to remember to solve on their own.
59 images-count: 1200
60 # Configuration for render layers groups.
61 #
62 # What is it and how does it work?
63 # Render layer groups are the sequence of drawing elements on an image.
64 # For example, to draw a background image and glyphs on it, you first need to draw the background and then the glyphs,
65 # if you do otherwise, the background will redraw the glyphs and you will not see them.
66 #
67 # Why are these groups?
68 # Each group is drawn separately to then merge them into one.
69 # This approach will allow, for example, to make specific glyphs with a gradient without affecting the background, since it is in a different group.
70 #
71 # Use this character to separate layer: '>'
72 # To create a new group just make a new element. For example: - "Code>Curve"
73 #
74 # See render-layer-templates to see or customize the current layer templates.
75 # You can add as many layers as you want and in any order you want.
76 render-layer-groups:
77 - "Hand-image>Ripple>Mirror"
78 - "Code>Hand-gradient"
79 # Configuration for post renders layers.
80 #
81 # Same as render-layers-group, except that all specified layers will be applied to the rendered image after all groups have been merged.
82 # Useful if you need to overlay ripple or dithering on the finished image and not on each group separately.
83 # Disabled if empty.
84 post-render: "Dithering"
85 # Configuration for framed captcha
86 framed:
87 # How many framed captcha images to generate. A large number can take up a lot of RAM.
88 # If network_compression_threshold is -1 or the packet compression level is too low, the framed captcha can take up a lot of RAM.
89 # A large number of captchas is more difficult for an attacker to remember to solve on their own.
90 images-count: 500
91 # Configuration for render layers groups.
92 #
93 # See hand render layers groups for more info.
94 render-layer-groups:
95 - "Framed-image>Ripple>Mirror"
96 - "Code>Curve>Framed-gradient>Ripple"
97 # Configuration for post renders layers.
98 #
99 # Same as render-layers-group, except that all specified layers will be applied to the rendered image after all groups have been merged.
100 # Useful if you need to overlay ripple or dithering on the finished image and not on each group separately.
101 # Disabled if empty.
102 post-render: "Dithering"
103 # How min many rows will the frame be?
104 min-rows: 3
105 # How max many rows will the frame be?
106 max-rows: 4
107 # How min many columns will the frame be?
108 min-columns: 3
109 # How max many columns will the frame be?
110 max-columns: 4
111 # Configuration for puzzle
112 puzzle:
113 # How many puzzle images to generate. A large number can take up a lot of RAM.
114 # If network_compression_threshold is -1 or the packet compression level is too low, the framed captcha can take up a lot of RAM.
115 # A large number of puzzle is more difficult for an attacker to remember to solve on their own.
116 images-count: 500
117 # Configuration for render layers groups.
118 #
119 # See hand render layers groups for more info.
120 render-layer-groups:
121 - "Image>Dithering>Ripple>Noise>Mirror"
122 # Configuration for post renders layers.
123 #
124 # Same as render-layers-group, except that all specified layers will be applied to the rendered image after all groups have been merged.
125 # Useful if you need to overlay ripple or dithering on the finished image and not on each group separately.
126 # Disabled if empty.
127 post-render: ""
128 # What is the chance to rotate images?
129 # In percent. 1.0 - 100%, 0.0 - 0%, 0.5 - 50%
130 rotation-chance: 1.0
131 # Configuration for pick captcha
132 pick:
133 # How many pick images to generate. A large number can take up a lot of RAM.
134 # If network_compression_threshold is -1 or the packet compression level is too low, the framed captcha can take up a lot of RAM.
135 # A large number of pick captcha is more difficult for an attacker to remember to solve on their own.
136 images-count: 500
137 # Directory leading to groups of all images.
138 # All directories within this directory will be treated as groups and their contents will be scanned for an image.
139 # The name of the group directory should be named after the abstract objects in the image that are inside.
140 # The generator will scan and load any image within groups, their name doesn't matter.
141 # You can create for example the following directories inside IMAGES_GROUPS_PATH directory: 'pick_captcha/cats', 'pick_captcha/dogs', 'pick_captcha/lego'.
142 # Each directory will be considered a separate group and each must contain images.
143 images-groups-path: "pick_captcha"
144 # Configuration for images sources
145 image-sources:
146 # How many concurrent connections can the generator make to connect to services?
147 thread-pool: 4
148 # How long will downloaded images be cached in milliseconds?
149 max-cache-time: 3600000
150 # Configuration for services
151 services:
152 # Configuration for api-ninjas.com service
153 api-ninjas:
154 # Should the generator use this service?
155 # Please note that this service currently stores a limited number of images, most likely they may be repeated or are not random/unique.
156 enabled: false
157 # API license key
158 license: "key"
159 # How long does one request to the service take before breaking the connection?
160 timeout: 5000
161 # What categories of images should be downloaded?
162 # This service currently supports the following categories:
163 # 'nature, city, technology, food, still_life, abstract, wildlife'
164 groups:
165 - "city"
166 - "food"
167 # How many images should the generator download for each group?
168 images-per-group: 250
169 # How many maximum random groups will be used for generation?
170 max-groups-per-captcha: 4
171 # What is the maximum row for an image?
172 max-image-row: 2
173 # What is the maximum column for an image?
174 max-image-column: 2
175 # Configuration for post renders layers.
176 #
177 # Same as render-layers-group, except that all specified layers will be applied to the rendered image after all groups have been merged.
178 # Useful if you need to overlay ripple or dithering on the finished image and not on each group separately.
179 # Disabled if empty.
180 post-render: "ripple-less>Dithering>Mirror>rotation-chance"
181 # Configuration for animated captcha
182 animated:
183 # How many animated captcha images to generate. A large number can take up a lot of RAM.
184 # If network_compression_threshold is -1 or the packet compression level is too low, the animated captcha can take up a lot of RAM.
185 # A large number of captchas is more difficult for an attacker to remember to solve on their own.
186 # Warning! If the animation has a lot of frames, the captcha can take up a lot of RAM!
187 images-count: 120
188 # Path to gif files (.gif file)
189 # You can specify the path to the directory where all the gifs are located. The generator will try to load all the gifs.
190 gifs-path:
191 - "gifs/mrbeast-mr.gif"
192 # Delay between frames in milliseconds.
193 animation-delay: 100
194 # Should the gif be animated in reverse?
195 reverse-animation: false
196 # Should the animation animate backwards when reaching the end of the animation?
197 # It will create a continuous animation effect.
198 reverse-replay-cycle: false
199 # How many times does the generator need to rotate the random frames? 0 - to disable.
200 # This option rotates each image chunk of the animated frame in the generated specified direction.
201 # The difference between this parameter and the rotation-framed layer is that this parameter saves the rotation of a piece of the image for each frame of the animation, which cannot be done with the rotation layer.
202 random-frame-rotate-count: 0
203 # Configuration for glowing circle generator
204 glowing-circle:
205 # Should the generator generate a gif image based on the generated layers, in which everything will be filled with color except for certain areas that will move to the sides?
206 # This will make it much harder for attackers to solve the captcha, as the attacker will need to parse EVERY frame in the animation in order to read the code and solve the captcha.
207 enabled: false
208 # How many frames should a GIF have? The more frames the better, but it consumes a lot of traffic and a lot of time to generate.
209 frames-count: 10
210 # Should the generator create a circle that moves horizontally from the beginning to the end of the image?
211 main-circle: true
212 # How many small random circles should be generated? 0 - to disable.
213 small-circles-count: 3
214 # What render layers should be on the shadow background?
215 # Disabled if empty.
216 shadow-render-layers:
217 - ""
218 # Configuration for image offset
219 image-offset:
220 # Should the generator randomly move the image sideways in each frame?
221 enabled: false
222 # By how many pixels in the X direction should the image be shifted in the next frame?
223 animation-x-multiplication: 4
224 # By how many pixels in the Y direction should the image be shifted in the next frame?
225 animation-y-multiplication: 4
226 # After how many frames should the generator randomly change direction?
227 animation-iteration-change: 5
228 # Configuration for render layer templates.
229 #
230 # Render layer templates are a convenient way to customize the parameters of each layer separately, creating different templates with different settings.
231 # Each template has its own type. For now, here is the list of configurable templates:
232 #
233 # Image - Is a simple image, usually it is in the very first layer
234 # Curve - Random line, usually used to complicate the code
235 # Gradient - Fills an image with a gradient (iridescent colors)
236 # Ripple - Distorts images, making them completely unpredictable
237 # Noise - Adds random noise (random color of pixels in a random place) to the whole image
238 # Splitter - Divides the image into fragments and then shuffles them in random order
239 # Rotation - Rotates the image in a random direction
240 # Transparent - Adds an alpha value (transparency level) to each pixel in this image, creating a transparent effect when applied to a background.
241 # Mirror - Mirrors the entire image horizontally
242 #
243 # Layers that cannot be configured and have a constant name:
244 #
245 # Code - The code or text that is drawn on the captcha, usually this is the code that you need to enter from the image
246 # Dithering - Mixes different colors, allows you to achieve a better transition of colors in conditions of a limited number of colors
247 #
248 # Each layer has its own custom name, you can add and name as many layers as you like.
249 # By default, the name of a configurable layer is equal to its type, however, you can change this to your liking.
250 # If you have any questions about how it works feel free to ask on Discord.
251 render-layer-templates:
252 # Configuration for image layer templates.
253 #
254 # images - Paths to images files (.png, .jpg, .bmp, .wbmp file)
255 # You can specify the path to the directory where all the images are located. The generator will try to load all the images.
256 # ignore-transparent - Whether transparent pixels should be ignored
257 image-layer-templates:
258 image:
259 images:
260 - "captcha_background.jpg"
261 ignore-transparent: false
262 hand-image:
263 images:
264 - "captcha_background.jpg"
265 ignore-transparent: false
266 framed-image:
267 images:
268 - "captcha_background.jpg"
269 ignore-transparent: false
270 # Configuration for curve layer templates.
271 #
272 # count - How many random lines need to be generated?
273 # size - Random lines size in pixels
274 curve-layer-templates:
275 complicated-curve:
276 count: 6
277 size: 2.0
278 curve:
279 count: 3
280 size: 1.5
281 # Configuration for gradient layer templates.
282 #
283 # min-colors - Minimum number of random colors for a gradient
284 # max-colors - Maximum number of random colors for a gradient
285 # ignore-transparent - Whether transparent pixels should be ignored
286 gradient-layer-templates:
287 hand-gradient:
288 min-colors: 4
289 max-colors: 4
290 ignore-transparent: true
291 framed-gradient:
292 min-colors: 4
293 max-colors: 4
294 ignore-transparent: true
295 gradient:
296 min-colors: 4
297 max-colors: 4
298 ignore-transparent: true
299 # Configuration for ripple layer templates.
300 #
301 # width - How much to distort images in width?
302 # height - How much to distort images in height?
303 ripple-layer-templates:
304 ripple:
305 width: 100.0
306 height: 50.0
307 ripple-less:
308 width: 100.0
309 height: 15.0
310 # Configuration for noise layer templates.
311 #
312 # percent - How often to generate noises? In percent. 1.0 - 100%, 0.0 - 0%, 0.5 - 50%
313 noise-layer-templates:
314 noise:
315 percent: 0.02
316 less-noise:
317 percent: 0.001
318 # Configuration for splitter layer templates.
319 #
320 # chunk-count - Into how many fragments should the image be divided?
321 splitter-layer-templates:
322 huge-splitter:
323 chunk-count: 4
324 splitter:
325 chunk-count: 2
326 # Configuration for rotation layer templates.
327 #
328 # framed - If enabled, should the image be fragmented and then rotate the fragments randomly?
329 # framed-count - Into how many fragments should the image be divided?
330 # exact - Should the image be rotated exactly 90 degrees?
331 # chance - With what chance to rotate the image.
332 # In percent. 1.0 - 100%, 0.0 - 0%, 0.5 - 50%
333 rotation-layer-templates:
334 rotation-framed:
335 framed: true
336 framed-count: 3
337 exact: true
338 chance: 1.0
339 rotation:
340 framed: false
341 framed-count: 3
342 exact: true
343 chance: 1.0
344 rotation-chance:
345 framed: false
346 framed-count: 1
347 exact: true
348 chance: 0.5
349 rotation-free-chance:
350 framed: false
351 framed-count: 3
352 exact: false
353 chance: 0.5
354 rotation-free:
355 framed: false
356 framed-count: 3
357 exact: false
358 chance: 1.0
359 # Configuration for transparent layer templates.
360 #
361 # alpha-level - Pixel transparency level.
362 # The closer the value is to zero, the more transparent the pixel.
363 # Valid values are from 0 to 255.
364 transparent-layer-templates:
365 almost-transparent:
366 alpha-level: 200
367 transparent:
368 alpha-level: 128
369 # Configuration for mirror layer templates.
370 #
371 # chance - With what chance to mirror the image.
372 # In percent. 1.0 - 100%, 0.0 - 0%, 0.5 - 50%
373 mirror-layer-templates:
374 mirror:
375 chance: 0.5
376 # Configuration for captcha answer generator
377 answer-generators:
378 # Configuration for captcha code answer
379 code:
380 # Should the proxy server use a regular random code generator?
381 # The user will need to enter characters into the chat.
382 enabled: true
383 # Whether to use the default font SANS_SERIF?
384 use-font-sans-serif: false
385 # Whether to use the default font SERIF?
386 use-font-serif: true
387 # Whether to use the default font MONOSPACED?
388 use-font-monospaced: false
389 # Paths to custom fonts (.ttf file). Disabled if empty.
390 custom-fonts: []
391 # Font size in pixels.
392 font-size: 41
393 # Distance in pixels between glyphs.
394 font-space: 1
395 # How many rotated glyph variants to generate for one glyph? 0 - to disable.
396 rotate-count: 4
397 # Whether to use outline for glyphs?
398 outline: true
399 # Should each individual glyph be generated with a different height?
400 glyph-random-height: true
401 # What characters to use to generate random code? Do not use similar characters, otherwise it will be more difficult for ordinary people to pass the captcha.
402 char-set: "1234567890abcdef"
403 # Minimum char-set length.
404 min-length: 4
405 # Maximum char-set length.
406 # Don't forget to change the font size, otherwise the text may not fit in the captcha.
407 max-length: 5
408 # Configuration for captcha arithmetic answer
409 arithmetic:
410 # Should the proxy server use a arithmetic generator?
411 # The user will need to solve a simple arithmetic example such as addition or subtraction and then enter the result into a chat.
412 enabled: false
413 # Whether to use the default font SANS_SERIF?
414 use-font-sans-serif: true
415 # Whether to use the default font SERIF?
416 use-font-serif: true
417 # Whether to use the default font MONOSPACED?
418 use-font-monospaced: true
419 # Paths to custom fonts (.ttf file). Disabled if empty.
420 custom-fonts: []
421 # Font size in pixels.
422 font-size: 40
423 # Distance in pixels between glyphs.
424 font-space: 1
425 # How many rotated glyph variants to generate for one glyph? 0 - to disable.
426 rotate-count: 5
427 # Whether to use outline for glyphs?
428 outline: true
429 # Should each individual glyph be generated with a different height?
430 glyph-random-height: true
431 # Should the generator use the addition operation?
432 enabled-addition: true
433 # What symbols are considered addition operators?
434 addition-chars: "+"
435 # Should the generator use the substraction operation?
436 enabled-substraction: true
437 # What symbols are considered substraction operators?
438 substraction-chars: "-"
439 # Should the generator use the multiplication operation?
440 enabled-multiplication: false
441 # What symbols are considered multiplication operators?
442 multiplication-chars: "*x·"
443 # Should the generator use the division operation?
444 enabled-division: false
445 # What symbols are considered division operators?
446 division-chars: "/:"
447 # What is the maximum number to use for the arithmetic generator?
448 max-arithmetic-number: 9
449 # How exactly to display an arithmetic example?
450 # Values starting with percentages are placeholders.
451 # %first% - First operand
452 # %second% - Second operand
453 # %operator% - Operator symbol
454 arithmetic-example: "%first%%operator%%second%=?"
455 # Configuration for captcha number spelling answer
456 number-spelling:
457 # Should the proxy server use a number spelling generator?
458 # The user will need to enter the numbers from the picture, the numbers themselves are drawn as text (for example, 'one hundred twenty five')
459 enabled: false
460 # Whether to use the default font SANS_SERIF?
461 use-font-sans-serif: true
462 # Whether to use the default font SERIF?
463 use-font-serif: true
464 # Whether to use the default font MONOSPACED?
465 use-font-monospaced: true
466 # Paths to custom fonts (.ttf file). Disabled if empty.
467 custom-fonts: []
468 # Font size in pixels.
469 font-size: 35
470 # Distance in pixels between glyphs.
471 font-space: 1
472 # How many rotated glyph variants to generate for one glyph? 0 - to disable.
473 rotate-count: 5
474 # Whether to use outline for glyphs?
475 outline: true
476 # Translation for thousand numbers.
477 hundreds:
478 one: "one hundred"
479 two: "two hundred"
480 there: "three hundred"
481 four: "four hundred"
482 five: "five hundred"
483 six: "six hundred"
484 seven: "seven hundred"
485 eight: "eight hundred"
486 nine: "nine hundred"
487 # Translation for decimal numbers.
488 tenths:
489 one: "ten"
490 two: "twenty"
491 there: "thirty"
492 four: "forty"
493 five: "fifty"
494 six: "sixty"
495 seven: "seventy"
496 eight: "eighty"
497 nine: "ninety"
498 # Translation for single numbers.
499 units:
500 one: "one"
501 two: "two"
502 there: "there"
503 four: "four"
504 five: "five"
505 six: "six"
506 seven: "seven"
507 eight: "eight"
508 nine: "nine"
509 # Translation for numbers between 11 and 19.
510 exceptions:
511 eleven: "eleven"
512 twelve: "twelve"
513 thirteen: "thirteen"
514 fourteen: "fourteen"
515 fifteen: "fifteen"
516 sixteen: "sixteen"
517 seventeen: "seventeen"
518 eighteen: "eighteen"
519 nineteen: "nineteen"
520 # Load always color palette in memory?
521 # If enabled, when attempting to generate a captcha, the palette will be loaded into memory once instead of each time it is loaded into memory.
522 # This also means that there will always be around 64MB allocated for this palette, even when no captcha is generated.
523 always-load-map-palette: false
524 # What colors to use for glyphs? Only hex allowed
525 colors:
526 - "#5A7E28"
527 - "#6E9A30"
528 - "#7FB238"
529 - "#435E1E"
530 - "#AEA473"
531 - "#D5C98D"
532 - "#F7E9A3"
533 - "#837B56"
534 - "#8C8C8C"
535 - "#ACACAC"
536 - "#C7C7C7"
537 - "#696969"
538 - "#B40000"
539 - "#DC0000"
540 - "#FF0000"
541 - "#870000"
542 - "#7171B4"
543 - "#8A8ADC"
544 - "#A0A0FF"
545 - "#555587"
546 - "#767676"
547 - "#909090"
548 - "#A7A7A7"
549 - "#585858"
550 - "#005800"
551 - "#006B00"
552 - "#007C00"
553 - "#004200"
554 - "#B4B4B4"
555 - "#DCDCDC"
556 - "#FFFFFF"
557 - "#878787"
558 - "#747782"
559 - "#8D919F"
560 - "#A4A8B8"
561 - "#575961"
562 - "#6B4D36"
563 - "#825E42"
564 - "#976D4D"
565 - "#503A29"
566 - "#4F4F4F"
567 - "#616161"
568 - "#707070"
569 - "#3B3B3B"
570 - "#2D2DB4"
571 - "#3737DC"
572 - "#4040FF"
573 - "#222287"
574 - "#655433"
575 - "#7B673E"
576 - "#8F7748"
577 - "#4C3F26"
578 - "#B4B2AD"
579 - "#DCD9D3"
580 - "#FFFCF5"
581 - "#878582"
582 - "#985A24"
583 - "#BA6E2C"
584 - "#D87F33"
585 - "#72431B"
586 - "#7E3698"
587 - "#9A42BA"
588 - "#B24CD8"
589 - "#5E2872"
590 - "#486C98"
591 - "#5884BA"
592 - "#6699D8"
593 - "#365172"
594 - "#A2A224"
595 - "#C6C62C"
596 - "#E5E533"
597 - "#79791B"
598 - "#5A9012"
599 - "#6EB016"
600 - "#7FCC19"
601 - "#436C0D"
602 - "#AB5A74"
603 - "#D16E8E"
604 - "#F27FA5"
605 - "#804357"
606 - "#363636"
607 - "#424242"
608 - "#4C4C4C"
609 - "#282828"
610 - "#6C6C6C"
611 - "#848484"
612 - "#999999"
613 - "#515151"
614 - "#365A6C"
615 - "#426E84"
616 - "#4C7F99"
617 - "#284351"
618 - "#5A2C7E"
619 - "#6E369A"
620 - "#7F3FB2"
621 - "#43215E"
622 - "#24367E"
623 - "#2C429A"
624 - "#334CB2"
625 - "#1B285E"
626 - "#483624"
627 - "#58422C"
628 - "#664C33"
629 - "#36281B"
630 - "#485A24"
631 - "#586E2C"
632 - "#667F33"
633 - "#36431B"
634 - "#6C2424"
635 - "#842C2C"
636 - "#993333"
637 - "#511B1B"
638 - "#121212"
639 - "#161616"
640 - "#191919"
641 - "#0D0D0D"
642 - "#B0A836"
643 - "#D8CD42"
644 - "#FAEE4D"
645 - "#847E29"
646 - "#419B96"
647 - "#4FBDB8"
648 - "#5CDBD5"
649 - "#317471"
650 - "#345AB4"
651 - "#406EDC"
652 - "#4A80FF"
653 - "#274487"
654 - "#009929"
655 - "#00BB32"
656 - "#00D93A"
657 - "#00731F"
658 - "#5B3D23"
659 - "#6F4A2A"
660 - "#815631"
661 - "#442E1A"
662 - "#4F0100"
663 - "#610200"
664 - "#700200"
665 - "#3B0100"
666 - "#947D72"
667 - "#B4998B"
668 - "#D1B1A1"
669 - "#6F5E55"
670 - "#703A19"
671 - "#89471F"
672 - "#9F5224"
673 - "#542B13"
674 - "#693D4C"
675 - "#814B5D"
676 - "#95576C"
677 - "#4F2E39"
678 - "#4F4C61"
679 - "#615D77"
680 - "#706C8A"
681 - "#3B3949"
682 - "#835E19"
683 - "#A0731F"
684 - "#BA8524"
685 - "#624613"
686 - "#495325"
687 - "#59652E"
688 - "#677535"
689 - "#373E1C"
690 - "#713637"
691 - "#8A4243"
692 - "#A04D4E"
693 - "#552929"
694 - "#281D19"
695 - "#31231E"
696 - "#392923"
697 - "#1E1613"
698 - "#5F4C45"
699 - "#745C55"
700 - "#876B62"
701 - "#473934"
702 - "#3D4141"
703 - "#4B4F4F"
704 - "#575C5C"
705 - "#2E3131"
706 - "#56343E"
707 - "#693F4C"
708 - "#7A4958"
709 - "#41272F"
710 - "#362C41"
711 - "#42354F"
712 - "#4C3E5C"
713 - "#282131"
714 - "#362319"
715 - "#422B1E"
716 - "#4C3223"
717 - "#281A13"
718 - "#363A1E"
719 - "#424724"
720 - "#4C522A"
721 - "#282B16"
722 - "#642A20"
723 - "#7B3428"
724 - "#8E3C2E"
725 - "#4B2018"
726 - "#1A100B"
727 - "#20130E"
728 - "#251610"
729 - "#140C08"
730 - "#852223"
731 - "#A3292A"
732 - "#BD3031"
733 - "#64191A"
734 - "#682C44"
735 - "#803654"
736 - "#943F61"
737 - "#4E2133"
738 - "#411214"
739 - "#4F1619"
740 - "#5C191D"
741 - "#310D0F"
742 - "#10595F"
743 - "#136D74"
744 - "#167E86"
745 - "#0C4347"
746 - "#296463"
747 - "#327B79"
748 - "#3A8E8C"
749 - "#1F4B4A"
750 - "#3D1F2C"
751 - "#4A2635"
752 - "#562C3E"
753 - "#2E1721"
754 - "#0E7F5E"
755 - "#119B73"
756 - "#14B485"
757 - "#0B5F46"
758 - "#474747"
759 - "#565656"
760 - "#646464"
761 - "#353535"
762 - "#987C68"
763 - "#BA977F"
764 - "#D8AF93"
765 - "#725D4E"
766 - "#5A766A"
767 - "#6E9081"
768 - "#7FA796"
769 - "#43584F"
770