2.5 filebrowser WIP commit

- cleaned up warnings (mostly unneeded variables)
- new icons for filebrowser (large refresh and parent icons missing though)
- fixed error in large icon drawing due to texture coordinates calculated outside subpart of texture.
- removed library loading stuff from filelist
This commit is contained in:
Andrea Weikert 2009-03-11 23:22:07 +00:00
parent dc57b90f83
commit 9d766c35ad
14 changed files with 4522 additions and 4951 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

@ -152,7 +152,8 @@ int BLI_compare(struct direntry *entry1, struct direntry *entry2)
if( strcmp(entry1->relname, ".")==0 ) return (-1);
if( strcmp(entry2->relname, ".")==0 ) return (1);
if( strcmp(entry1->relname, "..")==0 ) return (-1);
if( strcmp(entry2->relname, "..")==0 ) return (1);
return (BLI_strcasecmp(entry1->relname,entry2->relname));
}

File diff suppressed because it is too large Load Diff

@ -1,436 +1,322 @@
/* DataToC output of file <prvicons> */
int datatoc_prvicons_size= 13732;
int datatoc_prvicons_size= 10111;
char datatoc_prvicons[]= {
137, 80, 78, 71,
13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0,192, 0, 0, 0,192, 8, 6, 0, 0, 0, 82,220,108, 7, 0, 0, 0,
6, 98, 75, 71, 68, 0, 0, 0, 0, 0, 0,249, 67,187,127, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1,
0,154,156, 24, 0, 0, 0, 7,116, 73, 77, 69, 7,215, 8, 27, 17, 57, 33, 43,142, 73,203, 0, 0, 0, 29,116, 69, 88,116, 67,
111,109,109,101,110,116, 0, 67,114,101, 97,116,101,100, 32,119,105,116,104, 32, 84,104,101, 32, 71, 73, 77, 80,239,100, 37,110,
0, 0, 32, 0, 73, 68, 65, 84,120,218,237,125,121,124, 84,213,249,254,115,238,189, 51,147,201,158, 12, 73, 72,216, 3,200, 98,
88, 69, 66, 38, 65, 16, 20,165, 40,213,162, 32, 45,138,203, 79,176,223, 42,180,110, 72,235,190, 97, 91, 91, 21,181,149,182, 90,
20, 42, 10, 66, 80,164, 34, 59,146, 5,194, 30, 18, 8, 75, 2,201,144,144,201, 62, 73,102,189,247,158,243,251, 35,235, 36, 51,
217,200,100, 38,229, 62,159,207,124,146,123,239,153, 59,207, 61,247,125,207,121,223,247,156,243, 30, 64,129, 2, 5, 10, 20, 40,
80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2,
5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,
160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5,
10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160,
64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,208, 18, 36, 41, 41,105,
180, 32, 8,143, 16, 66, 72,119,223,156, 49, 22, 46,203,242,112,198,216,203, 41, 41, 41,251, 60,241, 0,189,157,191, 2,239, 43,
192, 61, 49, 49, 49, 27,230,204,153,227,215,157, 55,206,206,206,198,169, 83,167, 16, 25, 25, 9,131,193, 64, 37, 73,154,150,146,
146,146,226, 1, 5,232,213,252, 21,120, 23, 2, 0, 68, 71, 71,219, 23, 46, 92,216,109, 2,180,105,211, 38, 24, 12, 6, 60,250,
232,163,224, 56, 14, 7, 15, 30,228, 50, 51, 51, 15, 36, 38, 38, 38,164,166,166,102,116,247, 67,244,118,254, 10,188, 7,174,187,
111, 40, 73, 18,214,175, 95,143, 5, 11, 22,160,111,223,190,240,247,247, 71, 98, 98, 34,226,226,226, 56,149, 74,149,174,215,235,
39,250,114,133,244,118,254, 10,188,172, 0, 6,131, 1,193,193,193,136,136,136,128, 32, 8,208,106,181,208,106,181,208,235,245,
24, 57,114, 36,167, 86,171, 51,244,122,125,156,175, 86, 72,111,231,175,192,203, 10, 80, 88, 88, 8,157, 78,215,120,172,209,104,
26,133, 40, 49, 49, 17,195,135, 15,231,213,106,245,137,132,132,132, 27,124,177, 66,122, 59,127, 5, 94, 86,128,192,192, 64, 88,
173, 86,167,115,254,254,254,141,159,164,164, 36,196,198,198, 10,126,126,126, 89,122,189, 62,214,215, 42,164,183,243, 87,224,101,
5,208,233,116, 48,153, 76,173,206, 55,180,162, 90,173, 22, 73, 73, 73, 24, 56,112,160, 74,163,209,156,213,235,245, 3,124,169,
66,122, 59,127, 5,157,131,208,221, 55,140,138,138, 66, 77, 77, 13,172, 86, 43,180, 90, 45, 0,160,170,170, 10,165,165,165, 40,
47, 47, 71,105,105, 41, 44, 22, 11, 6, 15, 30, 12, 81, 20,213, 87,175, 94, 61,175,215,235,135,164,165,165, 21,251, 66,133,244,
118,254, 10,188,172, 0,106,181, 26,227,199,143, 71, 78, 78, 14,116, 58, 29, 14, 28, 56,128,130,130, 2,196,198,198, 34, 42, 42,
10, 67,135, 14, 5,207,243, 72, 77, 77,133,209,104,132, 40,138,126, 26,141, 38, 79,175,215, 15, 74, 75, 75, 43,245,118,133,244,
118,254, 10,188,172, 0, 0, 48,109,218, 52,124,250,233,167, 16, 69, 17,143, 63,254, 56,102,206,156, 9,181, 90,237, 84,102,209,
162, 69, 48,153, 76, 88,183,110, 29,182,108,217,162,165,148,190, 9,224, 9, 0,204,219,149,210,219,249, 43,240,162, 15, 0, 0,
9, 9, 9, 8, 12, 12,196, 71, 31,125,132,217,179,103,183, 18,158, 6,132,132,132,224,201, 39,159,132, 70,163, 97, 86,171,117,
108,104,104,104,127, 0,196,219,149,210,219,249, 43,240,178, 2, 4, 5, 5, 97,205,154, 53,136,137,137,233, 80,249, 33, 67,134,
72, 86,171,213,204,243,252,253,190, 32, 64,189,157,191, 2, 47, 43, 0, 0, 8, 66,199,173, 43, 63, 63, 63, 70, 41,149, 24, 99,
26, 95, 17,160,222,206, 95,129,151, 21,160,139,144,123,121,125,202,138, 72, 41, 10,208, 37, 16, 66,100, 66, 72,175, 21,160,222,
206,255,122,133,208, 19, 63, 98,178,216,193, 24,131, 74,224, 17,160, 81,185,109, 61, 25, 99, 50,122,111, 20,165,183,243, 87, 20,
192, 19,200, 45,174,194,152,103, 62, 5, 0, 68,135, 5,226,252,234, 37,224,185,122, 51,153, 81, 56,142,252, 11,183, 71, 92,225,
39,223, 22, 56, 50, 88,173,213,234, 99,111,136,134, 64,254, 25,249,155,244,139,158,230,166, 82,185, 85, 70,136,162,216,217, 30,
128, 2,160,138, 15,160, 40,128, 19, 62, 63,112,186,241,255,171,149,181,248,241,100, 30,126, 54,113, 40, 0,128,154,174,192,126,
124, 61,146,194,192, 35, 76, 51, 28,192,112, 0,183, 17,137,255,216,155,194,223,145,235, 45,148,132, 1,104, 48,129,148, 30, 64,
241, 1,234,109, 2,202,240,159,159,178,157,206,125,113, 32,171,241,127, 90,118,190,213,119, 24, 80, 30,190, 60,165,192,155,194,
223,197,251, 80,197, 9, 86, 20,192, 9, 59, 79, 93,194,213, 42, 51,180,234,166,142,230,135, 19,121, 40,173,182,212, 41, 72,217,
5,184,208,128, 19,189,169, 2,155, 41, 1,173,247, 1, 20, 40, 10,224,220,218,191,255,240, 76, 52, 44, 89, 23,101,138, 13, 41,
103,234, 36,166,212,101, 15,112,220,215, 43, 77, 20, 69,167, 15, 0, 13,165, 20, 0,244, 0,120, 69,172, 20, 5, 64,105,181, 5,
255, 61,158,139, 65, 17, 33, 88,116, 75, 28,102,196, 13,106,230, 23,100,213,247, 0, 46, 20,128,178,227,189,173, 18, 25, 99, 0,
16, 7,160, 76,241, 1, 20, 39, 24, 0,176, 33,229, 12, 68,153,226,161,105, 55,130, 16,224,161,105, 99,176,231,116, 62, 0,224,
236,149,114,100,100,102, 97,148,189,166,213,247,204,140,157, 0,128,146,143,167, 7,242,212, 54, 7,192, 72, 70,137,131,227,113,
90,148,232,145,168,223, 30, 54,250,168, 2,252, 4,160, 90, 17, 41,165, 7,104,108,229, 57, 66,240,224,180,186,229,179,115, 39,
13, 67, 88, 64, 83,226,134,181,123, 91,155,250,162,204, 44,187,114,228, 75,229,171,227,159,225,101, 91, 49, 24,190, 2,195,171,
132,176,183, 25,101,219, 4,142,228, 85,172, 78, 88,234,139, 21,233,112, 56,202, 25, 99,134,122,103, 88,193,245,172, 0, 71,115,
139,113,246, 74, 57,102,142, 25,132,254,225, 65, 0, 0,141,138,199,130,196, 81,141,101, 54,159, 42,133, 85,118, 54,151,171,172,
180,224, 23,113,170,117, 0,121, 23, 64,128,139, 91,251, 51,176, 79,202, 62, 72, 88,229,131,117, 25, 98,179,217,250,195,247,166,
151, 40,232,105, 5, 88,187,191, 46,246,191,120,250, 24,167,243, 15, 79,111, 74,166, 80,227, 96,216, 86,230, 60,219, 82, 23,192,
15, 35,192,130,246,238, 79, 8,123,166,236,189, 41,163,188, 85,105, 42,149,170, 85, 40,149, 16, 2, 74,169, 77, 81,128,235, 92,
1, 44,118, 17,223,164,159,131, 46, 72,139,187,110, 26,234,116,109,236,160, 72,140, 27, 28,217,228, 39, 24, 7, 57,147, 33, 16,
24, 96, 7,240, 79, 2,242, 75, 2,242, 75, 6, 28,112, 37,131,132,195,115,222,170,180,102,209,159, 70,225,231, 56, 14, 42,149,
234, 40,234,162, 64,202,104,240,245,170, 0, 91,143, 92, 64,181,213,142, 7, 18, 71, 65, 45,180,142, 8, 62,220,172, 87, 72,175,
14,199,101, 91,147,165, 67, 41,236,162,204,238,214, 45, 59,180, 36,124, 89,250,134,240,101,233, 27,116, 21,126,183, 1,200,105,
221, 13,224,198,107, 17, 96, 15, 33,166,222, 7, 96, 0, 84,138,120, 93,135, 10,208, 16,251, 95, 60,205,117,238,168,249,250,145,
240, 19,184,250,232, 9,193,134,226,129,141,215, 14, 92, 52,255, 43,250,119,135,247, 56,201,249,171,251, 37, 66, 88,178,139,216,
139, 79,229,229,169,207,205, 43,212,127, 72,125,221,106, 20, 17,187,142, 20,224, 82,137, 9, 7,207, 26, 48, 49, 54, 10,113, 3,
35, 92,150, 9, 11,240,195, 93,195,154,150, 24,126,109, 28, 8,153, 17, 88, 37, 88, 95,218,102,220,233, 70,188,170, 92,156,243,
243,149, 74,164,148,130, 82, 10, 73,146, 56, 0, 13,221,139, 31,234,204, 57, 5, 62,140,110, 29, 7,248,226, 64, 22, 24, 3,146,
70, 14, 64,102,126,137,219,114, 19,131, 42,241, 13,234, 82,142, 92,117,248, 97,127,101, 36, 2,107, 11, 47, 24,107, 36,171,171,
242,140,161,159,139,211, 62,149,129,161,190, 7, 16,209, 52, 16,102, 82,196,235, 58, 82, 0,202, 24,214,255, 84,103,254,172,254,
239, 81,172,254,239,209, 54, 74,107,157,142, 54, 24, 7,226, 94,114,165,202,221,130, 18, 2, 50,136,181, 30, 96,205,242, 86,165,
53, 68,128,154,251, 18,140, 49,112, 28, 39,214,215,169,168,136,214,117,166, 0,187, 78, 93, 70, 97, 69, 45,166,142, 26,128,219,
199, 14,118, 95, 80,118,192,126,116, 45, 14,155,194,177,187, 50, 10, 0,240, 99,121, 95,220,168,209, 88, 40,165,173,166, 19,151,
175,142, 15,102, 96,183,182,234, 21, 0,175,231,234, 87,169, 84, 78, 74,192,113,156, 67, 49,123,174, 83, 5,104,112,126, 95,186,
79,143,164,145,253,221,150,147,138, 78,192,106, 60,143,139,186, 64,236, 62, 86,167, 0, 14,198,225, 44, 63,108, 24, 33, 57,178,
11,211,226, 9,198, 16,220,178,195,225,101,124,233, 11, 21,216,208, 27,168, 84, 42,155, 90,173,110,112,128, 21, 92, 79, 78,112,
121,141, 21,219,143,231, 98, 72,100, 8, 18, 71,244,111,219, 84,170,159, 1, 58,204,191, 22, 55, 7, 87, 52,158, 63, 45,247, 31,
76,235,167, 84, 54,160,236,195,201, 51, 24,195, 75, 46,140,162, 45, 97,191, 59,116,217,135,236,255, 82, 65, 16,120, 40, 19,225,
174,207, 30,224,171,212,179,112, 72, 50, 22,221,114, 35,218,219,169,171,249, 26,128, 95, 70,229,227, 72,117, 56, 0, 32,207, 22,
36,124,241,127,250, 79,110,139,170,120,141,112, 40,231, 25,110,167, 12,207,160,117, 40,209,194,113,228, 89, 95,170, 68,158,231,
3,120,158,175, 97,140, 29,135, 50, 23,232,250,235, 1,214,238, 63, 13,142, 16, 44,186,165,253,125, 35,154,175, 2,251,121, 68,
33,252, 57,169,241,120,111,109,255, 49, 60,193, 55, 28,195, 62, 6,252,158,180, 22,126, 10, 66, 30, 14,123, 50, 45,223,199,234,
145, 17, 66,168, 39, 54,234, 83,224,163, 61, 64, 65, 89, 53,118,158,186,132,242, 26, 43,178, 13,101,232, 23, 30,136, 31, 79,230,
1, 0,126, 54,113, 40, 98,194, 2, 91, 75,137,100, 3,173, 42, 64,165,164,198,119,165,117,243,128, 6,105, 45, 56,107,174, 51,
241,183,148,246,199,232,128,186, 25,197,183,134,149, 96,160,159,197,201,125, 32,192,178,240,167,210, 55,249, 82, 5,138,162,216,
16, 2,149, 91,154,112, 10,254,135, 21, 32,203, 80,134,101,159,237,110, 60, 46,172,168,109, 60, 30,214, 55,204,165, 2,208,242,
92,128, 81, 20,219,253,240,252,197,113,173,174, 87, 75,170,198,243,159,141,202,104,174, 0, 57,132,224,255,133, 63,117, 40,181,
59, 5,247, 90,215, 6, 55, 68,128, 24, 99,168,239, 1, 20, 5,184, 94, 20, 32,126, 88, 52,118,252, 97,190,203,107, 99, 7,185,
30, 5,230,130,251, 65, 59,247, 3,140,112,200,216, 62,185,166,222,129,228,177,230,235, 31,109,135,207,228,173, 11, 12,208,156,
126,112, 28, 25, 30,161,178, 15, 25, 27,100,178, 1,200, 97,132,238,235,243, 84,198, 94, 79,181,222,157, 77,141, 34, 73, 82,171,
180,137,132, 16, 48,198,168, 44,203, 65,138, 72, 93, 39, 10,160, 11,210,226,150,209,157,219, 28,133,104, 67, 33,104, 39, 32, 4,
192,173,131,155,206,127,191,245, 59, 57,220,116,225, 66,126,102,254,174, 63,236, 48,125,212,147,209,148,206, 78,140,115,151, 51,
84,201, 12,119, 29, 59,193,221,132,222, 46, 64,138, 2,244,214, 30,192,100, 50, 9, 25, 25,222,219,255,217,100, 50,241,132, 16,
42,203,178,220,197,239,247,106,254, 10,188,171, 0,198,226,226,226, 83,171, 86,173,226,237,118,123, 52, 99, 76,141,186,176, 30,
234, 77, 17,214,204, 36, 97,132,144,198,255, 91, 94,115,119,189,197,189, 90,150,101,178, 44,203,146, 36,149,212, 59,145,157, 53,
127,122, 59,127, 5, 94, 68,243,184, 53,167,211,233,150, 3,232,139,166, 44,103, 50, 99, 76, 34,132,200,140, 49,153, 16, 34, 53,
59, 71,155, 93,107, 56, 47, 19, 66,164,250, 4, 81,114,195, 53, 66,136, 76, 41,149, 90, 28,203, 13,118, 51,165, 84,146,101, 89,
98,140, 89,204,102,243,149,174,154,115,189,156,191, 2, 47, 43, 0, 9, 12, 12,140,230, 56, 78, 77, 8, 97,245, 19,189, 26, 91,
185,134, 86,176,249,113,125,232,143, 1,128,195,225,112,106, 65, 9, 33,172,217,167,161, 44, 44, 22,139,211, 61, 56,142, 99,132,
16, 86, 89, 89,201,234,133,182,171, 51, 41,123, 59,127, 5, 94, 86, 0, 87,199, 29, 5,243,209,231,233,109,252, 21,244,180,192,
36, 37, 37,141, 22, 4,225, 17, 79, 12,227, 51,198,194,101, 89, 30,206, 24,123, 57, 37, 37,101,159, 39, 30, 64,225,175,240,191,
86, 5,184, 39, 38, 38,102,195,156, 57,115,186,117,137, 97,118,118, 54, 78,157, 58,133,200,200, 72, 24, 12, 6, 42, 73,210,180,
148,148,148, 20, 15,188, 0,133,191,194,255,154,162, 64,136,142,142,182, 47, 92,184,176,219, 30, 96,211,166, 77, 48, 24, 12,120,
244,209, 71,193,113, 28, 14, 30, 60,200,101,102,102, 30, 72, 76, 76, 76, 72, 77, 77,237,246,120,165,194, 95,225,223, 85,116,251,
64,152, 36, 73, 88,191,126, 61, 22, 44, 88,128,190,125,251,194,223,223, 31,137,137,137,136,139,139,227, 84, 42, 85,186, 94,175,
159,232,203, 54,161,194,255,250,226,223,237, 10, 96, 48, 24, 16, 28, 28,140,136,136, 8, 8,130, 0,173, 86, 11,173, 86, 11,189,
94,143,145, 35, 71,114,106,181, 58, 67,175,215,199,249,234, 11, 80,248, 95, 95,252,187, 93, 1, 10, 11, 11,161,211,233, 26,143,
53, 26, 77,227, 67, 36, 38, 38, 98,248,240,225,188, 90,173, 62,145,144,144,112,131, 47,190, 0,133,255,245,197,191,219, 21, 32,
48, 48, 16, 86,171,115,118, 19,127,127,255,198, 79, 82, 82, 18, 98, 99, 99, 5, 63, 63,191, 44,189, 94, 31,235,107, 47, 64,225,
127,125,241,239,118, 5,208,233,116, 48,153, 90,167,196,105,208, 98,173, 86,139,164,164, 36, 12, 28, 56, 80,165,209,104,206,234,
245,250, 1,190,244, 2, 20,254,215, 23,255,110,223, 32, 35, 42, 42, 10, 53, 53, 53,176, 90,173,208,106,235,242,255, 84, 85, 85,
161,180,180, 20,229,229,229, 40, 45, 45,133,197, 98,193,224,193,131, 33,138,162,250,234,213,171,231,245,122,253,144,180,180,180,
98, 95,120, 1, 10,255,235,139,127,183, 43,128, 90,173,198,248,241,227,145,147,147, 3,157, 78,135, 3, 7, 14,160,160,160, 0,
177,177,177,136,138,138,194,208,161, 67,193,243, 60, 82, 83, 83, 97, 52, 26, 33,138,162,159, 70,163,201,211,235,245,131,210,210,
210,188,158,237, 77,225,127,125,241,247,200, 22, 73,211,166, 77,195,167,159,126, 10, 81, 20,241,248,227,143, 99,230,204,153, 80,
171,213, 78,101, 22, 45, 90, 4,147,201,132,117,235,214, 97,203,150, 45, 90, 74,233,155, 0,158,128, 15, 76, 75, 80,248, 95, 63,
252, 61,178, 32, 38, 33, 33, 1,129,129,129,248,232,163,143, 48,123,246,108,183,171,168, 66, 66, 66,240,228,147, 79, 66,163,209,
48,171,213, 58, 54, 52, 52,180, 63,124, 32,177, 84, 75,254, 45, 43, 95,225,255,191,195,223, 35, 10, 16, 20, 20,132, 53,107,214,
32, 38, 38, 6,207, 62,251, 44,102,204,152, 1,135,195,225,182,252,144, 33, 67, 36,171,213,106,230,121,254,126, 95,120, 1,205,
249,119, 4,189,141,191,217, 46,225, 82,105, 45,142, 95,174,192,190, 51,197,136,136,155, 70, 73,212, 40,191,136,184,169,207,196,
175,248, 79,191,235,169,254, 61,182, 75,164, 32, 8,248,252,243,207,177,122,245,106, 0, 64,114,114, 50, 22, 44,112,189,251,145,
159,159, 31,163,148, 74,140, 49, 13,124, 36,181,160,187, 94,171, 55,243, 63,122,169, 2,155, 50, 12,200, 41, 50,129,202, 82, 99,
90,119, 22, 54,158, 15,157, 50,118,124, 8,165,227, 41,149,151, 37,190,240,245, 22,202,196,215,210,255,184,232,244,255,122,253,
11,158,124,136, 63,252,225, 15, 0,128,216,216, 88,124,241,197, 23,110, 21,160, 25,122,251,146, 66,159,229,127,185,204,140, 55,
191,205,134,192, 1, 49, 33, 26, 20,148,137, 96,148,130,177, 86, 31, 2, 70,231,129,146, 95, 76,126,118,253,188,140,119, 23, 37,
119,250,189,111,248, 9, 89, 5,158,245,167,191,121,246, 94,168,120,238,154,235,223, 99, 10, 80, 84, 84,132,146,146, 18,188,249,
230,155,120,238,185,231,176,120,241,226, 54,203,247,246,172, 10,190,206,255, 68,126, 37, 24,163,120,235,254, 9, 24, 17, 29,140,
63,109, 59,141,189, 89, 69, 96, 13,189, 64,227, 95,214,112, 76, 64,233, 59, 0, 58,173, 0,207,220, 61, 25, 14,201,179, 85,209,
82,248,187, 90,255, 30, 83,128,236,236,108, 68, 68, 68,224,217,103,159, 5, 33, 4,185,185,185, 46,115,234, 52,215,222,250,165,
136,189,117,113,138, 79,243, 63, 83,104, 2,165, 20, 2, 87,103, 33,168, 56, 82,215, 3,180,248,180, 80,130, 27,110, 90,178,198,
255,216, 63,150, 90, 58,243, 91, 57,133,229, 40,175,181, 94, 51,103,209, 97,119,235, 59,206, 26, 59, 24, 92,253, 18, 4,187,221,
14, 89,150, 57, 89,150,213, 0, 66,208,118,126,214,234,230,215, 59,164, 0,159,237,205,196,165,146,206,109,120,146,157,150,138,
232, 81,147,240,202,198, 84, 72, 14, 59,206,156,191,136, 87,190, 78, 1,199,183,222, 56,239, 80, 77, 8, 95, 54,112,234, 72,235,
0,149, 86, 8, 31, 20, 13,144,118,133, 72, 82,227,143,248,114,101,165, 15,245, 0,180,190, 98,125, 50, 63,168, 67,148,193, 40,
195,138, 47,143,162, 95,152, 22, 57,133,149,117, 2,207, 24, 24,163,160,204,165, 57, 4,217, 95,173, 6,208, 41, 5,200, 51, 86,
33,191,172,250,154, 57,239, 92,247, 49,210,183,111,236, 72, 81, 53,128, 59,235, 63,111,183, 83,246, 70, 0,103, 58,165, 0,250,
17,253,220,238,249,229, 14, 17, 86, 3,138,250,248,225,238, 73,195,240,233, 71,239, 33,208,223, 31, 63,143, 31,225,186,194, 82,
183,211, 98, 83,126,161,228, 96,167,164,240,129,223, 18,158,111, 63,197, 96,165,214,210, 93,194, 65,171, 12,224, 66, 59, 54,162,
110, 50,153, 96,179,217, 16, 21, 21,213,252, 52, 67, 83, 94, 32, 31,237,193,234, 4,221,108,151,113,174,200,214, 36,244,148,130,
82,230,214, 20, 2,215,249, 64,225,162, 91,110,236, 22,198,166, 67,201, 72,175,139,242, 32, 34,194,181,252,157, 57,115, 6,181,
181,181, 13,141, 80, 25, 99, 44,215,205,237, 70, 1,173,246,153,232,152, 2,140,236,167,235,188, 61, 80, 58, 4, 63, 92,202, 65,
148,202,129, 13,159,125,130, 25, 51,102, 96,242,176,104,151,101,163, 84, 14,234, 95,109, 40,179,150,151, 95,172,201,220,123, 8,
61,156, 98,220,113, 98, 61,184,136, 17, 80,199,253,162,221,178, 85, 85, 85,152, 59,119, 46,118,239,222,221,242,165, 80, 95,115,
130, 25, 99, 16,229, 58,125, 92,126,199, 72,136,242, 8,103,253,100,117,255, 63,248,167,173,204, 14,129,184, 50,133, 0,128, 93,
125,186, 97,177,139, 68,162,255, 42,181,247,187,203,255,189, 27, 39, 47,151, 92,187,227,158, 86,183, 59, 46, 55,106, 6,248,113,
83,157,174,237,122,105, 1,212, 2,143,105,211,166, 33, 61, 61, 29, 0,160,209,104,126,176,217,108, 15,187,145,159, 61, 0,102,
244,152, 15, 48, 96,192, 0, 28, 59,118, 12,219,183,111,135,205,102,195,252,249,243,219,109,136,235,109,104,175,180,142,246,148,
15, 64, 56, 30,170,209, 63,111,183,244,217,179,103,113,199, 29,119, 96,231,206,157,232,211,167,143, 15,240,119,150,233,140,188,
10,164,158, 47, 65, 70, 94, 57,204, 86, 7, 40,149, 91,181,240, 78,231,160, 34, 13, 38, 80, 75, 83,232,181,159, 93,137, 4,112,
174,241, 25,175,254,238, 44,152,188,140,196,172,118,155,175,245,131, 71,110,235,150,103,121,222,122, 18,239,103,236,192,138,123,
226,241,240,195,191,236,136,194,119,186,225,236,144, 2, 56, 36, 25,148,117,174,103, 55,219,108,216,187,119, 47,100, 89, 70,100,
100, 36,102,205,254, 25,108,162,228, 38,118, 72, 64,121, 1,208,104, 57,220,189,212, 15,186,232,246, 31,100,237, 43,246,142,248,
10,157, 81, 2,219, 79,127, 5, 8, 15,213,168,187,218, 45,157,149,149,133, 59,239,188, 19, 59,119, 54,238,236,234, 19, 81,160,
79,246,229,226,199,204,162, 38, 97,111, 33,216, 77, 2,206,156,237,125, 23,166, 80,235, 42,162, 28,152,116, 35,152,252, 29, 51,
44, 25, 72, 6,252,163,194, 21,135,175,211,114, 96,232, 6, 31,224,104,110,221,252,182, 31, 79, 94, 66,217,119,206, 43, 33,127,
119,215,205,224,185, 86,238,150,103, 20,224,181, 77,169,157,138,235, 58,204,213, 72, 91,243, 18, 26, 50, 5, 14,152,181, 24,143,
253, 99,143,251, 22,181, 50, 92, 85, 26, 59,123,170, 72, 84,163, 4, 77,240, 47, 96,110,223,142,150, 22,190,189, 24, 27, 96,236,
238,158,192,118,224,207, 0,199, 67, 53, 98,118,187,165, 51, 51, 51, 49,123,246,108, 76,154, 52, 9,245,137,182,188,170, 0, 57,
87,107,240,227,233,171,237, 10,182,187,191,172,222,236,113, 45,252, 18,192,228,186, 15,149, 2,192,228,223, 0,120,195,165, 73,
27,226,223, 24,161,185, 22,204,152, 53, 27, 67, 6, 13, 68,220,164,201,232, 31, 17,210, 34,232,224,218,138,104,227,118, 31, 3,
216, 6,160,184,211, 10,240,214,194, 91, 58, 69,124,225,194,133,176, 86,214,217,128, 43, 86,172,192, 27,111,188,209,102,249,167,
159,126,218,177,235,232,174, 93,165,165,165,187, 42, 42, 42,190,132, 87,183, 25, 98,176,237,255, 35, 8,199, 67, 24, 62,171,221,
210, 39, 78,156, 64, 97, 97,161, 42, 40, 40,136,247,182, 15,176,247,140,177, 93,193,102, 45,206, 57,149,173,239, 33,154,161,118,
214,232,138, 64, 48, 9,160,178,179, 18, 48,233,255,220, 41,192,164,161,125, 33,201,215,254, 10,111, 31, 59, 8,192,189, 46,175,
185, 81,176,182, 26,206, 45, 93,238, 1, 58,131, 77,155, 54, 97,243,230,205, 0,128,233,211,167, 99,220,184,113, 29, 14, 35,250,
130, 13, 93,223,213,195,186,247,109,104, 9, 15, 97,216,204,118,139,151,148,148,112, 85, 85, 85, 51,181, 90,237, 78,111,210, 46,
40, 51,183, 22,108, 39,211,135,181,109, 10, 81,218,232, 24,215,139,211, 14, 63, 34,198,131,214, 11,190,179, 18,244,101,185,247,
69, 76, 93, 92,236,210, 98,200,204,247,236, 72,240,182, 23,230, 65, 45,240, 61,227, 3,116, 20, 70,163, 17,203,150, 45, 3, 0,
60,245,212, 83, 88,190,124, 57,222,127,255,125,220,119,223,125,237, 9,191,207,216,208, 78, 74,176,231, 13,104, 57, 30, 66,236,
244,246,205, 62,135, 35, 66,146,164, 21, 0, 54,163,110,176,165,199, 81,108,178,180, 22,236, 86,145,157, 54, 76, 32,103, 63,239,
220,188,201,149,175,129,138, 59,235, 91,252,230, 38, 80,195,255,195, 93,241,248,243,131,183,122,235,173,121, 70, 1, 58, 58, 16,
182,229,253,151, 80, 94, 94,142,126,195,227,224, 55,241,110,124,188,247, 44, 54,126,247, 3, 28, 3, 39, 35,172,175,251, 73,134,
233, 53,193, 66,241,128, 91, 38, 89, 7,106,116, 66,112,244, 77, 62, 51, 16,198, 40,172,187, 95,131,246,118, 30,194,144,169,237,
215, 62,165, 35,234,237,204,159, 1, 48,247,228,155,183,139, 50,202,170,173,109, 10, 56, 24,197,168,126, 97, 24, 30, 19, 10,127,
53, 95,175, 36, 12,187,247,236,145, 10,140,101,217, 18,175,189,164, 14, 31,144, 77,128,172,111,127,115,246,252,128, 80,219, 23,
96, 82,180,139,214, 31,245,102,209, 48, 87,202,254,238,119, 25, 56, 95, 84,225,209,231,253,248,241, 89,174,230, 2,121, 70, 1,
166,223, 56, 16,147,134, 58,218,142,138,156, 58,129, 11,199,211,160,235, 19,129,127,253,123, 45, 34,162,250,226,245,149,207,162,
164, 32, 23,255,120,254, 33, 68,247,235,143, 71,150, 62,137, 95, 44, 92,212,186,235, 78,219, 78, 75,170, 46, 94,144,236, 72,167,
129,186,253,224, 85,237, 63,136, 40,246,140,128, 81, 25,214, 93,175, 64,123,199, 27, 16, 6, 37,118,228, 27,183,212, 43,193, 28,
0,214,158, 82, 0,158, 35, 0, 99,110,109,252,176, 64, 53,126, 63,111, 18,110, 30, 80, 14, 34, 93, 6, 88,211,134,246, 55,251,
149, 18,201, 94,174,234, 19, 74,252, 71, 13,171,138, 38,160,119,130, 74,227, 65,101,190,141,214, 31, 96, 82,128, 43, 5, 88,144,
56, 10, 86,187,103,115, 4, 11,174, 7,232,152, 71, 20, 32, 54, 42,180,221, 50, 23,143,213,201,227,250,117, 95, 96,230,228,177,
88,191,126, 61,190,251,230,171,198,235, 87, 11,175,224,237,151, 95,192,200,193, 49,120,224,129, 7,156,190,219, 71, 37,202, 1,
181, 87, 75,106,141,198,139,181,153,123, 79,194,215,246,218,165, 18,172, 59, 95,134,118,214,155, 0, 58, 52, 71,253, 86, 0,223,
1,184, 27,128,173, 39, 40, 10, 60,135,240, 0, 21, 74, 76, 98, 43, 27,159,128,225,181, 7,166, 96, 92,216, 15,224,106,178, 90,
125, 87, 63, 30, 60, 88,232,104, 80,121,180,139, 86, 30,173,148,160, 73, 17,114, 80, 55,247,198, 9,102,155, 3,213, 86,199,255,
142, 9,212, 17,148,151,151, 35, 52, 52, 20, 51,103,214, 57,141,111,189,245, 22,198,141, 27,135,249,243,231, 35, 47, 47, 15, 35,
71,142,196, 59,239,188,131, 23, 95,124,177,149, 2, 52,115, 96,124,119, 54,168, 44,194,150,242, 30,144,240,118, 71,191,113, 27,
128,135, 0,252,163,167, 40,246, 13,209,194, 88, 89,219,202,244,153,114, 67, 20,198, 70, 21,128,171,205,114,209,102,182, 16,112,
87,166,142,203,243, 50, 64,165,179, 0,166,180,188,229,206, 83,151,112,161,216,179,214,233,196, 33, 81, 16,122,202, 4,170,181,
57,218, 13,107,197, 12, 28,140, 81,163,111, 68,149,217,134,146, 18, 35,114,115,115,241,205,214,239, 16, 63, 37, 1,143, 62,180,
8,171,222,125, 15, 34, 5,126,191,226, 57,100,229, 92, 64,255, 1, 77,115,111,236,148, 16, 89,229,175,146, 2,250,248,225,230,
135, 67,161, 13,110,255, 65,198,163, 26,175,190,218, 99, 61, 5,231,175,131,118,206,187, 40, 55,117,184,151,125,191, 39,133, 31,
0,134, 68, 4,226,100, 94, 73,171,112,231,232, 1,225, 32,226,233,214,214, 66, 91,173, 60,117,161, 4,206,231,175,144,184,148,
226,164,164,164, 86, 60,150,253,108,146,119,226, 22,158,138, 2,253,101,219, 17,100, 27,218, 14,107,201, 14, 59, 78, 95,184,132,
37,107,118,128,202, 18,180, 33, 58,124,145, 85,131,245, 57,251,144,117,165, 2, 75,214,236,128,100,139, 0, 39,168,240,252,231,
59, 17, 24,209,228, 20,103, 85,135,169,138, 7,207,184,205, 65,212, 99, 4, 77,224, 67, 29,114,130, 79, 9, 75, 0,148,244,152,
240,207,253, 0, 92,232, 64,192,148,223, 81,225,255, 93, 79, 11,192,188,248,193,248,238, 72, 30,100,217, 57,220, 25,232,167, 2,
161,181, 78,206,125,199, 90,249,230,202,209,226, 26,240, 23,119, 60,126,253,207,157, 56,158,231,217, 44, 43, 7,223,248, 85,171,
48,168,199,122,128, 87,238,239,144,243,135,249,199, 55,227, 47,247,223,132, 1, 3, 6,224, 29,249, 34,180,154, 34, 44, 95,190,
28,203,243,247,225,165,135,146,224,231,231,135, 81,127, 95,129,109,111, 62, 1,190,217,180,232,103,158, 57,232,216,115,108, 79,
178,209,104,252,161,188,188,124,191, 47,249, 0, 78,194,223, 49,124,224, 13,225, 7,128,200, 16, 45,102,143, 31,128,173,135,115,
157, 28, 96,231, 9,112,157,106,229, 91, 40,135,220,240,106, 74,219,234,221,254,254,248, 44,175,188,171,102,251,187,245,188, 15,
0, 0,127,255,251,223,241,252,243,207,227,239,127,255, 59, 94,120,225, 5, 36, 39, 39, 67,146, 36,140, 27, 55, 14,199,143, 31,
71,126,126, 62,238,184,227, 14, 39,225,111,230,189,203,148, 82,159,154, 78,220, 89,225,231,121,254, 27, 89,150,127,231, 77,206,
191,190, 35, 14,126, 42, 14, 7, 78, 27, 80, 92, 89, 11, 6, 82, 63,106, 74, 1, 38,186,108,229,101, 81, 6,152, 36, 19, 34, 83,
14, 50,117,171, 4,117, 14,253, 81, 0,207,146,184, 84,183,211,209,119,158,186,132, 18,147,197,163,207,185, 48,105,116,171,185,
64,245, 38, 16,243,154, 2,232,116, 58,188,248,226,139, 88,185,114, 37,238,186,235, 46,220,123,111,221, 48,246,152, 49, 99,240,
250,235,175,227,198, 27,111,196,154, 53,107,220,105, 47,245,165,129,176,206, 10,127, 80, 80,208, 17,149, 74,245, 65, 69, 69,133,
87,121,171, 4, 14, 75,102,197, 97,201,172, 22, 9,148, 77,123, 1, 42,186, 52,117,254,181, 45,216,158,113,228,196,231,209, 97,
214,159, 94,249, 77,255,227, 42,158,177,102,189,193,121, 18,119,176, 83, 61,178, 40, 83,183, 19, 31,123,101, 20,232,147,157, 39,
144,107,172,234, 56,139,209,183,227,131,173, 7,241,202,223,214,163,232, 66, 54,170,203,141,144, 28,118,140,184,255,183,120,225,
203,159, 90,219,115,213, 33,234, 43, 3,111,157,105, 25,172, 29, 42,248,135,221,215,145, 69, 85, 18, 52,175, 99,211,211, 21,190,
32,252,227,198,141,147, 36, 73,218, 89, 88, 88,232, 91,225,219, 22,161,220,186, 86,189,181,169,179,244,238, 18,205,210,187,162,
150,128,201, 75, 90,181,254, 96, 97, 0,170, 58,243, 83,115, 38, 14,245,150, 19,236, 25, 19,104,214,184, 33,168,181,117, 50,174,
123,155,243, 62, 6, 75, 23,221,143,135,166,141,113, 89,180,228,200,143, 82, 85,213,197,147,146,168, 74,113, 12,158,156, 5,194,
117,224, 65,170,107,125, 65,248,151, 45, 91, 6,198,152, 99,223,190,125, 62,190,168, 95,114,107, 2, 57, 69,129, 84,209,102, 16,
129,192,122,222,191,203,102, 88, 39,157,224,221, 47, 63,128, 32,173,218,119,123,128,142, 12,132,181,135, 49,163, 70, 96,236,160,
72,151,215,250,168, 68, 57,168,182,176,168,186,176,240,172,249,232,182,147,222,242, 3,186, 34,252,239,190,251, 46,158,121,230,
25,230,107, 38, 92,235,214,145, 7,105, 48,129,220,216,248,148,105,109, 92,236,218, 0, 16, 14,184,176,160, 22,142, 66,127, 0,
246, 78,251,130, 94,114,130,225,205,129,176,230, 56,113,226, 4,190,252,242, 75, 76,157, 58, 21,115,231,206, 5, 0, 12, 29, 58,
20,178, 44,187,114,128, 27, 39,195,213, 59,193,232, 77,194,239, 43,252,219, 85, 0,213, 96,192,156,222,102,180,135, 48,137,135,
92, 13,112, 26, 64,174, 38, 0, 78,146,184, 84,171,175, 61,203,246,237,219, 81, 88, 88, 8, 0, 40, 46,110,234,105, 40,165, 19,
209,148, 31,116, 63,128,156, 30, 87, 0, 74, 41,230,205,155,135, 43, 87,174,224,227,143, 63,198,241,227,199, 49,114,228, 72,132,
132,132,192,106,181, 34, 48, 48,208,149,237,230, 85, 39,152,248,247,233,178,240,251, 2,255, 14,189,151,192, 89,224, 44,135, 64,
172,103, 93,155, 64,160, 32,128, 10,231,127,110, 7, 56, 6, 38,137, 0,150,250,226,179,172, 94,189, 26,251,246,237,115, 37,123,
115, 80, 55, 7, 11, 0, 30,243,138, 2,212,214,214,226,202,149, 43,141,202,208,208,226, 23, 23, 23, 67, 20, 69,119, 17, 32, 48,
198,168,220,176,132,172,135,161,185,249, 49,128,227, 59, 84,182, 95,191,126, 78,194,239, 11,252, 59,166,229, 42, 72, 81,175,131,
51,167,129,171, 88, 7, 98,191,220,220,209,109,214, 26,201,118, 64,126, 15,192,123, 36, 46,213,228,139,143,242,231, 63,255, 25,
149,149, 77, 83, 45,254,246,183,191,217, 14, 31, 62,188,174,180,180, 52, 77, 20,197,252,250, 7,202,233,200,189,186, 93, 1,130,
131,131,113,251,237,183, 35, 59, 59, 27,159,127,254, 57,134, 15, 31,142,140,140, 12, 24,141, 70,132,133,133,185,127, 63,222,204,
172,214, 65,225, 7,220,231,172,236, 29,153,237, 8,104, 64, 34,104, 64, 34, 32, 87,129, 56, 10, 64, 28, 6,108,217,188,209,158,
151,119,225,115,115,109,229, 87, 99,134, 9, 63,205,127,250,156, 79, 63,199,216,177, 99,157,142,183,109,219, 38,231,230,230, 94,
48,155,205,135, 76, 38,211,185,206,248,144, 30,241, 1, 54,110,220,136,215, 94,123, 13,159,125,246, 25,190,255,254,123,232,116,
58,124,240,193, 7,237,125,173, 87,167, 70,236,117,252,249, 80, 48,109, 40,152,118, 44, 82,206,236,147,246,239,207, 62, 87, 80,
80,126,165,170,170,138, 94, 79,245, 47, 0,128,201,100, 18, 50, 50,186,119,255,228,150,171,192, 78,158, 60,233,182,172,201,100,
226, 9, 33, 93, 54, 33, 60,193,191,147,191,175,240,239,165,252, 5, 0,198,226,226,226, 83,171, 86,173,226,237,118,123, 52, 99,
76, 13,128,213, 71, 54, 88,179, 15,234,207, 55,254,223,242,154,187,235, 45,238,213,178, 44,147,101, 89,150, 36,169,164, 62,189,
96,103, 67,160, 10,127,133,127,151,249, 55, 31,114,229,116, 58,221,114, 0,125,209,148,229, 76,102,140, 73,132, 16,153, 49, 38,
19, 66,164,102,231,104,179,107, 13,231,101, 66,136, 84,191,184, 93,110,184, 70, 8,145, 41,165, 82,139, 99,185,193,110,166,148,
74,178, 44, 75,140, 49,139,217,108,190,210, 85, 75, 94,225,175,240,239, 44,255,230, 10, 64, 2, 3, 3,163, 57,142, 83, 19, 66,
152, 74,165,130, 40,138,141, 90,214,160,133,205,143,235, 67,127, 12, 0, 28, 14,135,147, 6, 19, 66, 88,179, 79, 67, 89, 88, 44,
22,167,123,112, 28,199, 8, 33,172,178,178,146,213, 87, 90, 87,215,210, 41,252, 21,254,157,230, 79,218, 57,238, 40,124,101, 6,
167,194, 95,225,223, 35,132,187, 5, 73, 73, 73, 2,128,217, 28,199,221,247,211, 79, 63, 45,238,109, 97, 7,133, 63,144,148,148,
52, 90, 16,132, 71, 8, 33,221, 46, 75,140,177,112, 89,150,135, 51,198, 94, 78, 73, 73,217,231,137, 58, 16,186,169, 34,251, 1,
40, 79, 73, 73,177,117,176,252,120,181, 90,189,132, 49,246, 43,157, 78,199,149,149,149, 9, 0, 22,123, 81, 16, 20,254, 93,231,
127, 67,100,100,228,147,115,230,204,241,235,206,103,202,206,206,198,169, 83,167, 16, 25, 25, 9,131,193,176, 59, 41, 41,105, 90,
74, 74, 74,138,207, 40, 64, 82, 82, 82, 8,128,121, 90,173,246,215, 14,135, 99,188, 32, 8, 59,146,146,146,230,166,164,164, 48,
55,229, 35, 57,142,123, 80,173, 86,255,159, 32, 8, 81,241,241,241,154, 73,147, 38, 9, 90,173, 22,111,190,249,166,205, 11, 66,
163,240,239, 38,254,209,209,209,246,133, 11, 23,118,155, 2,108,218,180, 9, 6,131, 1,143, 62,250, 40, 56,142,195,193,131, 7,
185,204,204,204, 3,137,137,137, 9,169,169,169, 25, 94, 83,128,164,164, 36, 53,128,217,126,126,126, 75,101, 89,158, 62,108,216,
48, 41, 62, 62, 62,104,232,208,161, 88,179,102,205,173, 37, 37, 37,239, 2,120,166, 69,249,185, 90,173,246, 73, 73,146,226,227,
226,226,104,124,124,188,255,224,193,131, 27, 38,144,193,106,181,246,164,208, 40,252,189,200,191, 35,144, 36, 9,235,215,175,199,
210,165, 75, 17, 22, 22,134,218,218, 90, 36, 38, 38,130, 82,202,101,101,101,165,235,245,250,155,211,210,210,142,247,152, 2, 36,
37, 37, 17, 0, 73, 26,141,230, 49, 74,233,188,190,125,251,202, 83,166, 76, 9,137,139,139,131,159, 95,147,210, 63,246,216, 99,
1,239,189,247,222, 19,183,220,114, 75, 14,165,244,148, 70,163, 89, 74, 41,157, 31, 19, 19, 67, 19, 18, 18,130,227,226,226,160,
82,169,188, 97, 30, 40,252,189,200,191,179, 48, 24, 12, 8, 14, 14,110,220,124, 68,171,213, 66,150,101,232,245,122, 72,146,196,
229,228,228,100,232,245,250,241,105,105,105, 89, 30, 85,128,122,231,102, 49,199,113,143, 6, 6, 6,170,227,227,227, 3, 38, 76,
152,192,135,132,132,184, 44,239,239,239,143, 37, 75,150,248,175, 94,189,250, 35,173, 86,235,152, 50,101,138,118,226,196,137,124,
104,104,104,183, 85,206,244,233,211,251,216,237,118,154,158,158, 94,209, 1,193, 81,248,123,145,127, 87, 81, 88, 88, 8,157,174,
105, 71, 34,141, 70, 3, 89,150, 33,203, 50, 18, 19, 19, 33,203, 50,127,225,194,133, 19, 9, 9, 9, 55,166,167,167,159,239, 86,
5, 72, 74, 74,138,225, 56,238, 87,106,181,122, 9,199,113, 49,147, 38, 77, 18,110,186,233, 38,117,223,190,125, 59,116,179,136,
136, 8,172, 92,185, 82,237,239,239,175,238,206, 74, 73, 76, 76, 28, 17, 16, 16,176,210,110,183,223, 86, 93, 93, 29,219,134,208,
40,252,189,200,191, 59, 16, 24, 24,216,202, 44,243,247,247,111,220,212, 59, 41, 41, 9,178, 44, 11,151, 46, 93,202,210,235,245,
35,211,210,210,242,186, 69, 1,146,146,146, 18, 4, 65,216, 59,102,204, 24,122,243,205, 55,251,199,198,198,162, 43,145, 45,127,
127,255,110,171,140,169, 83,167, 78, 11, 8, 8,120,153, 82,154, 16, 16, 16,160,150,101,249,163,236,236,108,135, 27,225, 81,248,
123,145,127,119, 65,167,211,193,100,106, 61, 11,187,193, 20,146,101,185, 65, 9, 84, 5, 5, 5,103,245,122,253,176,180,180, 52,
195, 53, 43,128,159,159,223,107,208,238,250,153, 0, 0, 20,252, 73, 68, 65, 84,119,222,121,167, 58, 33, 33,129,131, 23, 49,125,
250,116, 65,150,229,251,252,253,253, 95,241,247,247,239,255,224,131, 15, 6, 76,159, 62,157, 44, 88,176,192,102,177, 88, 62,114,
247, 61,133,191,119,249,119, 23,162,162,162, 80, 83, 83, 3,171,213, 10,173, 86, 11,160,110, 99,194,210,210, 82,148,151,151,163,
180,180, 20, 22,139, 5,131, 7, 15,134, 40,138,234,171, 87,175,158,215,235,245, 67,210,210,210,138,187,172, 0, 73, 73, 73, 35,
1, 36, 77,154, 52,201,107,149, 31, 31, 31, 31,172,209,104,150, 8,130,176, 98,232,208,161,154,135, 30,122, 40,104,202,148, 41,
32,132, 96,247,238,221, 16, 4,225, 84,122,122,250, 69, 55,173,167,194,223,139,252,187, 19,106,181, 26,227,199,143, 71, 78, 78,
14,116, 58, 29, 14, 28, 56,128,130,130, 2,196,198,198, 34, 42, 42, 10, 67,135, 14, 5,207,243, 72, 77, 77,133,209,104,132, 40,
138,126, 26,141, 38, 79,175,215, 15, 74, 75, 75, 43,237,146, 2,104, 52,154,151,166, 78,157,170,242, 70,148,160,186,186, 26, 28,
199,169, 2, 3, 3,139, 38, 79,158,140, 95,253,234, 87, 1, 55,220,112,131, 83,153,111,190,249,166,166,182,182,246,207,238,238,
161,240,119,195,205, 38,225,167,139,165, 40,169,113, 64, 45,112, 80,243, 4,106,158,131, 70,224, 48, 97, 64, 40,250, 6,251,117,
11,255,238,198,180,105,211,240,233,167,159, 66, 20, 69, 60,254,248,227,152, 57,115, 38,212,106,103,183,102,209,162, 69, 48,153,
76, 88,183,110, 29,182,108,217,162,165,148,190,137,166,245,192, 29, 87,128,164,164,164,104, 74,233,189,122,189, 94,232, 73,193,
41, 44, 44, 68, 74, 74, 10,206,157, 59,135, 57,115,230,240, 11, 22, 44, 8,136,140,108,157, 53, 34, 63, 63, 31, 5, 5, 5,148,
231,249,111,221,180,158, 94,231, 63,243,206,159,241,139,127,249,128, 79,240,183, 75, 20,169,121,229,216,157, 83,130,140,252, 74,
136,110,146, 26, 19, 0, 3, 53,118,220,104,207,198, 67,119, 37,240,183,205,127, 34, 32, 50, 50,170,211,252, 61,129,132,132, 4,
124,253,245,215,120,227,141, 55, 16, 19,227, 62, 29,125, 72, 72, 8,158,124,242, 73,108,223,190,157,213,212,212,140, 13, 13, 13,
237, 95, 85, 85,117,165, 51, 74, 32,168,213,234,231,110,186,233, 38,174, 59,157, 39,119, 96,140, 33, 39, 39, 7,169,169,169,168,
172,172,196,125,247,221,135,215, 95,127,189, 77,199, 45, 57, 57,217,193, 24, 91,179,127,255,126,201, 77,151,233, 85,254,137,243,
30,197,211,235,126,194, 61,178, 10,145, 94,228,207, 24,240,245,113, 3,214, 30, 42,128, 85,108,127, 93, 8, 3,144,111,215,224,
151,131,181,184, 91,216, 3,203,119,199, 96, 31, 57, 3,252,144,169, 16,162,199, 55, 46, 19,109,143,191, 39, 16, 20, 20,132, 53,
107,214,184, 93,126,218, 18, 67,134, 12,145, 12, 6,131,153,231,249,251, 81,151,152,184,227, 10,192,243,252,207, 39, 77,154,164,
241,228, 3, 73,146,132, 99,199,142, 33, 45, 45, 13, 1, 1, 1, 88,184,112, 33,166, 77,155,230, 50, 69,138, 83,107,102,183, 99,
231,206,157,212,106,181,254,205, 93, 25,111,242,207,200, 45,198, 93,171,190,129,213, 33,225,238,119,190,193,190, 87, 23, 34, 58,
44,176,199,249,151,155, 29,120,251,199,115, 56, 90,208,249,156,252, 19, 2,235,190,227, 47, 85,193,145,181, 5,200,218, 2,226,
23, 12, 97,144, 30,108,128, 30,251,246,180,205,223, 83,232,168,240,215, 7, 16, 24,165, 84, 98,140,105,208,201, 9,158, 2, 0,
194,113,158,241,189,204,102, 51,210,211,211,113,248,240, 97,140, 26, 53, 10, 43, 86,172,232,240,174,145, 0,176,111,223, 62, 8,
130,112, 36, 45, 45,173,173,156,228, 94,225,159,109, 40,195,188,119,183,194,234,168,107, 24, 11,202,170,113,239,159,147,177,243,
165,249, 8,214,106,122,140,191,201, 38,225,183,155, 51, 81, 80,209,249,100,180, 4,192,248,160,214, 89, 15,153,173, 26,226,185,
29,192,185, 29,248,247,108,162, 82, 17,246, 23,242,192,148,100,104,196,239,195,151, 30,243,201, 76, 17,245,232,218,154,224,238,
70,105,105, 41, 82, 83, 83,145,153,153,137,105,211,166,225,195, 15, 63,196,128,102, 27, 98,116, 20, 61,237,124,117,148,127, 65,
89, 53,230,190,243, 13,170,204,206,115,200, 50,243, 75,176,240,253,109, 72,126,238, 94,168, 5,222,227,252,173,162,140,231,147,
79,119, 73,248, 1, 32, 86, 91,139, 16,161,237,245, 35, 42,142,241, 0,230, 49, 96, 58,236,170,229,229, 31, 76,249, 74,144,201,
218,144,167,211,189,155, 5,152, 81,128, 52, 53, 28, 93,205,202,209,173, 10,144,151,151,135,148,148, 20, 20, 22, 22, 98,238,220,
185,120,238,185,231,208,213,161,248,220,220, 92, 92,189,122, 85,140,142,142,254,111, 79,213,105, 71,248,151,152, 44,152,179,106,
19,174, 86,185,222,163,111, 95, 86, 62,150,124,178, 3, 47,222, 57,210,227,252,255,153,122, 25, 57,198,154,182, 91,121, 2,232,
71,244, 71, 76, 88, 0,204, 54, 17,149,102, 59, 14, 95, 40, 2,101, 12, 19,130, 42,219,234,151,144,122,133,179,199,199,208, 39,
52, 4, 7, 67,151,165,229,250, 66, 19, 79, 45,229,176,253,176, 18,204, 82, 6,245,228, 37, 80,141,184,163,177,245,175, 95, 74,
217,233,244,232,215,180, 26,135, 82,138,204,204, 76,164,166,166, 66,150,101, 60,240,192, 3,184,253,246,219, 91,133,173, 58,139,
173, 91,183,218, 41,165, 31,111,218,180,169, 61,173,238, 49,254, 53, 86, 7,238,249,211, 22,228, 22,183,157, 44,121, 99,122, 14,
12,185, 57,178,218,131,252, 47,150,214, 34,249, 84,161,219,235,129,126,106,172,184, 39, 30, 11, 18, 71,161,127,120,144,211,181,
203, 37, 38,124,180,227, 56, 6, 95,106, 61,159,204, 6, 13,252, 96, 7, 24,197,153, 50, 97,227,220, 63,166,172,245, 37, 27,135,
85, 23, 65,174,200,173,219,179,109,223,219, 16,179,147, 17,227, 7, 82,191, 32,158,118,197, 7,232, 18, 28, 14, 7, 14, 29, 58,
132,244,244,116,244,239,223, 31, 79, 60,241, 4,226,227,227,209, 29, 11,131,108, 54, 27,246,236,217,195,108, 54,219, 39,158,170,
200,206,242,183,139, 50, 22,188,247, 45, 78, 94, 54,118,232,254,233, 37,224, 53, 33,137, 20,216,227, 17,254,255, 72,201, 3,117,
163, 58,209, 97,129,216,242,236,189, 24, 55,216,117, 50,226,193,145, 33,120,247,161, 91, 81,242,229, 23, 78,155,156,214,112, 65,
8,162, 77, 61,202,226, 56,199,224, 23,124,204,200,231,251,142,129,118,214, 27,176,238,124, 9,144, 69,200, 37,103,241,255, 6,
16,149,223, 20,255,193,111,109, 39, 93,234, 1,186,132,109,219,182,129, 82,138, 85,171, 86, 97,248,240,225,221,250,144,123,246,
236,129, 32, 8,169,169,169,169, 69,158,170,200,206,240,167,140,225,145,143,183, 99,127,118, 65,167,126,195,206,107, 95,230,231,
175, 58, 39,111, 92,185,161, 59,185,151,155, 29,200,200,175,116,217,216, 13,208, 5, 97,247, 43, 11, 49, 64, 23,212,142,187, 40,
66,107,174,123, 30, 17, 2,100,162,114, 18,126, 0, 80,243,152, 90,249,158,126,124,216,239,210, 78,250,146, 18, 8,131,244,208,
206,122, 3,182,157, 47,131,201, 14,240,132, 97,241, 36,191,113, 83, 6, 14,122, 88, 16,134,173,155,252,234,225,234,142,222,139,
67, 23,246, 21, 48,155,205,200,204,204,196,202,149, 43,187, 93,248, 27,156, 95,179,217,220, 81,231,209,227,252,151,125,182, 27,
91,143, 92,232,202,163, 16,194,176, 86,184,127,213,140,238,228,191, 35,171, 16,204, 77, 79,255,135,121,250,246,133, 31,128, 92,
94,103, 70,128, 87, 33, 48,225, 9,248, 49,215, 11, 99, 40, 47,223,235,139,225, 30, 97,144, 30,126,179,255, 8,162,210, 54,158,
27, 17,169,158, 52, 52,156, 28, 42,251, 48, 97,164, 71,123,128,163, 71,143, 34, 33, 33,161,205, 92,159, 93,197,185,115,231, 80,
82, 82, 98, 59,120,240,224, 78, 79, 85, 94,103,248,191,254, 77, 42, 62,219,155,121, 45, 63,167, 6,144,172, 90,240,206, 45,226,
215, 47,156,234, 14,254,169,103, 93, 79,126, 28,216, 39, 24, 11,147, 70,119, 44, 94, 88,114, 6, 32, 28,180,183,191, 6, 97,112,
18,196,236,100,208,106, 23, 62, 5, 35, 9, 61,102,223,215,150, 64, 42, 60, 6, 72,118, 48, 89, 4,100, 7, 24, 21, 65,168, 4,
230,176,130, 57,106,193, 28,181,128,104, 1,179,155,235,254,111,189, 51,234, 40,194,216,225,242, 15, 19,230,235,158, 74,255,177,
219, 21,128, 82,138,140,140, 12,188,252,242,203, 30,169,132,173, 91,183,218, 68, 81,252, 0, 30, 74,149,209, 25,254,127,251,241,
56,222, 73, 62,212,120, 28,164, 85, 99, 70,220, 32,216, 68, 9, 63,158,188,228,186, 66, 9, 16,224,168, 56,100, 82,133,107, 0,
76,168, 63, 29,204, 40,251,193,239,129, 85,122,219, 87, 43, 47, 95, 43,255,203,149, 86,128,104, 91, 93, 91,116,203,141, 80,241,
29, 27, 83,160, 37,103,161,137, 95, 10, 97,112,221, 62,191,170,225, 51, 97, 63,246,133,139, 62, 12, 61,178,233,175,116, 97, 39,
172,123,223,118, 37,208, 93, 65, 48, 24,219, 94,241, 97,252,178,240,167, 14,255,173, 61, 19,168, 83, 56,127,254, 60,130,130,130,
16, 23, 23,215,237,149, 96,177, 88,176,127,255,126, 56, 28,142,127,122,170,162, 59,202,255,235,180, 28, 60,183,110, 31,162,195,
2,241,248,109,227,240,237,138,121, 48,124,242,127,216,240,219,185,109,239,129, 69, 37,140, 40, 73,253,185,180,105,229, 68, 9,
100, 16, 1,158, 2,176, 27, 64,164, 36, 99, 7,238,125, 91,119,173,252, 45,196,245,250,243,168,144,128,142,219,102,234, 0,168,
199, 63,208, 36, 8, 49, 19,221, 21, 13,233, 9, 5, 16,207,239,236, 46,225,111,244,151, 25, 35, 31,151,127,144,240, 62,123,213,
189,156, 11,157,221, 91,245,240,225,195,248,197, 47,126,225,145, 74,216,181,107, 23, 83,171,213,123,247,236,217,211,225, 13,176,
61,193,127, 87,230,101,252,117, 91, 6,214, 44,189, 19, 11,244,163, 58,220,170, 2, 0, 3,145,210,210,210,234,248,111,122,161,
64, 4, 62, 2,240,145,102,193,159,134, 74,178,252,172, 32,112,155,164,251,255, 58, 7,155,158,182,118,149,191,138,143,133, 67,
110,253,181,176, 64,103,197, 56,124,161, 8,195,163,195, 17,222,226, 60, 24,133,122,226,131,206, 78,180,228, 54, 49, 4,199, 54,
222,207,147,249,155, 60,154,249,218,111,198,139,144, 75,178, 1,209, 10, 38, 90,193, 28, 22,192, 81, 3,106, 53,129,150,157,131,
92,226, 58,221, 63, 31, 58, 16,124,248, 96, 64,208,128, 89, 42, 32, 22,157,172,223,240,163, 65, 64,216,242,242,176, 41, 67, 75,
62,246, 91, 24,249,155,253,181, 93, 54,129, 24, 99, 40, 47, 47, 71, 65, 65, 1,110,187,237, 54,143, 84,194,166, 77,155,204,213,
213,213,239,122,196,190,236, 32,127,179, 93,132,192, 17, 28,122,251, 33,116, 37,162, 75, 9,231,114, 79, 45,251,215,207,231, 2,
248, 53, 22,190, 21, 37,136,142, 9, 18,144,214, 85,254, 1,125, 71,194, 97,110,253, 51,205,103,126,214,218, 28,120,107, 75, 58,
190, 91, 49,207, 69,171,193,129,248, 59,119, 68,204,230, 54,112, 34,226,204, 38,143,103,110, 35,218, 80, 8,131, 90,111,200, 46,
95,205,132, 53,111,127,171,243,170,126, 19,161,141,127, 28, 66,191,241,173,158,195,126,126, 39, 44, 41,171,235,156,124, 0,132,
224, 46, 94,182,165,148,175,142,191, 75,183,236,240,149, 78, 41, 0, 99,245, 59,142, 51,134,195,135, 15, 99,214,172, 89,208,104,
186,127,238,217,153, 51,103, 80, 85, 85, 85,147,154,154,186,175,187, 5,191, 51,252, 3, 52, 42,220, 26, 55,168,235,191, 7,210,
246,172,201, 13,127, 48, 74,128,241, 90,248, 27, 11,131, 81,105,110,189,246, 99,219,145, 11, 88,152, 56, 10,140, 1,203, 63,219,
141, 62, 65,218, 14,243, 46,185,120, 28,193,174, 47, 93, 32,175,194, 43,123, 6, 72, 23,247,192,186,239,237, 70, 65,110,236, 45,
110,122, 8,254, 9, 75, 27,167, 66,156, 59,127, 6,102,179, 25,186,112, 29, 6, 13,138,133,223,216,251, 32, 68,220,128,154,237,
43,192,172,141,131,150,227, 0,238, 61, 0,247,119,216, 7,160,148, 54,174,195,180,217,108, 56,126,252, 56,238,185,231, 30,143,
60,236,150, 45, 91,172,162, 40,190,215,221, 14,111, 79,241,247,148,195,238,138,255,228,225,209, 46,203,239,204,188, 12,139, 93,
196,239, 55, 28,192,134,212,179,152, 60, 44,186, 99, 74,230,176, 64,147,191,219, 77, 43, 79,206,244,248,131, 51, 10,251,225, 53,
176,238,126,189,149,240,171,135,205,128,191,254,215, 0,225,112, 56, 35, 29,241, 79,188,138,184, 23,191, 67,252,170, 61, 24,246,
220, 70,252,252,153, 55,112,241, 98, 14,132,232,177, 8,185,255, 95, 32,126,205,167,178,176,123,171, 62,156, 60,164,165, 2,180,
138, 67, 55,175,248,134, 79,102,102, 38,134, 13, 27,134,254,253,251,119,251,243,214,212,212, 32, 53, 53,149,216,108,182, 79,187,
214,200,123,151,255,181,119, 82,157,227, 63,101,120, 63,215, 65, 4,187,136,121,127,217,138, 15,182, 31, 5, 0, 76, 30, 22,211,
33, 2,181,199,191,130,134,147,220, 24,124,108,103,143, 42,189,185, 12,150,109,203,225, 56,241,159,214,129, 64, 65, 3,255,233,
207, 2, 0,242,242,206,227,231,171,119,227,120,133,179,127,243, 95,131, 10,243,255,244, 21, 36, 81, 4, 23,210, 15,234, 33,122,
39,151, 65,166,252,114,183, 61, 0, 99,172,177,194, 37, 73,130, 36, 73,141,199,199,143, 31,199,188,121,243, 60,242,208, 59,119,
238,132, 90,173,222,113,173,249,102,188,197,191, 59,205,181,142,240,159, 59,105, 24, 66,252, 93,155,113, 7,234, 71,171,181,106,
1, 99, 6, 69,180,111,102,228,167, 65, 62,245, 31,119,151,109, 68, 35,110,236, 49,147,231,202, 49, 88,191,121, 12,114,145,235,
225, 18, 85,244, 88,112,218,186,177,155, 15,191,254, 14,229, 14,215, 75, 72, 79, 87,249,225,207,255,168, 11, 36,170, 6, 76,110,
209,161,177, 71, 13,127, 77,208, 58, 41, 64,131,157,217,178,213,105,120, 17, 6,131, 1, 22,139, 5, 9, 9,221, 59, 38, 66, 41,
197,158, 61,123,176,118,237, 90,212,214,214,190,123, 45,130,227, 13,254,221,237,167,116,148,127,144, 86,141, 71,110, 29,219,230,
61,199,235, 36,168,218,153, 30,239,200,254, 22,150, 31, 86,130,103,110,167, 68,127,213, 35,243,255, 25,133,253,216, 90, 88,183,
63, 3,106,117, 63, 67, 85,136,106, 26,228, 59,125,213,220,230, 45,243, 74,235,156,122, 97,192,205, 45, 47, 5,169,180, 36,168,
185, 19,204, 26, 42,186,193,217,106, 72, 66,212,240, 57,113,226, 4,238,185,231, 30,116,215,194, 19, 89,150,177,107,215, 46,124,
246,217,103,176, 88, 44,142,226,226,226, 45, 6,131, 33, 60, 56, 56,248,230,234,234,234, 35,157,173,190,158,230, 79,105,183,250,
132, 93,226,255,200,140, 49, 88,179,235, 68,227,130,156,150,152,192, 95,132,121,227, 98, 8, 35,102, 67,125,195, 29, 32,129,117,
19,227,152,104,133,227,226, 62,148, 30,222,128, 16, 91,126, 91, 83, 39, 77, 50, 47,175,244,184,236,139, 86,216,118,189, 2,169,
224,144,115, 67,205,171,193,192,156,124, 0, 90,219, 20, 29, 31, 18,174,193,129, 54, 18,161,140,111,152, 8,232, 98,108,193,223,
108,111, 60, 41, 52,111,125, 26, 42,188,249, 75,176, 88, 44, 56,127,254, 60, 94,121,229,149,107,239,226, 36, 9, 63,252,240, 3,
214,174, 93, 11,155,205,102,191,122,245,234,214,162,162,162,100, 74,105, 49,207,243, 70, 89,150, 75,174,165,245,236, 41,254,255,
90,191, 3, 16, 98,187,189,245,119,197,223, 84,107,198,169,220, 43,184,243, 87, 75,177,249,240,121, 28,207, 43, 70,218,185, 66,
156,184,100,132, 67,114,223,194,223, 20, 84, 9,106, 42,130, 35,227,159,112,100,252,179, 46, 98, 66, 56, 48, 42,131,128,181, 59,
186, 69, 8, 94,136,252,205,145, 98,143, 10,191,189, 22,214,255, 62, 7,217,152,237,252,219,193, 49,240,159,245, 38,236, 71,254,
5, 41,191, 41, 90, 44,149,158,107,252,255,233, 7,238,194,127, 94,217, 6,145,181, 86,225, 80,149,132,217,183,212,141,112,203,
165,173,179, 39, 50, 78, 77,157,194,160, 45, 95, 64,243, 23,113,234,212, 41, 36, 36, 36,224, 90,114, 76, 58, 28, 14,124,255,253,
247, 88,183,110, 29, 28, 14,135,173,168,168, 40,185,168,168,232,123,142,227,140,140, 49,163, 36, 73,198,170,170,170,210,107,105,
145,123,146,255, 85, 41,226, 52,250,224,230,238,142,246,184,226,159,125,250, 52,134,198, 77,192, 15, 89,133,216,118,244, 34,174,
86,214,118,232,158, 55, 5, 87,180, 50, 51,192,104,135, 38,203, 51,134,191,233,150, 29,250,196,147,194, 79,173,149,117, 38, 79,
153,115,170, 33, 97,144, 30,126, 51, 94, 4,209, 4, 66, 24,156,232,164, 0,114,121, 30,236,103,191,135,102,212, 93, 24, 53, 50,
14,219,127, 99,196, 67,255, 76, 69,177,189,105,237,198,208, 0, 59, 62, 91, 58, 3,177,177,117,169, 93,172, 39,190,108,249,211,
162, 57,192, 97,115, 82,128, 6,123,179,229, 11,144,101, 25, 89, 89, 89,120,253,245,215,187,244,144,118,187, 29,223,126,251, 45,
214,175, 95, 15, 89,150,109,133,133,133,155,141, 70,227, 14,198,152, 17,128,145,231,121, 99,121,121,185,241, 90, 43,179,167,249,
91,198,207,187, 25,232, 62, 5,104,139,127,118,214,105,188,254,250,235, 24, 61,122, 52,254,186,120, 6, 14,157, 47, 66,114,198,
121,108,205, 56,143,194, 10,215,202, 16,163,177, 34, 90,109,235, 98,143,132, 47,117,149,135,158,242,104,203,111,173,130,245,219,
39, 65,171,154, 77,234,227, 4,104,110,126, 12,234, 9,191, 68,195, 8, 53, 63, 48,161,254,255,166,104,144, 53,245, 35,168, 98,
38,128, 11,233,135, 91,111,153,137,203,137,211,177,231,192, 30, 20,149,150, 33, 38,162, 15,110,155, 62, 19, 28,199, 3,140,194,
146,178, 26,210,149, 99, 45,186, 54,124, 25,179,244,152,197,165, 15,208,210,254,204,203,203, 67,104,104, 40, 70,143, 30,221,169,
7,180, 88, 44, 72, 78, 78,198,134, 13, 27, 64, 41,181, 22, 20, 20,108, 46, 47, 47,223,205, 24, 51, 82, 74,141,130, 32, 24,203,
202,202,140,232,194, 34,230,182,108,232,158,226, 79,253,195,251,121,194, 7,104,143, 63, 71, 8,244, 35,250, 65, 63,162, 31,254,
180,232, 86, 28,201,189,138,228,140,243, 72, 62,124, 30, 5,101,213, 78,230, 79, 23, 32,130,177,223,235,150, 29,254, 11, 33,158,
221,179, 75, 46, 60,234, 36,252, 92,200, 0,248,221,246, 50,248,136, 17, 78,229,184,128, 62,224,251,222, 8,185, 56,171, 89,207,
97,130,233,171,135, 17,112,219, 31,160, 30, 58, 29, 60,207, 99,214,140, 89,173, 76,171,218, 29, 47, 66, 44, 56,220,170,174,193,
216,159,156,122,156,230,161,183,150, 54,232,153, 51,103, 58, 21, 58,172,173,173,197,230,205,155,177,113,227, 70, 80, 74, 45, 6,
131,225,155,178,178,178,253,140, 49, 35,207,243, 70,198,152,177,170,170,202,136,174,239, 68,216,102,232,176,167,248,171,180, 33,
241,221, 37, 34, 93,229, 79, 8, 48,121, 88, 52, 38, 15,139,198,170, 95, 78,195,241, 60, 35, 54,238,203, 64,114,250,105,140, 15,
236,148, 2, 72,140, 97, 7,227,232,107, 17,203, 50,142, 98,185,231,163, 94,252,160, 68,240,125,199, 64, 46, 57, 11,213,136,217,
208,232,159,116,154,215,223, 28,154,164,223,194,178,229, 9,128, 54, 57,251,204, 81,139,218,255,174,132,122,232,116, 8, 81,163,
193,135, 15, 1, 9,208, 65,174,184, 12,185,236, 2, 28,185, 7, 64,171, 91,175,165, 98,192,247,125,150, 29,118, 26,216,115,235,
3,152, 76, 38, 20, 23, 23, 99,198,140, 25,237, 62, 80,117,117, 53,190,254,250,107, 36, 39, 39,131, 82,106,190,114,229,202,230,
178,178,178,131,140, 49, 99,189,157, 95, 28, 26, 26,106,188,120,241,162,221, 35,246,164,194, 31,199,246,124,135,204,228,100, 12,
161,212,188, 35,219,184,189,223, 56,106,191,101,120,224, 68,157, 63, 63, 26,196,133,233, 79,112,152, 49,178, 94,237,112,124, 21,
252,236,177,178,158, 12,251, 18,149, 22,254,247,124,220,184, 32,167, 77,101,233,115, 3,212,147, 30,169,115,228, 91,250,102,185,
251,225,200,221,223,193, 31, 37,121, 2,228, 86,234,237,214, 7,200,206,206,198,157,119,222,217,230,188,153,170,170, 42,124,249,
229,151, 13,203, 11,107, 13, 6,195,230,170,170,170,180, 6, 27,159, 82,106,212,106,181,198,162,162, 34, 75,101,101,165,199, 42,
84,225,223,154,255,243,151,152, 81,150,139,140,235, 31, 25, 64, 18, 6, 5,106,136, 74,230,136,172, 34, 96, 50, 7,162,170, 10,
95,150, 82, 0,111,131,239, 88, 46, 84,205,132, 95, 1,142, 90, 56, 78,118,121,101,233, 41,153,147,238,212,185,136,106, 53, 42,
64,115, 27, 84, 20, 69,156, 63,127, 30,207, 60,243,140,203,187,149,151,151, 99,253,250,245,216,177, 99, 7,100, 89,174,169,175,
248,140, 6,161, 81,169, 84,197,140, 49, 99, 69, 69, 69,173,171, 92,239,158, 16, 32,133,191,107,254,119,191,239,203,121,172, 58,
218,101,112,208, 76,249, 53,248, 62, 55,192,182,255,143, 96, 82,167, 28,252, 20,162, 17,239,138,116, 51,160,215,202, 4, 98,140,
225,226,197,139, 24, 49, 98, 4,250,245,115,246,245, 74, 74, 74,240,197, 23, 95, 96,247,238,221,144, 36,169,218, 96, 48,108,169,
174,174, 62,202, 24, 51, 54,216,201, 0,140, 37, 37, 37, 61, 90,235, 10,127,239,242,239, 41, 8,195,102,194,191,223, 68,136,103,
190,131,120,230, 91, 48,179, 91,203,205, 0, 32,153, 3,217, 18,218,183,127, 74, 91,107, 25, 4,198, 24,107,217, 5, 95,184,112,
1, 79, 61,213, 20, 9, 43, 42, 42,194,231,159,127,142, 3, 7, 14, 64,146, 36, 83,126,126,254,150,218,218,218,147, 13, 81, 17,
158,231,141,146, 36, 25, 43, 43, 43,123, 60, 91,152, 87,248,203,220, 81,240,244, 53,215,132,136,205,231,249,247, 98,112,218, 48,
104,110, 90, 12,205,132, 69,117,249,129, 28, 22,124,182,230, 67, 27, 45, 57,179,121, 76, 31,122,118,100,140,176,179,239,242, 35,
29,158, 77, 32, 16, 66,242,171,171,171, 71,134,133,133,129, 82,138,210,210, 82,136,162,136, 41, 83,166,192, 96, 48,224,223,255,
254, 55,210,210,210, 32,138, 98,229,229,203,151,183,154,205,230,204, 6,231, 16,128, 81,150,101, 99, 85, 85, 85,153,183, 42,196,
27,252,197,205, 43,142, 2, 56,218, 91,249,255,111,104, 2, 15,190, 79,221, 96,215, 57,115,152,188,255,136,120,188,160,160, 96,
91, 85, 85, 85,167, 54,241, 16,236,118,123,106, 73, 73,201,204,254,253,251, 11,148, 82, 92,188,120, 17, 19, 38, 76,192,203, 47,
191,140, 35, 71,142,192,110,183, 87, 24, 12,134,111,107,107,107,179, 8, 33, 37,168, 91,204, 97,228,121,222, 88, 82, 82, 98,244,
118, 61, 40,252,189, 15,147,201, 36,100,100,100,120,243,247,121, 66, 8,149,101,185,243,185, 65, 25, 99, 25,121,121,121,246, 33,
67,134, 8,118,187, 29,121,121,121,200,207,207,135,205,102,107,168,248,179,205, 91,155,102,131, 88,212, 23, 42, 95,225,239,117,
24,139,139,139, 79,173, 90,181,138,183,219,237,209,140, 49, 53, 0, 86,159, 97,143, 53,251,160,254, 60,107, 10,203, 59, 95,115,
119,189,197,189, 90,150,101,178, 44,203,146, 36,149,212,167, 71,236,212, 8, 13, 1,128,105,211,166, 61, 79, 41,125, 11,128,236,
112, 56,106,138,138,138,182,213,214,214,158,227, 56,174,193,198, 44, 97,140, 21,215, 79, 91,144,224, 99, 80,248,251,134, 81,162,
211,233,150, 3,232, 91,175,156, 50,234, 18,214, 74,132, 16,153, 49, 38, 19, 66,164,102,231,104,179,107, 13,231,101, 66,136, 84,
159,228, 86,110,184, 70, 8,145, 41,165, 82,139, 99,185, 33, 35, 52,165, 84,146,101, 89, 98,140, 89,204,102,243,149, 78, 43, 64,
61, 84,225,225,225, 81,140,177, 48,142,227,180, 0,136, 44,203,118,142,227,202,195,195,195, 75, 60, 53, 8,212,141, 80,248,123,
57, 88, 25, 24, 24, 24,205,113,156,154, 16,194, 84, 42, 21, 68, 81,108,108,165, 27, 90,241,230,199,132, 16,218,208,226, 59, 28,
14,167, 30,128, 16,194,154,125, 26,202,194, 98,177, 56,221,131,227, 56, 70, 8, 97,149,149,149,172, 94,233,196,174, 42,128, 2,
5,215,172, 4, 93,181, 4,189, 69,248,255, 3,212, 21,184,121, 66,226, 69,162, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
};
137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0,192, 0, 0, 0,192, 8, 6, 0, 0, 0, 82,220,
108, 7, 0, 0, 0, 1,115, 82, 71, 66, 0,174,206, 28,233, 0, 0, 0, 6, 98, 75, 71, 68, 0,255, 0,255, 0,255,160,189,167,
147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1, 0,154,156, 24, 0, 0, 0, 7,116, 73, 77, 69, 7,217,
3, 11, 22, 20, 52,126,245,230,180, 0, 0, 0, 29,116, 69, 88,116, 67,111,109,109,101,110,116, 0, 67,114,101, 97,116,101,100,
32,119,105,116,104, 32, 84,104,101, 32, 71, 73, 77, 80,239,100, 37,110, 0, 0, 32, 0, 73, 68, 65, 84,120,218,237,157,123,124,
84,213,185,247,127,251, 50,123,207,100,102, 50,153, 36,144, 64,144, 75,129, 4, 67, 8, 32, 66, 33,132,112, 9,245, 0, 61, 96,
241, 28,181,111, 69,251,126,236,123,168,120,170,109,189, 32,136, 98,244,181,165, 92,173,130,104, 43, 34, 69,240,214,234, 71,241,
61, 94,192,106,197,218, 24,136,128, 6, 73, 32,144,132,132,225,154,235, 36,153,100, 46,123,207,251, 7,236,221,153,201,158,201,
92,246,158, 73,154,245,251,124,230,147,100, 38, 51,243,236,189,191,207, 90,207,243,172,181,215, 2,136,136,136,136,136,136,136,
136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
136,136,136,136,136,136,136,136,136,136,136,136,136,136,174,138, 26, 72, 7, 59,117,234,212, 76, 81, 20, 15, 0,200,211,234, 59,
56,142,187, 84, 90, 90,154,169,197,103,143, 25, 51,134,183, 90,173,211, 5, 65, 48,107,101,191, 78,167,115,150,149,149, 29, 24,
40, 76,176, 3, 5,160,107,182,127,182,101,203, 22,174,168,168, 8,229,229,229,200,202,202,130, 94,175, 7,195, 48,160, 40, 10,
52, 77,255,179,101,160,168,144,191,251, 62, 39,253,237,112, 56, 48,127,254,252, 12,173,224, 79, 73, 73,153,177,105,211, 38,186,
168,168, 8, 71,142, 28, 65, 86, 86, 22, 56,142, 3,203, 94,189,140, 12,195, 4,125,127,168,215, 36,185, 92, 46,204,153, 51,135,
31, 72,141, 34, 27, 41, 64,155, 55,111,230,102,207,158, 45, 3,196,243, 60, 24,134, 1, 77,211, 61,224,232, 13,156,192,223,181,
2, 72,178,125,211,166, 77,124, 81, 81,209, 40, 0, 40, 47, 47, 71,119,119, 55,146,147,147,193,178,172,124, 12,210,113, 4,123,
132,122,189,182,182, 22, 90,194,191,126,253,122,186,168,168, 40, 9, 0, 14, 29, 58,132,188,188, 60,164,164,164,200,246,251, 66,
46, 57, 69, 32,252,193,158,103, 24, 70, 51,251,251,189, 3,248, 2, 52,123,246,236, 81, 0, 80, 86, 86,134,188,188, 60, 88, 44,
150,160, 0, 5,194,210,219,107, 53, 53, 53, 90,133, 61,159,109,220,184,145,159, 51,103,206, 40,233,121,154,166, 33,138,162,159,
3,134,130, 59, 92,199,208, 18,254,121,243,230, 37,133,211,162, 71, 3,255, 64, 21, 27, 45, 64, 12,195,192,235,245, 6, 5, 40,
82,248,165,223,181,128,127,195,134, 13,250,185,115,231,142, 12, 22, 18,196, 2,191, 86,182,135,130, 63, 16,102,223,227,137, 22,
254,192,207, 35, 14, 16, 3, 64,209,194,175, 38, 68,190,182,207,155, 55,111,164, 82, 76, 28, 41,224,225,188, 22, 15,248,195,129,
152,192, 31,163, 3,132, 11,144, 20, 78, 68, 10,127,176,255,139, 7,252,210, 69,151,146, 94,181,224, 87,203,254,222,224,151,206,
127,176,208, 37, 90,248, 7, 98, 40,196, 70, 11,144, 78,167,139,186,165,215, 50, 4,242, 13,217, 2,123, 45, 95,241,124,207, 98,
71,164,241,190, 22, 14, 16, 14,252,193,236, 39, 45,191, 10, 14, 16, 46, 64, 28,199, 41,194, 19, 11,252,190,101,200, 88,171, 61,
190,249, 10, 0, 56,157, 78,212,213,213,161,190,190, 30,205,205,205,126,229,207, 88, 91,125,181,236, 15, 5,191,211,233, 68,109,
109, 45,234,235,235,209,210,210,130,164,164,164, 30,176,199, 2,255, 64, 77,132,217, 72, 0,146, 46, 64,115,115, 51, 12, 6,131,
95,253, 60,209,240, 3,128, 40,138, 7,174,213,249, 71,137,162, 8,155,205,134,202,202, 74,156, 60,121, 18,141,141,141, 72, 78,
78, 70,106,106, 42, 44, 22, 11,204,102,115, 15, 7,136, 53, 23,136, 85, 86,171,117,250,181, 58,127,146, 32, 8,176,217,108,168,
170,170, 66,117,117, 53, 26, 27, 27, 97, 54,155, 97,181, 90,145,146,146, 2,179,217, 12,150,101,123,128, 31, 11,252, 3, 62, 4,
18, 69,241,192,181, 58,191, 12,208,137, 19, 39,100,128,204,102, 51, 82, 83, 83,145,146,146, 2,163,209,232, 87,255,143, 21,126,
149, 66,136,188,220,220, 92,108,223,190, 29,213,213,213, 96, 24, 6, 25, 25, 25, 72, 75, 75,195,208,161, 67,229, 65, 35,142,227,
160,215,235,101,128,122,171,255, 71,242, 90, 44, 18, 4,193,156,155,155,139,231,159,127, 30, 53, 53, 53, 96, 24, 6,131, 6, 13,
66,122,122, 58,242,243,243,193,178, 44,120,158, 7,199,113,242,248, 75,176, 86,159,192, 31, 93, 8,148, 55,126,252,120,108,219,
182, 13,213,213,213, 96, 89, 22, 25, 25, 25, 72, 77, 77,197,132, 9, 19,100,128,120,158,135, 94,175,135, 78,167, 3,203,178,170,
193,175, 70, 43,218,222,222, 14,147,201,132,162,162, 34,164,164,164,200, 73,186,111,178,174,211,233,122, 64, 20, 12,242,120, 87,
129,236,118, 59,204,102, 51, 10, 11, 11, 97,181, 90,123,192, 45,217,203,243,188,108,191, 82, 47, 64,224,143, 50, 7,176,219,237,
48, 26,141, 50, 64,129,149, 30,154,166,101, 39,224,121, 94,254, 59,210,106, 79,176,215, 98,149,209,104, 68,126,126, 62, 4, 65,
144,115, 19,223,159, 52, 77,131, 97, 24,232,116, 58,249,167, 82, 15, 16,109, 34, 28,171,146,147,147, 49,113,226, 68,217,254, 96,
149,159, 64,248, 73,216,163,146, 3, 72, 0, 5,142,146,250, 2,196,178,172, 12, 14,199,113,126, 0,197, 26, 18,197,124, 64,215,
66, 28,175,215,171, 8,191,244,125,190, 45,191, 90,185,128, 26,246, 75,173,187,199,227,233, 21, 90, 53,225,151,194,193, 1,239,
0, 82,235, 46,138, 98,143, 11, 43,129,254,208,158, 43,248,240,208, 69, 8,162, 55,170, 47,237,120,119,145,102,101, 80,223, 11,
41, 57,129,239, 35,112, 0, 44,146,150, 63, 30,137,176,210,188,158, 80,213, 29, 37,248,195,201, 11, 66,253,207,128,119, 0,223,
11, 16,120,145,105,154,198,155,171,111, 64, 83, 39,240,211, 13,135,241,217,177,203,242,123, 91,223,253, 17, 44, 70,157,223,231,
93,106,233,198,183, 53,109,120,122,111, 37, 14, 86, 92, 9, 89, 50, 85, 67,190,161,148,218, 37,206,222,202,159,106, 29, 67, 56,
85,157,104,192, 38,240,247, 20, 29, 12, 32,169,117,145, 30, 82,194,203, 48, 12,154,154,154,192,122,218,240,228,157, 57,126,239,
109,110,106, 66, 99, 99, 35,154,154,154,208,220,220,140,150,150, 22, 24, 24, 23,102, 94,111,198, 39, 27, 10,177,112, 90,102,200,
1, 39, 53,114, 0, 53, 71,117, 35,129, 95,171,201,112,241,130,127,160,230, 2, 65, 29,160,183,216, 93, 20, 69,100,165, 4, 94,
44,101,160, 5, 65,128,203,233,196,227,119, 92, 31,242, 59,212,146, 90,240,135, 91, 30,213,106, 66, 28,129, 63, 1, 33, 80,176,
164, 81,201, 17,140,172,255, 5,103, 20,128,240,253,251,134,209,102,204,155, 52, 88, 83,248, 67,217,175,166, 99,104, 53, 15, 40,
48,174,143, 5,254,112,243, 8, 82, 5,138, 48,132, 8,214,221,211,116,239,243,124, 14,172,159, 5, 65, 16, 52,133,191,183,135,
22,142,161,149, 8,252, 9,232, 1, 2,147,200,112, 7,174, 24,166,247,208, 73, 75,248,131,217,175,117, 46, 64,224,255, 23,203,
1,162, 29,184,162, 21,222,119,231,134, 35,138,224,104, 5,191, 22, 33, 79,188,225,247,173,194, 17,248,251, 72, 14, 16,206,192,
21,195,248,191,214,229, 18,241, 81,249,229,184,193, 31,104,191,150,241,190,150, 45,191, 26,201, 44,129, 95,197, 28, 32,220,249,
251,204,181,170,137, 91,240,194,214,216,133,141,127, 57, 3,135, 83,136, 59,252,190, 14,160, 85, 34, 28, 79,240, 9,252, 9,204,
1, 34,153,194,156,124,203, 71, 33,161,212, 26,254, 72,170, 64,137,188,233, 37,156,184,159,192,159,224, 30, 32,156, 50,104, 32,
12,222, 3,183, 2, 0, 92, 30, 17, 13,151, 29,248,237,235, 85,216,249, 81,109, 92,225, 15,167, 18,148,200,185, 62,209, 58, 4,
129, 63, 78, 73,112,184, 45,191, 18, 16, 93, 93, 93,112, 58,157,128,232,193,136,193,122, 60,123,239, 68, 36,241, 12,129,159,192,
223,255, 28, 32,154,249,251,129,142,145,196, 51,248,225,247,135,196,253,160, 8,252, 4,254,132,148, 65,149,222,247,214,227, 51,
18, 14,127, 44,119,124, 17,248, 7,104, 25, 52,154,249,251, 74,175,249, 46,158,149, 8, 39,136, 5,252, 68,192, 31, 9,216,228,
6,119,141,146,224,104,111, 97,212,114,137,192,104, 28,128,192, 79, 20,115, 14, 16,209, 72, 48,129, 95,221,214,137,192,159,216,
28,160, 55,248,237, 14,143,223,123, 3,255, 78,216, 65,245, 99,248, 37,168, 9,252, 9,238, 1,194,137,255, 79,217, 58,253,222,
119,226,172, 61,225, 7, 20,237,220,126,210,242, 19, 7, 80,108, 65,131,193, 95,123,209,129,199,118,157,240,123,223,170,151, 43,
80, 89,223,247,156, 32, 28,240,251, 10,252,193,192, 38,240,199, 49, 9,238, 13,254,217, 15,125,129,175, 42,155,123,124,216, 23,
21,141, 24,255,127,246, 35,255,123, 22,236,255, 93, 17, 6,167,240, 9,119, 0, 2, 63, 81, 68, 14, 16, 78, 37,168,244,185,226,
94, 63, 56, 17,229, 79, 2, 63,145, 42, 61, 64,111, 75,133, 72, 75,166,244,217,184, 46, 12,240,227, 57, 61, 35, 86, 71, 32,240,
39, 32, 9,142,199, 58,254,241, 76,130, 9,252, 68, 97, 57, 64,127,134, 63, 28, 39, 32,240, 19,197,148, 3,244,117,185, 92, 46,
156, 62,125, 90, 49,206,215, 26,126,157, 78, 23,243,103,120, 60, 30, 84, 87, 87, 43, 58,128,214, 10,220,243, 97, 64, 58,128,219,
237,198,153, 51,103, 18,146, 44,198, 10, 16,207,243,151,102,205,154,149,145,200, 19,202,243,252,165,104,223,107, 48, 24,156, 5,
5, 5, 9,221,167,215, 96, 48, 56, 7,146, 3,248, 81, 93, 80, 80,112,209,233,116, 38, 28,160,127,252,227, 31,153, 32, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 82, 69, 17, 21,247,175,237, 35,124, 0, 64,158, 86, 6,113,
28,119,169,180,180, 84,147, 50, 40,177,159,216, 31, 40, 54, 66,227, 63,187,182,143, 48,202,203,203, 49,108,216, 48,240, 60, 47,
111,149, 26, 56, 96, 22,233,239, 93, 93, 93, 40, 46, 46,206,208,240,228,127,182,113,227, 70,110,238,220,185, 40, 43, 43,195,176,
97,195,228,173, 95, 3,151, 84, 12,199,230,192,193,193,214,214, 86, 44, 89,178, 68, 83,251,165,243,127,248,240, 97,100,101,101,
245, 56,255,225,218,170,244,124,123,123, 59, 22, 46, 92,168,169,253,215, 54, 50,239, 51,252,176,145, 24,191,105,211, 38,126,246,
236,217,163, 0,160,188,188, 28, 78,167, 19, 22,139, 69,222, 58, 41,212,141, 52,225, 76, 83,174,169,169,129,150, 39,127,253,250,
245,252,220,185,115, 71, 1,192,151, 95,126,137,220,220, 92, 36, 39, 39,251,217, 31,108, 37,235,112,158,171,171,171,131,198,206,
43,159,255,178,178, 50,140, 31, 63,190,135,253,177, 44,255, 88, 91, 91,171,169,253,155, 54,109,226,139,138,138,250, 20, 63,108,
36,198,207,153, 51,103,148,252, 70,150,245,155,243, 31,142,129,241,216,101, 49, 20,252,197,197,197,178,253, 12,195,200,246, 71,
10,122,168,231,226,225,188,146,253,210, 86,182,106,173,125,170, 53,252,125,145, 31, 54,204,150, 71, 63,103,206,156,145,190,175,
73, 19,203, 2,183, 34,141,117,199,117,141,224,209, 23, 23, 23,251,217, 47,117,187,210,201, 87, 3,254,120,218, 31,120,193, 35,
185, 9, 40, 94, 11,255,246, 7,126,232,112,140,159, 59,119,238,200, 30,158, 19, 0,144, 26,198,171,121, 1, 66,193,227,123, 1,
98,133, 95, 43,128,122,179, 95,218,239, 88, 77,248,181,176,191,175,243,195, 70, 99,188,239, 1,168,105,188, 90, 23,160, 55,120,
128,171, 51, 79,149, 54,210,136,228, 86, 74,173, 28, 56, 28,251,195,233,193,162, 9,139,226, 1, 63, 0,236,219,183, 15, 22,139,
5,122,189, 30, 44,203,250,245,104,129,215, 69, 41,105,151,236,125,228,145, 71,212,117,128,128,152,109,100,176, 55, 74, 83,151,
149,186,225, 88,156, 66,229,152, 63,168,253,190, 0, 5,230, 2,225,218,172,133, 3,135,107,191,239,212,241, 96,142, 28, 77,207,
160,114,204, 31,212,254,219,111,191, 29, 89, 89, 89,176, 88, 44,224, 56, 14, 58,157, 78,238,213,226,201, 15, 27, 78,194, 2, 0,
78,167, 19,117,117,117,168,175,175, 71, 75, 75,139,236,185,145,158,116, 45,187,224, 96, 9, 47, 0,116,119,119,163,182,182, 22,
181,181,181,104,108,108,132, 94,175,239,113,194,213, 8,135,212,170,246,248, 38,188,210,249,175,173,173,197,217,179,103,209,216,
216, 8,131,193,160, 88,249,137, 5,126,181,236, 87,226,167,163,163, 3,199,142, 29,195,145, 35, 71,112,252,248,113,116,118,118,
194,104, 52,250,109,192, 30,110,203,239,123,131,211,170, 85,171,212,115, 0, 81, 20, 15, 92,171,211,142, 18, 69, 17, 54,155, 13,
85, 85, 85, 56,121,242, 36,154,154,154, 96, 50,153,144,150,150, 6,139,197,130,228,228,100,217,232,112,203,111, 90, 87,129, 68,
81, 60,112,173,206, 63, 74, 20, 69, 52, 52, 52,224,196,137, 19,168,170,170,194,229,203,151, 97, 52, 26,145,154,154, 10,139,197,
2,147,201,212, 99,163,235, 68, 87,129, 68, 81, 60,112,173,206, 63, 74, 20, 69,156, 59,119, 14,149,149,149,168,170,170, 66, 99,
99, 35, 76, 38, 19,172, 86, 43,172, 86, 43,140, 70,163,162, 3, 39, 10,254, 72,248, 89,184,112, 33,172, 86, 43,204,102, 51,146,
146,146,228,177,128, 96, 60,197,179, 10,148,151,155,155,139,237,219,183,227,244,233,211, 96, 24, 6,131, 7, 15, 70,122,122, 58,
134, 14, 29, 42, 15, 26,241, 60, 47,247, 0,190,189,128, 26, 27,209,197,168,188,241,227,199,227,185,231,158,195,169, 83,167, 64,
211, 52, 6, 13, 26,132,212,212, 84,228,230,230,130,227, 56, 48, 12, 35,219, 47, 29,143,111, 85, 37,193, 85,160,188,220,220, 92,
108,219,182, 13,213,213,213,160,105, 90, 62,255,121,121,121,114,107,201,243, 60, 12, 6,131,252,119, 31,218,245, 50, 40, 63, 95,
126,249, 37, 40,138,146, 55, 2,103, 89, 86, 14,123,124,115,128,112, 90,126,223, 30, 96,245,234,213, 49,157,255, 30, 57, 64, 71,
71, 7,204,102, 51,102,207,158,141,148,148, 20,191, 56, 83, 26, 40,210,233,116,208,233,116,224,121, 30, 52, 77,203,219,122,170,
17, 14,197, 42,187,221, 14,142,227, 80, 80, 80, 0,139,197,210, 35, 63,145, 78,184, 20,119, 74, 23, 35,156, 94, 44,156,231, 98,
85,123,123, 59,146,146,146, 80, 88, 88, 8,139,197,210, 3, 0, 95,251, 37,135,142,100, 16, 73,235, 28, 44, 24, 63, 43, 86,172,
232,193,143, 94,175,151,127, 87,186, 6,241,224,167,135, 3, 24,141, 70, 76,156, 56, 17,130, 32,200, 53, 90,223,210,161, 4,188,
78,167,147, 15, 38, 84, 44, 26,233,243,177,202, 96, 48, 32, 47, 47, 15,162, 40,246, 24,104,145,236,151,236,246,133,191, 55,128,
226,149, 4, 39, 37, 37, 97,194,132, 9, 65,237,151,156, 32,176,245, 12, 21,198,197,179, 12, 26,140,159, 63,254,241,143, 61, 42,
56,129,163,239,225,182,252,190,246,174, 89,179, 70, 93, 7,144,186, 38,223, 42,137,210,206,241,190, 45,191, 82,235, 47, 8, 2,
108, 54, 27, 26, 26, 26,112,241,226, 69, 52, 54, 54,162,165,165, 5,157,157,157,216,188,121,179,102, 23, 64,167,211,129,227, 56,
191,197,187,148, 22,199,237,234,234,146,225,241,181, 63,145, 73,176,116,254,131,217, 31,248,221,190, 13,207,244,233,211,113,233,
210,213,251,241, 51, 51, 51,113,248,240,225,168,166, 70,168, 97,191, 18, 63,191,250,213,175, 34,226, 39, 33, 85, 32,105,128, 69,
138,139,189, 94,111,200,147,200, 48, 12,236,118, 59,234,235,235,113,225,194, 5, 92,185,114, 5, 45, 45, 45,176,219,237,112, 56,
28,176,219,237,104,107,107, 67,107,107, 43,218,218,218,228,223,183,108,217,162,217, 32,140,212,170,123,189, 94,185, 5, 82,130,
199,229,114, 65, 20, 69, 36, 37, 37,193,104, 52,246,153,169, 16,225,218,239, 11, 82,107,107, 43, 70,142, 28,137,170,170, 42, 0,
192,194,133, 11, 97,183,219,145,154,154, 26,247, 49,128, 96,252,108,221,186,181,199,181, 86,106,221, 87,174, 92, 25,215,189,155,
89,165, 17, 82,233,100,132, 99,200,111,126,243,155, 30,128,183,181,181,161,189,189, 29,162, 40, 34, 57, 57, 25, 99,199,142,197,
148, 41, 83,144,157,157,141, 39,159,124, 82,211,139, 32,125,142, 18, 60,190,223,195, 48, 12, 62,248,224, 3, 12, 31, 62, 28,147,
38, 77,130,213,106, 13,171, 14,173,117, 8, 17,202,126, 81, 20,241,192, 3, 15,224,252,249,243,120,234,169,167,144,151,151, 7,
154,166,209,214,214,134, 25, 51,102,160,161,161, 65,238, 13, 90, 91, 91,145,150,150, 6,138,162,240,221,119,223, 97,229,202,149,
24, 62,124, 56, 94,124,241, 69,121, 16, 80,139, 74, 80, 48,126, 30,120,224, 1, 77, 6, 78, 99,229, 39,228, 30, 97,225, 24,178,
103,207, 30,208, 52,141,235,174,187, 14, 99,199,142,197,204,153, 51, 49,118,236, 88,100,103,103, 35, 59, 59, 27,153,153,153,126,
239, 9,230, 0,106,181, 64,161,246, 57, 14,180,253,194,133, 11, 56,113,226, 4, 42, 42, 42,176,100,201, 18,100,101,101,133,236,
13,226, 81, 74, 12, 53,186,251,224,131, 15, 98,202,148, 41,120,234,169,167,176,122,245,106,100,102,102, 98,217,178,101,120,227,
141, 55, 48,125,250,116,116,116,116,128,166,105,228,230,230,226,149, 87, 94,193,178,101,203,176,119,239, 94, 8,130,128,221,187,
119,227,157,119,222,193,138, 21, 43,240,242,203, 47,107, 58,146, 77, 81, 20, 42, 42, 42,192,178, 44, 38, 76,152,160,234,100, 55,
181, 27,207, 94,119,138, 15, 39,233,107,104,104,128, 94,175, 15, 27, 16,173,151, 43, 12,247, 36,186,221,110,100,102,102,226,202,
149, 43,248,195, 31,254,128,226,226, 98,185,122, 20,237, 32,153,150,246, 75, 45,191, 40,138,216,177, 99, 7,254,246,183,191, 97,
237,218,181, 88,190,124, 57, 22, 45, 90,132,163, 71,143,130,166,105,220,124,243,205, 72, 78, 78,198,171,175,190,138, 21, 43, 86,
32, 61, 61, 29,157,157,157, 88,178,100, 9,246,237,219,167,249, 84, 20,154,166,193,243, 60,198,141, 27, 7,150,101, 33, 8,130,
106,101,114,181, 27,207,144, 59,197,135,155,244, 5,131, 63,216, 9,214,122,173,206,112,237,119,187,221, 24, 50,100, 8,218,218,
218, 64, 81, 20, 62,248,224, 3,124,251,237,183,248,233, 79,127,138,204,204, 76,240, 60, 31,247, 42, 80,168, 6,232,233,167,159,
198,170, 85,171,240,242,203, 47,227,203, 47,191, 68,126,126, 62,222,123,239, 61,156, 63,127, 30,135, 15, 31, 70,119,119, 55,244,
122, 61, 78,156, 56,129,241,227,199, 99,218,180,105,184,116,233, 18, 42, 43, 43,145,147,147,131,199, 31,127, 92, 46, 64,104,149,
196, 75,159,147,155,155,235, 7,255,179,207, 62,235, 87, 21,138,116,212, 55,216,107, 79, 60,241, 68,108, 57, 87, 56, 14,208, 91,
226, 17,105,153, 83,203,249,243,189,217,229,251,186,219,237, 70, 71, 71, 7,254,252,231, 63, 99,226,196,137,200,201,201, 65, 93,
93, 29, 74, 74, 74,240,179,159,253, 12, 55,222,120,163, 60,229, 32, 94, 85,160, 80,246,231,230,230, 98,216,176, 97,248,244,211,
79, 49,121,242,100, 84, 84, 84,200, 35,221,251,247,239,151, 7,159,166, 76,153,130,101,203,150, 33, 39, 39, 7,157,157,157, 72,
75, 75, 67, 67, 67, 3, 76, 38, 19, 38, 78,156,168,233, 56,128,239,231,248,182,252,129, 57, 64,172, 83,102, 84, 43, 58, 68, 26,
135, 42,181,222,145,102,234, 90, 47,180, 27,142, 3,211, 52, 13,183,219,141,238,238,110, 24,141, 70,216,108, 54,116,117,117, 97,
236,216,177, 0,128,237,219,183, 99,242,228,201,248,249,207,127, 46, 79,216,138, 71, 21,168,183, 80,241,199, 63,254, 49, 74, 74,
74,240,238,187,239,226,196,137, 19,120,247,221,119,113,240,224, 65, 60,246,216, 99,152, 49,227,234,166,228,135, 14, 29,194,195,
15, 63,140, 95,255,250,215, 88,188,120, 49, 56,142,195,154, 53,107,112,223,125,247,197,101, 58,180, 18, 63,207, 60,243, 76,143,
30, 32,150,150, 95,250,125,237,218,181,218, 57, 64, 56,222, 25,110,168, 20,236,158, 85,173,123,128, 96,176,178, 44, 11,183,219,
13,183,219, 13,147,201, 36,183,244, 23, 46, 92, 64,122,122, 58, 50, 50, 50,112,252,248,113,220,125,247,221, 88,183,110, 29,114,
114,114,228,145,111,173,111,136, 9, 60,175, 94,175, 23,118,187, 29, 45, 45, 45,216,187,119, 47,150, 47, 95,142, 11, 23, 46,160,
170,170, 10, 7, 15, 30,196,231,159,127,142,148,148, 20,249,255, 71,140, 24,129, 5, 11, 22,160,176,176, 16, 69, 69, 69,200,200,
200,192,252,249,243,241,234,171,175, 98,249,242,229, 72, 79, 79,135,213,106,213,236, 94, 12, 37,126, 30,124,240, 65,213,226,125,
53,109,101, 99,169, 0, 69,122, 67, 70,188,214,230, 15,167, 10,196,178, 44, 60, 30, 15, 68, 81,132,209,104,132,193, 96, 64, 82,
82, 18, 12, 6,131, 12,221,144, 33, 67, 64, 81, 20, 86,174, 92,137,226,226, 98,172, 90,181, 10, 28,199,193,227,241, 4,117, 48,
45, 28,160,160,160, 0, 35, 71,142,196,244,233,211, 81, 88, 88,136, 69,139, 22,225,240,225,195, 56,112,224, 0, 30,123,236, 49,
63,248,165,135,197, 98,193,218,181,107,177,119,239, 94,172, 89,179, 6,197,197,197,184,120,241, 34,158,121,230, 25, 28, 61,122,
20,141,141,141,168,173,173,213, 44, 4, 10,124,108,217,178,197,239,238,175, 88, 90,126,223,239,210,164, 7,136,180, 10,148, 8,
207,141,181, 10,196, 48, 12,220,110, 55, 4, 65,144,123, 0,223,135,228, 12, 6,131, 1,243,231,207,199,135, 31,126,136,234,234,
106,188,245,214, 91,114,248,164, 69, 18,172, 20, 42, 94,188,120, 17, 85, 85, 85, 56,119,238, 28, 58, 58, 58,240,205, 55,223,192,
237,118,163,186,186, 26, 51,102,204, 8,122,188, 5, 5, 5,120,254,249,231,177, 97,195, 6,216,108, 54,220,114,203, 45,224,121,
30, 70,163, 17,131, 7, 15,214, 44, 4, 82,226,231,161,135, 30,234, 83, 45,191,170, 85,160,190, 6,191,210, 5, 8,180, 81, 10,
129,188, 94,175, 95, 15,160,215,235,253,224,247,120, 60,248,248,227,143,241,131, 31,252, 0, 79, 63,253, 52, 60, 30, 15, 60, 30,
143,102, 73,176,146, 3, 43,205,103,146, 66,182,222,122,109,223, 41,198,129, 61,176, 22, 61,115, 48,126, 54,111,222,172,216,195,
69,211,242,107,222, 3, 68, 50,112,209,219, 5,136,247,206, 50,225,134,102, 82, 15, 32, 77,224,242,133, 94,122,212,212,212,160,
170,170, 10,111,190,249, 38,198,141, 27, 7,167,211, 9, 81, 20, 53,135, 63,240,188,102,102,102, 98,193,130, 5,152, 49, 99, 6,
114,115,115,113,243,205, 55,227,244,233,211,152, 54,109, 26, 14, 29, 58,132, 17, 35, 70, 40,158,247,175,190,250, 10,139, 23, 47,
70, 87, 87, 23,140, 70, 35,118,237,218,133,234,234,106, 84, 84, 84, 32, 43, 43, 75,211,176, 52,208,150,149, 43, 87, 38,244, 78,
181,168, 71,130,123, 75,132, 67,149, 65,143, 29, 59,134,183,223,126, 27,231,207,159,199,217,179,103,145,154,154, 26,215, 28,160,
183,169, 16,110,183, 27, 20, 69,245, 8,129, 4, 65,192,167,159,126,138, 5, 11, 22,224,181,215, 94,131,215,235, 69, 87, 87, 87,
88,206,174, 69, 14,112,248,240, 97,216,237,118,180,182,182,226, 79,127,250, 19, 56,142,195,204,153, 51,113,215, 93,119,225,151,
191,252, 37, 22, 44, 88, 32, 79,157,150,236,104,111,111, 71, 73, 73, 9,202,202,202,224,116, 58,177,111,223, 62,180,182,182, 98,
237,218,181, 72, 75, 75, 67,106,106,170,166,240, 31, 58,116, 8, 12,195, 96,250,244,233, 0,128,141, 27, 55, 6,109,164, 34,109,
249, 53,237, 1, 34,173,209, 42, 65, 33,138, 34,118,238,220,137,182,182, 54, 24,141, 70,116,117,117,161,190,190, 30, 95,125,245,
85,159, 73,130, 37, 7,160,105,218, 47, 4,170,171,171, 67, 77, 77, 13, 94,127,253,117,100,103,103,163,187,187, 91,158,153, 25,
78,111,168,213, 32, 94,106,106, 42,210,211,211,113,199, 29,119, 96,213,170, 85, 88,188,120, 49,178,179,179,177,114,229, 74, 20,
22, 22, 98,237,218,181, 40, 40, 40, 0, 69, 81,248,234,171,175, 80, 82, 82,130,151, 94,122, 9, 38,147, 9, 14,135, 3,187,118,
237,194,174, 93,187,144,157,157, 29,151,150,159,227, 56,228,228,228,200,243,154,124,111, 94,143,100,202,182,214, 10,154, 4, 43,
25, 86, 81, 81,129,247,223,127, 31, 23, 46, 92,192,217,179,103, 97,181, 90, 21, 47,214,186,117,235, 80, 87, 87,135,225,195,135,
163,173,173, 13, 77, 77, 77,232,234,234,130, 32, 8,200,204,204,212, 28,254, 72,146, 96,154,166, 97, 50,153, 32, 8, 2, 62,255,
252,115, 44, 94,188, 24,111,188,241, 6,188, 94, 47, 58, 59, 59, 35, 10, 5,181, 60, 6,233,187,119,239,222,141,251,238,187, 15,
205,205,205,104,110,110,198,226,197,139, 49,107,214, 44,236,221,187, 23,219,183,111, 7,195, 48, 88,188,120, 49,202,202,202, 96,
50,153,228, 1,176,101,203,150, 97,199,142, 29,120,238,185,231, 52,175,198,209, 52,141,169, 83,167,250, 77,234,219,176, 97, 67,
175, 45,126,184, 45,127,220,122, 0,223,185,253,175,191,254, 58, 28, 14, 7,146,147,147, 81, 87, 87,135,115,231,206,225,208,161,
67,126, 89,191,116,145,222,124,243, 77,232,116, 58,156, 57,115, 6, 14,135, 3,151, 46, 93, 66,107,107, 43, 4, 65,192,157,119,
222,169,185, 87,135,155,155,184,221,110,232,116, 58, 52, 52, 52,192,102,179,225,181,215, 94,195,232,209,163,123,180,250,241,132,
63, 84,245,237,248,241,227, 56,119,238, 28,138,139,139,113,242,228, 73, 92,119,221,117, 48,155,205,208,235,245,120,244,209, 71,
177,110,221, 58, 80, 20, 5,135,195, 1,151,203,133,174,174, 46,185, 7,184,237,182,219,176,116,233, 82,124,243,205, 55,152, 60,
121,114, 92,114, 48,223,178,231,170, 85,171,122, 61,135,241,108,249,195,206, 1, 40,138,194,239,127,255,123,216,108,182,144, 45,
186,175,241,102,179, 89,158, 13, 40, 8,130, 92,109,121,252,241,199,177,102,205,154,184,230, 0,193, 0,214,233,116,112,187,221,
40, 45, 45,197,210,165, 75,241,151,191,252, 5,130, 32,244,104,245,251, 10,252, 20, 69,225,145, 71, 30,193,203, 47,191, 12,187,
221,142, 49, 99,198,224,163,143, 62,194, 11, 47,188,128,187,239,190, 27, 11, 23, 46,132,205,102,147, 43, 68,251,246,237,147,103,
132,222,118,219,109, 96, 89, 22, 37, 37, 37,184,255,254,251,241,197, 23, 95,196,189, 23,222,176, 97, 67,208,185, 64,145,182,252,
154, 87,129, 2,141,127,251,237,183,193,113,156, 98,139,126,199, 29,119,244,240,220, 61,123,246,224,225,135, 31, 70,125,125, 61,
76, 38, 19, 82, 83, 83,177,122,245,106, 76,157, 58,181, 79,192, 79, 81, 20,140, 70, 35,102,207,158,141,146,146, 18,140, 26, 53,
10, 14,135,163,199, 50,125,241,134, 95,169, 60,233,251,157,215, 93,119, 29,222,123,239, 61, 44, 90,180, 8,247,220,115, 15, 70,
143, 30,141,173, 91,183, 98,247,238,221,104,106,106,194,237,183,223, 14,138,162,240,202, 43,175,160,181,181, 21,187,118,237,194,
142, 29, 59,176,116,233, 82,148,148,148, 96,255,254,253, 24, 49, 98, 68,220,199, 97,164,155,215,251, 82,203, 31, 81, 18,108, 50,
153,240,221,119,223,245,104,209,215,172, 89,227,119, 79,166,164,209,163, 71,227,157,119,222, 65,162, 20,206, 20,230,164,164, 36,
236,222,189, 27, 46,151, 11,237,237,237, 17,221,252,162,117, 12, 29,236,187, 95,124,241, 69,220,123,239,189,120,255,253,247,177,
121,243,102, 76,154, 52, 9, 20, 69, 97,249,242,229,216,188,121,179,188,209,117,117,117, 53,214,174, 93,139,236,236,108,108,221,
186, 21,199,142, 29,195,253,247,223,143, 17, 35, 70, 96,215,174, 93, 9, 57,247,191,251,221,239,122,157, 13, 26,205,119,105,214,
3,248, 26,191,115,231, 78, 60,250,232,163,114, 66,229,219,162, 39,202,115, 99,129, 95,186, 39,216,237,118, 7,173,235,247, 53,
248,165,176,109,199,142, 29, 61, 94, 79, 79, 79,199,177, 99,199,144,148,148, 4, 0,248,246,219,111,145,150,150, 38,255,223,228,
201,147, 53, 15,123,122, 59,134, 71, 31,125, 52,238, 43, 83,171, 86, 5, 26, 61,122, 52,222,122,235,173, 62,103,124,164, 16,249,
62,215,221,221, 29,213,109,143,241,118,226,112,108,179, 90,173,104,106,106,194,160, 65,131, 0, 0, 89, 89, 89,242,237,144,137,
144,146,141,191,253,237,111,131,142, 1,196,179,197,143,170, 10,212, 23, 61, 55, 22,248, 19,121,207,175,218,240, 75,207,251, 78,
108,139,247,232,123, 56,246, 63,246,216, 99,125,146,159,176,146, 96, 45,135,254,227,149,132,245, 7,248,195, 25, 7, 72,244,212,
1,181,206,127, 95,225,135,254, 87,131, 63,146, 60,160, 47,194,175,100, 63,129, 95, 89, 79, 62,249,164, 60, 53, 93,147, 30, 96,
160,192, 31,175, 77, 47,212,176,191, 47,195, 31,111,126, 98,189, 31, 88,177, 7,232,173, 18,209, 31, 20,235, 38, 23,137, 62,222,
254, 12,127,127,227,167, 71, 15,224,118,187,113,230,204,153,160, 43,120,105, 41,223, 77, 31,162, 85, 91, 91, 27,106,106,106, 20,
39,236,245,246, 92,172,199,171,134,253,157,157,157,168,169,169, 9,107, 37, 13,181,193, 82,195,254,254,198,143,159, 3,240, 60,
127,169,176,176, 48, 35,145, 30,201,243,252,165,104,223,203,113,220,165, 69,139, 22,245,107,251,231,207,159,223,111,237,239,239,
252, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,253,171,138, 26, 72, 7, 59,102,204, 24, 88,173, 86, 8,
130,160,217,119,232,116, 58,148,149,149, 17,178, 20,116,109, 31,225, 3, 0,242,180,250, 14,142,227, 46,149,150,150,134,125,227,
57, 59,144,224, 79, 73, 73,193,166, 77,155, 80, 84, 84,132, 35, 71,142, 32, 43, 43,203,111,171, 84,105,161, 41, 37,133,122, 77,
146,203,229,194,156, 57,115, 8,233,193,225,255,236,218, 62,194, 40, 47, 47, 71, 86, 86,150,223,134,229,190,247, 90, 4, 46, 8,
22,248,187,210, 50,137, 14,135, 3,145,142,163,176, 3, 9,254,245,235,215,163,168,168, 8,192,213, 21,148,243,242,242,144,146,
146, 34,111,210,236, 11,185,228, 20,129,240, 7,123,158, 97, 24,212,214,214, 18,210, 67,192,191,105,211, 38,190,168,168,104, 20,
0,148,151,151,163,187,187, 27,201,201,201,242,249, 15,103,226, 95,168,215,163, 57,255,126,115,129,244,122,125, 9, 77,211,110,
0,222,112, 30, 20, 69, 57, 1,172,238, 47,240,207,155, 55, 47,172, 22, 61, 26,248,137, 66,195,191,113,227, 70,126,206,156, 57,
163,100,240,104, 26,162, 40,250,181,224,189,173, 29,170,249, 78,241, 46,151,107, 77, 69, 69, 5, 59,106,148,108,167,223, 94,181,
129, 58,119,238, 92, 87, 78, 78,206, 19, 0,214,245, 39,248, 3, 97,246,133, 56, 90,248, 3, 63,143,232,159,240,111,216,176, 65,
63,119,238,220,145,193, 66, 74,181,182, 79,138, 70,126, 87, 77, 20, 69,118,228,200,145,176,219,237,126,222, 25,204, 17, 50, 50,
50,174, 0, 24,211,223,224, 15, 7, 98, 2,191,122,240,207,155, 55,111,164,210,249,143,117,191, 0, 77,118,138,191,230, 8, 33,
111, 52,144,156, 65, 16, 4,177, 63,194, 47, 93,128, 96,161, 75,180,240,147, 80, 40, 60,248,165,243,214,219, 2,102,209, 56, 70,
76, 57, 64,176,214, 94,218,180, 89,122,248,246, 24, 0,186, 1,100,245, 39,248, 1,128,231,121, 85,225, 39,234, 25,243, 7,131,
63,216,249,143, 52,222,215,100,167,248,115,231,206,225,224,193,131,232,236,236,148, 97,247,133,222,247, 57,150,101,211,127,241,
139, 95,180,191,240,194, 11,103,131,228, 10,148,130, 67, 81, 10, 14,231,247, 28, 77,211, 30,142,227,126,211,221,221, 93,162, 22,
252, 78,167, 19,181,181,181,168,175,175, 71, 75, 75, 11,146,146,146,122,192, 30, 11,252,164,245,247,175,246,248, 38,188,210,249,
175,171,171, 67,125,125, 61,154,155,155,253,202,159,125,106,163,108,134, 97, 96, 48, 24,252, 90,251, 96, 14, 0, 32,249,214, 91,
111,197,189,247,222, 43,231, 12,210,246, 66,193,234,184,210,251, 67, 45,141, 81, 95, 95,207, 46, 92,184,112, 13,128,136, 28,192,
106,181,202,117,126, 65, 16, 96,179,217, 80, 85, 85,133,234,234,106, 52, 54, 54,194,108, 54,195,106,181, 34, 37, 37, 5,102,179,
25, 44,203,246, 0, 63, 22,248, 7,186, 19,136,162,120,224, 90,157,127,148, 40,138,176,217,108,168,172,172,196,201,147, 39,209,
216,216,136,228,228,100,164,166,166,194, 98,177,192,108, 54,247,112,128, 88,115,129,152,147, 96, 0,240,120, 60,232,232,232, 64,
71, 71,135, 18,240, 61,156,161,180,180, 84,246,102,165, 48, 74,169,103, 8,246,153,210,207,182,182, 54, 41,188,138, 72,130, 32,
32, 55, 55, 23,207, 63,255, 60,106,106,106,192, 48, 12, 6, 13, 26,132,244,244,116,228,231,231,131,101, 89,240, 60, 15,142,227,
192,243,124,200,218, 63,129, 63, 42,229,229,230,230, 98,251,246,237,168,174,174, 6,195, 48,200,200,200, 64, 90, 90, 26,134, 14,
29, 42, 15, 58,114, 28, 7,189, 94, 47, 55, 64,177,132, 60,177,238,209,166,216, 3, 36, 37, 37,201, 45,122, 24,189, 0,188, 94,
111,208,255,239,237,125, 74,175, 5, 86,160, 34,145,221,110,135,217,108, 70, 97, 97,161,188,124,187, 47,184, 18,244, 60,207,203,
78,160,212, 11, 16,248,163, 83,123,123, 59, 76, 38, 19,138,138,138,144,146,146, 34,133,180,242, 79,105,133, 59,223, 70, 72,176,
95, 65,245,182,255,141, 14,219,105, 24,210,135, 96,200, 77,247, 96,232, 77, 63, 75, 76, 21,200,227,241,160,189,189, 29,237,237,
237, 97,183,224,106,129, 47,253,116, 56, 28, 81, 95,128,228,228,100, 76,156, 56, 81,113,190,143,111,139, 31, 8, 63, 9,123,212,
145,209,104, 68,126,126,190,124,254, 3, 67, 93,105,119, 30,157, 78, 39,255,180,125,190, 7,201,222, 43,152,117,235,124, 56, 28,
46, 28,221,191, 13,157,117,199,144,253, 95,207,130, 82,200, 19,212,172, 2,245,112, 0,105,121,109, 81, 20, 85,133, 58,146,215,
98, 89,235, 69,106,221, 61, 30, 79,175,208,170, 9,191,212,157, 15,116, 73, 33,142,210, 66,184,129, 27,148, 72,211, 31, 6,207,
88,138,227,127,221,137,230,243, 54, 12,190,126, 10, 10, 23,101,224,155,191,151,227,155, 39, 23, 98,194, 35,127, 6,111, 73,215,
108,253,166,144, 57, 64, 60, 28, 64,169,103,137,165, 7, 80,154,215, 19,170,186,163, 4,127, 56,121, 65,168,255, 25,232, 14, 32,
157, 15,165,229,230, 3, 7,192,104,154,134,113,216, 56,140,127,228, 47, 56,178,233,199,200,115, 3,195,110,152,133, 27,110, 42,
198,153,175, 15,227,235, 85,179, 48,105,205,187, 48, 13,191, 94,251,169, 16,210,133,213,235,245, 16, 4, 33,102,224,163,125,191,
203,229,138,233, 34,132, 83,213,137, 6,108, 2,127,239, 10,182,108,139,215,237, 68,195,158, 85,176, 87,254, 29,130,211, 9,175,
87, 4,188, 94,120, 69,241,234,239, 0, 40,154,198,183, 95,159, 2,101,201,194,176,235,199, 99,244,148,239, 35, 57,213,138, 35,
79, 44,192,248,251, 94,194,224,169, 11,123,221,173, 84,149, 30,160,179,179,179, 71, 14, 16, 45,212, 74,127,247,246, 62,105, 71,
70,181, 90,164,120,192, 79,114, 1,248, 65, 31,232, 0, 23, 63,126, 17,198,238,115,184,225, 71,255, 6,150,227, 64,209, 44, 40,
134,189,246,147, 1, 40, 6,160,232,171, 15,150,135,215,227, 4,220, 14, 12,250, 94, 14, 10,173,131, 80,246,135, 95,160,179, 97,
5, 70,255,231,202,144,155,108,168,214, 3, 72,113,184, 4,103,101,101, 37,142, 29, 59,134,238,238,110,184, 92, 46,184,221,110,
184, 92, 46,191,223,165,245,246,213, 16, 77,211,162, 40,138,222, 32, 39,185,203,235,245,174, 1,240, 12,129,191,111, 58,129,175,
3,208, 52, 13,209,213,133,164, 36, 3, 56, 56, 65, 9, 2,224,101, 1,175, 14,160, 89,120,161, 7,132, 78,128,102,175, 58,130,
219, 1,120,189,128, 78, 15,120,156, 48,166, 88, 48,235,214,165, 40,255,232, 85,116,212, 85, 96,210,195,175,130,162,104,237,170,
64, 74, 61,192,241,227,199,177,103,207, 30,164,167,167,199,235, 60, 6, 29,214,179,217,108,134,105,211,166,173,247,120, 60,207,
40, 57,112, 56, 51, 61, 35, 5,155,192, 31,185, 3,248, 2,154, 49,247, 46,212,189,242,107,156, 60,178,223,111, 46, 0,205,232,
112,253,130, 91, 49,124,168, 25, 52, 68, 80, 12,123,237,210,139,240, 10, 30, 0, 20, 32,184,160,163,128,233, 75,254, 29, 71,255,
250, 25, 42, 95,122, 8, 19, 86, 60,171,202,178,139,138, 85, 32,189, 94, 47,239,162, 46, 57, 1,199,113, 72, 79, 79, 71,125,125,
189,223,107,177, 40,212, 84,235,222,106,205, 30,143, 39,172,117,240, 8,252,137, 9,129, 2, 31,134,140,140, 93,127, 14, 0, 0,
6,202, 73, 68, 65, 84,145,200, 93,253,174,220, 35,184,154,108, 56,177,249,127, 33,103,250, 44,100,141, 28, 4,175,211, 14,138,
225, 64,165,142, 6, 61,170, 8, 84,114, 22, 64,209,240,182,158,133,120,250, 19,136, 23,142, 1, 93,205,152, 56,103, 54,190,124,
119, 31, 26,246, 79,198,136, 5,119,199,188,236, 98, 15, 7, 16, 4,193,111, 36, 56, 48, 86,119,185, 92,112, 58,157, 9, 61,201,
82,239, 68,224,239,155, 10, 53,203,147,166,105,180,159,254, 26,213, 47,220,131, 27,126,120, 51,172, 22, 14,222,206, 43, 0,171,
7, 53,106, 54,152,236, 69,160,124,111,141,204,200, 3, 61,120, 60,132,147, 31,192,243,205, 94, 48,221,141,152,182,160, 24, 7,
255,244, 40,134,255,224, 78,208, 58, 62,182, 28, 81,201,120,131,193, 0,143,199,227,215, 66, 75,179,247, 2,103,132, 38, 66,189,
125,191, 90,241, 60,129, 95,189, 36, 88,130,255,242,223,255,140,243,239, 63,131, 25, 75,255, 3, 73,140, 3,112,216, 1,134, 7,
146,135,129, 26,243,111, 16, 68, 17,167,234,155,113,162,174, 25,142,110, 15, 70, 13, 77,198,148,236,193,224,199, 46,128,183,116,
43,132,234,143,193, 13,202,193,160,235,134,227,242,145, 79, 48,228,251, 63, 84,215, 1,164,189,114,125,199, 1, 2,123,129, 68,
59, 64, 52, 21, 32, 2,127,226,146, 96,138,162, 64, 83, 20,234, 94, 47, 65,247,233, 82,204, 92,250, 35,112,206,203,240,186,133,
171,173, 61, 37,192, 59,178, 8,130,232,197,153,243,173,248,248, 80, 61, 60,130,136, 35,167, 46,227,180,173, 21,255,245,239,227,
113,215, 77,227,224,157,241, 0, 80,253, 49,188, 29,151, 49,100,232, 36, 52, 28,120, 69,125, 7,144,114, 0,169, 22, 47,193,206,
243,188,226, 61, 1,125,177, 7, 80,170,205, 19,248, 19,211, 3, 72, 21,160, 19,207,221, 13, 51, 39, 96,218, 77,115,192,136,157,
232,226, 50,225,161,120,152, 28,213,160, 64, 65, 52, 14,129,215,227, 65,233,119, 23,113,190,169, 19,229, 85, 23,209,209,117, 53,
215,124,235,179,106,252, 71,225, 72,240,131,243, 65, 83, 52,188, 93, 45,176,100, 37,163,242,216,225,216, 27,201, 80, 61,128, 47,
108,190,147,221,250,178, 3, 40, 65, 74,224, 79, 92, 21,200,221,114, 17,223,109,248, 79,140,200,201,198,232,113,195, 1, 79, 39,
90,219,221,248,199, 59,123, 49,243,199,119, 1, 20, 3,175,224,130,224,241,192, 43, 8,176, 93,105,199,231,199, 26,224,123,137,
245, 28, 3,120, 69,184, 61,110,240, 87,191, 0,140,142,131,187,171, 67,125, 7,160,105, 26, 60,207, 67,175,215,251, 1, 39,253,
221, 31,122, 0, 2,127,223,232, 5,186, 47,159,197,241,223, 44, 65,126, 81, 33, 50, 7,155, 0,209,131, 75, 23,219,240,205,223,
62,135,105, 88, 14,220,157,109,160, 44, 12,188,221,157, 16,155, 78,163, 11, 73, 24, 59, 52, 9,129,151,119,222,196, 33, 16, 4,
15, 96,251, 26,240,138,128, 46, 9, 46,183, 23,134,212,216,183, 34,232, 81,107,151,198, 1,164, 94,160,163,163, 67,190, 59,172,
47, 61, 8,252,125,191, 12, 90,253,135,255, 70,254,172,153,200, 72,161,224,101,116,168,171,185,136,227,165,135, 49,117,221,103,
200, 40,188, 21,205,231,207, 3,124,242,213,129,175, 47,214,193,217,229,192,244,108, 43,110, 47, 26,129, 65, 22, 61, 44, 70, 29,
22,220, 56, 20, 75,166, 15,133,219,237, 6,123,232,217,171,208,166,140, 64,107, 75, 59,172,227,102,168,223, 3, 72, 35,193, 46,
151,203, 47,241, 13,118, 15,109, 52,173,114, 60,122, 0, 2,127,226,157,192, 99,191,130,212, 97, 51,225,245,186,112,242,155,147,
104,188,220,138,105,235, 15, 66,103, 74,193,176,121,203, 80,250,255,158,199,200,188, 60,208,182,175,193,118,181, 64,255,143,167,
209, 62,245, 17,220, 82, 48, 20,183, 20, 12,253,103, 46, 1, 17,186, 67,207, 66, 87,255, 55,128,102, 33, 14,153,130, 83,255,243,
57,102,174,123, 78,125, 7,240,120, 60,112, 56, 28,232,236,236,244,131, 77,154,223,221, 31,170, 64, 4,254,190,209, 3, 36,143,
43, 64,217,135,159,192,237,232,128,121,204,141,184,225,255,190, 9, 70,199, 95,189, 41,198,104,193,117, 11,151,227,204,119, 95,
96, 92,214,141, 16,206,124, 2,211,241,157,224, 46,150,163, 35,127, 57, 92,233,249, 16, 41, 6, 92, 83, 5, 76,223,253, 9,252,
133,210,171,173,255,176,105, 56,103,107,193,160, 73,197, 48,101,141,213, 38, 7,144,238,214,241,117,128,254,150, 3,144, 27,220,
19,239, 4,227,238,217, 6,199,185, 42,112,230, 84,232,211,134,246, 24, 23, 24,181,248,191,241,249,189, 47,194,146, 90,128, 33,
121,183, 66, 56,249, 1,184,198,111,145,250,233, 47, 20, 46, 40, 7,102,204,124,180,120, 44, 56,121,232, 83,204,219,126, 84, 21,
91, 21,171, 64, 93, 93, 93,138, 61, 64,168,185,252,125,201, 1, 8,252,125,195, 1,104,154,134,121,196,248,224,243,247,121, 3,
10, 55,126,129,242,167,151,162,117,112, 42,114, 38,221, 5,234,226, 17,120,219, 47,194,219,126, 1, 16, 5, 80,166, 12, 80,230,
33,160, 50,243, 81, 87,115, 1,117,199, 75, 81,184,254,175,208,167,102,106,227, 0,129, 61,128, 4,156,193, 96,232,119, 85, 32,
2,127, 98,225, 15,231, 94, 94, 67,122, 22,102,109, 41,197,119, 47, 61,136,191,239,251, 24, 67,199,142,133,117,208, 24,152,115,
50, 65,209, 52, 58, 26,175,160,237, 74, 35,206,255,245, 16,244,131, 70, 98,222, 11,223,130, 53,152, 84,179, 87,177, 7,112, 56,
28,112, 56, 28,126, 45,190,219,237,150,111, 88, 87,107,202,115,180,128,135,250,126, 9,106, 2,127,226, 20,241, 10, 15,172, 14,
249,247,110, 69,123, 67, 21,154,142,255, 29,231,142, 29, 64,211,167,123,225, 21, 60,176,102,223,136,180,201, 55, 97,226,205,133,
176,142,157,162,186,173, 65,199, 1,164,145, 95, 95,199,240,122,189,240,120, 60, 49,221,179,171, 70,229,168,183,239, 39,240,247,
141, 36, 56,146, 69,173, 40,138,130,101, 68, 46, 44, 35,114,241,189, 31, 46,143,155,189,138, 61,128,211,233,244,235, 1, 36, 88,
69, 81,132,219,237, 86,205, 1,162,117, 12,167,211, 9,138,162,196, 72,114, 1, 2,127,226,156, 32, 28,248,227,177,147,124,175,
14,192,178,108,199,229,203,151, 77,131, 7, 15,246,155, 10, 33,138, 34, 50, 50, 50,228,105, 18,137,108,253,189, 94, 47, 46, 92,
184, 0,158,231, 27,186,187,187, 9,252,125,220, 1,250, 50,252, 61, 28, 64,175,215, 31, 63,112,224,192,244,249,243,231,163,178,
178, 18,130, 32,200,203,163, 76,155, 54, 13, 45, 45, 45, 17,183,254,106, 39,204, 94,175, 23, 21, 21, 21,221,162, 40,150, 18,248,
9,252,170, 58,128,219,237, 94,187,115,231,206,255, 89,186,116,169,238, 39, 63,249, 9, 78,157, 58, 5,138,162,144,147,147,131,
204,204, 76, 28, 61,122, 52,225,241,255,249,243,231,241,225,135, 31,186, 93, 46,215, 19,189,253, 47,129,191,239, 37,193,177, 44,
100,171,185, 3, 56,157,206, 3, 60,207,191,176,120,241,226, 21, 43, 86,172,208,205,157, 59, 23,153,153,153,104,107,107, 67, 89,
89, 89, 84,203,149,168,209, 3, 8,130,128, 75,151, 46,161,162,162,162,235,253,247,223, 23, 68, 81,252, 53,128, 83, 4,254,254,
147, 4,247, 69,248, 21,147, 96,187,221,254, 75,150,101,223,223,182,109,219,211, 91,182,108,201,243,120, 60,198, 62,112, 82, 69,
142,227, 26, 68, 81, 44,117,187,221, 79, 16,248,251,175, 19,244, 37,248, 21, 29, 0, 0, 60, 30,207, 39, 30,143,231,147,190, 98,
164,215,235, 13,251, 62,100,143,199,131,234,234,106, 69, 7,208, 90, 28,199, 13,120,248, 93, 46, 23, 78,159, 62,173, 24,231,107,
13,191, 78,167, 83,199, 1,250,171, 12, 6, 3, 10, 10, 10, 18,110,195, 64, 21,207,243,151,102,205,154,149,145,104, 27, 72, 31,
76, 68, 68, 68, 68, 68, 68, 68, 20, 82,255, 31, 95,234,143,152, 26, 32,255, 39, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
0};

