New icons
Also update IMG_xpm.c
This commit is contained in:
parent
049789025f
commit
3ffb7b6192
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
SDL_image: An example image loading library for use with SDL
|
SDL_image: An example image loading library for use with SDL
|
||||||
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
// SDLCALL terms removed from original SDL_image declarations
|
// SDLCALL terms removed from original SDL_image declarations
|
||||||
int IMG_isXPM(SDL_RWops *src);
|
int IMG_isXPM(SDL_RWops *src);
|
||||||
SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src);
|
SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src);
|
||||||
SDL_Surface *IMG_ReadXPMFromArray(const char **xpm);
|
SDL_Surface *IMG_ReadXPMFromArray(char **xpm);
|
||||||
#define IMG_SetError SDL_SetError
|
#define IMG_SetError SDL_SetError
|
||||||
#define IMG_GetError SDL_GetError
|
#define IMG_GetError SDL_GetError
|
||||||
#endif
|
#endif
|
||||||
|
@ -79,7 +79,7 @@ int IMG_isXPM(SDL_RWops *src)
|
||||||
#define STARTING_HASH_SIZE 256
|
#define STARTING_HASH_SIZE 256
|
||||||
|
|
||||||
struct hash_entry {
|
struct hash_entry {
|
||||||
const char *key;
|
char *key;
|
||||||
Uint32 color;
|
Uint32 color;
|
||||||
struct hash_entry *next;
|
struct hash_entry *next;
|
||||||
};
|
};
|
||||||
|
@ -110,7 +110,7 @@ static struct color_hash *create_colorhash(int maxnum)
|
||||||
|
|
||||||
/* we know how many entries we need, so we can allocate
|
/* we know how many entries we need, so we can allocate
|
||||||
everything here */
|
everything here */
|
||||||
hash = (struct color_hash *)SDL_malloc(sizeof *hash);
|
hash = (struct color_hash *)SDL_calloc(1, sizeof(*hash));
|
||||||
if (!hash)
|
if (!hash)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -119,15 +119,29 @@ static struct color_hash *create_colorhash(int maxnum)
|
||||||
;
|
;
|
||||||
hash->size = s;
|
hash->size = s;
|
||||||
hash->maxnum = maxnum;
|
hash->maxnum = maxnum;
|
||||||
|
|
||||||
bytes = hash->size * sizeof(struct hash_entry **);
|
bytes = hash->size * sizeof(struct hash_entry **);
|
||||||
hash->entries = NULL; /* in case malloc fails */
|
/* Check for overflow */
|
||||||
hash->table = (struct hash_entry **)SDL_malloc(bytes);
|
if ((bytes / sizeof(struct hash_entry **)) != hash->size) {
|
||||||
|
IMG_SetError("memory allocation overflow");
|
||||||
|
SDL_free(hash);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
hash->table = (struct hash_entry **)SDL_calloc(1, bytes);
|
||||||
if (!hash->table) {
|
if (!hash->table) {
|
||||||
SDL_free(hash);
|
SDL_free(hash);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
SDL_memset(hash->table, 0, bytes);
|
|
||||||
hash->entries = (struct hash_entry *)SDL_malloc(maxnum * sizeof(struct hash_entry));
|
bytes = maxnum * sizeof(struct hash_entry);
|
||||||
|
/* Check for overflow */
|
||||||
|
if ((bytes / sizeof(struct hash_entry)) != maxnum) {
|
||||||
|
IMG_SetError("memory allocation overflow");
|
||||||
|
SDL_free(hash->table);
|
||||||
|
SDL_free(hash);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
hash->entries = (struct hash_entry *)SDL_calloc(1, bytes);
|
||||||
if (!hash->entries) {
|
if (!hash->entries) {
|
||||||
SDL_free(hash->table);
|
SDL_free(hash->table);
|
||||||
SDL_free(hash);
|
SDL_free(hash);
|
||||||
|
@ -150,7 +164,7 @@ static int add_colorhash(struct color_hash *hash,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fast lookup that works if cpp == 1 */
|
/* fast lookup that works if cpp == 1 */
|
||||||
#define QUICK_COLORHASH(hash, key) ((hash)->table[*(const Uint8 *)(key)]->color)
|
#define QUICK_COLORHASH(hash, key) ((hash)->table[*(Uint8 *)(key)]->color)
|
||||||
|
|
||||||
static Uint32 get_colorhash(struct color_hash *hash, const char *key, int cpp)
|
static Uint32 get_colorhash(struct color_hash *hash, const char *key, int cpp)
|
||||||
{
|
{
|
||||||
|
@ -174,14 +188,16 @@ static void free_colorhash(struct color_hash *hash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define EXTENDED_XPM_COLORS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* convert colour spec to RGB (in 0xrrggbb format).
|
* convert colour spec to RGB (in 0xrrggbb format).
|
||||||
* return 1 if successful.
|
* return 1 if successful.
|
||||||
*/
|
*/
|
||||||
static int color_to_rgb(const char *spec, int speclen, Uint32 *rgb)
|
static int color_to_rgb(char *spec, int speclen, Uint32 *rgb)
|
||||||
{
|
{
|
||||||
/* poor man's rgb.txt */
|
/* poor man's rgb.txt */
|
||||||
static struct { const char *name; Uint32 rgb; } known[] = {
|
static struct { char *name; Uint32 rgb; } known[] = {
|
||||||
{ "none", 0xFFFFFFFF },
|
{ "none", 0xFFFFFFFF },
|
||||||
{ "black", 0x000000 },
|
{ "black", 0x000000 },
|
||||||
{ "white", 0xFFFFFF },
|
{ "white", 0xFFFFFF },
|
||||||
|
@ -895,7 +911,7 @@ static int color_to_rgb(const char *spec, int speclen, Uint32 *rgb)
|
||||||
*rgb = (Uint32)SDL_strtol(buf, NULL, 16);
|
*rgb = (Uint32)SDL_strtol(buf, NULL, 16);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
size_t i;
|
int i;
|
||||||
for (i = 0; i < SDL_arraysize(known); i++) {
|
for (i = 0; i < SDL_arraysize(known); i++) {
|
||||||
if (SDL_strncasecmp(known[i].name, spec, speclen) == 0) {
|
if (SDL_strncasecmp(known[i].name, spec, speclen) == 0) {
|
||||||
*rgb = known[i].rgb;
|
*rgb = known[i].rgb;
|
||||||
|
@ -912,14 +928,14 @@ static int color_to_rgb(const char *spec, int speclen, Uint32 *rgb)
|
||||||
|
|
||||||
static char *linebuf;
|
static char *linebuf;
|
||||||
static int buflen;
|
static int buflen;
|
||||||
static const char *error;
|
static char *error;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read next line from the source.
|
* Read next line from the source.
|
||||||
* If len > 0, it's assumed to be at least len chars (for efficiency).
|
* If len > 0, it's assumed to be at least len chars (for efficiency).
|
||||||
* Return NULL and set error upon EOF or parse error.
|
* Return NULL and set error upon EOF or parse error.
|
||||||
*/
|
*/
|
||||||
static const char *get_next_line(const char ***lines, SDL_RWops *src, int len)
|
static char *get_next_line(char ***lines, SDL_RWops *src, int len)
|
||||||
{
|
{
|
||||||
char *linebufnew;
|
char *linebufnew;
|
||||||
|
|
||||||
|
@ -991,7 +1007,7 @@ do { \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* read XPM from either array or RWops */
|
/* read XPM from either array or RWops */
|
||||||
static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
|
static SDL_Surface *load_xpm(char **xpm, SDL_RWops *src)
|
||||||
{
|
{
|
||||||
Sint64 start = 0;
|
Sint64 start = 0;
|
||||||
SDL_Surface *image = NULL;
|
SDL_Surface *image = NULL;
|
||||||
|
@ -1003,8 +1019,8 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
|
||||||
struct color_hash *colors = NULL;
|
struct color_hash *colors = NULL;
|
||||||
SDL_Color *im_colors = NULL;
|
SDL_Color *im_colors = NULL;
|
||||||
char *keystrings = NULL, *nextkey;
|
char *keystrings = NULL, *nextkey;
|
||||||
const char *line;
|
char *line;
|
||||||
const char ***xpmlines = NULL;
|
char ***xpmlines = NULL;
|
||||||
int pixels_len;
|
int pixels_len;
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
|
@ -1035,6 +1051,11 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check for allocation overflow */
|
||||||
|
if ((size_t)(ncolors * cpp)/cpp != ncolors) {
|
||||||
|
error = "Invalid color specification";
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
keystrings = (char *)SDL_malloc(ncolors * cpp);
|
keystrings = (char *)SDL_malloc(ncolors * cpp);
|
||||||
if (!keystrings) {
|
if (!keystrings) {
|
||||||
error = "Out of memory";
|
error = "Out of memory";
|
||||||
|
@ -1066,7 +1087,7 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
for (index = 0; index < ncolors; ++index ) {
|
for (index = 0; index < ncolors; ++index ) {
|
||||||
const char *p;
|
char *p;
|
||||||
line = get_next_line(xpmlines, src, 0);
|
line = get_next_line(xpmlines, src, 0);
|
||||||
if (!line)
|
if (!line)
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -1076,7 +1097,7 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
|
||||||
/* parse a colour definition */
|
/* parse a colour definition */
|
||||||
for (;;) {
|
for (;;) {
|
||||||
char nametype;
|
char nametype;
|
||||||
const char *colname;
|
char *colname;
|
||||||
Uint32 rgb, pixel;
|
Uint32 rgb, pixel;
|
||||||
|
|
||||||
SKIPSPACE(p);
|
SKIPSPACE(p);
|
||||||
|
@ -1102,8 +1123,9 @@ static SDL_Surface *load_xpm(const char **xpm, SDL_RWops *src)
|
||||||
c->g = (Uint8)(rgb >> 8);
|
c->g = (Uint8)(rgb >> 8);
|
||||||
c->b = (Uint8)(rgb);
|
c->b = (Uint8)(rgb);
|
||||||
pixel = index;
|
pixel = index;
|
||||||
} else
|
} else {
|
||||||
pixel = rgb;
|
pixel = rgb;
|
||||||
|
}
|
||||||
add_colorhash(colors, nextkey, cpp, pixel);
|
add_colorhash(colors, nextkey, cpp, pixel);
|
||||||
nextkey += cpp;
|
nextkey += cpp;
|
||||||
if (rgb == 0xffffffff)
|
if (rgb == 0xffffffff)
|
||||||
|
@ -1168,7 +1190,7 @@ SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src)
|
||||||
return load_xpm(NULL, src);
|
return load_xpm(NULL, src);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_Surface *IMG_ReadXPMFromArray(const char **xpm)
|
SDL_Surface *IMG_ReadXPMFromArray(char **xpm)
|
||||||
{
|
{
|
||||||
if (!xpm) {
|
if (!xpm) {
|
||||||
IMG_SetError("array is NULL");
|
IMG_SetError("array is NULL");
|
||||||
|
|
|
@ -1,163 +1,81 @@
|
||||||
/* XPM */
|
/* XPM */
|
||||||
const char * SDL_icon_xpm[] = {
|
static char * SDL_icon_xpm[] = {
|
||||||
"96 96 64 1",
|
"32 32 46 1",
|
||||||
" c None",
|
" c None",
|
||||||
". c #040656",
|
". c #000033",
|
||||||
"+ c #0100B2",
|
"+ c #000045",
|
||||||
"@ c #04056E",
|
"@ c #00006C",
|
||||||
"# c #0000BD",
|
"# c #01007E",
|
||||||
"$ c #0B0C09",
|
"$ c #000193",
|
||||||
"% c #0B0D26",
|
"% c #00009F",
|
||||||
"& c #090C42",
|
"& c #060766",
|
||||||
"* c #060AA7",
|
"* c #0F0F10",
|
||||||
"= c #1604DA",
|
"= c #0C11CC",
|
||||||
"- c #020CD5",
|
"- c #0D13B8",
|
||||||
"; c #100F8D",
|
"; c #1415E0",
|
||||||
"> c #040DE4",
|
"> c #1E1AED",
|
||||||
", c #11129B",
|
", c #1B1CFE",
|
||||||
"' c #1D1A83",
|
"' c #272576",
|
||||||
") c #2A10FD",
|
") c #313179",
|
||||||
"! c #1318FA",
|
"! c #3A3AB1",
|
||||||
"~ c #25225B",
|
"~ c #3A3AFF",
|
||||||
"{ c #252271",
|
"{ c #434497",
|
||||||
"] c #312E2B",
|
"] c #4F4AAE",
|
||||||
"^ c #33334D",
|
"^ c #4748FE",
|
||||||
"/ c #363775",
|
"/ c #494DE8",
|
||||||
"( c #3D3B69",
|
"( c #7A5137",
|
||||||
"_ c #3A3B8B",
|
"_ c #5E57A7",
|
||||||
": c #373AFF",
|
": c #5957C4",
|
||||||
"< c #4142AA",
|
"< c #616360",
|
||||||
"[ c #4B4864",
|
"[ c #855E93",
|
||||||
"} c #4D4B4A",
|
"} c #796979",
|
||||||
"| c #60492F",
|
"| c #9C6473",
|
||||||
"1 c #4F4C57",
|
"1 c #6D6EF4",
|
||||||
"2 c #4A4A9E",
|
"2 c #7171FF",
|
||||||
"3 c #4F4E85",
|
"3 c #817F9D",
|
||||||
"4 c #474ADE",
|
"4 c #B37C5A",
|
||||||
"5 c #4E4FFE",
|
"5 c #898A8D",
|
||||||
"6 c #5D5CB3",
|
"6 c #A28572",
|
||||||
"7 c #686663",
|
"7 c #A3829B",
|
||||||
"8 c #666682",
|
"8 c #8988FF",
|
||||||
"9 c #676875",
|
"9 c #C39D82",
|
||||||
"0 c #66659E",
|
"0 c #ABADAB",
|
||||||
"a c #8B6538",
|
"a c #DCA57C",
|
||||||
"b c #6465D5",
|
"b c #ABAAFE",
|
||||||
"c c #7F694F",
|
"c c #C1C3C0",
|
||||||
"d c #6767FF",
|
"d c #F7C095",
|
||||||
"e c #7272FF",
|
"e c #CFD1CE",
|
||||||
"f c #91795C",
|
"f c #DDE0DD",
|
||||||
"g c #7677FD",
|
"g c #FAFCF9",
|
||||||
"h c #828396",
|
" ",
|
||||||
"i c #A78153",
|
" {]]]]]]) ",
|
||||||
"j c #888989",
|
" {:1222222221::) ",
|
||||||
"k c #8D897E",
|
" :1222222222^^>,,>% ",
|
||||||
"l c #9190FD",
|
" ' ]122222222:]>,,;=%$& ",
|
||||||
"m c #CA9048",
|
" @~] :222222221://-=%%%#. ",
|
||||||
"n c #C09968",
|
" #>^{122222222:1][~&%%%@ ",
|
||||||
"o c #A9A8A1",
|
" #>=122221221:/|a4,&%$& ",
|
||||||
"p c #A6A8B0",
|
" #-!22228bb12/4ad9,&$+ ",
|
||||||
"q c #B0B1FB",
|
" ##^2221bbb2~,!ad7,@'{ ",
|
||||||
"r c #EEAC61",
|
" )!,/22281^,,,,:d_,-221:) ",
|
||||||
"s c #E3B478",
|
" /,;,,>,,-_!;,,,[=>=~2222: ",
|
||||||
"t c #C3C4BE",
|
" {=,,,,;3fgg0;,,,,;,,,~^221{ ",
|
||||||
"u c #FFC68C",
|
" 3_,,,>5ggggg3,,,,,,,,,,,>^2] ",
|
||||||
"v c #FCCD90",
|
" 05,,,_fgg0egc>,,,,,,,,,,,,,~! ",
|
||||||
"w c #D4D7D3",
|
" 00>,>0ggf00gf;,,,,,,,,,,,,,,,- ",
|
||||||
"x c #E3E5E0",
|
" 5e%,!fggf55gf=,,,,,,,,,,>>>>,, ",
|
||||||
"y c #FCFFFB",
|
" <f+%5gggf*<ge;,,,,>==-%%%%%%$$#",
|
||||||
" ",
|
" f*@cgggg*5g0>,>-%%%%%%$@@+ ",
|
||||||
" ",
|
"5e<<cggggg5cg)%%%%%%%$@+ ",
|
||||||
" ",
|
" ***99fggggg3%%%%%%#@@ ",
|
||||||
" ",
|
" (4dd9fggf6}$%%%%$$=,% ",
|
||||||
" ",
|
" 4dddd99dda6%$$%%%;,> ",
|
||||||
" ",
|
" 4ddddda9a6$#%%%%=,,- ",
|
||||||
" ",
|
" 4addddda*#%%%%%%>,; ",
|
||||||
" ",
|
" (444 +@$%%%-,, ",
|
||||||
" ",
|
" &$%%=,$ ",
|
||||||
" ttj7777777joot ",
|
" &$%>- ",
|
||||||
" 9hh8830000088hh9 ",
|
" +#-= ",
|
||||||
" 9888(//__<bbbb2////3[888hpp ",
|
" @- ",
|
||||||
" oj}^/_6bbbbgggggggb2///_bgbbbbb631kt ",
|
" & ",
|
||||||
" (80066bgeeegggggggb22262/bbggeggb66081 ",
|
" "};
|
||||||
" p9^jj pp8(_2bgggggeeeeeeeegb2~_bgb//6geegged5*'(hp ",
|
|
||||||
" ^2<3[7 j^/2bbggggeeeeeeeeeeggb2_({'4eb/2ggge5:!!!>-*{^kt ",
|
|
||||||
" &,5b60^ (02<beggggeeeeeeeeeegb62__7}~:5g/_bgd5!))))))=+;20k ",
|
|
||||||
" @#:egb3^ pp({4dgggeeeeeeeeeeeeegg6/__3im}+:e//bd:!)))))))))!#;87 ",
|
|
||||||
" p'-!:dgb3] 7['4egeeeeeeeeeeeeeeeegg2/__[armc,-523<:!)))))))))))!>*{} ",
|
|
||||||
" tp,-)!5egb3} ~_<4dgggeeeeeeeeeeeeeegb6/_2[amusf'#!<_'>))))))))))))!)>+{~ ",
|
|
||||||
" p;-))!5gb2^^'#5eggeeeeeeeeeeeeeeegg6/_23amrusi{#!+;;>))))))))))))))!!-'8p ",
|
|
||||||
" tp'#!)):d6(@*>5egeeeeeeeeeeeeeeeegg6_/<(amrrvvn{+)-,;>))))))!!!!!!)))!!>,~j ",
|
|
||||||
" p;#!))-'{'+-5eggeeeeeeeeeeeeeeeegb222(cmrruvvn{+)>,@>!)!!)!!>>>>======>-,/8 ",
|
|
||||||
" ;#)!-*.;-!5eggeeeeeeeeeeeeeeeegb2_<6|mrrsvvvn{+)!,.-!!!!>>=--######+++-#@(k ",
|
|
||||||
" h@-)+@.*>!5egeeeeeeeeeeeeeeeeeegb_</]mrrruvvvn{+))*@->>--###++++++###+;@{(9j ",
|
|
||||||
" kh,#+@@,>!:dggeeeeeeeeeeeeeeeeeeebbb_]mrruuvvsf'#)!*.+-###+++++++##+*;'3(&^9 ",
|
|
||||||
" 8*,@@*)):dggeeeeeeeeeeeeeeeeeeeeggg<(|iruvvvsc,=!!*.;*++++++++###+,@&1o ",
|
|
||||||
" 8@@@-!)!5eeeeeeeeeeeeeeeeeeeeeeeeeggb2[csvvvn^#)!!+@;*#+++++###*@~[ ",
|
|
||||||
" 9&@*!)):5geeeeeeeeeeeeeeeeeeeeeeeeegge637nsvf{>))!+;;*-######*;{.^ ",
|
|
||||||
" 9%;!!)):dgeeeeeeeeeeeeeeeeeeeeeeeeeeeggb_1ir7;>))!+;;,++++++*'(} ",
|
|
||||||
" 9{+!))!5egeeeeeeeeeeeeeeeeeddddeeeeeeeege2}|~#!))!#;@...@@@.^hp ",
|
|
||||||
" 8,=!))):dggeeeeeeeeeeeeeeeeggggeeeeeeeeggb_~,>!))!+@@@;;;;@&^o ",
|
|
||||||
" }(-)))))!:eegeeeeeeeeeeeeeegllllgeeeeeeeegd5+=))))!+;,#>--#,'/hj ",
|
|
||||||
" o8.>))))))!:dgggeeeeeeeeeeellqqqqlgeeeeggg5:!!!)))))-*+>)!:55db631 ",
|
|
||||||
" p8<*!)))))))!:5deggggggeeeegqqqqqqqqlggged5:!))))))))>->!!:5ddeegb3/ ",
|
|
||||||
" oh'#!))))))))))!:ddeeeeeeeeglqqqqqqqqlgedd:!)))))))))))))!:dggggeggg239 ",
|
|
||||||
" ^*>!))!)))))))))!::55dddeegglll600333_4:!!)))))))))))))):dggeeeeeeggb6(9o ",
|
|
||||||
" ~+=-+#>))))))))))!!!:::::5554<3889988[/,=)))))))))))))):5gggeeeeeeeggb6087 ",
|
|
||||||
" ~**@~'+>!))))))))))))))))!!>*{1kkooook7(,-!)))))))))))!:5deeeeeeeeeeeggb289 ",
|
|
||||||
" ~,'1o7(*>!))))))))))))))))=,[jtttwxxxwto^;>!))))))))))!!!::5deggeeeeeeegbb3] ",
|
|
||||||
" ~@/oxt7'#))))))))))))))))=,3ktwxxyyyyyyxk/+!))))))))))))))!:::5degggeeegggb3^ ",
|
|
||||||
" ^&8xyyt^,)))))))))))))))>,3otwxyyyyyyyyyxh'>)))))))))))))))))):5ddeeeeeeeggb3^ ",
|
|
||||||
" 771pyyyx7'=!)))))))))))!!#(jtxxyyyyyyyyyyyt3-)))))))))))))))))))!!::degggeeegb2[o ",
|
|
||||||
" 77tyyyxk/+!!)))))))))))-;9owxyyyyyyyyyyyywh*>)))))))))))))))))))))!::5ddgggggb68j ",
|
|
||||||
" owyyyyt8;>))))))))))))*(otwyyyyyyyyyyyyyxp'-)))))))))))))))))))))))!!:5deeeggg_8j ",
|
|
||||||
" jtxyyyyxh'>)))))))))!!#_ktxyyyyyyyyyyyyyyyt_+))))))))))))))))))))))))))!!:5deggg63j ",
|
|
||||||
" 7jwyyyyyyp/=))))))))))>,3owxyyyyyyyyyyyyyyyw/+))))))))))))))))))))))))))))!::5degb689 ",
|
|
||||||
" 7xyyyyyyo[#))))))))))-/jtwyyyyyyyyyyyyyyyyw/*)))))))))))))))))))))))))))))))!:5dgg_/ ",
|
|
||||||
" }xyyyyyyt9*=))))))))=*9owyyyyyyyyyyyyyyyyyw/*)))))))))))))))))))))))))))))))))!!:5d3} ",
|
|
||||||
" }xyyyyyywj'#!))))))!#@7oxyyyyyyyyyyyyyyyyyw/*)))))))))))))))))))))))))))))))))))!!:4/7 ",
|
|
||||||
" 7xyyyyyyxj&,!!))))!!,%}oyyyyyyyyyyyyyyyyyyw/*))))))))))))))))))))))))))))))))))))))>487 ",
|
|
||||||
" 7xyyyyyywk$@!!)))!!-.$]oyyyyyyyyyyyyyyyyyyw/+))))))))))))))))))))))))))))))!!!!))))!>' ",
|
|
||||||
" }xyyyyyywj$&+!!)!)>;%$]jyyyyyyyyyyyyyyyyyyt{#)))))))))))))))))))))!!!!!!))!)!!!!!!))!#' ",
|
|
||||||
" 7xyyyyyyt7$%@-!)!>*[]$$jyyyyyyyyyyyyyyyyyxp;-))))))))))))))))))!!!!!!!!!!!!>>>>>>>>>>!,^ ",
|
|
||||||
" 7xyyyyyyt}$][;-)=,(o7$$7yyyyyyyyyyyyyyyyyxp,-)))))))))))!!!!)!!!!>>>>=-----########--=+'9 ",
|
|
||||||
" jwyyyyyyo}$}o(';@~7wj$$7yyyyyyyyyyyyyyyyywh*>)))))))))))!>>>=>=---#####+########+++***;@17 ",
|
|
||||||
" otxyyyyyt}$7t7}1}7kw7$$7yyyyyyyyyyyyyyyyyt0-)))))))))!!!>--####+++++++++++++##+***,;''.&] ",
|
|
||||||
" ooowyyyyyt}$}j7owwojo}$$jyyyyyyyyyyyyyyyyyp2>)))))))!!!=##++++++++++++++###+*;@.~[8[9hph ",
|
|
||||||
" ojtyyyyywj$$}jwyyxo}$$]jyyyyyyyyyyyyyyyyyp'>))))))!>>-#++++++++++++####+,;'_3/&^}77kot ",
|
|
||||||
" 7tyyyyyxo]$$oxyyyt]$$}tyyyyyyyyyyyyyyyyx0*!)))!!!>-#++++++++++++#+##+*;.&1ko ",
|
|
||||||
" 7tyyyyyyx7]}xyyyyxj}]oxyyyyyyyyyyyyyyyyp<=)!!!!>-#++++++++++++####*;.(8h ",
|
|
||||||
" owxyxxyytooywptwwtppxyyyyyyyyyyyyyyyxp3,-=!)!>-#++++++++++###+*,'_{&1k ",
|
|
||||||
" jtwwttwtwwtj7kjowxyyyyyyyyyyyyyyyyxt7~'',+>=#+++++++++++###*;@&^j ",
|
|
||||||
" ]joojj7}]}]|innfc7jtwyyyyyyyyyyyxtjcfnnnf[@*#+++++++++###+@.&%% ",
|
|
||||||
" ]$}77}}$$$$]fsssnnifkkotwwwwwwwtpjkfinvvvsi}@*#++++++###*;@.@@&[ ",
|
|
||||||
" o7$]]]]]$$]|isvvvvvusifckopppopok7cisvvvvvvvn(,#++++++#+*@.&@*#;3o ",
|
|
||||||
" }}$]|||fnnsvvvuvvvuuvvsniffffffnnsvvvvuuuvvvc{*+#++##*@&.@*+#--<7 ",
|
|
||||||
" }]cninsuvvvvuuuuuuvvvvusnnnnnssuvvvvvuuuuvvc~*+#+++*@.@;*##=>>,^ ",
|
|
||||||
" 7fvvvvvvuuuuuuuuuuuuvvvvvvvvvvvuuuuuuuuuvvc~*+#+#+,.@*###->!!*~ ",
|
|
||||||
" pkivvvvuuuuuuuuuuuuuuuvvvvvvvvuuuvsnsuuuvvf~*+#++++*+++->!!)!#. ",
|
|
||||||
" kfsuvvuuuuuuuuuuuuuuuuuuuuuuuuuvvnfsuvuvvc{++#++++###->!!))!-;h ",
|
|
||||||
" kisvvvuuuuuuuuuuuuuuuuuuuuuuuvvvicsvvvvs1@##+++++++#>!!))))=,ho ",
|
|
||||||
" 7imuvvvuuuuuuuuuuuuuuuuuuuuvusfcivvuvvn~;##+++++++#>!!))))!#8k ",
|
|
||||||
" cimruuuuuvuuuuuuuuuuuuuuuuvsnfisuvvvsc@*#+++++++++#>!!))))-3} ",
|
|
||||||
" 7amrruuuuuuuuuuuuuuuuuuuuvsnnsvvuvvi^,##++++++++++#>!!)))>/^ ",
|
|
||||||
" kfamrruuuuvvvuuuuuuuuuuuuuvvvvvvvn1@+#++++++++++++#>!)))>{~ ",
|
|
||||||
" 7|iimrrruuuuuuuuuuuuuuuuvvvvuusn1'+#########++++++->!))>; ",
|
|
||||||
" 7cammrrrrruuuuuuvvvvvuuuuurrm|.*-#+#######+###+++->!!!*' ",
|
|
||||||
" ookcaimmrrrrrruuuuurrrrrmi|]%.@@@@@;,*,*+########->!!*6o ",
|
|
||||||
" p7}|ainiimmmmmmmmmmminnia|$%.....{3322_{''',,**+#=!!#6k ",
|
|
||||||
" j7||aaiiiiiaa||7j ookok711^&.';,*+=!><k ",
|
|
||||||
" koooook hph[~@+>><k ",
|
|
||||||
" ppppp tk7^3_,+<j ",
|
|
||||||
" o7^@3j ",
|
|
||||||
" 9jj ",
|
|
||||||
" o ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "};
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 364 KiB After Width: | Height: | Size: 62 KiB |
Binary file not shown.
Before Width: | Height: | Size: 364 KiB After Width: | Height: | Size: 62 KiB |
Loading…
Reference in a new issue