@ -614,16 +614,16 @@ typedef enum {
ICON_FILTER,
ICON_BLANK285E,
ICON_BLANK285F,
ICON_BLANK285G,
ICON_BLANK285H,
ICON_FILE_PARENT,
ICON_FILE_REFRESH,
ICON_FILE_FOLDER,
ICON_FILE_BLANK,
ICON_FILE_BLEND,
ICON_FILE_IMAGE,
ICON_FILE_MOVIE,
ICON_FILE_SCRIPT,
ICON_BLANK290,
ICON_BLANK291,
ICON_FILE_SOUND,
ICON_FILE_FONT,
ICON_BLANK291b,
/* available */

@ -462,10 +462,10 @@ void glaDrawPixelsTex(float x, float y, int img_w, int img_h, int format, void *
glTexCoord2f((float) (subpart_w-1)/tex_w, 0);
glVertex2f(rast_x+subpart_w*xzoom, rast_y);
glTexCoord2f((float) (subpart_w-1)/tex_w, (float) subpart_h/tex_h);
glTexCoord2f((float) (subpart_w-1)/tex_w, (float) (subpart_h-1)/tex_h);
glVertex2f(rast_x+subpart_w*xzoom, rast_y+subpart_h*yzoom);
glTexCoord2f(0, (float) subpart_h/tex_h);
glTexCoord2f(0, (float) (subpart_h-1)/tex_h);
glVertex2f(rast_x, rast_y+subpart_h*yzoom);
glEnd();
glDisable(GL_TEXTURE_2D);

@ -90,7 +90,7 @@ enum {
} eFile_ButEvents;
/* XXX very bad, need to check font code */
static gFontsize=12;
static int gFontsize=12;
static void do_file_buttons(bContext *C, void *arg, int event)
{
@ -115,10 +115,7 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
uiBlock *block;
int loadbutton;
char name[20];
char *menu;
float slen;
float button_width = 20.0f;
int filebuty1, filebuty2;
float xmin = 8;
@ -247,7 +244,13 @@ static int get_file_icon(struct direntry *file)
else if (file->flags & MOVIEFILE)
return ICON_FILE_MOVIE;
else if (file->flags & PYSCRIPTFILE)
return ICON_FILE_MOVIE;
return ICON_FILE_SCRIPT;
else if (file->flags & PYSCRIPTFILE)
return ICON_FILE_SCRIPT;
else if (file->flags & SOUNDFILE)
return ICON_FILE_SOUND;
else if (file->flags & FTFONTFILE)
return ICON_FILE_FONT;
else
return ICON_FILE_BLANK;
}
@ -267,7 +270,7 @@ static void file_draw_icon(short sx, short sy, int icon, short width, short heig
UI_icon_draw_aspect_blended(x, y, icon, 1.f, blend);
}
static void file_draw_string(short sx, short sy, char* string, short width, short height, int flag)
static void file_draw_string(short sx, short sy, const char* string, short width, short height, int flag)
{
short soffs;
char fname[FILE_MAXFILE];
@ -306,31 +309,21 @@ void file_draw_previews(const bContext *C, ARegion *ar)
SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
FileSelectParams* params= ED_fileselect_get_params(sfile);
FileLayout* layout= ED_fileselect_get_layout(sfile, ar);
View2D *v2d= &ar->v2d;
static double lasttime= 0;
struct FileList* files = sfile->files;
int numfiles;
struct direntry *file;
short sx, sy;
int do_load = 1;
ImBuf* imb=0;
int i;
short type;
int colorid = 0;
int todo;
int offset;
int is_icon;
if (!files) return;
type = filelist_gettype(files);
filelist_imgsize(files,sfile->layout->prv_w,sfile->layout->prv_h);
numfiles = filelist_numfiles(files);
todo = 0;
if (lasttime < 0.001) lasttime = PIL_check_seconds_timer();
sx = v2d->cur.xmin + layout->tile_border_x;
sy = v2d->cur.ymax - layout->tile_border_y;
@ -353,15 +346,14 @@ void file_draw_previews(const bContext *C, ARegion *ar)
}
if ( (file->flags & IMAGEFILE) /* || (file->flags & MOVIEFILE) */)
{
if (do_load) {
filelist_loadimage(files, i);
} else {
todo++;
}
imb = filelist_getimage(files, i);
} else {
imb = filelist_getimage(files, i);
{
filelist_loadimage(files, i);
}
is_icon = 0;
imb = filelist_getimage(files, i);
if (!imb) {
imb = filelist_geticon(files,i);
is_icon = 1;
}
if (imb) {
@ -369,25 +361,24 @@ void file_draw_previews(const bContext *C, ARegion *ar)
float fy = ((float)layout->prv_h - (float)imb->y)/2.0f;
float dx = (fx + 0.5f + sfile->layout->prv_border_x);
float dy = (fy + 0.5f - sfile->layout->prv_border_y);
float xco = (float)sx + dx;
float yco = (float)sy - sfile->layout->prv_h + dy;
short xco = (float)sx + dx;
short yco = (float)sy - sfile->layout->prv_h + dy;
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
/* shadow */
if (file->flags & IMAGEFILE)
if (!is_icon && (file->flags & IMAGEFILE))
uiDrawBoxShadow(220, xco, yco, xco + imb->x, yco + imb->y);
glEnable(GL_BLEND);
/* the image */
// glaDrawPixelsSafe((float)sx+8 + dx, (float)sy - imgwidth + dy - 8, imb->x, imb->y, imb->x, GL_RGBA, GL_UNSIGNED_BYTE, imb->rect);
glColor4f(1.0, 1.0, 1.0, 1.0);
glaDrawPixelsTex(xco, yco, imb->x, imb->y, GL_UNSIGNED_BYTE, imb->rect);
/* border */
if (file->flags & IMAGEFILE) {
glColor4f(0.0, 0.0, 0.0, 0.4);
if (!is_icon && (file->flags & IMAGEFILE)) {
glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
fdrawbox(xco, yco, xco + imb->x, yco + imb->y);
}
@ -397,34 +388,30 @@ void file_draw_previews(const bContext *C, ARegion *ar)
/* shadow */
UI_ThemeColorShade(TH_BACK, -20);
//file_draw_string(sx + layout->prv_border_x, sy+3, file->relname, layout->tile_w, layout->tile_h);
if (type == FILE_MAIN) {
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
if (S_ISDIR(file->type)) {
glColor4f(1.0f, 1.0f, 0.9f, 1.0f);
}
else if (file->flags & IMAGEFILE) {
UI_ThemeColor(TH_SEQ_IMAGE);
}
else if (file->flags & MOVIEFILE) {
UI_ThemeColor(TH_SEQ_MOVIE);
}
else if (file->flags & BLENDERFILE) {
UI_ThemeColor(TH_SEQ_SCENE);
}
else {
if (S_ISDIR(file->type)) {
glColor4f(1.0f, 1.0f, 0.9f, 1.0f);
}
else if (file->flags & IMAGEFILE) {
UI_ThemeColor(TH_SEQ_IMAGE);
}
else if (file->flags & MOVIEFILE) {
UI_ThemeColor(TH_SEQ_MOVIE);
}
else if (file->flags & BLENDERFILE) {
UI_ThemeColor(TH_SEQ_SCENE);
}
else {
if (params->active_file == i) {
UI_ThemeColor(TH_GRID); /* grid used for active text */
} else if (file->flags & ACTIVE) {
UI_ThemeColor(TH_TEXT_HI);
} else {
UI_ThemeColor(TH_TEXT);
}
if (params->active_file == i) {
UI_ThemeColor(TH_GRID); /* grid used for active text */
} else if (file->flags & ACTIVE) {
UI_ThemeColor(TH_TEXT_HI);
} else {
UI_ThemeColor(TH_TEXT);
}
}
file_draw_string(sx + layout->prv_border_x, sy+4, file->relname, layout->tile_w, layout->tile_h, FILE_SHORTEN_END);
if (!sfile->loadimage_timer)
@ -559,7 +546,6 @@ void file_draw_list(const bContext *C, ARegion *ar)
static void file_draw_fsmenu_category(const bContext *C, ARegion *ar, FSMenuCategory category, const char* category_name, short *starty)
{
SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
FileSelectParams* params = ED_fileselect_get_params(sfile);
char bookmark[FILE_MAX];
int nentries = fsmenu_get_nentries(category);
int linestep = gFontsize*2.0f;
@ -616,12 +602,7 @@ static void file_draw_fsmenu_category(const bContext *C, ARegion *ar, FSMenuCate
void file_draw_fsmenu(const bContext *C, ARegion *ar)
{
int linestep = gFontsize*2.0f;
short sx, sy, xpos, ypos;
int fontsize = gFontsize;
sx = ar->v2d.cur.xmin + TILE_BORDER_X;
sy = ar->v2d.cur.ymax-2*TILE_BORDER_Y;
short sy= ar->v2d.cur.ymax-2*TILE_BORDER_Y;
file_draw_fsmenu_category(C, ar, FS_CATEGORY_SYSTEM, "SYSTEM", &sy);
sy -= linestep;

@ -69,7 +69,6 @@
static void do_viewmenu(bContext *C, void *arg, int event)
{
}
static uiBlock *dummy_viewmenu(bContext *C, ARegion *ar, void *arg_unused)
@ -115,7 +114,6 @@ static void do_file_header_buttons(bContext *C, void *arg, int event)
void file_header_buttons(const bContext *C, ARegion *ar)
{
ScrArea *sa= CTX_wm_area(C);
SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
FileSelectParams* params = ED_fileselect_get_params(sfile);
@ -146,7 +144,7 @@ void file_header_buttons(const bContext *C, ARegion *ar)
xco += 5;
uiDefIconButO(block, BUT, "FILE_OT_parent", WM_OP_INVOKE_DEFAULT, ICON_TRIA_UP, xco, yco, 20, 20, "Navigate to Parent Folder");
uiDefIconButO(block, BUT, "FILE_OT_parent", WM_OP_INVOKE_DEFAULT, ICON_FILE_PARENT, xco, yco, 20, 20, "Navigate to Parent Folder");
xco+=XIC;

@ -88,7 +88,6 @@ static int find_file_mouse_hor(SpaceFile *sfile, struct ARegion* ar, short x, sh
static int find_file_mouse_vert(SpaceFile *sfile, struct ARegion* ar, short x, short y)
{
int offsetx, offsety;
float fx,fy;
int active_file = -1;
int numfiles = filelist_numfiles(sfile->files);
@ -572,7 +571,7 @@ void FILE_OT_parent(struct wmOperatorType *ot)
struct ARegion *file_buttons_region(struct ScrArea *sa)
{
ARegion *ar, *arnew;
ARegion *ar;
for(ar= sa->regionbase.first; ar; ar= ar->next)
if(ar->regiontype==RGN_TYPE_CHANNELS)

@ -114,8 +114,6 @@ typedef struct FileList
int numfiltered;
char dir[FILE_MAX];
short type;
short ipotype;
struct BlendHandle *libfiledata;
int has_func;
short prv_w;
short prv_h;
@ -127,20 +125,6 @@ typedef struct FileList
ListBase threads;
} FileList;
int BIF_groupname_to_code(char *group)
{
char buf[32];
char *lslash;
BLI_strncpy(buf, group, 31);
lslash= BLI_last_slash(buf);
if (lslash)
lslash[0]= '\0';
return BLO_idcode_from_name(buf);
}
#define SPECIAL_IMG_SIZE 48
#define SPECIAL_IMG_ROWS 4
#define SPECIAL_IMG_COLS 4
@ -155,7 +139,8 @@ int BIF_groupname_to_code(char *group)
#define SPECIAL_IMG_TEXTFILE 7
#define SPECIAL_IMG_FONTFILE 8
#define SPECIAL_IMG_UNKNOWNFILE 9
#define SPECIAL_IMG_MAX SPECIAL_IMG_UNKNOWNFILE + 1
#define SPECIAL_IMG_LOADING 10
#define SPECIAL_IMG_MAX SPECIAL_IMG_LOADING + 1
static ImBuf* gSpecialFileImages[SPECIAL_IMG_MAX];
@ -185,6 +170,7 @@ static int compare_name(const void *a1, const void *a2)
if( strcmp(entry1->relname, ".")==0 ) return (-1);
if( strcmp(entry2->relname, ".")==0 ) return (1);
if( strcmp(entry1->relname, "..")==0 ) return (-1);
if( strcmp(entry2->relname, "..")==0 ) return (1);
return (BLI_strcasecmp(entry1->relname,entry2->relname));
}
@ -212,6 +198,7 @@ static int compare_date(const void *a1, const void *a2)
if( strcmp(entry1->relname, ".")==0 ) return (-1);
if( strcmp(entry2->relname, ".")==0 ) return (1);
if( strcmp(entry1->relname, "..")==0 ) return (-1);
if( strcmp(entry2->relname, "..")==0 ) return (1);
if ( entry1->s.st_mtime < entry2->s.st_mtime) return 1;
if ( entry1->s.st_mtime > entry2->s.st_mtime) return -1;
@ -242,6 +229,7 @@ static int compare_size(const void *a1, const void *a2)
if( strcmp(entry1->relname, ".")==0 ) return (-1);
if( strcmp(entry2->relname, ".")==0 ) return (1);
if( strcmp(entry1->relname, "..")==0 ) return (-1);
if( strcmp(entry2->relname, "..")==0 ) return (1);
if ( entry1->s.st_size < entry2->s.st_size) return 1;
if ( entry1->s.st_size > entry2->s.st_size) return -1;
@ -279,7 +267,7 @@ static int compare_extension(const void *a1, const void *a2) {
if( strcmp(entry1->relname, ".")==0 ) return (-1);
if( strcmp(entry2->relname, ".")==0 ) return (1);
if( strcmp(entry1->relname, "..")==0 ) return (-1);
if( strcmp(entry2->relname, "..")==0 ) return (-1);
if( strcmp(entry2->relname, "..")==0 ) return (1);
return (BLI_strcasecmp(sufix1, sufix2));
}
@ -293,11 +281,6 @@ void filelist_filter(FileList* filelist)
if (!filelist->filelist)
return;
if ( ( (filelist->type == FILE_LOADLIB) && filelist_islibrary(filelist, dir, group))
|| (filelist->type == FILE_MAIN) ) {
filelist->filter = 0;
}
if (!filelist->filter) {
if (filelist->fidx) {
MEM_freeN(filelist->fidx);
@ -380,7 +363,6 @@ struct FileList* filelist_new()
p->filelist = 0;
p->numfiles = 0;
p->dir[0] = '\0';
p->libfiledata = 0;
p->type = 0;
p->has_func = 0;
p->filter = 0;
@ -394,8 +376,6 @@ struct FileList* filelist_copy(struct FileList* filelist)
p->filelist = NULL;
p->fidx = NULL;
p->type = filelist->type;
p->ipotype = filelist->ipotype;
p->has_func = filelist->has_func;
return p;
}
@ -437,18 +417,6 @@ void filelist_free(struct FileList* filelist)
filelist->numfiltered =0;
}
void filelist_freelib(struct FileList* filelist)
{
if(filelist->libfiledata)
BLO_blendhandle_close(filelist->libfiledata);
filelist->libfiledata= 0;
}
struct BlendHandle *filelist_lib(struct FileList* filelist)
{
return filelist->libfiledata;
}
int filelist_numfiles(struct FileList* filelist)
{
return filelist->numfiltered;
@ -599,34 +567,47 @@ struct ImBuf * filelist_getimage(struct FileList* filelist, int index)
fidx = filelist->fidx[index];
ibuf = filelist->filelist[fidx].image;
if (ibuf == NULL) {
struct direntry *file = &filelist->filelist[fidx];
if (file->type & S_IFDIR) {
return ibuf;
}
struct ImBuf * filelist_geticon(struct FileList* filelist, int index)
{
ImBuf* ibuf= NULL;
struct direntry *file= NULL;
int fidx = 0;
if ( (index < 0) || (index >= filelist->numfiltered) ) {
return NULL;
}
fidx = filelist->fidx[index];
file = &filelist->filelist[fidx];
if (file->type & S_IFDIR) {
if ( strcmp(filelist->filelist[fidx].relname, "..") == 0) {
ibuf = gSpecialFileImages[SPECIAL_IMG_PARENT];
} else if ( strcmp(filelist->filelist[fidx].relname, ".") == 0) {
ibuf = gSpecialFileImages[SPECIAL_IMG_REFRESH];
} else {
ibuf = gSpecialFileImages[SPECIAL_IMG_FOLDER];
ibuf = gSpecialFileImages[SPECIAL_IMG_FOLDER];
}
} else {
ibuf = gSpecialFileImages[SPECIAL_IMG_UNKNOWNFILE];
}
if (file->flags & BLENDERFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_BLENDFILE];
} else if ( (file->flags & MOVIEFILE) || (file->flags & MOVIEFILE_ICON) ) {
ibuf = gSpecialFileImages[SPECIAL_IMG_MOVIEFILE];
} else if (file->flags & SOUNDFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_SOUNDFILE];
} else if (file->flags & PYSCRIPTFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_PYTHONFILE];
} else if (file->flags & FTFONTFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_FONTFILE];
} else if (file->flags & TEXTFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_TEXTFILE];
}
} else {
ibuf = gSpecialFileImages[SPECIAL_IMG_UNKNOWNFILE];
}
if (file->flags & BLENDERFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_BLENDFILE];
} else if ( (file->flags & MOVIEFILE) || (file->flags & MOVIEFILE_ICON) ) {
ibuf = gSpecialFileImages[SPECIAL_IMG_MOVIEFILE];
} else if (file->flags & SOUNDFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_SOUNDFILE];
} else if (file->flags & PYSCRIPTFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_PYTHONFILE];
} else if (file->flags & FTFONTFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_FONTFILE];
} else if (file->flags & TEXTFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_TEXTFILE];
} else if (file->flags & IMAGEFILE) {
ibuf = gSpecialFileImages[SPECIAL_IMG_LOADING];
}
return ibuf;
}
@ -693,31 +674,18 @@ void filelist_readdir(struct FileList* filelist)
filelist->fidx = 0;
filelist->filelist = 0;
if(filelist->type==FILE_MAIN) {
filelist_from_main(filelist);
finished = 1;
} else if(filelist->type==FILE_LOADLIB) {
BLI_cleanup_dir(G.sce, filelist->dir);
filelist_from_library(filelist);
if(filelist->libfiledata) {
finished = 1;
}
}
BLI_getwdN(wdir);
BLI_cleanup_dir(G.sce, filelist->dir);
BLI_hide_dot_files(filelist->hide_dot);
filelist->numfiles = BLI_getdir(filelist->dir, &(filelist->filelist));
if (!finished) {
BLI_getwdN(wdir);
BLI_cleanup_dir(G.sce, filelist->dir);
BLI_hide_dot_files(filelist->hide_dot);
filelist->numfiles = BLI_getdir(filelist->dir, &(filelist->filelist));
chdir(wdir);
filelist_setfiletypes(filelist, G.have_quicktime);
filelist_filter(filelist);
if (!filelist->threads.first) {
BLI_init_threads(&filelist->threads, exec_loadimages, 2);
}
chdir(wdir);
filelist_setfiletypes(filelist, G.have_quicktime);
filelist_filter(filelist);
if (!filelist->threads.first) {
BLI_init_threads(&filelist->threads, exec_loadimages, 2);
}
filelist->maxnamelen = 0;
@ -885,296 +853,6 @@ void filelist_swapselect(struct FileList* filelist)
}
}
int filelist_islibrary(struct FileList* filelist, char* dir, char* group)
{
/* return ok when a blenderfile, in dir is the filename,
* in group the type of libdata
*/
int len;
char *fd;
strcpy(dir, filelist->dir);
len= strlen(dir);
if(len<7) return 0;
if( dir[len-1] != '/' && dir[len-1] != '\\') return 0;
group[0]= 0;
dir[len-1]= 0;
/* Find the last slash */
fd= (strrchr(dir, '/')>strrchr(dir, '\\'))?strrchr(dir, '/'):strrchr(dir, '\\');
if(fd==0) return 0;
*fd= 0;
if(BLO_has_bfile_extension(fd+1)) {
*fd= '/';
}
else {
char *gp = fd+1; // in case we have a .blend file, gp points to the group
/* Find the last slash */
fd= (strrchr(dir, '/')>strrchr(dir, '\\'))?strrchr(dir, '/'):strrchr(dir, '\\');
if (!fd || !BLO_has_bfile_extension(fd+1)) return 0;
/* now we know that we are in a blend file and it is safe to
assume that gp actually points to a group */
BLI_strncpy(group, gp, GROUP_MAX);
}
return 1;
}
void filelist_from_library(struct FileList* filelist)
{
LinkNode *l, *names, *previews;
struct ImBuf* ima;
int ok, i, nnames, idcode;
char filename[FILE_MAXDIR+FILE_MAXFILE];
char dir[FILE_MAX], group[GROUP_MAX];
filelist->type = FILE_LOADLIB;
/* name test */
ok= filelist_islibrary(filelist, dir, group);
if (!ok) {
/* free */
if(filelist->libfiledata) BLO_blendhandle_close(filelist->libfiledata);
filelist->libfiledata= 0;
return;
}
BLI_strncpy(filename, G.sce, sizeof(filename)); // G.sce = last file loaded, for UI
/* there we go */
/* for the time being only read filedata when libfiledata==0 */
if (filelist->libfiledata==0) {
filelist->libfiledata= BLO_blendhandle_from_file(dir);
if(filelist->libfiledata==0) return;
}
idcode= BIF_groupname_to_code(group);
// memory for strings is passed into filelist[i].relname
// and free'd in freefilelist
previews = NULL;
if (idcode) {
previews= BLO_blendhandle_get_previews(filelist->libfiledata, idcode);
names= BLO_blendhandle_get_datablock_names(filelist->libfiledata, idcode);
/* ugh, no rewind, need to reopen */
BLO_blendhandle_close(filelist->libfiledata);
filelist->libfiledata= BLO_blendhandle_from_file(dir);
} else {
names= BLO_blendhandle_get_linkable_groups(filelist->libfiledata);
}
nnames= BLI_linklist_length(names);
filelist->numfiles= nnames + 2;
filelist->filelist= malloc(filelist->numfiles * sizeof(*filelist->filelist));
memset(filelist->filelist, 0, filelist->numfiles * sizeof(*filelist->filelist));
filelist->filelist[0].relname= BLI_strdup(".");
filelist->filelist[0].type |= S_IFDIR;
filelist->filelist[1].relname= BLI_strdup("..");
filelist->filelist[1].type |= S_IFDIR;
for (i=0, l= names; i<nnames; i++, l= l->next) {
char *blockname= l->link;
filelist->filelist[i + 2].relname= BLI_strdup(blockname);
if (!idcode)
filelist->filelist[i + 2].type |= S_IFDIR;
}
if(previews) {
for (i=0, l= previews; i<nnames; i++, l= l->next) {
PreviewImage *img= l->link;
if (img) {
unsigned int w = img->w[PREVIEW_MIPMAP_LARGE];
unsigned int h = img->h[PREVIEW_MIPMAP_LARGE];
unsigned int *rect = img->rect[PREVIEW_MIPMAP_LARGE];
/* first allocate imbuf for copying preview into it */
if (w > 0 && h > 0 && rect) {
ima = IMB_allocImBuf(w, h, 32, IB_rect, 0);
memcpy(ima->rect, rect, w*h*sizeof(unsigned int));
filelist->filelist[i + 2].image = ima;
filelist->filelist[i + 2].flags = IMAGEFILE;
}
}
}
}
BLI_linklist_free(names, free);
if (previews) BLI_linklist_free(previews, (void(*)(void*)) MEM_freeN);
filelist_sort(filelist, FILE_SORTALPHA);
BLI_strncpy(G.sce, filename, sizeof(filename)); // prevent G.sce to change
filelist->filter = 0;
filelist_filter(filelist);
}
void filelist_append_library(struct FileList *filelist, char *dir, char *file, short flag, int idcode, struct Main *mainvar, struct Scene* scene)
{
// XXX todo: replace NULL with op->reports
BLO_library_append(&filelist->libfiledata, filelist->filelist, filelist->numfiles, dir, file, flag, idcode, mainvar, scene, NULL);
}
void filelist_from_main(struct FileList *filelist)
{
ID *id;
struct direntry *files, *firstlib = NULL;
ListBase *lb;
int a, fake, idcode, ok, totlib, totbl;
filelist->type = FILE_MAIN;
if(filelist->dir[0]=='/') filelist->dir[0]= 0;
if(filelist->dir[0]) {
idcode= BIF_groupname_to_code(filelist->dir);
if(idcode==0) filelist->dir[0]= 0;
}
if( filelist->dir[0]==0) {
/* make directories */
filelist->numfiles= 23;
filelist->filelist= (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry));
for(a=0; a<filelist->numfiles; a++) {
memset( &(filelist->filelist[a]), 0 , sizeof(struct direntry));
filelist->filelist[a].type |= S_IFDIR;
}
filelist->filelist[0].relname= BLI_strdup("..");
filelist->filelist[1].relname= BLI_strdup(".");
filelist->filelist[2].relname= BLI_strdup("Scene");
filelist->filelist[3].relname= BLI_strdup("Object");
filelist->filelist[4].relname= BLI_strdup("Mesh");
filelist->filelist[5].relname= BLI_strdup("Curve");
filelist->filelist[6].relname= BLI_strdup("Metaball");
filelist->filelist[7].relname= BLI_strdup("Material");
filelist->filelist[8].relname= BLI_strdup("Texture");
filelist->filelist[9].relname= BLI_strdup("Image");
filelist->filelist[10].relname= BLI_strdup("Ika");
filelist->filelist[11].relname= BLI_strdup("Wave");
filelist->filelist[12].relname= BLI_strdup("Lattice");
filelist->filelist[13].relname= BLI_strdup("Lamp");
filelist->filelist[14].relname= BLI_strdup("Camera");
filelist->filelist[15].relname= BLI_strdup("Ipo");
filelist->filelist[16].relname= BLI_strdup("World");
filelist->filelist[17].relname= BLI_strdup("Screen");
filelist->filelist[18].relname= BLI_strdup("VFont");
filelist->filelist[19].relname= BLI_strdup("Text");
filelist->filelist[20].relname= BLI_strdup("Armature");
filelist->filelist[21].relname= BLI_strdup("Action");
filelist->filelist[22].relname= BLI_strdup("NodeTree");
filelist_sort(filelist, FILE_SORTALPHA);
}
else {
/* make files */
idcode= BIF_groupname_to_code(filelist->dir);
lb= wich_libbase(G.main, idcode );
if(lb==0) return;
id= lb->first;
filelist->numfiles= 0;
while(id) {
if(filelist->has_func && idcode==ID_IP) {
if(filelist->ipotype== ((Ipo *)id)->blocktype) filelist->numfiles++;
}
else if (!filelist->hide_dot || id->name[2] != '.') {
filelist->numfiles++;
}
id= id->next;
}
if(!filelist->has_func) filelist->numfiles+= 2;
filelist->filelist= (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry));
files = filelist->filelist;
if(!filelist->has_func) {
memset( &(filelist->filelist[0]), 0 , sizeof(struct direntry));
filelist->filelist[0].relname= BLI_strdup(".");
filelist->filelist[0].type |= S_IFDIR;
memset( &(filelist->filelist[1]), 0 , sizeof(struct direntry));
filelist->filelist[1].relname= BLI_strdup("..");
filelist->filelist[1].type |= S_IFDIR;
files+= 2;
}
id= lb->first;
totlib= totbl= 0;
while(id) {
ok= 0;
if(filelist->has_func && idcode==ID_IP) {
if(filelist->ipotype== ((Ipo *)id)->blocktype) ok= 1;
}
else ok= 1;
if(ok) {
/* TODO: hide dot files - elubie */
memset( files, 0 , sizeof(struct direntry));
if(id->lib==NULL)
files->relname= BLI_strdup(id->name+2);
else {
files->relname= MEM_mallocN(FILE_MAXDIR+FILE_MAXFILE+32, "filename for lib");
sprintf(files->relname, "%s | %s", id->lib->name, id->name+2);
}
/* files->type |= S_IFDIR; */
if(!filelist->has_func) { /* F4 DATA BROWSE */
if(idcode==ID_OB) {
if( ((Object *)id)->flag & SELECT) files->flags |= ACTIVE;
}
else if(idcode==ID_SCE) {
if( ((Scene *)id)->r.scemode & R_BG_RENDER) files->flags |= ACTIVE;
}
}
files->nr= totbl+1;
files->poin= id;
fake= id->flag & LIB_FAKEUSER;
if(idcode == ID_MA || idcode == ID_TE || idcode == ID_LA || idcode == ID_WO || idcode == ID_IM) {
files->flags |= IMAGEFILE;
}
if(id->lib && fake) sprintf(files->extra, "LF %d", id->us);
else if(id->lib) sprintf(files->extra, "L %d", id->us);
else if(fake) sprintf(files->extra, "F %d", id->us);
else sprintf(files->extra, " %d", id->us);
if(id->lib) {
if(totlib==0) firstlib= files;
totlib++;
}
files++;
totbl++;
}
id= id->next;
}
/* only qsort of library blocks */
if(totlib>1) {
qsort(firstlib, totlib, sizeof(struct direntry), compare_name);
}
}
filelist->filter = 0;
filelist_filter(filelist);
}
void filelist_settype(struct FileList* filelist, int type)
{
filelist->type = type;
@ -1210,15 +888,3 @@ void filelist_sort(struct FileList* filelist, short sort)
}
filelist_filter(filelist);
}
void filelist_setipotype(struct FileList* filelist, short ipotype)
{
filelist->ipotype = ipotype;
}
void filelist_hasfunc(struct FileList* filelist, int has_func)
{
filelist->has_func = has_func;
}

@ -62,6 +62,7 @@ void filelist_imgsize(struct FileList* filelist, short w, short h);
void filelist_loadimage(struct FileList* filelist, int index);
void filelist_loadimage_timer(struct FileList* filelist);
struct ImBuf * filelist_getimage(struct FileList* filelist, int index);
struct ImBuf * filelist_geticon(struct FileList* filelist, int index);
short filelist_changed(struct FileList* filelist);
void filelist_readdir(struct FileList* filelist);
int filelist_maxnamelen(struct FileList* filelist);
@ -69,17 +70,8 @@ int filelist_maxnamelen(struct FileList* filelist);
int filelist_empty(struct FileList* filelist);
void filelist_parent(struct FileList* filelist);
void filelist_setfiletypes(struct FileList* filelist, short has_quicktime);
int filelist_islibrary (struct FileList* filelist, char* dir, char* group);
void filelist_from_main(struct FileList* filelist);
void filelist_from_library(struct FileList* filelist);
void filelist_append_library(struct FileList* filelist, char *dir, char* file, short flag, int idcode, struct Main *mainvar, struct Scene* scene);
void filelist_settype(struct FileList* filelist, int type);
short filelist_gettype(struct FileList* filelist);
void filelist_setipotype(struct FileList* filelist, short ipotype);
void filelist_hasfunc(struct FileList* filelist, int has_func);
struct BlendHandle *filelist_lib(struct FileList* filelist);
int groupname_to_code(char *group); /* TODO: where should this go */
#ifdef __cplusplus
}

@ -171,9 +171,6 @@ void ED_fileselect_init_layout(struct SpaceFile *sfile, struct ARegion *ar)
{
FileSelectParams* params = ED_fileselect_get_params(sfile);
View2D *v2d= &ar->v2d;
int width=0, height=0;
int rows, columns;
int i;
int maxlen = 0;
int numfiles = filelist_numfiles(sfile->files);
@ -245,4 +242,4 @@ FileLayout* ED_fileselect_get_layout(struct SpaceFile *sfile, struct ARegion *ar
ED_fileselect_init_layout(sfile, ar);
}
return sfile->layout;
}
}

@ -118,7 +118,6 @@ static void file_free(SpaceLink *sl)
if(sfile->files) {
filelist_free(sfile->files);
filelist_freelib(sfile->files);
MEM_freeN(sfile->files);
sfile->files= NULL;
}