diff --git a/programs/cmm/browser/HTMLv.c b/programs/cmm/browser/HTMLv.c
index 59106339c0..6544822faf 100644
--- a/programs/cmm/browser/HTMLv.c
+++ b/programs/cmm/browser/HTMLv.c
@@ -4,6 +4,7 @@
//home icon - rachel fu, GPL licence
//libraries
+#define MEMSIZE 0x100000
#include "..\lib\kolibri.h"
#include "..\lib\strings.h"
#include "..\lib\figures.h"
@@ -42,7 +43,7 @@ proc_info Form;
#define WIN_H 480
-dword stak[100]; //
+char stak[100]; //
mouse m;
#include "TWB.h"
@@ -234,13 +235,13 @@ void Draw_Window()
if (Form.width<280) MoveSize(OLD,OLD,280,OLD);
PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal);
- if (GetProcessSlot(downloader_id)<>0) PutImage(#stop_btn,24,24,88,10);
+ if (GetProcessSlot(downloader_id)<>0) _PutImage(88,10, 24,24, #stop_btn);
DrawBar(200,0,onLeft(200,9),43,0xE4DFE1); //
DrawBar(0,42,onLeft(5,4),1,0xE2DBDC); //
DrawBar(0,43,onLeft(5,4),1,0xD2CED0); //
for (j=0; j<5; j++) DefineButton(j*37+11, 7, 29, 29, 300+j+BT_HIDE, 0xE4DFE1);
- PutImage(#URLgoto,40,19,onLeft(57,0),14);
+ _PutImage(onLeft(57,0),14, 40,19, #URLgoto);
DefineButton(onLeft(37,0),15, 18, 16, GOTOURL+BT_HIDE, 0xE4DFE1);
DefineButton(onLeft(56,0),15, 17, 16, SEARCHWEB+BT_HIDE, 0xE4DFE1);
DrawRectangle(205,14,onLeft(58,205),18,0x94AECE); //
diff --git a/programs/cmm/browser/TWB.h b/programs/cmm/browser/TWB.h
index 76d7a53584..d5215b5ee7 100644
--- a/programs/cmm/browser/TWB.h
+++ b/programs/cmm/browser/TWB.h
@@ -475,7 +475,7 @@ void TWebBrowser::ParseHTML(dword bword){
if (line[strlen(#line)-1]==' ') break; // 2
if (!stolbec) && (!line) break; //
}
- if (strlen(#line) lines.column_max)
{
@@ -828,65 +828,64 @@ void Images(int left1, top1, width1)
char img_path[4096], alt[4096];
int w=0, h=0, img_lines_first=0, cur_pic=0;
- if (GetFileInfo(libimg)<>0) return; //
- do{
- if (!strcmp(#parametr,"src=")) // GetNewUrl()
+ do{
+ if (!strcmp(#parametr,"src=")) // GetNewUrl()
+ {
+ if (downloader_id) strcpy(#img_path, #history_list[history_current-1].Item);
+ else strcpy(#img_path, BrowserHistory.CurrentUrl()); //
+
+ if (strcmpn(#img_path, "http:", 5)!=0) || (strcmpn(#options, "http:", 5)!=0)
{
- if (downloader_id) strcpy(#img_path, #history_list[history_current-1].Item);
- else strcpy(#img_path, BrowserHistory.CurrentUrl()); //
+ img_path[strrchr(#img_path, '/')] = '\0'; // /
+ strcat(#img_path, #options);
- if (strcmpn(#img_path, "http:", 5)!=0) || (strcmpn(#options, "http:", 5)!=0)
+ cur_pic=GetOrSetPicNum(#img_path);
+ if (!pics[cur_pic].path)
{
- img_path[strrchr(#img_path, '/')] = '\0'; // /
- strcat(#img_path, #options);
-
- cur_pic=GetOrSetPicNum(#img_path);
- if (!pics[cur_pic].path)
- {
- pics[cur_pic].image=load_image(#img_path);
- strcpy(#pics[cur_pic].path, #img_path);
- }
+ pics[cur_pic].image=load_image(#img_path);
+ strcpy(#pics[cur_pic].path, #img_path);
}
}
- if (!strcmp(#parametr,"alt="))
- {
- strcpy(#alt, "[");
- strcat(#alt, #options);
- strcat(#alt, "]");
- }
+ }
+ if (!strcmp(#parametr,"alt="))
+ {
+ strcpy(#alt, "[");
+ strcat(#alt, #options);
+ strcat(#alt, "]");
+ }
- } while(GetNextParam());
-
- if (!pics[cur_pic].image)
- {
- if (alt) && (link) strcat(#line, #alt);
- return;
- }
-
- w=DSWORD[pics[cur_pic].image+4];
- h=DSWORD[pics[cur_pic].image+8];
- if (w>width1) w=width1;
-
- if (stroka==0) DrawBar(WB1.left, WB1.top, WB1.width-15, 15, bg_color); //
- stroka+=h/10;
- if (top1+hWB1.top+WB1.height-10) return; // Ѩ
- if (top1WB1.top+WB1.height-h-15) //
- {
- h=WB1.top+WB1.height-top1-15;
- }
- if (h<=0) return;
- if (anchor) return;
-
- img_draw stdcall (pics[cur_pic].image,left1-5,top1+10,w, h,0,img_lines_first);
- DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color);
- IF (link) DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9);
+ } while(GetNextParam());
+
+ if (!pics[cur_pic].image)
+ {
+ if (alt) && (link) strcat(#line, #alt);
+ return;
+ }
+
+ w=DSWORD[pics[cur_pic].image+4];
+ h=DSWORD[pics[cur_pic].image+8];
+ if (w>width1) w=width1;
+
+ if (stroka==0) DrawBar(WB1.left, WB1.top, WB1.width-15, 15, bg_color); //
+ stroka+=h/10;
+ if (top1+hWB1.top+WB1.height-10) return; // Ѩ
+ if (top1WB1.top+WB1.height-h-15) //
+ {
+ h=WB1.top+WB1.height-top1-15;
+ }
+ if (h<=0) return;
+ if (anchor) return;
+
+ img_draw stdcall (pics[cur_pic].image,left1-5,top1+10,w, h,0,img_lines_first);
+ DrawBar(left1+w - 5, top1 + 10, width1-w + 5, h, bg_color);
+ IF (link) DefineButton(left1 - 5, top1+10, w, h, blink + BT_HIDE, 0xB5BFC9);
}
diff --git a/programs/cmm/browser/compile.bat b/programs/cmm/browser/compile.bat
index 7f8a5a3696..79f0e3d1a9 100644
--- a/programs/cmm/browser/compile.bat
+++ b/programs/cmm/browser/compile.bat
@@ -1,6 +1,5 @@
..\C--\c-- HTMLv.c /lst
-del HTMLv
-rename HTMLv.com HTMLv
-rem ..\C--\kpack HTMLv
-del warning.txt
-pause
\ No newline at end of file
+@del HTMLv
+@rename HTMLv.com HTMLv
+@del warning.txt
+@pause
\ No newline at end of file
diff --git a/programs/cmm/browser/include/some_code.h b/programs/cmm/browser/include/some_code.h
index 8fd6afc0a6..d679e067f1 100644
--- a/programs/cmm/browser/include/some_code.h
+++ b/programs/cmm/browser/include/some_code.h
@@ -62,7 +62,7 @@ inline void Skew(dword x,y,w,h)
CopyScreen(italic_buf, x+Form.left+2, y+Form.top+skin_height, w, h);
FOR (i=0;i*tile_height cur_dict
-
-#include "..\lib\kolibri.h"
-#include "..\lib\strings.h"
-#include "..\lib\file_system.h"
-#include "..\lib\mem.h"
-#include "..\lib\dll.h"
-#include "..\lib\edit_box_lib.h"
-
-unsigned char title[]= "Dictionary v1.0";
-unsigned char direction[] = "Translate direction:";
-unsigned char translate_caption[] = "Translate";
-unsigned char dict_not_found[] = "Dictionary not found";
-unsigned char dict_opened[] = "Dictionary loaded";
-unsigned char empty_word[] = "Type a word to translate";
-//char direction[] = " :"w;
-
-
-int mouse_dd;
-edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b};
-
-system_colors sc;
-proc_info Form;
-
-unsigned char edword[4096], translate_result[4096], search_word[4096], cur_dict[4096];
-#define DEFAULT_DICT_DIRECROTY "dictionaries/"
-#define DEFAULT_DICT "eng - rus.dict";
-dword files_buf;
-dword buff, fsize;
-
-
-void main()
-{
- int id;
- word key;
-
- mem_Init();
- load_dll2(boxlib, #edit_box_draw,0);
-
-
- program_path[strrchr(#program_path, '/')] = 0; // /
- strcpy(#program_path+strlen(#program_path), DEFAULT_DICT_DIRECROTY);
- SetCurDir(#program_path);
-
- strcpy(#cur_dict, DEFAULT_DICT);
- OpenDictionary(#cur_dict);
-
- if (param)
- {
- strcpy(#edword, #param);
- edit1.size=edit1.pos=strlen(#edword);
- Translate();
- }
-
- SetEventMask(0x27);
- loop()
- {
- switch(WaitEvent())
- {
- case evMouse:
- edit_box_mouse stdcall (#edit1);
- break;
-
- case evButton:
- id=GetButtonID();
- if (id==1) ExitProcess();
- if (id==10)
- {
- Translate();
- DrawTranslation();
- }
-
- if (id==11)
- {
- ShowDictList();
- break;
- }
- if (id==12)
- {
- Draw_Window();
- break;
- }
-
- if (id>=20)
- {
- strcpy(#cur_dict, id-20*304+files_buf+72);
- OpenDictionary(#cur_dict);
- }
- break;
-
- case evKey:
- key = GetKey();
- IF (key==013) //Enter
- {
- Translate();
- DrawTranslation();
- }
-
- EAX=key<<8;
- edit_box_key stdcall(#edit1);
-
- //LiveSearch();
- break;
-
- case evReDraw:
- Draw_Window();
- break;
- }
- }
-}
-
-/*void LiveSearch()
-{
- dword bj, i;
- byte IsNativeWord=1;
- unsigned char native[256];
- unsigned char bukovka;
-
- for (bj=0; bjnative[i]) goto __NE_RAVNO;
- debug(#native);
- __NE_RAVNO:
- native = '\0';
- IsNativeWord = 0;
- }
- if (IsNativeWord==1) native[strlen(#native)] = bukovka;
- }
-}*/
-
-
-void Translate()
-{
- dword tj;
- char w_native[100], w_translation[100], bukva[1];
-
- byte InfType;
- #define NATIVE_WORD 0
- #define TRANSLATION 1
- #define IGNORE 2
-
- if (!fsize) return;
-
- translate_result = 0;
- strcpy(#search_word, #edword);
- strupr(#search_word);
-
- if (!edword)
- {
- strcpy(#translate_result, #empty_word);
- return;
- }
-
- for (tj=0; tjsearch_word) InfType = IGNORE; //
- }
- if (InfType==TRANSLATION) strcat(#w_translation, #bukva);
- }
- }
- if (!translate_result) strcpy(#translate_result, "Word is'nt found in the dictionary");
-}
-
-
-void OpenDictionary(dword dict_path)
-{
- dword j, words_count=0;
-
- mem_Free(buff);
- buff = mem_Alloc(3500576);
- ReadFile(0, 3500576, buff, dict_path);
- IF (EAX<>6)
- {
- fsize=0;
- strcpy(#translate_result, #dict_not_found);
- Draw_Window();
- return;
- }
- fsize=EBX;
-
- strcpy(#search_word, dict_path);
- strcpy(#translate_result, #dict_opened);
- Draw_Window();
-}
-
-
-void ShowDictList()
-{
- int j, fcount=10;
-
- mem_Free(files_buf);
- files_buf= mem_Alloc(32);
- ReadDir(0, files_buf, #program_path);
- fcount=ESDWORD[files_buf+8];
- mem_Free(files_buf);
- files_buf = mem_Alloc(fcount+1*304+32);
-
- ReadDir(fcount, files_buf, #program_path);
-
- fcount-=2;
- mem_Move(files_buf,files_buf+608,fcount*304);
-
-
- DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button);
- for (j=0; jstrlen(#draw_buf))
- {
- WriteText(10, y_pos+21, 0x80, 0, #draw_buf, 0);
- return;
- }
- while (draw_buf[text_break]<>' ') && (text_break>0) text_break--;
- strcpy(#tt, #draw_buf+text_break+1);
- draw_buf[text_break]=0x0;
- WriteText(10, y_pos+21, 0x80, 0, #draw_buf, 0);
- strcpy(#draw_buf, #tt);
- y_pos+=12;
- if (y_pos+24+skin_height+12>Form.height) return; //
- }
-}
-
-
-void Draw_Window()
-{
- sc.get();
- DefineAndDrawWindow(215,120,400,250,0x73,sc.work,#title);
- GetProcessInfo(#Form, SelfInfo);
- if (Form.status_window>2) return; // ,
- if (Form.height<140) MoveSize(OLD,OLD,OLD,140);
- if (Form.width<400) MoveSize(OLD,OLD,400,OLD);
-
- DrawBar(0, 0, Form.width-9, 69, sc.work);
- edit1.focus_border_color=sc.work_graph;
- edit1.width=Form.width-edit1.left-edit1.left-9;
- edit_box_draw stdcall(#edit1); //
- DefineButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button);
- WriteText(edit1.left+edit1.width-80+14,35+7,0x80,sc.work_button_text,#translate_caption, 0);
- DrawBar(0, 69, Form.width-9, 1, sc.work_graph);
-
- WriteText(edit1.left,35+7,0x80,sc.work_text,#direction, 0);
- DefineButton(edit1.left+130,35, 120,20, 11, sc.work_button);
- WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19", 0);
- DrawBar(edit1.left+130+1,36, 107,19, 0xFFFFFF);
- WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict, 0);
-
- DrawTranslation();
-}
-
-
-stop:
diff --git a/programs/cmm/dicty/compile.bat b/programs/cmm/dicty/compile.bat
new file mode 100644
index 0000000000..6a11c79741
--- /dev/null
+++ b/programs/cmm/dicty/compile.bat
@@ -0,0 +1,5 @@
+..\C--\C-- dicty
+@del dicty
+@rename dicty.com dicty
+@del warning.txt
+@pause
\ No newline at end of file
diff --git a/programs/cmm/dict/dicty.c b/programs/cmm/dicty/dicty.c
similarity index 50%
rename from programs/cmm/dict/dicty.c
rename to programs/cmm/dicty/dicty.c
index 541d47cf9b..ec4b9f355e 100644
--- a/programs/cmm/dict/dicty.c
+++ b/programs/cmm/dicty/dicty.c
@@ -1,53 +1,54 @@
+#define MEMSIZE 0x8000
#include "..\lib\kolibri.h"
-#include "..\lib\strings.h"
-#include "..\lib\file_system.h"
+#include "..\lib\strings.h"
#include "..\lib\mem.h"
+#include "..\lib\file_system.h"
+#include "..\lib\figures.h"
#include "..\lib\dll.h"
#include "..\lib\edit_box_lib.h"
-char title[]= "Dictionary v1.0";
+
+unsigned char speaker[23*40*3]= FROM "speaker.raw";
+char title[]= "Dictionary v1.3";
char direction[] = "Translate direction:";
char translate_caption[] = "Translate";
char dict_not_found[] = "Dictionary not found";
char dict_opened[] = "Dictionary loaded";
char empty_word[] = "Type a word to translate";
-//char direction[] = " :"w;
-int mouse_dd;
-edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b};
-
system_colors sc;
proc_info Form;
-char edword[4096], translate_result[4096], search_word[4096], cur_dict[4096];
-#define DEFAULT_DICT_DIRECROTY "dictionaries/"
-#define DEFAULT_DICT "eng - rus.dict";
-dword files_buf;
-dword buff, fsize;
+char edword[256], search_word[256], translate_result[4096], dict_folder[4096], cur_dict[256];
+#define DICT_DIRECROTY "dictionaries"
+#define PRONOUNCED_FILE "/tmp9/1/dicty/pronounced.txt"
+#define SPEECH_PATH "/tmp9/1/media/speech/speech"
+dword dir_buf, file_buf, fsize;
+
+int mouse_dd, speaker_id;
+edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b};
void main()
{
- int id;
- word key;
-
+ int id, key;
mem_Init();
load_dll2(boxlib, #edit_box_draw,0);
-
- program_path[strrchr(#program_path, '/')] = 0; // /
- strcpy(#program_path+strlen(#program_path), DEFAULT_DICT_DIRECROTY);
- SetCurDir(#program_path);
-
- strcpy(#cur_dict, DEFAULT_DICT);
- OpenDictionary(#cur_dict);
+ program_path[strrchr(#program_path, '/')] = 0;
+ strcpy(#dict_folder, #program_path);
+ strcat(#dict_folder, DICT_DIRECROTY);
+ SetCurDir(#dict_folder);
+ OpenDictionary(0);
if (param)
{
strcpy(#edword, #param);
edit1.size=edit1.pos=strlen(#edword);
Translate();
+ DrawTranslation();
+ edit_box_draw stdcall(#edit1);
}
SetEventMask(0x27);
@@ -62,28 +63,25 @@ void main()
case evButton:
id=GetButtonID();
if (id==1) ExitProcess();
- if (id==10)
+ if (id==10) { Translate(); DrawTranslation(); }
+ if (id==11) ShowDictList();
+ if (id==12) DrawWindowContent();
+ if (id==15)
{
- Translate();
- DrawTranslation();
- }
-
- if (id==11)
- {
- ShowDictList();
- break;
- }
- if (id==12)
- {
- Draw_Window();
- break;
- }
-
- if (id>=20)
- {
- strcpy(#cur_dict, id-20*304+files_buf+72);
- OpenDictionary(#cur_dict);
+ if (GetProcessSlot(speaker_id)!=0))
+ {
+ KillProcess(speaker_id);
+ pause(50);
+ }
+ else
+ {
+ if (WriteFile(strlen(#translate_result)+1, #translate_result, PRONOUNCED_FILE)!=0) break;
+ pause(50);
+ speaker_id = RunProgram(SPEECH_PATH, PRONOUNCED_FILE);
+ }
+ SpeakerDraw(Form.cwidth-38, Form.cheight-32);
}
+ if (id>=20) OpenDictionary(id - 20);
break;
case evKey:
@@ -93,91 +91,51 @@ void main()
Translate();
DrawTranslation();
}
-
+
EAX=key<<8;
edit_box_key stdcall(#edit1);
+
+ //LiveSearch();
break;
case evReDraw:
- Draw_Window();
+ DrawWindowContent();
break;
}
}
}
-void Draw_Window()
+void DrawWindowContent()
{
sc.get();
DefineAndDrawWindow(215,120,400,250,0x73,sc.work,#title);
GetProcessInfo(#Form, SelfInfo);
- if (Form.status_window>2) return; // ,
+ if (Form.status_window>2) return;
if (Form.height<140) MoveSize(OLD,OLD,OLD,140);
if (Form.width<400) MoveSize(OLD,OLD,400,OLD);
-
- DrawBar(0, 0, Form.width-9, 69, sc.work);
edit1.focus_border_color=sc.work_graph;
edit1.width=Form.width-edit1.left-edit1.left-9;
- edit_box_draw stdcall(#edit1); //
- DefineButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button);
- WriteText(edit1.left+edit1.width-80+14,35+7,0x80,sc.work_button_text,#translate_caption);
+
+ DrawBar(0, 0, Form.width-9, 69, sc.work);
+ edit_box_draw stdcall(#edit1);
+ DrawCaptButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button, sc.work_button_text,#translate_caption);
DrawBar(0, 69, Form.width-9, 1, sc.work_graph);
-
+
WriteText(edit1.left,35+7,0x80,sc.work_text,#direction);
DefineButton(edit1.left+130,35, 120,20, 11, sc.work_button);
- WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19");
DrawBar(edit1.left+130+1,36, 107,19, 0xFFFFFF);
- WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict);
-
+ WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19");
+ WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict);
DrawTranslation();
}
-
-void OpenDictionary(dword dict_path)
+void SpeakerDraw(dword x, y)
{
- dword j, words_count=0;
-
- mem_Free(buff);
- buff = mem_Alloc(3500576);
- ReadFile(0, 3500576, buff, dict_path);
- IF (EAX<>6)
- {
- fsize=0;
- strcpy(#translate_result, #dict_not_found);
- Draw_Window();
- return;
- }
- fsize=EBX;
-
- strcpy(#search_word, dict_path);
- strcpy(#translate_result, #dict_opened);
- Draw_Window();
-}
-
-void ShowDictList()
-{
- int j, fcount=10;
-
- mem_Free(files_buf);
- files_buf= mem_Alloc(32);
- ReadDir(0, files_buf, #program_path);
- fcount=ESDWORD[files_buf+8];
- mem_Free(files_buf);
- files_buf = mem_Alloc(fcount+1*304+32);
-
- ReadDir(fcount, files_buf, #program_path);
-
- fcount-=2;
- memmov(files_buf,files_buf+608,fcount*304);
-
-
- DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button);
- for (j=0; jsearch_word) InfType = IGNORE; //
}
- if (InfType==TRANSLATION) strcat(#w_translation, #bukva);
+ if (InfType==TRANSLATION) chrcat(#w_translation, bukva);
}
}
if (!translate_result) strcpy(#translate_result, "Word is'nt found in the dictionary");
}
+void OpenDictionary(dword fileid)
+{
+ if (!dir_buf) ShowDictList();
+ if (!dir_buf) strcpy(#cur_dict, "none");
+ else strcpy(#cur_dict, fileid*304+dir_buf+72);
+ fsize = ESDWORD[fileid*304 + dir_buf+64];
+
+ free(file_buf);
+ file_buf = malloc(fsize);
+ ReadFile(0, fsize, file_buf, #cur_dict);
+ IF (EAX<>0)
+ {
+ fsize = 0;
+ strcpy(#search_word, "Error #");
+ strcat(#search_word, itoa(EAX));
+ strcpy(#translate_result, #dict_not_found);
+ DrawWindowContent();
+ return;
+ }
+ strcpy(#search_word, #cur_dict);
+ strcpy(#translate_result, #dict_opened);
+ DrawWindowContent();
+}
+
+
+void ShowDictList()
+{
+ int j, fcount, error;
+
+ free(dir_buf);
+ error = GetDir(#dir_buf, #fcount, #dict_folder);
+ if (!error)
+ {
+ DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button);
+ for (j=0; jstrlen(#draw_buf))
{
WriteText(10, y_pos+21, 0x80, 0, #draw_buf);
- return;
+ break;
}
while (draw_buf[text_break]<>' ') && (text_break>0) text_break--;
strcpy(#tt, #draw_buf+text_break+1);
@@ -266,8 +267,9 @@ void DrawTranslation()
WriteText(10, y_pos+21, 0x80, 0, #draw_buf);
strcpy(#draw_buf, #tt);
y_pos+=12;
- if (y_pos+24+skin_height+12>Form.height) return; //
+ if (y_pos+24+8>Form.cheight) break; //
}
+ SpeakerDraw(Form.cwidth-38, Form.cheight-32);
}
diff --git a/programs/cmm/dicty/speaker.ico b/programs/cmm/dicty/speaker.ico
new file mode 100644
index 0000000000..23415bdbf0
Binary files /dev/null and b/programs/cmm/dicty/speaker.ico differ
diff --git a/programs/cmm/dicty/speaker.raw b/programs/cmm/dicty/speaker.raw
new file mode 100644
index 0000000000..b5ff4e707d
--- /dev/null
+++ b/programs/cmm/dicty/speaker.raw
@@ -0,0 +1 @@
+D;AmgkC;AC;ASJPEDF>DF>DF>DᰬH?EH?EH?EH?EH?EH?EIAG{tygafIAGIAGIAGIAGIAGIAGKBH{c\aKBHKBHKBHKBHKBHKBH쑎LDJ_X^LDJLDJLDJLDJLDJLDJ䕐NEKbZ_NEKNEKNEKNEKNEKNEK䛖OFL|hafOFLOFLOFLOFLOFLOFL쥠QHN{~pinQHNQHNQHNQHNQHNQHNTKQRIORIORIORIORIOd\aSKQSKQSKQSKQy}ULRULRULRWOUVNTІ@8>D=CD;AG>DB9?mgkC;AC;ATLRC;AJBHRJPDDF>DF>DF>DF>DF>DF>DVNTᯬG?EG?EG?EG?EG?EG?Ey~G?ESLQG?EG?EI@F{sxg_dI@FI@FI@FI@FI@FI@FI@FI@FI@FI@F֖JBH{c\aJBHJBHJBHJBHJBHJBHJBHJBHKCIJBHLCI_W]LCILCILCILCILCILCIULRLCI`X]LCIMEKbZ_MEKMEKMEKMEKMEKMEKVNTMEKbZ_MEKOFL|hafOFLOFLOFLOFLOFLOFLOFLOFLPGMOFLPHN{~oinPHNPHNPHNPHNPHNPHNPHNPHNPHNPHNTKQRIORIORIORIORIORIO]U[RIORIOd[`SJPSJPSJPSJPSJPSJPSJPbY_y}ULRULRULRULRbZ_XOUULRWNTVMSZQWVMS\SYЄ\TZWOUYPV]TZ
\ No newline at end of file
diff --git a/programs/cmm/end/compile.bat b/programs/cmm/end/compile.bat
new file mode 100644
index 0000000000..2909fc8046
--- /dev/null
+++ b/programs/cmm/end/compile.bat
@@ -0,0 +1,5 @@
+..\C--\C-- end.c
+@del end
+@rename end.com end
+@del warning.txt
+@pause
diff --git a/programs/cmm/new_end/end.c b/programs/cmm/end/end.c
similarity index 63%
rename from programs/cmm/new_end/end.c
rename to programs/cmm/end/end.c
index a320a266e0..10085df1e6 100644
--- a/programs/cmm/new_end/end.c
+++ b/programs/cmm/end/end.c
@@ -1,3 +1,4 @@
+#define MEMSIZE 0x3E80
#include "..\lib\kolibri.h"
#include "..\lib\figures.h"
#include "..\lib\strings.h"
@@ -38,19 +39,45 @@ dword stars_col[4]={0xD2CF19, 0x716900, 0x002041}; //0x005BFF -
+:void ShadowScreen(dword img, w, h)
+{
+ dword to = w*h*3 + img;
+ for ( ; img < to; img+=4) { ESDWORD[img] >>= 1; $and ESDWORD[img], 7F7F7F7Fh }
+ //for ( ; img < to; img+=4) { ESDWORD[img] >>= 2; $and ESDWORD[img], 3F3F3F3Fh }
+}
+
void main()
{
int key;
-
- pause(10);
-
+ dword s1,s2, s3, s4, sides_w;
+
+ mem_Init();
WIN_SIZE_X=GetScreenWidth()+1;
WIN_SIZE_Y=GetScreenHeight()+1;
-
PANEL_X=WIN_SIZE_X-PANEL_SIZE_X/2;
PANEL_Y=WIN_SIZE_Y-PANEL_SIZE_Y/2;
-
+
+ sides_w = WIN_SIZE_X-PANEL_SIZE_X/2;
+ s1 = mem_Alloc(WIN_SIZE_X*PANEL_Y*3);
+ s2 = mem_Alloc(sides_w*PANEL_Y*3);
+ s3 = mem_Alloc(sides_w*PANEL_Y*3);
+ s4 = mem_Alloc(WIN_SIZE_X*PANEL_Y*3);
+
+ CopyScreen(s1, 0, 0, WIN_SIZE_X, PANEL_Y);
+ ShadowScreen(s1, WIN_SIZE_X, PANEL_Y);
+
+ CopyScreen(s2, 0, PANEL_Y, sides_w, PANEL_SIZE_Y+1);
+ ShadowScreen(s2, sides_w, PANEL_SIZE_Y+1);
+
+ CopyScreen(s3, sides_w+PANEL_SIZE_X+1, PANEL_Y, sides_w-1, PANEL_SIZE_Y+1);
+ ShadowScreen(s3, sides_w, PANEL_SIZE_Y+1);
+
+ CopyScreen(s4, 0, PANEL_Y+PANEL_SIZE_Y+1, WIN_SIZE_X, PANEL_Y-1);
+ ShadowScreen(s4, WIN_SIZE_X, PANEL_Y-1);
+
+
+ goto _DRAW;
loop()
{
WaitEventTimeout(130);
@@ -76,39 +103,22 @@ void main()
break;
case evReDraw:
- draw_window();
+ sc.get();
+ DefineAndDrawWindow(0,0,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
+ //_PutImage(0,0,WIN_SIZE_X,WIN_SIZE_Y,shadow_buf);
+ _PutImage(0,0,WIN_SIZE_X, PANEL_Y,s1);
+ draw_main_area(PANEL_X, PANEL_Y, PANEL_SIZE_X, PANEL_SIZE_Y);
+ _PutImage(0,PANEL_Y,sides_w, PANEL_SIZE_Y+1,s2);
+ _PutImage(sides_w+PANEL_SIZE_X+1,PANEL_Y,sides_w-1, PANEL_SIZE_Y+1,s3);
+ _PutImage(0,PANEL_Y+PANEL_SIZE_Y+1,WIN_SIZE_X, PANEL_Y-1,s4);
break;
- default:
+ default: _DRAW:
draw_stars();
}
}
}
-
-void draw_window()
-{
- int x, y;
- sc.get();
-
- DefineAndDrawWindow(0,0,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
-
- draw_main_area(PANEL_X, PANEL_Y, PANEL_SIZE_X, PANEL_SIZE_Y);
-
- //draw grid
- for (y=0; yPANEL_Y) && (y0) strcat(#path, "/"); // , + "/"
+ }
+ else
+ strcpy(#path, "/rd/1/");
+
+ Open_Dir(#path,ONLY_OPEN);
+ loop() switch(WaitEvent())
+ {
+ case evMouse:
+ IF (del_active) break;
+
+ id=GetProcessSlot(Form.ID);
+ IF (id<>GetActiveProcess()) break; //
+
+ IF (rename_active) edit_box_mouse stdcall(#edit2);
+
+ m.get();
+
+ /*if (m.pkm) && (m.x > 192) && (m.y > 57) can_show = 1;
+ if (!m.pkm) && (can_show)
+ {
+ SwitchToAnotherThread();
+ CreateThread(#FileMenu,#stak2);
+ can_show = 0;
+ }*/
+
+ if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<57)
+ {
+ IF (m.lkm==1) DrawRectangle3D(onLeft(26,0),41,14,14,0xC7C7C7,0xFFFFFF);
+ WHILE (m.lkm==1) && (za_kadrom>0)
+ {
+ pause(10);
+ za_kadrom--;
+ List_ReDraw();
+ m.get();
+ }
+ DrawRectangle3D(onLeft(26,0),41,14,14,0xFFFFFF,0xC7C7C7);
+ }
+
+ if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y0)
+ {
+ if (za_kadrom>0) za_kadrom--;
+ if (curbtn0) za_kadrom--;
+ if (curbtn0) curbtn--;
+ List_ReDraw();
+ if (za_kadrom0) curbtn--;
+ List_ReDraw();
+ }
+ //
+ if (!m.lkm) && (scroll_used) { scroll_used=NULL; TVScroll(); }
+ if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && (m.ym.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //
+ id=za_kadrom; //
+ j= scroll_size/2;
+ za_kadrom = m.y -j -57 * count;
+ za_kadrom /= onTop(22,57);
+ IF (f_visible+za_kadrom>count) za_kadrom=count-f_visible;
+ IF (id<>za_kadrom) List_ReDraw(); //
+ }
+ break;
+//Button pressed-----------------------------------------------------------------------------
+ case evButton:
+ id=GetButtonID();
+ IF (id==1) ExitProcess();
+
+ IF (del_active)
+ {
+ IF (id==301) || (id==302) Del_File(302-id);
+ break;
+ }
+ switch(id)
+ {
+ case 21: //Back
+ GoBack();
+ break;
+ case 22: //Forward
+ if (HistoryPath(GO_FORWARD))
+ {
+ za_kadrom=curbtn=NULL; //
+ Open_Dir(#path,WITH_REDRAW);
+ }
+ break;
+ case 23: //up!
+ Dir_Up();
+ break;
+ case 24: //cut
+ key=24;
+ case 25: //copy
+ goto CTRLC_MARK;
+ case 26: //paste
+ Paste();
+ break;
+ case 31...33: //sort
+ IF(sort_num==1) DrawFilledBar(onLeft(192,168)/2+210,42,6,10);
+ IF(sort_num==2) DrawFilledBar(onLeft(115,0),42,6,10);
+ IF(sort_num==3) DrawFilledBar(onLeft(44,0),42,6,10);
+ sort_num=id-30;
+ Open_Dir(#path,1);
+ break;
+ case 30: //about
+ SwitchToAnotherThread();
+ CreateThread(#about_dialog,#stak1);
+ break;
+ case 77:
+ IF (show_actions==1) show_actions=0; ELSE show_actions=1;
+ DrawLeftPanel();
+ break;
+ case 78: //rescan devices
+ Tip(56, "Devices", 78, "-");
+ pause(10);
+ GetIni(1);
+ GetSystemDiscs();
+ Open_Dir(#path,WITH_REDRAW);
+ DrawLeftPanel();
+ break;
+ case 80: //rename
+ goto REN_MARK;
+ case 81: //Delete file
+ Del_Form();
+ break;
+ case 82: //create folder
+ NEW_FOLDER_MARK:
+ strcpy(#temp, #path);
+ strcat(#temp, "New folder");
+ CreateDir(#temp);
+ IF (!EAX){
+ SelectFile("New folder");
+ goto REN_MARK;
+ }
+ ELSE
+ {
+ Write_Error(EAX);
+ ShowMessage("Folder can not be created.");
+ }
+ break;
+ case 100...120:
+ DEVICE_MARK:
+ DrawRectangle3D(17,id-100*16+74,159,16, 0, 0); //
+ strcpy(#path, #disk_list[id-100].Item);
+ za_kadrom=curbtn=0;
+ Open_Dir(#path,1);
+ pause(5);
+ DrawRectangle3D(17,id-100*16+74,159,16, 0xFFFFFF, 0xFFFFFF);
+ break;
+ case 130...160:
+ tmp_disk_del_param[1]=disk_list[id-130].Item[4];
+ RunProgram("/sys/tmpdisk", #tmp_disk_del_param);
+ pause(10);
+ GetSystemDiscs();
+ Open_Dir(#path,WITH_REDRAW);
+ DrawLeftPanel();
+ break;
+ default:
+ if (id<200) break; //
+ if (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;}
+ else
+ {
+ OPEN_MARK:
+ if (!isdir)
+ {
+ GetIni(0);
+ }
+ else
+ {
+ if (!strcmp(#file_name,"..")) { Dir_Up(); break; }
+ OPEN_DEV:
+ strcpy(#path, #file_path);
+ IF (strcmp(#path+strlen(#path)-1,"/")<>0) strcat(#path,"/"); // , + "/"
+ za_kadrom=curbtn=0;
+ Open_Dir(#path,1);
+ }
+ }
+ }
+ break;
+//Key pressed-----------------------------------------------------------------------------
+ case evKey:
+ key = GetKey();
+ if (Form.status_window>2) break;
+ IF (del_active)
+ {
+ IF (key==013) Del_File(true);
+ IF (key==027) Del_File(false);
+ break;
+ }
+ IF (edit2.flags<>64) && (key<>13) && (key<>27)
+ {
+ EAX=key<<8;
+ edit_box_key stdcall (#edit2);
+ break;
+ }
+ switch (key)
+ {
+ case 209...217:
+ id=key-110;
+ IF (id-100>=disc_num) break;
+ GOTO DEVICE_MARK;
+ case 8: //
+ //GoBack();
+ Dir_Up();
+ break;
+ case 004: //Ctrl+D
+ strcpy(#temp, "\\S__");
+ strcat(#temp, #file_path);
+ RunProgram("/sys/media/kiv", #temp);
+ break;
+ case 014: //Ctrl+N
+ IF (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD);
+ RunProgram("/sys/File Managers/Eolite", #path);
+ break;
+ case 024: //Ctrl+X
+ case 003: //Ctrl+C
+ CTRLC_MARK:
+ IF (isdir) break; //
+ strcpy(#copy_file, #file_path); //
+ IF (key==24) cut_active=1; ELSE cut_active=0;
+ break;
+ case 022: //Ctrl+V
+ Paste();
+ break;
+ case 027: //Esc
+ IF (rename_active==1) ReName(false);
+ break;
+ case 013: //Enter
+ IF (rename_active==1) {ReName(true); break;}
+ GOTO OPEN_MARK;
+ break;
+ case 55: //F6 - new folder
+ goto NEW_FOLDER_MARK;
+ case 56: //IF (rename_active==1) break;//up
+ case 178: //up
+ FileList_ReDraw(-1);
+ break;
+ case 177: //down
+ FileList_ReDraw(1);
+ break;
+ case 180: //home
+ za_kadrom=0;
+ curbtn=0;
+ List_ReDraw();
+ break;
+ case 181: //end
+ za_kadrom=count-f_visible;
+ curbtn=f_visible-1;
+ List_ReDraw();
+ break;
+ case 183: //Page Down
+ FileList_ReDraw(f_visible-1);
+ break;
+ case 184: //Page Up
+ FileList_ReDraw(-f_visible+1);
+ break;
+ case 051: // F2
+ REN_MARK:
+ if (!count) break;
+ DeleteButton(curbtn+201); //
+ edit2.flags=66; //
+ edit2.width=onLeft(24,217);
+ edit2.top=curbtn*BUTTON_HEIGHT+59;
+ edit2.size=edit2.pos=strlen(#file_name);
+ edit_box_draw stdcall (#edit2);
+ DrawBar(213,curbtn*BUTTON_HEIGHT+58,edit2.width+1,1,0xFFFFCC); //
+ rename_active=1;
+ break;
+ case 052: // F3
+ IF (!isdir) RunProgram("/sys/tinypad", #file_path);
+ break;
+ case 053: // F4
+ IF (!isdir) RunProgram("/sys/develop/heed", #file_path);
+ break;
+ case 054: //F5
+ Open_Dir(#path,1);
+ break;
+ case 182: //delete file
+ Del_Form();
+ break;
+ default:
+ for (i=curbtn+za_kadrom+1; i2) break;
+ min_win_h = disc_num*16+195;
+ if (Form.height < min_win_h) MoveSize(OLD,OLD,OLD,min_win_h);
+ if (Form.width<480) MoveSize(OLD,OLD,480,OLD);
+ draw_window();
+ }
+}
+
+
+inline fastcall void draw_window()
+{
+ //toolbar buttons
+ PutPaletteImage(#toolbar,246,34,0,0,8,#toolbar_pal);
+ for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,col_work);
+ for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,col_work);
+ //
+ DrawBar(246,0,onLeft(246,60),12, col_work); //
+ DrawBar(246,29,onLeft(246,60),5,col_work); //
+ DrawRectangle3D(246,12,onLeft(66,246),16,col_border,col_border); //
+ DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about
+ PutPaletteImage(#goto_about,56,34,Form.width-65,0,8,#goto_about_pal);
+ //
+ DrawRectangle3D(1,40,Form.cwidth-3,onTop(46,0),col_border,col_border); //
+ DrawRectangle3D(0,39,Form.cwidth-1,onTop(44,0),col_palette[4],col_palette[4]); //
+ for (i=0; i<5; i++) DrawBar(0, 34+i, Form.cwidth, 1, col_palette[8-i]);
+ DrawLeftPanel();
+ //SortButtons
+ DrawFlatButton(192,40,onLeft(192,168),16,31,col_work,"File");
+ DrawFlatButton(onLeft(168,0),40,73,16,32,col_work,"Type");
+ DrawFlatButton(onLeft(95,0),40,68,16,33,col_work,"Size");
+ //
+ Open_Dir(#path,ONLY_SHOW);
+ //
+ DrawBar(onLeft(27,0),57,1,onTop(22,57),col_border); //
+ DrawFlatButton(onLeft(27,0),40,16,16,0,col_work,"\x18"); //
+ DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,col_work,"\x19");//
+ if (del_active) Del_Form();
+ DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about
+}
+
+
+void KEdit()
+{
+ PathShow.area_size_x = Form.cwidth-306;
+ DrawBar(PathShow.start_x-3, PathShow.start_y-4, PathShow.area_size_x+2, 15, 0xFFFfff);
+ PathShow_prepare stdcall(#PathShow);
+ PathShow_draw stdcall(#PathShow);
+}
+
+
+void FileList_ReDraw(int curbtn_)
+{
+ if (curbtn_<=0) //
+ {
+ IF (za_kadrom==0) && (curbtn<=0) return;
+ IF (-curbtn_-1curbtn_)
+ {
+ Line_ReDraw(0xFFFFFF, curbtn); //
+ curbtn+=curbtn_;
+ Line_ReDraw(col_selec, curbtn); //
+ return;
+ }
+ else
+ {
+ IF(za_kadrom+curbtn+curbtn_>=count)
+ {
+ za_kadrom=count-f_visible;
+ curbtn=curbtn_-za_kadrom+curbtn;
+ }
+ ELSE
+ {
+ za_kadrom+=curbtn_+curbtn-f_visible+1;
+ curbtn=f_visible-1;
+ }
+
+ IF (curbtn<0) || (curbtn>f_visible)
+ {
+ curbtn=f_visible-1;
+ }
+ List_ReDraw();
+ }
+ }
+}
+
+
+
+
+void List_ReDraw()
+{
+ int paint_x=f_visible*BUTTON_HEIGHT+57;
+ IF (count-za_kadromf_visible-1) //
+ { za_kadrom=count-f_visible; curbtn=f_visible-1; } //
+
+ FOR (j=0; jj) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(col_selec, curbtn);
+ DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //
+ DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),col_work); // 1
+ DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),col_work); // 2
+ TVScroll();
+}
+
+void Line_ReDraw(dword color, filenum){
+ dword text_col=0, name_len=0, y=filenum*BUTTON_HEIGHT+57; // Y
+ IF (rename_active==1) ReName(false);
+ DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //
+ //, ,
+ DrawBar(192,y,3,BUTTON_HEIGHT,color);
+ DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color);
+ if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color);
+ if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color);
+
+ off=file_mas[filenum+za_kadrom]*304 + buf+72;
+
+ if (!TestBit(ESDWORD[off-40], 4)) // ?
+ {
+ strcpy(#temp, off);
+ Put_icon(#temp+_strrchr(#temp,'.'), BUTTON_HEIGHT/2-7+y, color);
+ WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8])); //size
+ }
+ else
+ if (!strcmp("..",off))
+ Put_icon("..", BUTTON_HEIGHT/2-7+y, color);
+ else
+ Put_icon("", BUTTON_HEIGHT/2-7+y, color);
+
+ if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; // ?
+ if (color<>0xFFFfff)
+ {
+ isdir=TestBit(ESDWORD[off-40], 4);
+ strcpy(#file_name, off);
+ strcpy(#file_path, #path);
+ strcat(#file_path, #file_name); //
+ if (text_col==0xA6A6B7) text_col=0xFFFFFF;
+ }
+ FileShow.font_color = text_col;
+ FileShow.area_size_x = Form.width - 380;
+ FileShow.text_pointer = off;
+ FileShow.start_y = BUTTON_HEIGHT/2-3+y;
+ PathShow_prepare stdcall(#FileShow);
+ PathShow_draw stdcall(#FileShow);
+
+ DrawBar(onLeft(168,0),y,1,BUTTON_HEIGHT,col_work); // 1
+ DrawBar(onLeft(95,0),y,1,BUTTON_HEIGHT,col_work); // 2
+}
+
+
+void Open_Dir(dword temp_, redraw){
+ int errornum, max_count;
+ char path_[4096],
+ somelen=strlen(temp_)-1;
+
+ if (redraw<>ONLY_SHOW)
+ {
+ strcpy(#path_, temp_);
+ if (somelen) path_[somelen]=NULL;
+
+ if (buf) free(buf);
+ buf = malloc(32);
+ errornum=ReadDir(0, buf, #path_);
+ if (errornum<>0) //
+ {
+ HistoryPath(ADD_NEW_PATH);
+ GoBack();
+ Write_Error(errornum);
+ return;
+ }
+ count = ESDWORD[buf+8];
+ buf = realloc(buf, count * 304 + 32);
+ ReadDir(count, buf, #path_);
+ count=EBX;
+ max_count = sizeof(file_mas)/sizeof(dword)-1;
+ if (count>max_count) count=max_count;
+
+ }
+ if (count<>-1)
+ {
+ KEdit();
+ HistoryPath(ADD_NEW_PATH);
+ IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} // "."
+ FOR (j=0;jONLY_SHOW) Sorting(); //
+ IF (redraw<>ONLY_OPEN) List_ReDraw();
+ }
+ IF (count==-1) && (redraw<>ONLY_OPEN) {f_visible=count=0; List_ReDraw();}
+}
+
+
+
+inline Sorting()
+{
+ dword k=0, l=1;
+ int i;
+ if (!strcmp(#path,"/")) // "/"
+ {
+ FOR(k=1;k=0; j--, off-=304;) // ,
+ {
+ strttl(off+40);
+ if (TestBit(ESDWORD[off],4)) //?
+ {
+ file_mas[k]=j;
+ k++;
+ }
+ else
+ {
+ file_mas[count-l]=j;
+ l++;
+ }
+ }
+ // : ,
+ Sort_by_Name(0,k-1);
+ IF (sort_num==1) Sort_by_Name(k,count-1);
+ IF (sort_num==2) Sort_by_Type(k,count-1);
+ IF (sort_num==3) Sort_by_Size(k,count-1);
+ // ".." ,
+ IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]>0)
+ {
+ Write_Error(del_file_rez);
+ IF ( isdir) ShowMessage("Error. Folder isn't empty.");
+ IF (!isdir) ShowMessage("Error. Filesystem read-only.");
+ }
+ }
+ del_active=0;
+ DeleteButton(301); DeleteButton(302); // Yes/No
+ Open_Dir(#path,1);
+}
+
+void Paste()
+{
+ char new_copy_path[4096];
+ int copy_rezult;
+
+ IF (!copy_file) return; //,
+ strcpy(#new_copy_path, #path);
+ strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/'));
+ if (!strcmp(#copy_file,#new_copy_path)) //
+ {
+ strcpy(#new_copy_path, #path);
+ strcat(#new_copy_path, "new_");
+ strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/'));
+ }
+ copy_rezult=CopyFile(#copy_file,#new_copy_path);
+ IF (copy_rezult<>0) //
+ {
+ Write_Error(copy_rezult);
+ DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here.");
+ pause(150);
+ }
+ IF (cut_active) //
+ {
+ strcpy(#file_path, #copy_file);
+ Del_File(true);
+ copy_file=NULL;
+ cut_active=false;
+ }
+ SelectFile(#new_copy_path+strrchr(#new_copy_path,'/'));
+}
+
+
+void ReName(byte rename)
+{
+ int del_file_rez;
+ char edit_name[256];
+ rename_active=0;
+ edit2.flags=64;
+ DefineButton(192,curbtn*BUTTON_HEIGHT+57,onLeft(27,192),BUTTON_HEIGHT,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF);
+ if (rename==true)
+ {
+ strcpy(#temp, #path);
+ strcpy(#edit_name, #file_name); // , ,
+ strcat(#temp, #file_name);
+ if (strcmp(#file_path,#temp)<>0) && (file_name)
+ IF (isdir)
+ {
+ del_file_rez = DeleteFile(#file_path);
+ IF (del_file_rez<>0)
+ {
+ Write_Error(del_file_rez);
+ ShowMessage("Error. Folder isn't empty.");
+ return;
+ }
+ ELSE CreateDir(#temp);
+ Open_Dir(#path,1);
+ }
+ ELSE
+ {
+ CopyFile(#file_path,#temp);
+ Del_File(true);
+ }
+ SelectFile(#edit_name);
+ }
+ Line_ReDraw(col_selec,curbtn);
+}
+
+
+void SelectFile(dword that_file)
+{
+ za_kadrom=curbtn=0; //
+ Open_Dir(#path,ONLY_OPEN);
+ strttl(that_file);
+ for (i=count-1; i>=0; i--;)
+ if (!strcmp(file_mas[i]*304+buf+72,that_file)) break;
+ FileList_ReDraw(i);
+ List_ReDraw();
+}
+
+
+void Dir_Up()
+{
+ char cur_folder[4096];
+ i=strlen(#path)-1;
+ if (i==0) return;
+ path[i]=0x00;
+ i = strrchr(#path, '/');
+ strcpy(#cur_folder, #path+i);
+ path[i]=0x00;
+ SelectFile(#cur_folder);
+}
+
+
+inline fastcall void GoBack() // , ,
+{
+ char cur_folder[4096];
+ strcpy(#cur_folder, GetCurrentFolder());
+ if (HistoryPath(GO_BACK)) SelectFile(#cur_folder);
+}
+
+stop:
+
+char stak1[100];
+char stak2[100];
\ No newline at end of file
diff --git a/programs/cmm/eolite/compile.bat b/programs/cmm/eolite/compile.bat
new file mode 100644
index 0000000000..6cfad3bd3a
--- /dev/null
+++ b/programs/cmm/eolite/compile.bat
@@ -0,0 +1,5 @@
+@del Eolite
+..\C--\c-- Eolite.c /lst
+@rename Eolite.com Eolite
+@del warning.txt
+@pause
\ No newline at end of file
diff --git a/programs/cmm/eolite/imgs/actions.raw b/programs/cmm/eolite/imgs/actions.raw
new file mode 100644
index 0000000000..7b958bb240
Binary files /dev/null and b/programs/cmm/eolite/imgs/actions.raw differ
diff --git a/programs/cmm/eolite/imgs/blue_hl8.raw b/programs/cmm/eolite/imgs/blue_hl8.raw
new file mode 100644
index 0000000000..c0f0d8aaba
Binary files /dev/null and b/programs/cmm/eolite/imgs/blue_hl8.raw differ
diff --git a/programs/cmm/eolite/imgs/dev.raw b/programs/cmm/eolite/imgs/dev.raw
new file mode 100644
index 0000000000..05192415d0
Binary files /dev/null and b/programs/cmm/eolite/imgs/dev.raw differ
diff --git a/programs/cmm/eolite/imgs/goto_about.raw b/programs/cmm/eolite/imgs/goto_about.raw
new file mode 100644
index 0000000000..5a6b23e435
Binary files /dev/null and b/programs/cmm/eolite/imgs/goto_about.raw differ
diff --git a/programs/cmm/eolite/imgs/icons.raw b/programs/cmm/eolite/imgs/icons.raw
new file mode 100644
index 0000000000..e17c8710bb
Binary files /dev/null and b/programs/cmm/eolite/imgs/icons.raw differ
diff --git a/programs/cmm/eolite/imgs/icons.txt b/programs/cmm/eolite/imgs/icons.txt
new file mode 100644
index 0000000000..bc007e3e67
--- /dev/null
+++ b/programs/cmm/eolite/imgs/icons.txt
@@ -0,0 +1,7 @@
+/////////////////////////
+// //
+/////////////////////////
+
+dword ficons_pal[] = {0x00FFFFFF,0x00606078,0x00D0D0D8,0x008888A8,0x00F8F8F8,0x009098B0,0x00E0E0E0,0x00A0A0B8,0x00F0F0F8,0x00A8A8C0,0x007880A0,0x00E8E8F0,0x00C8C8D0,0x00C8C8C8,0x00F0F8FF,0x00E0E0E8,0x00D8D8E0,0x00F8F8FF,0x00C8C8D8,0x00FFB898,0x008080A0,0x00C0C0C8,0x00FFA078,0x00586080,0x005878A8,0x006880A0,0x00D0D8E0,0x0080A0C0,0x00586078,0x00E0E8F0,0x008898B8,0x00B8C0D8,0x00D8E8F0,0x00D8F0FF,0x007088A8,0x00A8B0C0,0x007890B0,0x00C8E8F8,0x00F8F8F0,0x00E0E8E8,0x00D0D8D8,0x00C0C8E0,0x0080A0E0,0x007098C8,0x006090C8,0x005888C0,0x00A8B0C8,0x00A87868,0x00604840,0x00786038,0x00705028,0x00685048,0x00FFF8B8,0x00B89848,0x00F8E070,0x00C0A850,0x00F8D858,0x00A09880,0x00F8C050,0x00F0B848,0x00E0A850,0x00986860,0x00583830,0x00707898,0x0068C0D8,0x00B0E0F8,0x0070B8E0,0x00F8FFFF,0x00A0C8F0,0x00000000,0x00F84050,0x0048D040,0x000078B8,0x00F8C048,0x00A06858,0x00FFE898,0x00989070,0x00F8B840,0x00FFF8F0,0x00C0B8A8,0x00D8B040,0x00788088,0x00E8F0F0,0x00C08830,0x00584840,0x00A85800,0x00FFE8A8,0x00A86818,0x00F0F0D8,0x00F8C830,0x00F0B828,0x00381010,0x00D8A028,0x00B0C8E0,0x0078A0D0,0x0098B8E8,0x0088A8D0,0x0098B8E0,0x003070B8,0x00A0C8E8,0x005090C8,0x004888C0,0x003078C0,0x00B8D0E8,0x002068A8,0x0088B0E0,0x0080B0D8,0x0090B8E0,0x002068B0,0x00B8D0F0,0x002060A8,0x0070A0C8,0x002868B0,0x002870B0,0x002868A8,0x00687088,0x00E89090,0x00D09898,0x00909088,0x00C88080,0x00B87820,0x00B86818,0x00E8C068,0x00885810,0x00D09850,0x00B07028,0x00F0D8B0,0x00A87028,0x00B05800,0x00885028,0x00C89048,0x00C89038,0x00985000,0x00E8D8B0,0x00C89810,0x00FFF8D8,0x00FFFFC8,0x00F8E8A8,0x00F8E098,0x00FFE8C0,0x00F8D888,0x00F8D880,0x00F0D078,0x00D8A020,0x0088E068,0x00209018,0x00A87800,0x00188000,0x00A0D868,0x00309018,0x00C8F8A0,0x00289018,0x00608818,0x0050A830,0x0030A028,0x00A8F068,0x00808000,0x0088C840,0x0070C848,0x00D8C070,0x0080C840,0x00C0B850,0x00F8E0A0,0x00F8E090,0x00D8E0F8,0x0098D0D0,0x0038A878,0x0058A890,0x00309068,0x00308880,0x00105870,0x002890B8,0x00186880,0x00105058,0x0048A8C8,0x001098D8,0x0078B8E0,0x002098C8,0x002898C8,0x0058C8FF,0x002088B8,0x0030A0D8,0x00C84048,0x002078B0,0x0030A8D8,0x00808080,0x00407888,0x0040A060,0x0080B820,0x00A02828,0x00F86068,0x00E02040,0x00E01828,0x00A8A8A8,0x00B8B8C0,0x00787878,0x00407828,0x00406040,0x007898C8,0x00E85878,0x00E04870,0x000098E0,0x0008A8F8,0x00D85868,0x00E86080,0x00E88098,0x00E888A0,0x00888888,0x00E8E8E8,0x00A0A0A0,0x00F0E0B8,0x00FFD850,0x00B8B8C8,0x00606080,0x00FFC818,0x00505870,0x00D8D0D8,0x0098C8F0,0x00606880,0x00405068,0x00303840,0x00FF0000,0x00F8C8C8};
+
+unsigned char ficons[6240] = FROM "imgs\icons.raw";
\ No newline at end of file
diff --git a/programs/cmm/eolite/imgs/left_p.txt b/programs/cmm/eolite/imgs/left_p.txt
new file mode 100644
index 0000000000..ddd99f3ff6
--- /dev/null
+++ b/programs/cmm/eolite/imgs/left_p.txt
@@ -0,0 +1,59 @@
+unsigned char blue_hl[190*268]= FROM "imgs\blue_hl8.raw";
+
+dword blue_hl_pal[]= {0x0001699C,0x0000699C,0x00026A9C,0x0002699C,
+0x00036A9C,0x00046B9C,0x00046A9C,0x00056B9D,0x00046B9D,0x00066C9D,
+0x00066C9E,0x00056C9D,0x00076D9E,0x00086E9F,0x00066D9E,0x00086D9E,
+0x00096E9F,0x00076C9E,0x000A6FA0,0x000B6FA0,0x000A6E9F,0x000B70A1,
+0x00096F9F,0x000A6F9F,0x000C70A1,0x000B70A0,0x000D71A1,0x000C71A1,
+0x000D71A2,0x000E71A2,0x00086D9F,0x000F72A2,0x000E72A2,0x001072A2,
+0x001172A2,0x000C70A0,0x001273A2,0x001373A2,0x001374A2,0x001474A3,
+0x001475A3,0x001474A2,0x001272A2,0x001575A3,0x001676A4,0x001576A3,
+0x001576A4,0x001777A4,0x001777A5,0x001878A5,0x001877A5,0x001776A4,
+0x001675A3,0x001978A6,0x001978A5,0x001A78A6,0x001B78A6,0x001676A3,
+0x000D70A1,0x001A77A6,0x001977A5,0x001977A6,0x001876A4,0x001876A5,
+0x001776A5,0x001675A4,0x001775A4,0x001574A3,0x001574A2,0x001473A2,
+0x000E71A1,0x001775A3,0x001674A3,0x001A79A6,0x001B79A7,0x001B79A6,
+0x001A78A5,0x001C7AA7,0x001C79A7,0x001A77A5,0x001D7AA8,0x001D7AA7,
+0x001173A2,0x001E7BA8,0x001D7BA8,0x001977A4,0x001F7CA8,0x001F7BA8,
+0x001E7AA8,0x001C79A6,0x001575A4,0x00207CA8,0x001E7AA7,0x001D79A7,
+0x001976A4,0x00217CA8,0x00227CA8,0x00207BA8,0x001976A5,0x001473A3,0};
+
+unsigned char devices[14*78]= FROM "imgs\dev.raw";
+
+unsigned char factions[16*44] = FROM "imgs\actions.raw";
+
+unsigned char logo[7225] = FROM "imgs\logo8b.raw";
+
+dword logo_pal[]= {0x8096C0,0x7D93BC,0x7D76B0,0x8094BE,0x7C83B3,0x7D0C82,
+0x7B73AC,0x7B90B7,0x7D7AB0,0x8C1B8C,0x74378B,0x7488AE,0x7C8EB8,0x846BAB,
+0xAF63B0,0x821C89,0x697A9C,0x768AB1,0x8B66A9,0xBF80BF,0x993399,0x6B5C90,
+0x975EA9,0xC48BC4,0xA955A9,0x72438B,0x7083A7,0x798DB5,0xA45CAA,0xC993C9,
+0xB164B1,0x793A8C,0x8185B5,0xB46CB5,0xC791C7,0xB873B8,0x84328F,0x7D54A0,
+0x840B84,0x82238B,0x7C539D,0x8A4C9F,0x8C3B95,0x637393,0x824399,0x9D409D,
+0x942B94,0x83288E,0x7B599E,0x833C94,0xA043A0,0x8B4194,0xA264AA,0xAC5BAC,
+0x9C3B9C,0x7982AE,0x861588,0xBC7BBC,0x7E4C90,0xAC6AB0,0xC083C0,0x7F4199,
+0xA650A6,0x68628B,0x7D73A6,0xB670B7,0x95449A,0x7D6BAA,0x953195,0x8B5C9B,
+0x60708E,0x8E519F,0x835598,0x7E65A9,0x7E2D91,0x7D5AA2,0x64648A,0xAD61AE,
+0x8B3594,0x8D218E,0x796BA5,0x902390,0x735B90,0x7384AA,0x756294,0xA752A8,
+0x76669F,0x8C2A91,0x965DA1,0x5D6C89,0x6C7EA2,0x8175AF,0x7474A5,0xB773B8,
+0x6E80A4,0x9254A2,0x814D9B,0x6B6B98,0x832F91,0x9F60A7,0x8D419A,0x6B6992,
+0x933A9A,0x8089B6,0x9C52A3,0x696492,0xA44AA4,0x606A8B,0x666690,0x75689F,
+0x79498E,0x7D3492,0x8C2791,0x795390,0x71709C,0x964E9D,0x7E1E89,0x7B2A8B,
+0x95539E,0x9C4A9B,0x645B88,0x7C4C9C,0x8E5FA8,0x891489,0x7D238B,0x824D95,
+0x963398,0x6B5A8A,0x774B94,0x810481,0x7A7CAE,0x7C2386,0x814494,0x753B89,
+0x861186,0x6F3C85,0x7C3D94,0x782D86,0x5C6B87,0x7C63A5,0x685187,0x6B5089,
+0xA4499B,0xB9656E,0xC77647,0xD08131,0xD1842C,0x8060A3,0xAB528D,0xCA7937,
+0xDE9408,0xE19808,0xE3A01C,0xE6AB36,0xE4A426,0xE29D14,0x655785,0x745A9A,
+0xBC6655,0xE6AE42,0x705593,0x717AA4,0x843291,0x7B308E,0xA34285,0x694B86,
+0x7F0280,0x7667A0,0x743484,0x615A85,0x7478A8,0x676892,0x703C86,0x9A3290,
+0x862186,0x6E5491,0x6F3E89,0xAD5066,0x764F98,0xC06947,0xCE8031,0x6F75A1,
+0xE3DEE0,0xE1DCDE,0xDAD5D7,0xC0ABBD,0x7F027F,0xBF6948,0x914490,0xCAC5C8,
+0xB38CB1,0xAA4964,0xE8B247,0xA887A6,0xD4CDD1,0xB089AE,0x8E1C84,0xE09F26,
+0xEAB855,0x8B328B,0xB7A9B5,0xD1CBCE,0xA677A5,0x8C2C8B,0x942577,0xC6BAC4,
+0xC1BABE,0xB09BAD,0x966695,0x883387,0x978495,0x987997,0x8D458D,0x985A97,
+0xB88AB6,0xAD6EAB,0x9D5C9C,0xCC8048,0x90468F,0xBAB5B7,0x851B85,0xA86AA6,
+0xC09EBE,0x943A94,0x882387,0x9E519D,0xBB96B9,0x8D3B8C,0x924C91,0x9A327D,
+0xC77C59,0xB0AAAD,0x872887,0xA599A3,0xB682B4,0xA0869E,0x935292,0x922488,
+0xB1576D,0xD49256,0x8F558E,0xAAA5A7,0xC39BC1,0xC6A8C4,0xA763A5,0xB47CB3,
+0x925A91,0x90578F,0xA09B9D,0xA06F9F,0x9E949C,0xB077AE,0xA66EA5,0xA75FA5,
+0xB98EB8};
\ No newline at end of file
diff --git a/programs/cmm/eolite/imgs/logo8b.raw b/programs/cmm/eolite/imgs/logo8b.raw
new file mode 100644
index 0000000000..00b6c9667a
Binary files /dev/null and b/programs/cmm/eolite/imgs/logo8b.raw differ
diff --git a/programs/cmm/eolite/imgs/png/Eolite-Sun.png b/programs/cmm/eolite/imgs/png/Eolite-Sun.png
new file mode 100644
index 0000000000..395ef93abc
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/Eolite-Sun.png differ
diff --git a/programs/cmm/eolite/imgs/png/blue_hl81.png b/programs/cmm/eolite/imgs/png/blue_hl81.png
new file mode 100644
index 0000000000..e1751b7cbb
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/blue_hl81.png differ
diff --git a/programs/cmm/eolite/imgs/png/dev.png b/programs/cmm/eolite/imgs/png/dev.png
new file mode 100644
index 0000000000..6553f4c80b
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/dev.png differ
diff --git a/programs/cmm/eolite/imgs/png/file_actions.png b/programs/cmm/eolite/imgs/png/file_actions.png
new file mode 100644
index 0000000000..d3c20f2421
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/file_actions.png differ
diff --git a/programs/cmm/eolite/imgs/png/icons.png b/programs/cmm/eolite/imgs/png/icons.png
new file mode 100644
index 0000000000..b0d42b1d91
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/icons.png differ
diff --git a/programs/cmm/eolite/imgs/png/rb.png b/programs/cmm/eolite/imgs/png/rb.png
new file mode 100644
index 0000000000..1619cd6db3
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/rb.png differ
diff --git a/programs/cmm/eolite/imgs/png/toolbar.png b/programs/cmm/eolite/imgs/png/toolbar.png
new file mode 100644
index 0000000000..8352ad2173
Binary files /dev/null and b/programs/cmm/eolite/imgs/png/toolbar.png differ
diff --git a/programs/cmm/eolite/imgs/toolbar.txt b/programs/cmm/eolite/imgs/toolbar.txt
new file mode 100644
index 0000000000..c93e11a6ad
--- /dev/null
+++ b/programs/cmm/eolite/imgs/toolbar.txt
@@ -0,0 +1,537 @@
+//
+
+// , , , , , .
+
+
+dword toolbar_pal [] = {0xE4DFE0,0xDFE0E6,0x7EA4B6,0xD9DBD8,0x78A446,0x6E6C6E,0x898989,0xBDD0D9,0xFBFCFC,0xFDFDFD,0xCECEC4,0xF9FFF9,0xFFFFFF,0xCCD1D7,0xD2D2D3,0xDED8DA,0x78684B,0x73561E,0x83611E,0xF6F8F5,0x5C90A3,0xC3C9CB,0x8E9A9F,0x8E9CA0,0x909EA3,0x94A2A7,0x96A4A9,0x98A6AB,0x99A9AD,0x9CABB0,0x9CACB0,0x93A1A6,0x688935,0x9B9B89,0x9CA489,0x9CA494,0xA7A997,0xA3AB9B,0xABB49C,0x9AB4C8,0xEEEBEE,0x777577,0xBB9447,0xF8EEC1,0xEEF1F2,0xF0F3E7,0xF8F8F0,0x8F8C8D,0xE5E5E5,0x8A888A,0xF8F7D7,0xF8EBB8,0xE6EBEE,0xE6ECEF,0x888587,0xEDEDED,0xADABAD,0x9F9D9F,0xF7F2CD,0x5A5A5A,0xF1DDB5,0x8098A2,0xDCE4E7,0xE0E7EA,0x7F97A1,0x93A381,0xEBEFE0,0xAAA7A8,0x878686,0xF0DBAE,0x74929D,0xC4D3D8,0xD1DBE0,0xD2DDE2,0xD3DFE4,0xD1DBDE,0xD0D5D9,0x879973,0xE2E7D3,0xE6F0E6,0xD0CFD0,0xEFD7A6,0x78878F,0xCAD7DC,0xCBD8DE,0xCCD8DE,0xC2D2D8,0x9AB7C3,0x76868E,0xC8CED2,0xCAD0D3,0x819C79,0xDBE3C9,0x69892D,0xF8E5A9,0xEED198,0x3A768D,0xBBCCD2,0x91B0BD,0x34718A,0xCCD7B5,0xF8E09B,0x3B788F,0x96B6C4,0x97B8C6,0x98B9C6,0x97BAC8,0x8AACBA,0xB6CDD6,0x9CB6C0,0x96B6C2,0xB6C694,0xB4C49C,0xECCB87,0x89AEBC,0x89B0BE,0x8BB1C0,0x6C9BAE,0x718935,0xABBC89,0xACC48B,0xD7DFC5,0xF9D993,0x286580,0x7BA5B5,0x7EA8B9,0x6295A9,0x6192A5,0x26637D,0x578124,0xA3B47A,0xA3BE7A,0xD8E4CB,0xF8D586,0xE9C375,0x1C556D,0x6F9CAE,0x709EB1,0xB4C8D0,0x447992,0x476813,0x91A868,0x9AB470,0x9F9F9F,0xF8D17C,0x846320,0x568FA4,0x5690A7,0x306E85,0x95B3BE,0x2C7691,0x568DA3,0x88A350,0xEBEBEB,0xF7CE72,0xE6BD69,0x1C5670,0x458295,0x458398,0x4987A0,0x2A647B,0x427B91,0x3A6E85,0x457114,0x78953E,0x729B42,0xE3DEE0,0x7C8A9D,0x627B97,0x5A7796,0xC4C4C4,0x999999,0xF7C965,0xE4B558,0x417C8F,0x286379,0x327087,0x2C637D,0xC5D7B5,0x88BBEE,0x77AADD,0x2C7290,0x266882,0x2C697E,0x1E5D79,0x1C5A75,0x618425,0x648622,0x5380AE,0x406994,0x3E6791,0x6699CC,0x2D7A96,0x2D7994,0x276C85,0x256780,0x25647D,0x2A6C89,0x608224,0x5F8124,0x748397,0x84B7EA,0x507EAC,0x9097A2,0x2A6F8C,0x307D9B,0x29738F,0x266B84,0x2E7695,0x2D7492,0x2F7D98,0x546D8D,0x81B4E7,0x3F6892,0xF6C45C,0x286883,0x7CAFE2,0x456388,0x296C88,0x30809C,0x2F7998,0x608A24,0x688A24,0xF0F0E6,0x286985,0x6B8E24,0x78ABDE,0x70A1D5,0x5F92C5,0x1B546C,0x6C9ED1,0xDFB154,0x21566E,0x46701C,0xBE9134,0xBAC1C6,0x225870,0x205F7A,0x20617E,0x225770,0xC5C5BD,0x50771C,0x507114,0x4F7A13,0x57791C,0x58793D};
+
+unsigned char toolbar[8364] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x0A, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0B, 0x0A, 0x04, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x10, 0x11,
+ 0x12, 0x12, 0x06, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x06, 0x12, 0x12, 0x11,
+ 0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0x15, 0x16, 0x17, 0x18,
+ 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1D, 0x1C, 0x1C, 0x1B,
+ 0x1A, 0x1F, 0x18, 0x17, 0x16, 0x15, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
+ 0x08, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E,
+ 0x1E, 0x1D, 0x1C, 0x1C, 0x1B, 0x1A, 0x1F, 0x18, 0x17, 0x16, 0x15, 0x08, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0B, 0x0A, 0x21, 0x22, 0x23, 0x24, 0x24, 0x25, 0x25,
+ 0x24, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x24, 0x25, 0x25, 0x24, 0x24, 0x23, 0x22,
+ 0x21, 0x0A, 0x0B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x29,
+ 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x2A, 0x2B, 0x2B, 0x06, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
+ 0x13, 0x13, 0x13, 0x06, 0x2B, 0x2B, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0x09, 0x16, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C,
+ 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x16, 0x09, 0x14, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x16, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C,
+ 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C,
+ 0x16, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x21, 0x2D,
+ 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E,
+ 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2D, 0x21, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x2F, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2B, 0x32, 0x06, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x06, 0x32, 0x33, 0x11, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x17, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
+ 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
+ 0x35, 0x17, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x17, 0x35, 0x35,
+ 0x35, 0x35, 0x34, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
+ 0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x17, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x20, 0x0C, 0x22, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
+ 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x22, 0x0C, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x36, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x39, 0x31, 0x29, 0x05, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
+ 0x2B, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B,
+ 0x3B, 0x3A, 0x3C, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x3D, 0x3E,
+ 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F,
+ 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x40, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x14, 0x09, 0x40, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E,
+ 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3D, 0x09, 0x14, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x41, 0x42, 0x42, 0x42, 0x42, 0x42,
+ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x04, 0x04, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
+ 0x42, 0x42, 0x42, 0x41, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x2F,
+ 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37,
+ 0x44, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, 0x05, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
+ 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x45, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x14, 0x09, 0x46, 0x47, 0x48, 0x49, 0x49, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A,
+ 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x49, 0x48, 0x4B, 0x47, 0x46, 0x09, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x46, 0x4C, 0x4B, 0x48, 0x49, 0x49, 0x4A,
+ 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x49,
+ 0x48, 0x4C, 0x46, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C,
+ 0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x04, 0x4F, 0x4F, 0x04, 0x4E,
+ 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4D, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x29, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2B, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x51, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x52, 0x47, 0x47, 0x47, 0x53, 0x54,
+ 0x55, 0x54, 0x54, 0x56, 0x57, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x55, 0x55, 0x54, 0x53, 0x53,
+ 0x47, 0x47, 0x47, 0x58, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x58,
+ 0x59, 0x5A, 0x53, 0x53, 0x53, 0x54, 0x55, 0x55, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x57, 0x56,
+ 0x54, 0x54, 0x55, 0x54, 0x53, 0x5A, 0x5A, 0x59, 0x52, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x5B, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C,
+ 0x5D, 0x4F, 0x0C, 0x0C, 0x4F, 0x5D, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5B,
+ 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x30, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x28, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28,
+ 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E,
+ 0x5E, 0x5E, 0x5E, 0x5E, 0x5F, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09,
+ 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, 0x63, 0x63, 0x61, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x14, 0x09, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
+ 0x61, 0x61, 0x61, 0x61, 0x63, 0x63, 0x62, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x09,
+ 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x20, 0x64, 0x64, 0x64,
+ 0x64, 0x64, 0x64, 0x64, 0x64, 0x5D, 0x4F, 0x0C, 0x0C, 0x0C, 0x0C, 0x4F, 0x5D, 0x64, 0x64, 0x64,
+ 0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x50,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
+ 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x39, 0x31, 0x29, 0x05,
+ 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E,
+ 0x05, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x65, 0x5F, 0x12, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x66, 0x67, 0x68, 0x68, 0x69, 0x6A, 0x6A, 0x6B, 0x63, 0x6C,
+ 0x63, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x67, 0x6E, 0x60,
+ 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x60, 0x6E, 0x67, 0x6D, 0x6D,
+ 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x63, 0x6C, 0x63, 0x6B, 0x6A, 0x6A,
+ 0x69, 0x68, 0x68, 0x67, 0x66, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x0C, 0x20, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x5D, 0x4F, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x4F, 0x5D, 0x70, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x20, 0x0C, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x29, 0x28, 0x0E, 0x05, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65,
+ 0x71, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x66, 0x72, 0x73, 0x74,
+ 0x74, 0x74, 0x75, 0x63, 0x6C, 0x09, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
+ 0x63, 0x63, 0x6D, 0x72, 0x72, 0x60, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
+ 0x09, 0x60, 0x72, 0x72, 0x6D, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
+ 0x63, 0x09, 0x6C, 0x63, 0x75, 0x74, 0x74, 0x74, 0x73, 0x72, 0x66, 0x09, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x76, 0x77, 0x77, 0x78, 0x78, 0x78, 0x78, 0x5D,
+ 0x79, 0x79, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x79, 0x79, 0x5D, 0x78, 0x78, 0x78, 0x78, 0x77,
+ 0x77, 0x76, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
+ 0x28, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x0E, 0x05, 0x7A,
+ 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x71, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0x09, 0x7B, 0x7C, 0x02, 0x7D, 0x7D, 0x7E, 0x63, 0x6C, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x49, 0x63, 0x7F, 0x7C, 0x7C, 0x80, 0x09, 0x14, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x80, 0x7C, 0x7C, 0x7F, 0x63, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x6C, 0x63, 0x7E, 0x7D, 0x7D, 0x02, 0x7C,
+ 0x7B, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x81, 0x82,
+ 0x82, 0x83, 0x83, 0x83, 0x83, 0x04, 0x5D, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x5D,
+ 0x04, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x81, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x05, 0x37, 0x50, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28,
+ 0x39, 0x31, 0x29, 0x05, 0x05, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x86, 0x12, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x88, 0x89, 0x89, 0x14, 0x63, 0x6C, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x8A, 0x63, 0x8B, 0x88,
+ 0x88, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x88, 0x88,
+ 0x8B, 0x63, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x6C, 0x63, 0x14, 0x89, 0x89, 0x88, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x20, 0x0C, 0x8C, 0x8D, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x5D, 0x84, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8D, 0x8C, 0x0C, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x50, 0x37, 0x8F, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x90, 0x90, 0x90, 0x90, 0x90,
+ 0x90, 0x90, 0x86, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x7E,
+ 0x92, 0x93, 0x94, 0x95, 0x49, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x8A, 0x63, 0x96, 0x97, 0x7F, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x14, 0x09, 0x87, 0x7F, 0x97, 0x96, 0x63, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x49, 0x95, 0x94, 0x93, 0x92, 0x7E, 0x87, 0x09, 0x14, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0x8D, 0x98, 0x98, 0x98, 0x98,
+ 0x98, 0x98, 0x98, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x98, 0x98, 0x98, 0x98, 0x98,
+ 0x98, 0x98, 0x8D, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x99, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38,
+ 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
+ 0x05, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9B, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x14, 0x09, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0x8A, 0x34, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x8A, 0xA2, 0x96, 0x8B, 0x8B, 0x87, 0x09, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x8B, 0x8B, 0x96, 0xA2, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x34, 0x8A, 0xA1, 0xA0, 0x9F,
+ 0x9E, 0x9D, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C,
+ 0xA3, 0xA4, 0xA4, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84,
+ 0x5D, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA7, 0xA8, 0xA9, 0xA9, 0xA9, 0xA9, 0xAA, 0xAB, 0x37, 0x0E,
+ 0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA7, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAD, 0x91,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0xAE, 0xAE, 0xAE, 0x7B, 0xAF,
+ 0xB0, 0x8A, 0x34, 0x09, 0x49, 0x49, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0xB1,
+ 0x96, 0x8B, 0x96, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87,
+ 0x96, 0x8B, 0x96, 0xB1, 0x09, 0x49, 0x49, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x09,
+ 0x34, 0x8A, 0xB0, 0xAF, 0x7B, 0xAE, 0xAE, 0xAE, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x81,
+ 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0xA3,
+ 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA9, 0xB3, 0xB3, 0xB3, 0xB3,
+ 0xB3, 0xB3, 0xB4, 0x05, 0x05, 0xB4, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xA9, 0x00, 0xA6, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28,
+ 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0xAC, 0xAC, 0x9A,
+ 0x85, 0x85, 0x7A, 0x85, 0x9B, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09,
+ 0x9C, 0x63, 0x96, 0x96, 0xB5, 0xB6, 0xA0, 0xB7, 0x8A, 0x49, 0xB8, 0xB8, 0xB9, 0xB9, 0xB9, 0xB9,
+ 0xB9, 0xB8, 0xB9, 0xB9, 0xB9, 0xB9, 0x96, 0x96, 0x96, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x96, 0x96, 0x96, 0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB9, 0xB9,
+ 0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0x49, 0x8A, 0xB7, 0xA0, 0xB6, 0xB5, 0x96, 0x96, 0x63, 0x9C, 0x09,
+ 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0xBA, 0xBA, 0xBB,
+ 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBB, 0xBB, 0xBB,
+ 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xA9, 0xB3, 0xBC, 0xBD, 0xBE, 0xBC, 0xBF, 0xB3, 0xBE, 0x0E, 0x0E, 0xBE, 0xB3, 0xBF, 0xBC, 0xBE,
+ 0xBD, 0xBC, 0xB3, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
+ 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x28, 0x0E, 0x05, 0x85, 0x90, 0x7A, 0x90, 0x7A, 0x7A, 0x90, 0xAD, 0x91, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0x63, 0x96, 0xC0, 0xC1, 0x96, 0xC2, 0x80, 0xB7, 0x8A,
+ 0xB8, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xC3, 0xC3, 0xC3, 0xC4, 0xC5, 0x96, 0x96, 0x96, 0x87,
+ 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x96, 0x96, 0x96, 0xC5,
+ 0xC4, 0xC3, 0xC3, 0xC3, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0x8A, 0xB7, 0x80, 0xC2, 0xC1,
+ 0xC1, 0xC0, 0x96, 0x63, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x0C, 0xA3, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x81, 0xB2, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0xB2, 0xC7, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xA3, 0x0C, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xC9, 0xCA, 0xCB, 0x00, 0x00, 0xCB, 0xBC, 0xB3, 0xBE, 0x00,
+ 0x00, 0xBE, 0xB3, 0xBC, 0xCB, 0x00, 0x00, 0xCB, 0xCA, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x7A, 0x7A, 0x9A, 0x85, 0x7A, 0x7A, 0xAC,
+ 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0xCC, 0x96, 0xCD,
+ 0xCD, 0xC1, 0x96, 0xCE, 0xC3, 0xA0, 0xCF, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+ 0xC1, 0xCD, 0xD0, 0xD1, 0xCC, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
+ 0x09, 0x87, 0xCC, 0xD1, 0xD0, 0xCD, 0xC1, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+ 0xCF, 0xA0, 0xC3, 0xCE, 0xC1, 0xD2, 0xD2, 0xD2, 0x96, 0xCC, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x81, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
+ 0xBA, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
+ 0xC7, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xD4, 0xD5, 0x00, 0x00,
+ 0x00, 0x00, 0xBE, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xD4,
+ 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
+ 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x7A,
+ 0x7A, 0x90, 0x7A, 0x7A, 0x85, 0xD6, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0x09, 0x9C, 0xCC, 0xD1, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0x96, 0xD7, 0xC5, 0xCD, 0xCD, 0xCD,
+ 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xCC, 0x87, 0x09, 0x14, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xCC, 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xCD, 0xCD,
+ 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xC5, 0xD7, 0x96, 0xC1, 0xCD, 0xCD, 0xCD, 0xCD, 0xD1, 0xCC,
+ 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x81,
+ 0xBA, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBB,
+ 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0x81, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xBE, 0xD8, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xD5,
+ 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x0E, 0x05, 0x85, 0x7A, 0x7A, 0x7A, 0x7A, 0x85, 0xAC, 0xAD, 0x12, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xDA, 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xD2,
+ 0xD2, 0x96, 0x96, 0xD2, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD2, 0xD2, 0xDC, 0xD0, 0xD1,
+ 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xDA, 0xD1,
+ 0xD0, 0xDC, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD2, 0x96, 0x96, 0xC1, 0xD2,
+ 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xBA, 0xDD, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 0x81, 0xB2, 0xDF,
+ 0xDF, 0xDF, 0xDF, 0xB2, 0x81, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB3,
+ 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xD9, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x7A, 0x85, 0xAC, 0xAC, 0x7A,
+ 0x7A, 0x90, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0,
+ 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xDC, 0xDC,
+ 0xDC, 0xDC, 0xDC, 0xDC, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD0, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xD2, 0xD2, 0xD2,
+ 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xBA, 0xDD, 0xDE, 0xE1,
+ 0xE1, 0xE1, 0xE1, 0x81, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0x81, 0xE1, 0xE1, 0xE1, 0xE1, 0xDD,
+ 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xE2, 0xBC,
+ 0xCB, 0x00, 0x00, 0xCB, 0xCA, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xC9, 0xCA, 0xCB, 0x00, 0x00, 0xCB,
+ 0xBC, 0xE2, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
+ 0x05, 0x85, 0x85, 0xAC, 0xAC, 0x7A, 0x7A, 0x85, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD1, 0xD1, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0,
+ 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD1, 0xE0, 0x87, 0x09, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD0, 0xD0, 0xD0, 0xD0,
+ 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD1, 0xD1,
+ 0xD1, 0xE0, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C,
+ 0x8C, 0xC7, 0xBA, 0xBB, 0xBB, 0xDE, 0xE1, 0xE1, 0xE1, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
+ 0xA3, 0xE1, 0xE1, 0xE1, 0xDE, 0xDD, 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xBE, 0xE3, 0xE4, 0xBC, 0xBD, 0xBD, 0xBC, 0xB3, 0xBE, 0x00, 0x00, 0x00, 0x00,
+ 0xBE, 0xB3, 0xBC, 0xBD, 0xBD, 0xBC, 0xE4, 0xE3, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x0E, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
+ 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0xAC, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x9A, 0xAD, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xE0, 0xD1, 0xD1, 0xD1,
+ 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1,
+ 0xD1, 0xE0, 0xE0, 0xE5, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0xE5,
+ 0xE0, 0xE0, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1,
+ 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xE0, 0xE0, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xC7, 0xBA, 0xBB, 0xBB, 0xDE, 0xDE, 0xDE, 0x5D,
+ 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x5D, 0xDE, 0xDE, 0xDE, 0xBB, 0xBB, 0xBB, 0xBA, 0xC7, 0x8C,
+ 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBE, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6,
+ 0xBE, 0x00, 0xA6, 0x00, 0x00, 0xA6, 0x00, 0xBE, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xBE, 0xC8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0xD6, 0xAC, 0x90,
+ 0x85, 0x85, 0x9A, 0xD6, 0xE7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09,
+ 0xE8, 0x87, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
+ 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x87, 0xE8, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x14, 0x09, 0xE8, 0x87, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
+ 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x87, 0xE8, 0x09,
+ 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xE9, 0x8C, 0xC7, 0xC7,
+ 0xBA, 0xBA, 0xBB, 0xBB, 0xDE, 0xDE, 0xDE, 0x5D, 0x5D, 0x5D, 0x5D, 0xDE, 0xDE, 0xDE, 0xDE, 0xBB,
+ 0xBB, 0xBA, 0xC7, 0xC7, 0x8C, 0xE9, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xC8, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xBE, 0xBE,
+ 0xBE, 0xBE, 0xBE, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x38, 0x38, 0x38, 0x38,
+ 0x28, 0x0E, 0x05, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xE7, 0xEA, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0xEB, 0xEC, 0x9C, 0xB9, 0xB9, 0xB8, 0xB8, 0xED, 0xEE, 0xEE,
+ 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xED, 0xB8, 0xB8, 0xB9, 0xB9, 0x9C, 0xEF, 0xEB,
+ 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0xEB, 0xEF, 0x9C, 0xB9, 0xB9,
+ 0xB8, 0xB8, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xED, 0xB8, 0xB8,
+ 0xB9, 0xB9, 0x9C, 0xEC, 0xEB, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x0B, 0xF0, 0xF1, 0xA3, 0xF2, 0xF2, 0xF3, 0xF3, 0xF1, 0xF1, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4,
+ 0xF4, 0xF4, 0xF4, 0xF1, 0xF3, 0xF3, 0xF3, 0xF2, 0xF2, 0xA3, 0xF1, 0xF0, 0x0B, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
+ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x91, 0x91, 0x91, 0x91, 0x91, 0x12, 0x11,
+ 0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x07, 0x08, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
+ 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
+ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x5B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
+ 0x0C, 0x0B, 0x5B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
+ 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x14, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+ 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x14, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x14, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+ 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
+ 0x96, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF5, 0xE9, 0x8C,
+ 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
+ 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0xE9, 0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+
+dword goto_about_pal [] = {0x00E4DFE1,0x00C4CBDD,0x00C5CCDF,0x00CAD1E0,0x00C2CADC,0x00E7E1E3,0x00E3DFE2,0x00C1C9DB,0x00E4E9F1,0x00E4E9F0,0x00DAD6DD,0x00BEC5D8,0x00CAD2E2,0x00CBD2E2,0x00CBD3E2,0x00CBD2E3,0x00C9D1E0,0x00C8D1DF,0x00BBC2D6,0x00AFB9D2,0x00B5BED5,0x00B7C1D6,0x00B7C2D6,0x00B6BFD5,0x00B3BCD2,0x00ADB6CD,0x00E2DDE1,0x00819FC5,0x00C1CCDE,0x00DCDADF,0x00ADB6D1,0x00ACB5D0,0x00AEBAD1,0x00AFBAD2,0x00ADB9D0,0x00AAB4CC,0x00A8B3CB,0x00E4E0E2,0x00FBFBFB,0x00FFFFFF,0x00F3F3F3,0x00E6E3E4,0x00C5CBDF,0x00AEB9D0,0x00B6BFD4,0x00B9C3D6,0x00BFC6D8,0x00E3DFE1,0x00C8C9C9,0x00B4BED5,0x00B4BED4,0x00B4BED3,0x00B2BBD3,0x00E5E0E2,0x00D8D7D8,0x00CBD0E1,0x00B9C2D6,0x00C8CDE0,0x00E4DFE2,0x00BFC5DA,0x00C8D0DF,0x00CBD2E1,0x00BDC5D6,0x00E0DAE0,0x007DB835,0x00DCDDE9,0x00B3BDD4,0x00F2F4F9,0x00BAC4D8,0x00D5D6E4,0x00B3DA82,0x0076AD32,0x00A5B2CD,0x00DBE0EC,0x00DCE1EC,0x00DCE1EB,0x00DBE0E9,0x00A7B4CD,0x00CBD0E2,0x00AAB4D0,0x00C8CEE1,0x00CAD1E2,0x00C8CEDD,0x00C5CDDD,0x00ACB6CE,0x00C3CADD,0x00A0D162,0x00B7C2DB,0x00AAB5CE,0x00B9C2D8,0x00B6BFD3,0x00A6B2CA,0x00B2BCD6,0x0097CD53,0x00A4AFCB,0x00ABB4CE,0x00AEB9D1,0x00ADB7D0,0x00A8B4CB,0x009FABC5,0x00B4BDD6,0x00E2DEE0,0x00D3D3D3,0x00E5DDDA,0x00F5CFA3,0x00F7C888,0x00F8CC8E,0x00F7C787,0x00F5CC9D,0x00E5DBD7,0x00A3AFCB,0x00B1BBD2,0x00B4BFD4,0x00B5BED3,0x00AFB9D0,0x00A3AEC9,0x00E1DDDE,0x0090C947,0x00DFDCDD,0x00F7C279,0x00FCDBAF,0x00FCE4C2,0x00F9D6A2,0x00F7C177,0x00E6D9D1,0x00A6B3D0,0x00AEBAD0,0x00BDC5D8,0x00BDC6D8,0x00A5B1CC,0x00E5E0E3,0x00DDDBDC,0x00F7C17A,0x00FBD197,0x00FCD7A2,0x00FBD6A3,0x00FCD4A2,0x00FBC885,0x00F7BE74,0x00E4DDDA,0x00DDDDEA,0x00AAB6D1,0x00BBC3D8,0x00BBC4D8,0x00ABB6D0,0x00D9DAE5,0x00D7D6D7,0x00F5DFC8,0x00F6B965,0x00F8C782,0x00F9C986,0x00F9C887,0x00F9C885,0x00F7C276,0x00F5B661,0x00F4D8BA,0x00C1C8DA,0x00B9C2D5,0x00BFC5D8,0x00E1DDE1,0x00F7D2A4,0x00F7BB6B,0x00F7BD6F,0x00F7BF6F,0x00F7BC6B,0x00F7B962,0x00F7B359,0x00F6CC95,0x00EFECEE,0x00DCDADB,0x00F7CD94,0x00F7B45B,0x00F7B459,0x00F7B65C,0x00F7B662,0x00F5B75F,0x00F7B254,0x00F7B454,0x00F6C689,0x00F7B967,0x00F7BC6F,0x00F7BC6A,0x00F7B964,0x00F7B55B,0x00F7B85C,0x00F6CF9A,0x00F8BD6B,0x00F7BC6D,0x00F8C072,0x00F7C076,0x00F8BA65,0x00F5DBC3,0x00F7CA91,0x00F8BB69,0x00F7C072,0x00F7BA68,0x00F7BA65,0x00F6CA8C,0x00F7C991,0x00F8BC6D,0x00F7CB8F,0x00F7D2A6};
+
+unsigned char goto_about[1904] = FROM "imgs\goto_about.raw";
\ No newline at end of file
diff --git a/programs/cmm/eolite/include/about_dialog.h b/programs/cmm/eolite/include/about_dialog.h
new file mode 100644
index 0000000000..5ebe125719
--- /dev/null
+++ b/programs/cmm/eolite/include/about_dialog.h
@@ -0,0 +1,40 @@
+//Leency - 2008-2013
+
+#define EDITOR_PATH "/sys/tinypad"
+#define BROWSER_PATH "/sys/htmlv"
+#define BROWSER_LINK "http://kolibri-n.org/index.php"
+
+
+void about_dialog()
+{
+ byte id;
+ loop() switch(WaitEvent())
+ {
+ case evButton:
+ id=GetButtonID();
+ IF (id==1) || (id==10) ExitProcess();
+ IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK);
+ IF (id==33) RunProgram(EDITOR_PATH, #program_path);
+ break;
+
+ case evKey:
+ IF (GetKey()==27) ExitProcess();
+ break;
+
+ case evReDraw:
+ DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite");
+ DrawBar(0,0,172,50,0x8494C4);
+ PutPaletteImage(#logo,85,85,43,7,8,#logo_pal);
+ WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.62");
+ WriteText(55,120,0x80,0,"Developers:");
+ WriteText(39,130,0x80,0,"Leency & Veliant");
+ WriteText(45,140,0x80,0,"KolibriOS Team");
+ WriteText(61,150,0x80,0,"2008-2013");
+ WriteText(29,170,0x80,0,"Visit");
+ DrawLink(66,170,0x80,23, "kolibri-n.org");
+ DrawFlatButton(85,190,70,22,10,0xE4DFE1, "Close");
+ DefineButton(20-1,195-1, 16+1,15+1, 33+BT_HIDE, 0);
+ PutPaletteImage(8*16*15+#ficons,16,15,20,195,8,#ficons_pal);
+ DrawFilledBar(0, 216, 172, 12);
+ }
+}
\ No newline at end of file
diff --git a/programs/cmm/eolite/include/history.h b/programs/cmm/eolite/include/history.h
new file mode 100644
index 0000000000..d69f7a8c87
--- /dev/null
+++ b/programs/cmm/eolite/include/history.h
@@ -0,0 +1,57 @@
+//06.04.2012
+
+path_string history_list[40];
+int history_num;
+int history_current;
+
+#define ADD_NEW_PATH 1
+#define GO_BACK 2
+#define GO_FORWARD 3
+
+dword GetCurrentFolder()
+{
+ char cur_fol[4096];
+ strcpy(#cur_fol, #path);
+ cur_fol[strlen(#cur_fol)-1]=0x00; // /
+ strcpy(#cur_fol, #cur_fol+strrchr(#cur_fol,'/'));
+ return #cur_fol;
+}
+
+int HistoryPath(byte action)
+{
+ int MAX_HISTORY_NUM;
+
+ if (action==ADD_NEW_PATH)
+ {
+ if (history_num>0) && (!strcmp(#path,#history_list[history_current].Item)) return;
+
+ MAX_HISTORY_NUM = sizeof(history_list)/sizeof(path_string);
+ if (history_current>=MAX_HISTORY_NUM-1)
+ {
+ history_current/=2;
+ for (i=0; i",16,
+"txt", 1,
+"doc", 1,
+"rtf", 1,
+"odt", 1,
+"log", 1,
+"docx",1,
+"htm", 2,
+"html",2,
+"mht", 2,
+"ini", 3,
+"js", 3,
+"conf",3,
+"inf", 3,
+"xlt", 4,
+"xls", 4,
+"ods", 4,
+"xlsx",4,
+"cmd", 5,
+"bat", 5,
+"py", 5,
+"sh", 5,
+"ksh", 5,
+"com", 5,
+"kex", 6,
+"lua", 6,
+"exe", 7,
+"msi", 7,
+"sys", 8,
+"ocx", 8,
+"drv", 8,
+"so", 8,
+"inc", 9,
+"chr", 10,
+"mt", 10,
+"ttf", 10,
+"fon", 10,
+"asm", 11,
+"skn", 13,
+"djvu",15,
+"pdf", 15,
+"fb2", 15,
+"nes", 18,
+"smc", 18,
+"img", 21,
+"ima", 21,
+"dll", 22,
+"obj", 22,
+"dict",22,
+"iso", 24,
+"cue", 24,
+"nrg", 24,
+"mdf", 24,
+"gif", 19,
+"bmp", 19,
+"tga", 19,
+"pcx", 19,
+"png", 19,
+"pnm", 19,
+"jpg", 19,
+"xcf", 19,
+"ai", 19,
+"jpeg",19,
+"raw", 19,
+"psd", 19,
+"wbmp",19,
+"tiff",19,
+"tif", 19,
+"3ds", 20,
+"ico", 20,
+"cur", 20,
+"ani", 20,
+"vox", 20,
+"rar", 23,
+"zip", 23,
+"cab", 23,
+"tar", 23,
+"ajr", 23,
+"jar", 23,
+"7z", 23,
+"gz", 23,
+"mp3", 12,
+"wav", 12,
+"mid", 12,
+"midi",12,
+"ogg", 12,
+"wma", 12,
+"flac",12,
+"avi", 14,
+"flv", 14,
+"mpg", 14,
+"wmv", 14,
+"mov", 14,
+"mkv", 14,
+"mp4", 14,
+"vob", 14,
+"grf", 25,
+0,0};
+
+
+#include "imgs\icons.txt"
+
+
+void Put_icon(dword extension, yy, fairing_color)
+{
+ int icon_n=0, i;
+
+ for (i=0; ext[i]<>0; i+=2;)
+ if (!strcmp(extension, ext[i]))
+ {
+ icon_n = ext[i+1];
+ break;
+ }
+
+ PutPaletteImage(icon_n*16*15+#ficons,16,15,195,yy,8,#ficons_pal);
+ if (icon_n<>17) && (strlen(extension)<9) WriteText(-strlen(extension)*3+onLeft(168,0)+36,yy+4,0x80,0,extension);
+ if (fairing_color<>0xFFFfff) IconFairing(icon_n, yy, fairing_color); //
+}
+
+
+
+void IconFairing(dword filenum, y, color)
+{
+ switch(filenum)
+ {
+ case 0...1: //
+ DrawBar(195,y,2,15,color);
+ RIGHT_PAINT:
+ DrawBar(209,y,2,15,color);
+ DrawBar(205,y,4,1,color);
+ DrawBar(206,y+1,3,1,color);
+ DrawBar(207,y+2,2,1,color);
+ PutPixel(208,y+3,color);
+ return;
+ case 2: //html
+ DrawBar(195,y,1,7,color);
+ DrawBar(196,y,1,6,color);
+ DrawBar(195,y+10,1,5,color);
+ DrawBar(196,y+11,1,4,color);
+ GOTO RIGHT_PAINT;
+ case 3: //
+ DrawBar(195,y,2,7,color);
+ DrawBar(195,y+7,1,2,color);
+ DrawBar(195,y+12,1,3,color);
+ PutPixel(196,y+14,color);
+ GOTO RIGHT_PAINT;
+ case 9: //inc
+ DrawBar(195,y,1,12,color);
+ DrawBar(196,y,1,11,color);
+ DrawBar(197,y,1,10,color);
+ DrawBar(198,y,1,5,color);
+ DrawBar(199,y,1,4,color);
+ DrawBar(200,y,1,3,color);
+ DrawBar(201,y,1,2,color);
+ DrawBar(202,y,1,3,color);
+ DrawBar(203,y,1,2,color);
+ PutPixel(204,y,color);
+ PutPixel(205,y+4,color);
+ PutPixel(206,y+3,color);
+ PutPixel(207,y,color);
+ PutPixel(207,y+2,color);
+ DrawBar(208,y,1,3,color);
+ DrawBar(209,y,2,4,color);
+ DrawBar(210,y,1,15,color);
+ PutPixel(198,y+14,color);
+ DrawBar(199,y+13,1,2,color);
+ DrawBar(200,y+12,10,3,color);
+ PutPixel(205,y+11,color);
+ DrawBar(206,y+10,1,2,color);
+ DrawBar(207,y+9,1,3,color);
+ PutPixel(207,y+7,color);
+ DrawBar(208,y+6,2,7,color);
+ PutPixel(209,y+5,color);
+ return;
+ case 10: //font
+ DrawRectangle3D(195,y,15,14,color,color);
+ DrawBar(196,y+1,1,13,color);
+ DrawBar(197,y+1,1,11,color);
+ DrawBar(198,y+1,1,10,color);
+ DrawBar(199,y+1,1,9,color);
+ DrawBar(200,y+1,1,7,color);
+ DrawBar(201,y+1,1,5,color);
+ DrawBar(202,y+1,1,4,color);
+ DrawBar(203,y+1,1,2,color);
+ DrawBar(209,y+1,1,13,color);
+ DrawBar(208,y+1,1,11,color);
+ PutPixel(204,y+6,color);
+ DrawBar(203,y+10,2,1,color);
+ DrawBar(202,y+11,2,3,color);
+ return;
+ case 11: //asm
+ DrawBar(195,y,1,15,color);
+ return;
+ case 12: //audio
+ DrawBar(195,y,16,1,color);
+ DrawBar(195,y,1,15,color);
+ DrawBar(196,y+1,4,8,color);
+ DrawBar(196,y+9,1,2,color);
+ PutPixel(197,y+9,color);
+ PutPixel(196,y+14,color);
+ DrawBar(210,y+1,1,14,color);
+ DrawBar(202,y+4,6,4,color);
+ DrawBar(202,y+8,4,1,color);
+ DrawBar(202,y+9,3,1,color);
+ DrawBar(202,y+10,2,3,color);
+ DrawBar(201,y+13,4,1,color);
+ DrawBar(200,y+14,14,1,color);
+ DrawBar(209,y+12,1,2,color);
+ PutPixel(208,y+13,color);
+ return;
+ case 13: //skin
+ PutPixel(210,y,color);
+ return;
+ case 14...15: //video, book
+ DrawBar(195,y,1,15,color);
+ DrawBar(210,y,1,15,color);
+ return;
+ case 16...17: //
+ DrawBar(195,y,1,15,color);
+ DrawBar(203,y,8,2,color);
+ IF (filenum==17) PutPixel(206,y+1,0x1A7B17); //
+ DrawBar(196,y+13,15,2,color);
+ PutPixel(196,y,color); //.
+ PutPixel(202,y,color);
+ PutPixel(210,y+2,color);
+ PutPixel(196,y+12,color);
+ PutPixel(210,y+12,color);
+ return;
+ case 18: //
+ DrawBar(195,y,16,2,color);
+ DrawBar(195,y+11,1,2,color);
+ DrawBar(210,y+11,1,2,color);
+ DrawBar(195,y+13,16,2,color);
+ return;
+ case 19: //
+ case 20: //
+ DrawBar(195,y+14,16,1,color);
+ return;
+ case 21: //
+ PutPixel(195,y,color);
+ PutPixel(210,y,color);
+ return;
+ case 22: //
+ DrawBar(195,y,16,1,color); //
+ DrawBar(195,y+1,3,1,color);
+ DrawBar(195,y+2,2,1,color);
+ PutPixel(195,y+3,color);
+ PutPixel(210,y+11,color); //
+ DrawBar(209,y+12,2,1,color);
+ DrawBar(208,y+13,3,1,color);
+ DrawBar(207,y+14,4,1,color);
+ return;
+ case 23: //
+ PutPixel(195,y+3,color);
+ PutPixel(195,y+11,color);
+ PutPixel(210,y+3,color);
+ PutPixel(210,y+11,color);
+
+ DrawBar(195,y,7,1,color);
+ DrawBar(204,y,7,1,color);
+ DrawBar(195,y+14,7,1,color);
+ DrawBar(204,y+14,7,1,color);
+
+ DrawBar(195,y+1,5,1,color);
+ DrawBar(206,y+1,5,1,color);
+ DrawBar(195,y+13,5,1,color);
+ DrawBar(206,y+13,5,1,color);
+
+ DrawBar(195,y+2,3,1,color);
+ DrawBar(208,y+2,3,1,color);
+ DrawBar(195,y+12,3,1,color);
+ DrawBar(208,y+12,3,1,color);
+ return;
+ case 24: //
+ DrawBar(195,y,6,1,color);
+ DrawBar(195,y+1,4,1,color);
+ DrawBar(195,y+2,3,1,color);
+ DrawBar(195,y+3,2,2,color);
+
+ DrawBar(195,y+5,1,5,color);
+
+ DrawBar(195,y+10,2,2,color);
+ DrawBar(195,y+12,3,1,color);
+ DrawBar(195,y+13,4,1,color);
+ DrawBar(195,y+14,6,1,color);
+
+ DrawBar(195+11,y,5,1,color);
+ DrawBar(195+13,y+1,3,1,color);
+ DrawBar(195+14,y+2,2,1,color);
+ DrawBar(195+15,y+3,1,2,color);
+
+ DrawBar(195+15,y+10,1,2,color);
+ DrawBar(195+14,y+12,2,1,color);
+ DrawBar(195+13,y+13,3,1,color);
+ DrawBar(195+11,y+14,5,1,color);
+
+ return;
+ }
+}
diff --git a/programs/cmm/eolite/include/ini.h b/programs/cmm/eolite/include/ini.h
new file mode 100644
index 0000000000..6ed046e807
--- /dev/null
+++ b/programs/cmm/eolite/include/ini.h
@@ -0,0 +1,134 @@
+//INI parser in C--, GPL licence.
+//Leency - 2012
+
+#define COMMENT 0
+#define SECTION 1
+#define PARAM 2
+#define OPTION 3
+
+unsigned char *ERROR_TEXT[]={
+"Code #0 - No error",
+"Error #1 - Base or partition of a hard disk is not defined",
+"Error #2 - Function isn't supported for this file system",
+"Error #3 - Unknown file system",
+"Error #4 - Reserved, is never returned",
+"Error #5 - File or folder not found",
+"Error #6 - End of file, EOF",
+"Error #7 - Pointer lies outside of application memory",
+"Error #8 - FAT table is destroyed",
+"Error #9 - FAT table is destroyed",
+"Error #10 - Access denied",
+"Error #11 - Device error",
+0, 0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0, 0,
+"Error #30 - Not enough memory",
+"Error #31 - File is not executable",
+"Error #32 - Too many processes",
+0};
+
+void GetIni(byte onload)
+{
+ byte section[32], parametr[32], option[256], InfType=0;
+ char bukva[2];
+ int errornum, tj;
+ static dword buff, fsize;
+ //
+ if (onload==1)
+ {
+ free(buff);
+ buff = malloc(12000);
+ program_path[strrchr(#program_path, '/')] = NULL;
+ strcat(#program_path, "Eolite.ini");
+ ReadFile(0, 12000, buff, #program_path);
+ fsize=EBX;
+ IF (EAX<>6) ReadFile(0, 12000, buff, "/sys/File managers/Eolite.ini");
+ IF (EAX<>6) notify("Eolite.ini not found. Defaults will be used.");
+ }
+ //
+ for (tj=0; tj=0) Line_ReDraw(0xFF0000, curbtn);
+ pause(5);
+ notify(#error);
+}
+
+
+dword StrToCol(char* htmlcolor)
+{
+ dword j, color=0;
+ char ch=0x00;
+
+ FOR (j=0; j<6; j++)
+ {
+ ch=ESBYTE[htmlcolor+j];
+ IF ((ch>='0') && (ch<='9')) ch -= '0';
+ IF ((ch>='A') && (ch<='F')) ch -= 'A'-10;
+ IF ((ch>='a') && (ch<='f')) ch -= 'a'-10;
+ color = color*0x10 + ch;
+ }
+ return color;
+}
\ No newline at end of file
diff --git a/programs/cmm/eolite/include/left_panel.h b/programs/cmm/eolite/include/left_panel.h
new file mode 100644
index 0000000000..3295c316af
--- /dev/null
+++ b/programs/cmm/eolite/include/left_panel.h
@@ -0,0 +1,192 @@
+void Tip(int y, dword caption, id, arrow)
+{
+ int i;
+ DrawBar(17,y,160,1,0xEFEDEE);
+ DrawFilledBar(17, y+1, 160, 16);
+ WriteText(25,y+5,0x80,0,caption);
+ IF (id<>0) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0xE4DFE1); //
+ WriteText(165,y+5,0x80,0,arrow); //
+ DrawBar(17,y+17,160,1,0x94AECE); //
+}
+
+
+path_string disk_list[20];
+int disc_num;
+dword devbuf;
+
+void GetSystemDiscs()
+{
+ unsigned char dev_name[10], sys_discs[10];
+ unsigned int i1, j1, dev_num, dev_disc_num;
+
+ disc_num=0;
+ if (devbuf) free(devbuf);
+ devbuf = malloc(3112); // - 10
+ ReadDir(19, devbuf, "/");
+ dev_num = EBX;
+ for (i1=0; i1=1073741824) strcpy(#size_nm, " Gb");
+ else if (bytes>=1048576) strcpy(#size_nm, " Mb");
+ else if (bytes>=1024) strcpy(#size_nm, " Kb");
+ else strcpy(#size_nm, " b ");
+ while (bytes>1023) bytes/=1024;
+ strcpy(#size_prefix, itoa(bytes));
+ strcat(#size_prefix, #size_nm);
+ return #size_prefix;
+}
+
+
+dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB,
+0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1};
+
+inline fastcall void TVScroll() { //
+ dword on_y, i;
+ if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,col_work,""); return;}
+ on_y = za_kadrom * onTop(22,57) / count +57;
+ scroll_size=onTop(22,57) * f_visible - f_visible / count;
+ if (scroll_size<20) scroll_size = 20; //
+ if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //
+ DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,-1,"");//
+ if (!scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[13-i]);
+ if (scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]);
+ //
+ if (on_y>58) DrawBar(onLeft(26,0),57,15,1, 0xC7C9C9);
+ DrawBar(onLeft(26,0),58,1, on_y-58,0xC7C9C9);
+ DrawBar(onLeft(25,0),58,14,on_y-58,0xCED0D0);
+ //
+ if (onTop(22,57)-scroll_size+55>on_y) DrawBar(onLeft(26,0),on_y+scroll_size+1,15,1,0xC7C9C9);
+ DrawBar(onLeft(26,0),on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9);
+ DrawBar(onLeft(25,0),on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0);
+}
+
+void DrawFlatButton(dword x,y,width,height,id,color,text)
+{
+ int fill_h;
+ DrawRectangle(x,y,width,height,col_border);
+ DrawRectangle3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding);
+ PutPixel(x+width-1, y+1, col_work);
+ if (color!=-1) DrawFilledBar(x+2, y+2, width-3, height-3);
+ IF (id<>0) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF);
+ WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text);
+}
+
+void DrawFilledBar(dword x, y, w, h)
+{
+ int i, fill_h;
+ if (h <= 14) fill_h = h; else fill_h = 14;
+ for (i=0; i - 1
+{
+ int iss = a;
+ IF (a >= b) return;
+ FOR (j = a; j <= b; j++)
+ IF (ESDWORD[file_mas[j]*304 + buf+64] <= ESDWORD[file_mas[b]*304 + buf+64]) { file_mas[iss] >< file_mas[j]; iss++;}
+ Sort_by_Size (a, iss-2);
+ Sort_by_Size (iss, b);
+}
+
+
+void Sort_by_Name(int a, b) // : a = 0, b = < > - 1
+{
+ int isn = a;
+ IF (a >= b) return;
+ FOR (j = a; j <= b; j++)
+ IF (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[isn] >< file_mas[j]; isn++;}
+ Sort_by_Name(a, isn-2);
+ Sort_by_Name(isn, b);
+}
+
+
+void Sort_by_Type(int a, b) // : a = 0, b = < > - 1
+{
+ dword filename1, filename2, ext1, ext2;
+ int n, isn = a;
+ IF (a >= b) return;
+ for (j = a; j <= b; j++)
+ {
+ filename1 = file_mas[j]*304 + buf+72;
+ filename2 = file_mas[b]*304 + buf+72;
+
+ n=strlen(filename1)-1;
+ WHILE (n>0) && (ESBYTE[filename1+n]<>'.') n--;
+ IF (n) ext1 = filename1+n+1; else ext1=0;
+ n=strlen(filename2)-1;
+ WHILE (n>0) && (ESBYTE[filename2+n]<>'.') n--;
+ IF (n) ext2 = filename2+n+1; else ext2=0;
+
+ n=strcmp(ext1, ext2);
+ IF (n<0) { file_mas[isn] >< file_mas[j]; isn++;}
+ IF (n==0) && (strcmp(filename1, filename2)<=0) { file_mas[isn] >< file_mas[j]; isn++;}
+ }
+ Sort_by_Type(a, isn-2);
+ Sort_by_Type(isn, b);
+}
+
+
+
diff --git a/programs/cmm/eolite/txt/History.txt b/programs/cmm/eolite/txt/History.txt
new file mode 100644
index 0000000000..9fad014cfd
--- /dev/null
+++ b/programs/cmm/eolite/txt/History.txt
@@ -0,0 +1,569 @@
+xx.xx.13 -- v1.61
+- ( s1n).
+ ;
+- PathShow;
+- USB flash ;
+- .
+
+
+10.01.13 -- v1.55
+- ;
+- ,
+ .
+
+17.12.12 -- v1.5
+ GUI: , .
+
+16.11.12 -- v1.43
+- ;
+- ;
+- /tmpX/1;
+- ;
+- .
+
+15.11.12 -- v1.36
+- ;
+- ( SoUrcerer
+ , );
+- 10 20;
+- .
+
+12.11.12 -- v1.35
+- ;
+- ;
+- 100% ;
+- , .
+
+10.07.12 -- v1.30
+- "/";
+- *.grf;
+- About Eolite.ini;
+- .
+
+
+23.06.12 -- v1.28
+- (+ )
+ (+ ini );
+- "";
+- , .
+
+21.06.12 -- v1.25
+- ;
+- ;
+- .
+
+14.06.12 -- v1.23
+- , ;
+- .
+
+13.05.12 -- v1.22 --16,5
+- ;
+- ini- .
+
+05.04.12 -- v1.2 --16,5
+- "", ;
+- .
+
+05.04.12 -- v1.1 --16,2
+- , ;
+- ;
+- ;
+-
+- .
+
+26.03.12 -- v1.0 --16,2
+ .
+
+
+
+
+
+
+
+27.08.11 -- v0.99.8 RC3 -- 16.2
+- , ;
+- 90% ;
+- ;
+- , ( Mario);
+- ( Fugue icons);
+- ( - );
+- ;
+- ;
+- .
+
+
+22.08.11 -- v0.99 RC2 -- 16.2
+- Ctrl+N;
+- /rd/1/;
+- Ctrl+D . ( Ultimate Ficha KFM);
+- ;
+- ;
+- .
+
+
+18.08.11 -- v0.98.9b RC2 -- 15.9
+- , .
+ , - /rd/1/File managers/Eolite.ini
+ (for Chaos Constructions-2011, thanks Albom).
+
+
+30.07.11 -- v0.98.9 RC2 -- 15.9
+- (Eolite.ini) ,
+ @notify;
+- , ;
+- ;
+- kolibrios.org " " ( htmlv
+ );
+- F4 - hex ( heed
+ ...).
+
+
+20.07.11 -- v0.98.8 RC2 -- 15.9
+- @notify.
+ , ;
+- ,
+ 4 . ,
+ Gluk', Zeroconf
+ ".conf";
+- Rock_maniak_forever 9 , ,
+ ;
+- , ,
+ , ( turbanoff);
+- , ;
+- (Actions);
+- .
+
+
+
+
+30.01.10 -- v0.98.7a RC2 -- 14.8
+- : 4096 .
+
+
+23.10.09 -- v0.98.7 RC2 -- 14.7 (Izabella edition)
+- Ctrl+F1...F12
+ : -, -, -,
+ .
+
+
+19.10.09 -- v0.98.6 RC2 -- 14.7 ( , -!)
+- Lrz: box_lib.obj.
+
+
+29.12.08 -- v0.98.5 RC2 -- 14.7
+- ini-,
+ ;
+- Nable' ( DOS-);
+- Preview;
+- .
+- - ;
+- , , ;
+- ".." -
+ , , ;
+- .
+
+
+20.12.08 -- v0.98.3 RC2 -- 14.6
+- ;
+- , 0 6898 ;
+- : , "" ;
+- ;
+- ;
+- , "";
+- ;
+-
+ ;
+- - ;
+- - ,
+ ;
+- ;
+- .
+
+
+16.12.08 -- v0.98.1 RC1 -- 14.7
+- ".." ;
+- / ;
+- ( s1n).
+
+
+15.12.08 -- v0.98 RC1 -- 14.5
+- bd- NTFS;
+- - ;
+- ;
+- "." ( diamond' ).
+
+
+30.11.08 -- v0.97.2 beta7 -- 14.4
+- /bd/ ( );
+- ;
+- ( ).
+
+
+26.11.08 -- v0.97.1 beta7 -- 14.3
+- , ;
+- ;
+- Veliant'
+ 256- .
+ 2 kpack';
+- ;
+- .
+
+
+20.11.08 -- v0.97 beta7 -- 14.9
+- :
+ ;
+- , .
+
+
+17.11.08 -- v0.96.9 beta7 -- 14.9
+- .dll (.obj) .img.
+
+
+14.11.08 -- v0.96.8 beta7 -- 14.6
+- , ;
+- .cpp .nes.
+
+
+31.10.08 -- v0.96.7 beta7 -- 14.4
+- , , ;
+- - , \
+ , , ;
+- - ;
+- " ",
+ ; ;
+- .
+
+
+24.10.08 -- v0.96.3 beta7 -- 14.4
+- Symbian;
+- ;
+- , , !,&
+ , "..";
+- , .
+
+
+23.10.08 -- v0.96 beta6 -- 14.1
+-
+ ( !)).
+ 8 , 5 , 30%;
+- : , ,
+ , . ,
+ , ;
+- ;
+- 3 ;
+- .
+
+
+17.10.08 -- v0.95.7 beta6 -- 14.3
+- 2 ;
+- .
+
+15.10.08 -- v0.95.4 beta6 -- 14.0
+- : \ ().
+
+03.10.08 -- v0.95.3 beta6 -- 14.1
+- "";
+- , ,
+ .
+- ;
+- .
+
+
+17.09.08 -- v0.95.2 beta6 -- 14.1
+- , , Serge'.
+ (
+ 91000 ), 6898 ;
+- Ctrl+N ;
+- .
+
+
+14.09.08 -- v0.95 beta6 -- 14.0
+- , ;
+- EditBox'ax 1 9 ( :);
+- BackSpace ;
+- IntToStr() diamond'y,
+ 158 ;
+- Nable' ;
+- Albom'a ,
+ - ,
+ ;
+- , .
+
+
+02.08.08 -- v0.94.4 beta5 -- 14.0
+- , .
+
+
+28.07.08 -- v0.94.3 beta5 -- 14.1
+- Ctrl+<>;
+- ;
+- "";
+- .
+
+
+04.07.08 -- v0.94 beta5 -- 13.9
+- ,
+ , .
+
+
+04.07.08 -- v0.93.9 beta5 -- 13.9
+- "" :)
+- - "." ".."
+
+
+29.06.08 -- v0.93.8 beta5 -- 13.8
+-
+
+
+22.06.08 -- v0.93.6 beta5 -- 13.7
+- , (
+ :), 2 .
+
+
+18.06.08 -- v0.93.5 beta5 -- 13.7
+- - "Eolite /hd1/1/"
+ /hd1/1/ . ;
+- " ",
+ ( );
+- ".cvs";
+- .
+
+
+15.06.08 -- v0.93.4 beta5 -- 13.4
+- /rd/1/;
+- rd, fd, hd1 .. ;
+- "Up" ( ).
+
+
+14.06.08 -- v0.93.3 beta5 -- 13.4
+- , ,
+ - ,
+ ( 79 );
+- ;
+- F3 - ;
+- .
+
+
+14.06.08 -- v0.93 beta5 -- 13.6
+- ( diamond' );
+- ;
+- ;
+- , ;
+- ,
+- ;
+- kolibri.h--.
+
+
+08.06.08 -- v0.92.1 beta5 -- 14.0
+- , ;
+- .
+
+
+08.06.08 -- v0.92 beta5 -- 14.0
+- , 0.88.
+ , ,
+ ;
+- , 1 1 .
+
+
+07.06.08 -- v0.91.5 beta4 -- 14.0
+- 03.03.08 (v0.83) ;
+- ,
+ , :)
+- , ;
+- c diamond'
+ copystr() ;
+- , ;
+- , ;
+- ( ) -
+ , ;
+- , ,
+ ;
+- lowcase() upcase();
+- , - ;
+- NTFS- , ,
+ , - ;
+- ;
+- -
+ , ;
+- ;
+- .
+
+
+02.06.08 -- v0.90.4 beta4 -- 14.1
+- ( .. Maxis ).
+
+
+01.06.08 -- v0.90 beta4 -- 14.1
+- , ! diamond
+ .
+
+
+01.06.08 -- v0.88.5 beta3 -- 14.1
+-
+ , . :
+ , 2?
+ . .
+- ,
+ .. : ,
+ .
+
+
+30.05.08 -- v0.88.2 beta3 -- 14.1
+- , F2 Home.
+
+
+27.04.08 -- v0.88 beta3 -- 14.1
+- ;
+- ,
+- .
+
+
+08.04.08 -- v0.87 beta3 -- 14.0
+- ;
+- ;
+- (RM-, ..)
+ , "/"
+ - ;
+- ,
+ , ;
+- , ;
+- .
+
+
+27.03.08 -- v0.86 beta3 -- 14.4
+- ;
+- ;
+- ;
+- ;
+- Ctrl+ Ctrl+X;
+- ,
+ : toolbar icons, file icons, device icons;
+- ;
+- - !
+
+
+09.03.08 -- v0.84 beta2 -- 16.1
+- c " " ( kpack- 2.5 )
+- ;
+- , ,
+ ;
+- .
+
+
+07.03.08 -- v0.83.3 beta2 -- 13.0
+- , .
+
+
+07.03.08 -- v0.83.2 beta2 -- 13.0
+-
+ .
+
+
+07.03.08 -- v0.83.1 beta2 -- 13.0
+- ;
+- .
+
+
+03.03.08 -- v0.83 beta2 -- 13.0
+- ;
+- : , ;
+- !
+- Ctrl+C (Ctrl+Ins), Ctrl+X, Ctrl+V.
+ Shift- ;
+- ;
+- , ;
+- , ;
+ , ;
+- , ;
+- .
+
+
+27.02.08 -- v0.81 beta -- 12.8
+- ;
+- ;
+- .
+
+
+25.02.08 -- v0.80 beta -- 12.6
+- !
+- .
+
+
+25.02.08 -- v0.77 beta -- 12.5
+- ;
+
+
+23.02.08 -- v0.75 beta -- 12.1
+- ;
+- eolite_copy.obj ;
+- ( );
+- ;
+- .
+
+
+23.02.08 -- v0.71 beta -- 12.1
+- ;
+- ReadMe.
+
+
+23.02.08 -- v0.7 beta -- 12.1
+- ;
+- "." .
+
+
+22.02.08 -- v0.65 beta -- 12.3
+- , ;
+- ;
+- . , Enter
+ , - ,
+ ;
+- , ,
+ :(
+- Insert, ;
+
+
+18.02.08 -- v0.6 beta -- 11.7
+- ;
+- ,
+ ;
+- ;
+- F5 ;
+- ;
+- ;
+- ;
+- , .
+
+
+09.02.08 -- v0.5 beta -- 10
+- Preview;
+- ;
+- - 1615;
+- , "/" - ;
+- ;
+- ;
+- ;
+- , - ;
+- .
+
+
+04.02.08 -- v0.35 beta -- 9.17
+- "" ( #path, #edit_path);
+- ;
+- ;
+- ;
+- .
+
+
+03.02.08 -- v0.33 beta -- 8.91 (.)
+ . :
+1. Leency .
+2. Veliant /rd/1/, Leency
+ .
+3. Veliant . Leency .
+4. Veliant , Leency .
+5. Veliant Leency .
+6. .
+
+22.02.08 -- v0.0 -- 0
+.
\ No newline at end of file
diff --git a/programs/cmm/eolite/txt/ReadMe_en.txt b/programs/cmm/eolite/txt/ReadMe_en.txt
new file mode 100644
index 0000000000..884424ae41
--- /dev/null
+++ b/programs/cmm/eolite/txt/ReadMe_en.txt
@@ -0,0 +1,32 @@
+Eolite File Manager
+
+==About this program==
+Eolite is a simple in using and pretty looks file manager.
+It written in C--. Development has started at 20.01.08.
+You can find more information here:
+http://board.kolibrios.org/viewtopic.php?f=9&t=973
+
+
+==Install==
+Put box_lib.obj into "/sys/lib/" directory.
+Put Eolite.ini into programs directory or in "/sys/File Managers/".
+Eolite can be opened from anywhere.
+
+
+==Authors==
+Leency - programming and design.
+Veliant - programming and support. Inactive now.
+
+==Thanks==
+diamond
+
+Nable
+Mario79
+Rock_maniak_forever
+turbanoff
+Sorcerer
+Gluk
+lev
+
+
+KolibriOS Forever!
\ No newline at end of file
diff --git a/programs/cmm/eolite/txt/ReadMe_ru.txt b/programs/cmm/eolite/txt/ReadMe_ru.txt
new file mode 100644
index 0000000000..3833e3d13a
--- /dev/null
+++ b/programs/cmm/eolite/txt/ReadMe_ru.txt
@@ -0,0 +1,31 @@
+Eolite File Manager
+
+== ==
+ ,
+ .
+ C--,
+. 20.01.08.
+ :
+http://board.kolibrios.org/viewtopic.php?f=9&t=973
+
+
+====
+ box_lib.obj. Eolite.ini
+ "/sys/File Managers/".
+
+
+====
+Leency - , .
+Veliant - , .
+
+====
+diamond - , .
+ - EditBox .
+Nable - , IPC.
+Mario79 - .
+S1n - lib_ini ( ).
+Rock_maniak_forever, turbanoff, Sorcerer, Gluk, Albom - .
+lev - .
+
+
+ ! ! KolibriOS Forever!
\ No newline at end of file
diff --git a/programs/cmm/example/compile.bat b/programs/cmm/example/compile.bat
index b5d2b2ae15..f6ce60cb56 100644
--- a/programs/cmm/example/compile.bat
+++ b/programs/cmm/example/compile.bat
@@ -1,6 +1,5 @@
..\C--\C-- example.c
-del example
-rename example.com example
-..\C--\kpack example
-pause
-del warning.txt
+@del example
+@rename example.com example
+@pause
+@del warning.txt
diff --git a/programs/cmm/example/example.c b/programs/cmm/example/example.c
index 81d4bed079..0d52ebf9de 100644
--- a/programs/cmm/example/example.c
+++ b/programs/cmm/example/example.c
@@ -1,4 +1,6 @@
+#define MEMSIZE 0x3E80
#include "..\lib\kolibri.h"
+#include "..\lib\strings.h"
#include "..\lib\file_system.h"
@@ -32,9 +34,10 @@ void main()
void draw_window()
{
+ proc_info Form;
DefineAndDrawWindow(215,100,250,200,0x34,0xFFFFFF,"Window header");
+ GetProcessInfo(#Form, SelfInfo);
WriteText(50,80,0x80,0,"Press Enter");
-
}
diff --git a/programs/cmm/installer/compile.bat b/programs/cmm/installer/compile.bat
new file mode 100644
index 0000000000..aea335ad91
--- /dev/null
+++ b/programs/cmm/installer/compile.bat
@@ -0,0 +1,5 @@
+..\C--\C-- main.c /lst
+@del installer.kex
+@rename main.com installer.kex
+@pause
+@del warning.txt
diff --git a/programs/cmm/installer/copyf.c b/programs/cmm/installer/copyf.c
new file mode 100644
index 0000000000..bc7acb329f
--- /dev/null
+++ b/programs/cmm/installer/copyf.c
@@ -0,0 +1,173 @@
+// универсальность добавления /
+// относительный путь относительно программы
+
+void copyf(dword params)
+{
+ //copyf /sys/lib|/sys/lib2
+ char from[4096], to[4096];
+ BDVK from_atr;
+ int border;
+ mem_Init();
+ if (!params) { notify("Error: no copyf params!"); return; }
+ program_path[strrchr(#program_path, '/')] = 0x0;
+ border = strchr(params, '|');
+ if (!border) border = strchr(params, ' ');
+
+ if (ESBYTE[params]<>'/')
+ {
+ strcpy(#from, #program_path);
+ strcat(#from, params);
+ from[border+strlen(#program_path)-1]=NULL;
+ }
+ else
+ {
+ strcat(#from, params);
+ from[border-1]=NULL;
+ }
+ strcpy(#to, params+border);
+
+ GetFileInfo(#from, #from_atr);
+ if (TestBit(from_atr.attr, 4)==1)
+ {
+ CopyFolder(#from, #to);
+ }
+ else
+ {
+ CopyFile(#from, #to);
+ }
+}
+
+
+void CopyFolder(dword from, to)
+{
+ dword dirbuf, fcount, filename;
+ int i, error, isdir;
+ char copy_from[4096], copy_in[4096];
+ char from2[4096], to2[4096];
+
+ error = GetDir(#dirbuf, #fcount, from);
+ if (error) debug_error(from, error);
+
+ if ((strcmp(to, "/sys")!=0) && (strcmp(to, "/tmp9/1")!=0))
+ {
+ error = CreateDir(to);
+ if (error) debug_error(to, error);
+ }
+ chrcat(to, '/');
+ chrcat(from, '/');
+
+ for (i=0; i100) InstallationLoop();
+ else notify("You do not have enought free RAM for installation!");
+}
\ No newline at end of file
diff --git a/programs/cmm/installer/img/logo.ico b/programs/cmm/installer/img/logo.ico
new file mode 100644
index 0000000000..ce29b7da59
Binary files /dev/null and b/programs/cmm/installer/img/logo.ico differ
diff --git a/programs/cmm/installer/img/logo.raw b/programs/cmm/installer/img/logo.raw
new file mode 100644
index 0000000000..66ba96cb8e
Binary files /dev/null and b/programs/cmm/installer/img/logo.raw differ
diff --git a/programs/cmm/installer/installation.c b/programs/cmm/installer/installation.c
new file mode 100644
index 0000000000..bab32e5121
--- /dev/null
+++ b/programs/cmm/installer/installation.c
@@ -0,0 +1,102 @@
+
+void InstallationLoop()
+{
+ byte id, key, started=false;
+ goto _INSTALL_DRAW;
+
+ loop() switch(WaitEvent())
+ {
+ case evButton:
+ id=GetButtonID();
+ if(id == 1) ExitProcess();
+ if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/donate.php");
+ if (id == 10) HalloLoop();
+ break;
+ case evKey:
+ key = GetKey();
+ break;
+
+ case evReDraw: _INSTALL_DRAW:
+ if !(DefineWindow("Installation Started", "Stop")) break;
+ if (started) break;
+ started = true;
+ Install();
+ }
+}
+
+
+char iclock[3]={1,2};
+void ShowProgress(dword text1)
+{
+ iclock[0]>2) return 0; //rolled_up
+
+ DrawBar(0, 0, Form.cwidth, BLACK_H, 0);
+ DrawBar(0, BLACK_H, Form.cwidth, Form.cheight-BLACK_H, 0xFFFfff);
+ _PutImage(BLACK_H-LOGOW/2, BLACK_H-LOGOH/2, LOGOW,LOGOH, #logo);
+ WriteTextB(BLACK_H-LOGOW + LOGOW, BLACK_H-6/2, 0x90, 0xFFFfff, wtitle);
+ DrawCaptButton(Form.cwidth-107, Form.cheight-40, 90, 24, 10, sc.work_button, sc.work_button_text,wbutton);
+ return 1;
+}
+
+#include "copyf.c"
+#include "tmp_add.c"
+#include "hallo.c";
+#include "installation.c";
+
+void main()
+{
+ mem_Init();
+ if (load_dll2(boxlib, #box_lib_init,0)!=0) notify("Error while loading library /rd/1/lib/box_lib.obj");
+ SetEventMask(0x27);
+ program_path[strrchr(#program_path, '/')] = 0x0;
+ HalloLoop();
+}
+
+
+stop:
\ No newline at end of file
diff --git a/programs/cmm/installer/main.lst b/programs/cmm/installer/main.lst
new file mode 100644
index 0000000000..0488fef23a
--- /dev/null
+++ b/programs/cmm/installer/main.lst
@@ -0,0 +1,4363 @@
+SPHINX/SHEKER C-- One Pass Disassembler. Version 0.239c b26 Apr 27 2007
+
+..\lib\kolibri.h 6: char os_name[8] = {'M','E','N','U','E','T','0','1'};
+00000000 4D454E5545543031 db 4Dh,45h,4Eh,55h,45h,54h,30h,31h
+
+..\lib\kolibri.h 7: dword os_version = 0x00000001;
+00000008 01000000 dd 1
+
+..\lib\kolibri.h 8: dword start_addr = #main;
+0000000C 80250000 dd 2580h
+
+..\lib\kolibri.h 9: dword final_addr = #stop+32;
+00000010 1E260000 dd 261Eh
+
+..\lib\kolibri.h 10: dword alloc_mem = MEMSIZE;
+00000014 00100A00 dd 0A1000h
+
+..\lib\kolibri.h 11: dword x86esp_reg = MEMSIZE;
+00000018 00100A00 dd 0A1000h
+
+..\lib\kolibri.h 12: dword I_Param = #param;
+0000001C 3E2C0000 dd 2C3Eh
+
+..\lib\kolibri.h 13: dword I_Path = #program_path;
+00000020 3E3C0000 dd 3C3Eh
+
+..\lib\kolibri.h 41: void mouse::get()
+00000024 55 push ebp
+00000025 89E5 mov ebp,esp
+
+..\lib\kolibri.h 43: EAX = 37;
+00000027 6A25 push 25h
+00000029 58 pop eax
+
+..\lib\kolibri.h 44: EBX = 1;
+0000002A 31DB xor ebx,ebx
+0000002C 43 inc ebx
+
+..\lib\kolibri.h 45: $int 0x40
+0000002D CD40 int 40h
+
+..\lib\kolibri.h 46: $mov ebx, eax
+0000002F 89C3 mov ebx,eax
+
+..\lib\kolibri.h 47: $shr eax, 16
+00000031 C1E810 shr eax,10h
+
+..\lib\kolibri.h 48: $and ebx,0x0000FFFF
+00000034 81E3FFFF0000 and ebx,0FFFFh
+
+..\lib\kolibri.h 49: x = EAX;
+0000003A 8B7508 mov esi,[ebp+8]
+0000003D 8906 mov [esi],eax
+
+..\lib\kolibri.h 50: y = EBX;
+0000003F 895E04 mov [esi+4],ebx
+
+..\lib\kolibri.h 51: EAX = 37;
+00000042 6A25 push 25h
+00000044 58 pop eax
+
+..\lib\kolibri.h 52: EBX = 2;
+00000045 6A02 push 2
+00000047 5B pop ebx
+
+..\lib\kolibri.h 53: $int 0x40
+00000048 CD40 int 40h
+
+..\lib\kolibri.h 54: $mov ebx, eax
+0000004A 89C3 mov ebx,eax
+
+..\lib\kolibri.h 55: $and eax, 0x00000001
+0000004C 83E001 and eax,1
+
+..\lib\kolibri.h 56: $shr ebx, 1
+0000004F D1EB shr ebx,1
+
+..\lib\kolibri.h 57: $and ebx, 0x00000001
+00000051 83E301 and ebx,1
+
+..\lib\kolibri.h 58: lkm = EAX;
+00000054 8B7508 mov esi,[ebp+8]
+00000057 894608 mov [esi+8],eax
+
+..\lib\kolibri.h 59: pkm = EBX;
+0000005A 895E0C mov [esi+0Ch],ebx
+
+..\lib\kolibri.h 60: EAX = 37; //
+0000005D 6A25 push 25h
+0000005F 58 pop eax
+
+..\lib\kolibri.h 61: EBX = 7;
+00000060 6A07 push 7
+00000062 5B pop ebx
+
+..\lib\kolibri.h 62: $int 0x40
+00000063 CD40 int 40h
+
+..\lib\kolibri.h 63: $mov ebx, eax
+00000065 89C3 mov ebx,eax
+
+..\lib\kolibri.h 64: $shr eax, 16
+00000067 C1E810 shr eax,10h
+
+..\lib\kolibri.h 65: $and ebx,0x0000FFFF
+0000006A 81E3FFFF0000 and ebx,0FFFFh
+
+..\lib\kolibri.h 67: vert = EBX;
+00000070 8B7508 mov esi,[ebp+8]
+00000073 895E14 mov [esi+14h],ebx
+00000076 5D pop ebp
+00000077 C20400 ret 4
+
+..\lib\kolibri.h 78: void system_colors::get()
+0000007A 55 push ebp
+0000007B 89E5 mov ebp,esp
+
+..\lib\kolibri.h 80: EAX = 48;
+0000007D 6A30 push 30h
+0000007F 58 pop eax
+
+..\lib\kolibri.h 81: EBX = 3;
+00000080 6A03 push 3
+00000082 5B pop ebx
+
+..\lib\kolibri.h 82: ECX = #frame;
+00000083 8B4D08 mov ecx,[ebp+8]
+
+..\lib\kolibri.h 83: EDX = 40;
+00000086 6A28 push 28h
+00000088 5A pop edx
+
+..\lib\kolibri.h 84: $int 0x40
+00000089 CD40 int 40h
+0000008B 5D pop ebp
+0000008C C20400 ret 4
+
+..\lib\kolibri.h 362: void DefineAndDrawWindow(dword x,y, sizeX,sizeY, byte WindowType,dword WindowAreaColor, EDI, ESI)
+0000008F 55 push ebp
+00000090 89E5 mov ebp,esp
+
+..\lib\kolibri.h 364: EAX = 12; // function 12:tell os about windowdraw
+00000092 6A0C push 0Ch
+00000094 58 pop eax
+
+..\lib\kolibri.h 365: EBX = 1;
+00000095 31DB xor ebx,ebx
+00000097 43 inc ebx
+
+..\lib\kolibri.h 366: $int 0x40
+00000098 CD40 int 40h
+
+..\lib\kolibri.h 368: EAX = 0;
+0000009A 31C0 xor eax,eax
+
+..\lib\kolibri.h 369: EBX = x << 16 + sizeX;
+0000009C 8B5D1C mov ebx,[ebp+1Ch]
+0000009F C1E310 shl ebx,10h
+000000A2 035D14 add ebx,[ebp+14h]
+
+..\lib\kolibri.h 370: ECX = y << 16 + sizeY;
+000000A5 8B4D18 mov ecx,[ebp+18h]
+000000A8 C1E110 shl ecx,10h
+000000AB 034D10 add ecx,[ebp+10h]
+
+..\lib\kolibri.h 371: EDX = WindowType << 24 | WindowAreaColor;
+000000AE 0FB6550C movzx edx,[ebp+0Ch]
+000000B2 C1E218 shl edx,18h
+000000B5 0B5508 or edx,[ebp+8]
+
+..\lib\kolibri.h 372: $int 0x40
+000000B8 CD40 int 40h
+
+..\lib\kolibri.h 374: EAX = 12; // function 12:tell os about windowdraw
+000000BA 6A0C push 0Ch
+000000BC 58 pop eax
+
+..\lib\kolibri.h 375: EBX = 2;
+000000BD 6A02 push 2
+000000BF 5B pop ebx
+
+..\lib\kolibri.h 376: $int 0x40
+000000C0 CD40 int 40h
+000000C2 5D pop ebp
+000000C3 C21800 ret 18h
+
+..\lib\kolibri.h 392: void WriteTextB(dword x,y,byte fontType, dword color, EDX)
+000000C6 55 push ebp
+000000C7 89E5 mov ebp,esp
+
+..\lib\kolibri.h 394: EAX = 4;
+000000C9 6A04 push 4
+000000CB 58 pop eax
+
+..\lib\kolibri.h 395: EBX = x<<16+y;
+000000CC 8B5D14 mov ebx,[ebp+14h]
+000000CF C1E310 shl ebx,10h
+000000D2 035D10 add ebx,[ebp+10h]
+
+..\lib\kolibri.h 396: ECX = fontType<<24+color;
+000000D5 0FB64D0C movzx ecx,[ebp+0Ch]
+000000D9 C1E118 shl ecx,18h
+000000DC 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 397: ESI = 0;
+000000DF 31F6 xor esi,esi
+
+..\lib\kolibri.h 398: $int 0x40;
+000000E1 CD40 int 40h
+
+..\lib\kolibri.h 399: $add ebx, 1<<16
+000000E3 81C300000100 add ebx,10000h
+
+..\lib\kolibri.h 400: $int 0x40
+000000E9 CD40 int 40h
+000000EB 5D pop ebp
+000000EC C21000 ret 10h
+
+..\lib\kolibri.h 403: void WriteText(dword x,y,byte fontType, dword color, EDX)
+000000EF 55 push ebp
+000000F0 89E5 mov ebp,esp
+
+..\lib\kolibri.h 405: EAX = 4;
+000000F2 6A04 push 4
+000000F4 58 pop eax
+
+..\lib\kolibri.h 406: EBX = x<<16+y;
+000000F5 8B5D14 mov ebx,[ebp+14h]
+000000F8 C1E310 shl ebx,10h
+000000FB 035D10 add ebx,[ebp+10h]
+
+..\lib\kolibri.h 407: ECX = fontType<<24+color;
+000000FE 0FB64D0C movzx ecx,[ebp+0Ch]
+00000102 C1E118 shl ecx,18h
+00000105 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 408: ESI = 0;
+00000108 31F6 xor esi,esi
+
+..\lib\kolibri.h 409: $int 0x40;
+0000010A CD40 int 40h
+0000010C 5D pop ebp
+0000010D C21000 ret 10h
+
+..\lib\kolibri.h 412: void WriteNumber(dword x,y,byte fontType, dword color, count, ECX)
+00000110 55 push ebp
+00000111 89E5 mov ebp,esp
+
+..\lib\kolibri.h 414: EAX = 47;
+00000113 6A2F push 2Fh
+00000115 58 pop eax
+
+..\lib\kolibri.h 415: EBX = count<<16;
+00000116 8B5D08 mov ebx,[ebp+8]
+00000119 C1E310 shl ebx,10h
+
+..\lib\kolibri.h 416: EDX = x<<16+y;
+0000011C 8B5518 mov edx,[ebp+18h]
+0000011F C1E210 shl edx,10h
+00000122 035514 add edx,[ebp+14h]
+
+..\lib\kolibri.h 417: ESI = fontType<<24+color;
+00000125 0FB67510 movzx esi,[ebp+10h]
+00000129 C1E618 shl esi,18h
+0000012C 03750C add esi,[ebp+0Ch]
+
+..\lib\kolibri.h 418: $int 0x40;
+0000012F CD40 int 40h
+00000131 5D pop ebp
+00000132 C21400 ret 14h
+
+..\lib\kolibri.h 421: void CopyScreen(dword EBX, x, y, w, h)
+00000135 55 push ebp
+00000136 89E5 mov ebp,esp
+
+..\lib\kolibri.h 423: EAX = 36;
+00000138 6A24 push 24h
+0000013A 58 pop eax
+
+..\lib\kolibri.h 424: ECX = w << 16 + h;
+0000013B 8B4D0C mov ecx,[ebp+0Ch]
+0000013E C1E110 shl ecx,10h
+00000141 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 425: EDX = x << 16 + y;
+00000144 8B5514 mov edx,[ebp+14h]
+00000147 C1E210 shl edx,10h
+0000014A 035510 add edx,[ebp+10h]
+
+..\lib\kolibri.h 426: $int 0x40;
+0000014D CD40 int 40h
+0000014F 5D pop ebp
+00000150 C21000 ret 10h
+
+..\lib\kolibri.h 429: dword GetPixelColor(dword x, x_size, y)
+00000153 55 push ebp
+00000154 89E5 mov ebp,esp
+
+..\lib\kolibri.h 431: $mov eax, 35
+00000156 B823000000 mov eax,23h
+
+..\lib\kolibri.h 432: EBX= y*x_size+x;
+0000015B 8B5D08 mov ebx,[ebp+8]
+0000015E 0FAF5D0C imul ebx,[ebp+0Ch]
+00000162 035D10 add ebx,[ebp+10h]
+
+..\lib\kolibri.h 433: $int 0x40
+00000165 CD40 int 40h
+00000167 5D pop ebp
+00000168 C20C00 ret 0Ch
+
+..\lib\kolibri.h 437: void _PutImage(dword x,y, w,h, EBX)
+0000016B 55 push ebp
+0000016C 89E5 mov ebp,esp
+
+..\lib\kolibri.h 439: EAX = 7;
+0000016E 6A07 push 7
+00000170 58 pop eax
+
+..\lib\kolibri.h 440: ECX = w<<16+h;
+00000171 8B4D0C mov ecx,[ebp+0Ch]
+00000174 C1E110 shl ecx,10h
+00000177 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 441: EDX = x<<16+y;
+0000017A 8B5514 mov edx,[ebp+14h]
+0000017D C1E210 shl edx,10h
+00000180 035510 add edx,[ebp+10h]
+
+..\lib\kolibri.h 442: $int 0x40
+00000183 CD40 int 40h
+00000185 5D pop ebp
+00000186 C21000 ret 10h
+
+..\lib\kolibri.h 445: void PutPaletteImage(dword EBX,w,h,x,y,ESI,EDI)
+00000189 55 push ebp
+0000018A 89E5 mov ebp,esp
+
+..\lib\kolibri.h 447: EAX = 65;
+0000018C 6A41 push 41h
+0000018E 58 pop eax
+
+..\lib\kolibri.h 448: ECX = w<<16+h;
+0000018F 8B4D14 mov ecx,[ebp+14h]
+00000192 C1E110 shl ecx,10h
+00000195 034D10 add ecx,[ebp+10h]
+
+..\lib\kolibri.h 449: EDX = x<<16+y;
+00000198 8B550C mov edx,[ebp+0Ch]
+0000019B C1E210 shl edx,10h
+0000019E 035508 add edx,[ebp+8]
+
+..\lib\kolibri.h 450: EBP = 0;
+000001A1 31ED xor ebp,ebp
+
+..\lib\kolibri.h 451: $int 0x40
+000001A3 CD40 int 40h
+000001A5 5D pop ebp
+000001A6 C21000 ret 10h
+
+..\lib\kolibri.h 460: void DrawBar(dword x,y,w,h,EDX)
+000001A9 55 push ebp
+000001AA 89E5 mov ebp,esp
+
+..\lib\kolibri.h 462: if (h<=0) || (h>60000) || (w<=0) || (w>60000) return; //bad boy :)
+000001AC 837D0800 cmp dword ptr [ebp+8],0
+000001B0 7618 jbe 1CAh
+000001B2 817D0860EA0000 cmp dword ptr [ebp+8],0EA60h
+000001B9 770F ja 1CAh
+000001BB 837D0C00 cmp dword ptr [ebp+0Ch],0
+000001BF 7609 jbe 1CAh
+000001C1 817D0C60EA0000 cmp dword ptr [ebp+0Ch],0EA60h
+000001C8 7605 jbe 1CFh
+000001CA E917000000 jmp 1E6h
+
+..\lib\kolibri.h 463: EAX = 13;
+000001CF 6A0D push 0Dh
+000001D1 58 pop eax
+
+..\lib\kolibri.h 464: EBX = x<<16+w;
+000001D2 8B5D14 mov ebx,[ebp+14h]
+000001D5 C1E310 shl ebx,10h
+000001D8 035D0C add ebx,[ebp+0Ch]
+
+..\lib\kolibri.h 465: ECX = y<<16+h;
+000001DB 8B4D10 mov ecx,[ebp+10h]
+000001DE C1E110 shl ecx,10h
+000001E1 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 466: $int 0x40
+000001E4 CD40 int 40h
+000001E6 5D pop ebp
+000001E7 C21000 ret 10h
+
+..\lib\kolibri.h 469: void DefineButton(dword x,y,w,h,EDX,ESI)
+000001EA 55 push ebp
+000001EB 89E5 mov ebp,esp
+
+..\lib\kolibri.h 471: EAX = 8;
+000001ED 6A08 push 8
+000001EF 58 pop eax
+
+..\lib\kolibri.h 472: $push edx
+000001F0 52 push edx
+
+..\lib\kolibri.h 473: EDX += BT_DEL;
+000001F1 8D9200000080 lea edx,[edx-80000000h]
+
+..\lib\kolibri.h 474: $int 0x40;
+000001F7 CD40 int 40h
+
+..\lib\kolibri.h 475: $pop edx
+000001F9 5A pop edx
+
+..\lib\kolibri.h 476: EBX = x<<16+w;
+000001FA 8B5D14 mov ebx,[ebp+14h]
+000001FD C1E310 shl ebx,10h
+00000200 035D0C add ebx,[ebp+0Ch]
+
+..\lib\kolibri.h 477: ECX = y<<16+h;
+00000203 8B4D10 mov ecx,[ebp+10h]
+00000206 C1E110 shl ecx,10h
+00000209 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 478: $int 0x40
+0000020C CD40 int 40h
+0000020E 5D pop ebp
+0000020F C21000 ret 10h
+
+..\lib\kolibri.h 481: void UnsafeDefineButton(dword x,y,w,h,EDX,ESI)
+00000212 55 push ebp
+00000213 89E5 mov ebp,esp
+
+..\lib\kolibri.h 483: EAX = 8;
+00000215 6A08 push 8
+00000217 58 pop eax
+
+..\lib\kolibri.h 484: EBX = x<<16+w;
+00000218 8B5D14 mov ebx,[ebp+14h]
+0000021B C1E310 shl ebx,10h
+0000021E 035D0C add ebx,[ebp+0Ch]
+
+..\lib\kolibri.h 485: ECX = y<<16+h;
+00000221 8B4D10 mov ecx,[ebp+10h]
+00000224 C1E110 shl ecx,10h
+00000227 034D08 add ecx,[ebp+8]
+
+..\lib\kolibri.h 486: $int 0x40
+0000022A CD40 int 40h
+0000022C 5D pop ebp
+0000022D C21000 ret 10h
+
+..\lib\strings.h 149: int chrnum(dword searchin, char symbol)
+00000230 55 push ebp
+00000231 89E5 mov ebp,esp
+00000233 6A00 push 0
+
+..\lib\strings.h 152: while(DSBYTE[searchin])
+00000235 E914000000 jmp 24Eh
+
+..\lib\strings.h 154: if (DSBYTE[searchin] == symbol) num++;
+0000023A 8A4508 mov al,[ebp+8]
+0000023D 8B750C mov esi,[ebp+0Ch]
+00000240 3806 cmp [esi],al
+00000242 0F8503000000 jnz 24Bh
+00000248 FF45FC inc dword ptr [ebp-4]
+
+..\lib\strings.h 155: searchin++;
+0000024B FF450C inc dword ptr [ebp+0Ch]
+
+..\lib\strings.h 152: while(DSBYTE[searchin])
+0000024E 8B750C mov esi,[ebp+0Ch]
+00000251 803E00 cmp byte ptr [esi],0
+00000254 75E4 jne 23Ah
+
+..\lib\strings.h 157: return num;
+00000256 8B45FC mov eax,[ebp-4]
+00000259 C9 leave
+0000025A C20800 ret 8
+
+..\lib\strings.h 201: dword strstri(dword searchin, usestr_s)
+0000025D 55 push ebp
+0000025E 89E5 mov ebp,esp
+00000260 FF7508 push dword ptr [ebp+8]
+00000263 51 push ecx
+00000264 51 push ecx
+
+..\lib\strings.h 206: while(DSBYTE[searchin])
+00000265 E96D000000 jmp 2D7h
+
+..\lib\strings.h 208: si = DSBYTE[searchin];
+0000026A 8B750C mov esi,[ebp+0Ch]
+0000026D 8A06 mov al,[esi]
+0000026F 8845F8 mov [ebp-8],al
+
+..\lib\strings.h 209: ue = DSBYTE[usestr_e];
+00000272 8B75FC mov esi,[ebp-4]
+00000275 8A06 mov al,[esi]
+00000277 8845F4 mov [ebp-0Ch],al
+
+..\lib\strings.h 210: if (si>='A') && (si<='Z') si +=32;
+0000027A 807DF841 cmp byte ptr [ebp-8],41h
+0000027E 0F8C0E000000 jl 292h
+00000284 807DF85A cmp byte ptr [ebp-8],5Ah
+00000288 0F8F04000000 jg 292h
+0000028E 8045F820 add byte ptr [ebp-8],20h
+
+..\lib\strings.h 211: if (ue>='A') && (ue<='Z') ue +=32;
+00000292 3C41 cmp al,41h
+00000294 0F8C0C000000 jl 2A6h
+0000029A 3C5A cmp al,5Ah
+0000029C 0F8F04000000 jg 2A6h
+000002A2 8045F420 add byte ptr [ebp-0Ch],20h
+
+..\lib\strings.h 212: if (si == ue) usestr_e++; else usestr_e = usestr_s;
+000002A6 8A45F4 mov al,[ebp-0Ch]
+000002A9 3845F8 cmp [ebp-8],al
+000002AC 0F8508000000 jnz 2BAh
+000002B2 FF45FC inc dword ptr [ebp-4]
+000002B5 E906000000 jmp 2C0h
+000002BA 8B4508 mov eax,[ebp+8]
+000002BD 8945FC mov [ebp-4],eax
+
+..\lib\strings.h 213: searchin++;
+000002C0 FF450C inc dword ptr [ebp+0Ch]
+
+..\lib\strings.h 214: if (DSBYTE[usestr_e]=='\0') return searchin;
+000002C3 8B75FC mov esi,[ebp-4]
+000002C6 803E00 cmp byte ptr [esi],0
+000002C9 0F8508000000 jnz 2D7h
+000002CF 8B450C mov eax,[ebp+0Ch]
+000002D2 E90A000000 jmp 2E1h
+
+..\lib\strings.h 206: while(DSBYTE[searchin])
+000002D7 8B750C mov esi,[ebp+0Ch]
+000002DA 803E00 cmp byte ptr [esi],0
+000002DD 758B jne 26Ah
+
+..\lib\strings.h 216: return 0;
+000002DF 31C0 xor eax,eax
+000002E1 C9 leave
+000002E2 C20800 ret 8
+
+..\lib\strings.h 220: void strcpyb(dword search_in, copyin, startstr, endstr)
+000002E5 C8080000 enter 8,0
+
+..\lib\strings.h 223: startp = strstr(search_in, startstr) + strlen(startstr);
+000002E9 8B5D14 mov ebx,[ebp+14h]
+000002EC 8B550C mov edx,[ebp+0Ch]
+000002EF E849230000 call 263Dh
+000002F4 50 push eax
+000002F5 8B7D0C mov edi,[ebp+0Ch]
+000002F8 E822240000 call 271Fh
+000002FD 5A pop edx
+000002FE 01D0 add eax,edx
+00000300 8945FC mov [ebp-4],eax
+
+..\lib\strings.h 224: endp = strstri(startp, endstr);
+00000303 50 push eax
+00000304 FF7508 push dword ptr [ebp+8]
+00000307 E851FFFFFF call 25Dh
+0000030C 8945F8 mov [ebp-8],eax
+
+..\lib\strings.h 225: if (startp==endp) return;
+0000030F 3945FC cmp [ebp-4],eax
+00000312 0F841E000000 jz 336h
+
+..\lib\strings.h 228: DSBYTE[copyin] = DSBYTE[startp];
+00000318 8B75FC mov esi,[ebp-4]
+0000031B 8A06 mov al,[esi]
+0000031D 8B7510 mov esi,[ebp+10h]
+00000320 8806 mov [esi],al
+
+..\lib\strings.h 229: copyin++;
+00000322 FF4510 inc dword ptr [ebp+10h]
+
+..\lib\strings.h 230: startp++;
+00000325 FF45FC inc dword ptr [ebp-4]
+
+..\lib\strings.h 232: while (startp='0') && (ch<='9')) ch -= '0';
+0000052E 807DF430 cmp byte ptr [ebp-0Ch],30h
+00000532 7C0A jl 53Eh
+00000534 807DF439 cmp byte ptr [ebp-0Ch],39h
+00000538 7F04 jg 53Eh
+0000053A 806DF430 sub byte ptr [ebp-0Ch],30h
+
+..\lib\encoding.h 167: IF ((ch>='A') && (ch<='F')) ch -= 'A'-10;
+0000053E 807DF441 cmp byte ptr [ebp-0Ch],41h
+00000542 7C0A jl 54Eh
+00000544 807DF446 cmp byte ptr [ebp-0Ch],46h
+00000548 7F04 jg 54Eh
+0000054A 806DF437 sub byte ptr [ebp-0Ch],37h
+
+..\lib\encoding.h 168: IF ((ch>='a') && (ch<='f')) ch -= 'a'-10;
+0000054E 807DF461 cmp byte ptr [ebp-0Ch],61h
+00000552 7C0A jl 55Eh
+00000554 807DF466 cmp byte ptr [ebp-0Ch],66h
+00000558 7F04 jg 55Eh
+0000055A 806DF457 sub byte ptr [ebp-0Ch],57h
+
+..\lib\encoding.h 169: symbol = symbol*0x10 + ch;
+0000055E 8B45F8 mov eax,[ebp-8]
+00000561 C1E004 shl eax,4
+00000564 0FBE4DF4 movsx ecx,[ebp-0Ch]
+00000568 01C8 add eax,ecx
+0000056A 8945F8 mov [ebp-8],eax
+
+..\lib\encoding.h 162: j++;
+0000056D FF45FC inc dword ptr [ebp-4]
+00000570 EB9E jmp short 510h
+
+..\lib\encoding.h 171: wintodos(#symbol);
+00000572 8D75F8 lea esi,[ebp-8]
+00000575 E800210000 call 267Ah
+
+..\lib\encoding.h 172: AL=symbol;
+0000057A 8A45F8 mov al,[ebp-8]
+0000057D C9 leave
+0000057E C20400 ret 4
+
+..\lib\file_system.h 31: signed int RunProgram(dword run_path, run_param)
+00000581 55 push ebp
+00000582 89E5 mov ebp,esp
+
+..\lib\file_system.h 33: run_file_70.func = 7;
+00000584 6A07 push 7
+00000586 8F053E4C0000 pop dword ptr [4C3Eh]
+
+..\lib\file_system.h 34: run_file_70.param1 =
+0000058C 31C0 xor eax,eax
+0000058E A2524C0000 mov [4C52h],al
+00000593 A34E4C0000 mov [4C4Eh],eax
+00000598 A34A4C0000 mov [4C4Ah],eax
+0000059D A3424C0000 mov [4C42h],eax
+
+..\lib\file_system.h 38: run_file_70.param2 = run_param;
+000005A2 8B4508 mov eax,[ebp+8]
+000005A5 A3464C0000 mov [4C46h],eax
+
+..\lib\file_system.h 39: run_file_70.name = run_path;
+000005AA 8B450C mov eax,[ebp+0Ch]
+000005AD A3534C0000 mov [4C53h],eax
+
+..\lib\file_system.h 40: $mov eax,70
+000005B2 B846000000 mov eax,46h
+
+..\lib\file_system.h 41: $mov ebx,#run_file_70.func
+000005B7 BB3E4C0000 mov ebx,4C3Eh
+
+..\lib\file_system.h 42: $int 0x40
+000005BC CD40 int 40h
+000005BE 5D pop ebp
+000005BF C20800 ret 8
+
+..\lib\file_system.h 226: void notify(dword notify_param)
+000005C2 55 push ebp
+000005C3 89E5 mov ebp,esp
+
+..\lib\file_system.h 228: RunProgram("@notify", notify_param);
+000005C5 68D6050000 push 5D6h
+000005CA FF7508 push dword ptr [ebp+8]
+000005CD E8AFFFFFFF call 581h
+000005D2 5D pop ebp
+000005D3 C20400 ret 4
+
+000005D6 406E6F7469667900 db '@notify',0
+
+..\lib\mem.h 4: $push ebx
+000005DE 53 push ebx
+
+..\lib\mem.h 5: $mov eax, 68
+000005DF B844000000 mov eax,44h
+
+..\lib\mem.h 6: $mov ebx, 11
+000005E4 BB0B000000 mov ebx,0Bh
+
+..\lib\mem.h 7: $int 0x40
+000005E9 CD40 int 40h
+
+..\lib\mem.h 9: $pop ebx
+000005EB 5B pop ebx
+
+..\lib\mem.h 10: return EAX;
+000005EC C3 ret
+
+..\lib\mem.h 13: dword malloc(dword size)
+000005ED 55 push ebp
+000005EE 89E5 mov ebp,esp
+
+..\lib\mem.h 15: $push ebx
+000005F0 53 push ebx
+
+..\lib\mem.h 16: $push ecx
+000005F1 51 push ecx
+
+..\lib\mem.h 17: $mov eax, 68
+000005F2 B844000000 mov eax,44h
+
+..\lib\mem.h 18: $mov ebx, 12
+000005F7 BB0C000000 mov ebx,0Ch
+
+..\lib\mem.h 19: $mov ecx, size
+000005FC 8B4D08 mov ecx,[ebp+8]
+
+..\lib\mem.h 20: $int 0x40
+000005FF CD40 int 40h
+
+..\lib\mem.h 22: $pop ecx
+00000601 59 pop ecx
+
+..\lib\mem.h 23: $pop ebx
+00000602 5B pop ebx
+
+..\lib\mem.h 24: return EAX;
+00000603 5D pop ebp
+00000604 C20400 ret 4
+
+..\lib\mem.h 27: stdcall dword realloc(dword mptr, size)
+00000607 55 push ebp
+00000608 89E5 mov ebp,esp
+
+..\lib\mem.h 29: $push ebx
+0000060A 53 push ebx
+
+..\lib\mem.h 30: $push ecx
+0000060B 51 push ecx
+
+..\lib\mem.h 31: $push edx
+0000060C 52 push edx
+
+..\lib\mem.h 32: $mov eax, 68
+0000060D B844000000 mov eax,44h
+
+..\lib\mem.h 33: $mov ebx, 20
+00000612 BB14000000 mov ebx,14h
+
+..\lib\mem.h 34: $mov ecx, size
+00000617 8B4D0C mov ecx,[ebp+0Ch]
+
+..\lib\mem.h 35: $mov edx, mptr
+0000061A 8B5508 mov edx,[ebp+8]
+
+..\lib\mem.h 36: $int 0x40
+0000061D CD40 int 40h
+
+..\lib\mem.h 38: $pop edx
+0000061F 5A pop edx
+
+..\lib\mem.h 39: $pop ecx
+00000620 59 pop ecx
+
+..\lib\mem.h 40: $pop ebx
+00000621 5B pop ebx
+
+..\lib\mem.h 41: return EAX;
+00000622 5D pop ebp
+00000623 C20800 ret 8
+
+..\lib\mem.h 44: dword free(dword mptr)
+00000626 55 push ebp
+00000627 89E5 mov ebp,esp
+
+..\lib\mem.h 46: $push eax
+00000629 50 push eax
+
+..\lib\mem.h 47: $push ebx
+0000062A 53 push ebx
+
+..\lib\mem.h 48: $push ecx
+0000062B 51 push ecx
+
+..\lib\mem.h 49: $mov eax, 68
+0000062C B844000000 mov eax,44h
+
+..\lib\mem.h 50: $mov ebx, 13
+00000631 BB0D000000 mov ebx,0Dh
+
+..\lib\mem.h 51: $mov ecx, mptr
+00000636 8B4D08 mov ecx,[ebp+8]
+
+..\lib\mem.h 52: $test ecx, ecx
+00000639 85C9 test ecx,ecx
+
+..\lib\mem.h 53: $jz end0
+0000063B 7402 je 63Fh
+
+..\lib\mem.h 54: $int 0x40
+0000063D CD40 int 40h
+
+..\lib\mem.h 56: $pop ecx
+0000063F 59 pop ecx
+
+..\lib\mem.h 57: $pop ebx
+00000640 5B pop ebx
+
+..\lib\mem.h 58: $pop eax
+00000641 58 pop eax
+
+..\lib\mem.h 59: return 0;
+00000642 31C0 xor eax,eax
+00000644 5D pop ebp
+00000645 C20400 ret 4
+
+..\lib\dll.h 2: char a_libdir[43] = "/sys/lib/\0";
+00000648 2F7379732F6C69622F000000 db '/sys/lib/',0,0,0
+00000654 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
+00000660 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
+0000066C 00000000000000 db 0,0,0,0,0,0,0
+
+..\lib\dll.h 6: int dll_Load(dword import_table)
+00000673 55 push ebp
+00000674 89E5 mov ebp,esp
+
+..\lib\dll.h 8: $mov esi, import_table
+00000676 8B7508 mov esi,[ebp+8]
+
+..\lib\dll.h 9: @next_lib: $mov edx, DSDWORD[esi]
+00000679 8B16 mov edx,[esi]
+
+..\lib\dll.h 10: $or edx,edx
+0000067B 0BD2 or edx,edx
+
+..\lib\dll.h 11: $jz exit_
+0000067D 744B je 6CAh
+
+..\lib\dll.h 12: $push esi
+0000067F 56 push esi
+
+..\lib\dll.h 13: $mov esi,DSDWORD[esi+4]
+00000680 8B7604 mov esi,[esi+4]
+
+..\lib\dll.h 14: $mov edi,#a_libdir
+00000683 BF48060000 mov edi,648h
+
+..\lib\dll.h 16: $push edi
+00000688 57 push edi
+
+..\lib\dll.h 17: $push esi
+00000689 56 push esi
+
+..\lib\dll.h 18: EAX=strlen(#a_libdir);
+0000068A BF48060000 mov edi,648h
+0000068F E88B200000 call 271Fh
+
+..\lib\dll.h 19: $pop esi
+00000694 5E pop esi
+
+..\lib\dll.h 20: $pop edi
+00000695 5F pop edi
+
+..\lib\dll.h 21: $add edi, eax //9
+00000696 03F8 add edi,eax
+
+..\lib\dll.h 23: @loc01: $lodsb
+00000698 AC lodsb
+
+..\lib\dll.h 24: $stosb
+00000699 AA stosb
+
+..\lib\dll.h 25: $or al,al
+0000069A 0AC0 or al,al
+
+..\lib\dll.h 26: $jnz loc01
+0000069C 75FA jne 698h
+
+..\lib\dll.h 33: $mov eax, 68
+0000069E B844000000 mov eax,44h
+
+..\lib\dll.h 34: $mov ebx, 19
+000006A3 BB13000000 mov ebx,13h
+
+..\lib\dll.h 35: $mov ecx,#a_libdir
+000006A8 B948060000 mov ecx,648h
+
+..\lib\dll.h 36: $int 0x40
+000006AD CD40 int 40h
+
+..\lib\dll.h 38: $or eax,eax
+000006AF 0BC0 or eax,eax
+
+..\lib\dll.h 39: $jz fail
+000006B1 741F je 6D2h
+
+..\lib\dll.h 41: dll_Link(EAX, EDX);
+000006B3 50 push eax
+000006B4 52 push edx
+000006B5 E825000000 call 6DFh
+
+..\lib\dll.h 42: $push eax
+000006BA 50 push eax
+
+..\lib\dll.h 43: $mov eax, DSDWORD [eax]
+000006BB 8B00 mov eax,[eax]
+
+..\lib\dll.h 44: $cmp DSDWORD [eax], 'lib_'
+000006BD 81385F62696C cmp dword ptr [eax],6C69625Fh
+
+..\lib\dll.h 45: $pop eax
+000006C3 58 pop eax
+
+..\lib\dll.h 54: $pop esi
+000006C4 5E pop esi
+
+..\lib\dll.h 55: $add esi,8
+000006C5 83C608 add esi,8
+
+..\lib\dll.h 56: $jmp next_lib
+000006C8 EBAF jmp short 679h
+
+..\lib\dll.h 57: @exit_: $xor eax,eax
+000006CA 33C0 xor eax,eax
+
+..\lib\dll.h 58: return 0;
+000006CC 31C0 xor eax,eax
+000006CE 5D pop ebp
+000006CF C20400 ret 4
+
+..\lib\dll.h 59: @fail: $add esp,4
+000006D2 83C404 add esp,4
+
+..\lib\dll.h 60: $xor eax,eax
+000006D5 33C0 xor eax,eax
+
+..\lib\dll.h 61: $inc eax
+000006D7 40 inc eax
+
+..\lib\dll.h 62: return -1;
+000006D8 83C8FF or eax,0FFFFFFFFh
+000006DB 5D pop ebp
+000006DC C20400 ret 4
+
+..\lib\dll.h 66: void dll_Link(dword exp, imp)
+000006DF 55 push ebp
+000006E0 89E5 mov ebp,esp
+
+..\lib\dll.h 68: $push eax
+000006E2 50 push eax
+
+..\lib\dll.h 69: $mov esi, imp
+000006E3 8B7508 mov esi,[ebp+8]
+
+..\lib\dll.h 70: $test esi, esi
+000006E6 85F6 test esi,esi
+
+..\lib\dll.h 71: $jz done
+000006E8 741F je 709h
+
+..\lib\dll.h 72: @next: $lodsd
+000006EA AD lodsd
+
+..\lib\dll.h 73: $test eax,eax
+000006EB 85C0 test eax,eax
+
+..\lib\dll.h 74: $jz done
+000006ED 741A je 709h
+
+..\lib\dll.h 77: dll_GetProcAddress(exp,EAX);
+000006EF FF750C push dword ptr [ebp+0Ch]
+000006F2 50 push eax
+000006F3 E839000000 call 731h
+
+..\lib\dll.h 78: $or eax,eax
+000006F8 0BC0 or eax,eax
+
+..\lib\dll.h 79: $jz loc03
+000006FA 7405 je 701h
+
+..\lib\dll.h 81: $mov DSDWORD[esi-4],eax
+000006FC 8946FC mov [esi-4],eax
+
+..\lib\dll.h 82: $jmp next
+000006FF EBE9 jmp short 6EAh
+
+..\lib\dll.h 84: $mov DSDWORD[esp],0
+00000701 3EC7042400000000 mov dword ptr ds:[esp],0
+
+..\lib\dll.h 85: @done: $pop eax
+00000709 58 pop eax
+0000070A 5D pop ebp
+0000070B C20800 ret 8
+
+..\lib\dll.h 89: void dll_Init(dword dllentry)
+0000070E 55 push ebp
+0000070F 89E5 mov ebp,esp
+
+..\lib\dll.h 91: $pushad
+00000711 60 pushad
+
+..\lib\dll.h 92: EAX=#mem_Alloc;
+00000712 B8ED050000 mov eax,5EDh
+
+..\lib\dll.h 93: EBX=#mem_Free;
+00000717 BB26060000 mov ebx,626h
+
+..\lib\dll.h 94: ECX=#mem_ReAlloc;
+0000071C B907060000 mov ecx,607h
+
+..\lib\dll.h 95: EDX=#dll_Load;
+00000721 BA73060000 mov edx,673h
+
+..\lib\dll.h 96: DSDWORD [dllentry+4] stdcall ();
+00000726 8B7508 mov esi,[ebp+8]
+00000729 FF5604 call dword ptr [esi+4]
+
+..\lib\dll.h 97: $popad
+0000072C 61 popad
+0000072D 5D pop ebp
+0000072E C20400 ret 4
+
+..\lib\dll.h 101: dword dll_GetProcAddress(dword exp, sz_name)
+00000731 55 push ebp
+00000732 89E5 mov ebp,esp
+
+..\lib\dll.h 103: $push esi
+00000734 56 push esi
+
+..\lib\dll.h 104: $mov edx, exp
+00000735 8B550C mov edx,[ebp+0Ch]
+
+..\lib\dll.h 105: $xor eax,eax
+00000738 33C0 xor eax,eax
+
+..\lib\dll.h 106: @next: $or edx,edx
+0000073A 0BD2 or edx,edx
+
+..\lib\dll.h 107: $jz end_
+0000073C 741B je 759h
+
+..\lib\dll.h 108: $cmp edx,0
+0000073E 83FA00 cmp edx,0
+
+..\lib\dll.h 109: $jz end_
+00000741 7416 je 759h
+
+..\lib\dll.h 110: strcmp(DSDWORD[EDX],sz_name);
+00000743 8B32 mov esi,[edx]
+00000745 8B7D08 mov edi,[ebp+8]
+00000748 E8B11E0000 call 25FEh
+
+..\lib\dll.h 111: $test eax,eax
+0000074D 85C0 test eax,eax
+
+..\lib\dll.h 112: $jz ok
+0000074F 7405 je 756h
+
+..\lib\dll.h 113: $add edx,8
+00000751 83C208 add edx,8
+
+..\lib\dll.h 114: $jmp next
+00000754 EBE4 jmp short 73Ah
+
+..\lib\dll.h 116: $mov eax, DSDWORD[edx+4]
+00000756 8B4204 mov eax,[edx+4]
+
+..\lib\dll.h 118: $pop esi
+00000759 5E pop esi
+
+..\lib\dll.h 119: return EAX;
+0000075A 5D pop ebp
+0000075B C20800 ret 8
+
+..\lib\dll.h 123: int load_dll2(dword dllname, import_table, byte need_init)
+0000075E 55 push ebp
+0000075F 89E5 mov ebp,esp
+
+..\lib\dll.h 127: $mov eax, 68
+00000761 B844000000 mov eax,44h
+
+..\lib\dll.h 128: $mov ebx, 19
+00000766 BB13000000 mov ebx,13h
+
+..\lib\dll.h 129: ECX=dllname;
+0000076B 8B4D10 mov ecx,[ebp+10h]
+
+..\lib\dll.h 130: $int 0x40
+0000076E CD40 int 40h
+
+..\lib\dll.h 131: $test eax, eax
+00000770 85C0 test eax,eax
+
+..\lib\dll.h 132: $jz exit01
+00000772 7442 je 7B6h
+
+..\lib\dll.h 135: $mov edx,eax
+00000774 89C2 mov edx,eax
+
+..\lib\dll.h 136: ESI=import_table;
+00000776 8B750C mov esi,[ebp+0Ch]
+
+..\lib\dll.h 139: $lodsd
+00000779 AD lodsd
+
+..\lib\dll.h 140: $test eax,eax
+0000077A 85C0 test eax,eax
+
+..\lib\dll.h 141: $jz import_done01
+0000077C 7426 je 7A4h
+
+..\lib\dll.h 142: $push edx
+0000077E 52 push edx
+
+..\lib\dll.h 144: $mov ebx,DSDWORD[EDX]
+0000077F 8B1A mov ebx,[edx]
+
+..\lib\dll.h 145: $test ebx, ebx
+00000781 85DB test ebx,ebx
+
+..\lib\dll.h 146: $jz exit01
+00000783 7431 je 7B6h
+
+..\lib\dll.h 147: $push eax
+00000785 50 push eax
+
+..\lib\dll.h 149: $mov cl,DSBYTE[EAX];
+00000786 8A08 mov cl,[eax]
+
+..\lib\dll.h 150: $cmp cl,DSBYTE[EBX];
+00000788 3A0B cmp cl,[ebx]
+
+..\lib\dll.h 151: $jnz import_find_next01
+0000078A 7508 jne 794h
+
+..\lib\dll.h 152: $test cl,cl
+0000078C 84C9 test cl,cl
+
+..\lib\dll.h 153: $jz import_found01
+0000078E 740A je 79Ah
+
+..\lib\dll.h 154: $inc eax
+00000790 40 inc eax
+
+..\lib\dll.h 155: $inc ebx
+00000791 43 inc ebx
+
+..\lib\dll.h 156: $jmp nex101
+00000792 EBF2 jmp short 786h
+
+..\lib\dll.h 158: $pop eax
+00000794 58 pop eax
+
+..\lib\dll.h 159: $add edx, 8
+00000795 83C208 add edx,8
+
+..\lib\dll.h 160: $jmp import_find01
+00000798 EBE5 jmp short 77Fh
+
+..\lib\dll.h 162: $pop eax
+0000079A 58 pop eax
+
+..\lib\dll.h 163: $mov eax,DSDWORD[edx+4]
+0000079B 8B4204 mov eax,[edx+4]
+
+..\lib\dll.h 164: $mov DSDWORD[esi-4],eax
+0000079E 8946FC mov [esi-4],eax
+
+..\lib\dll.h 165: $pop edx
+000007A1 5A pop edx
+
+..\lib\dll.h 167: $jmp import_loop01
+000007A2 EBD5 jmp short 779h
+
+..\lib\dll.h 169: IF (need_init) dll_Init(EDX);
+000007A4 807D0800 cmp byte ptr [ebp+8],0
+000007A8 7406 je 7B0h
+000007AA 52 push edx
+000007AB E85EFFFFFF call 70Eh
+
+..\lib\dll.h 170: return 0;
+000007B0 31C0 xor eax,eax
+000007B2 5D pop ebp
+000007B3 C20C00 ret 0Ch
+
+..\lib\dll.h 172: return -1;
+000007B6 83C8FF or eax,0FFFFFFFFh
+000007B9 5D pop ebp
+000007BA C20C00 ret 0Ch
+000007BD 0000 add [eax],al
+000007BF 00C4 add ah,al
+
+..\lib\lib.obj\box_lib.h 2: dword boxlib = #aEdit_box_lib;
+000007C0 C4070000 dd 7C4h
+
+..\lib\lib.obj\box_lib.h 3: char aEdit_box_lib[22]="/sys/lib/box_lib.obj\0";
+000007C4 2F7379732F6C69622F626F78 db '/sys/lib/box'
+000007D0 5F6C69622E6F626A00000000 db '_lib.obj',0,0,0,0
+
+..\lib\lib.obj\box_lib.h 5: dword box_lib_init = #aboxlib_init;
+000007DC 48080000 dd 848h
+
+..\lib\lib.obj\box_lib.h 7: dword edit_box_draw = #aEdit_box_draw;
+000007E0 14080000 dd 814h
+
+..\lib\lib.obj\box_lib.h 8: dword edit_box_key = #aEdit_box_key;
+000007E4 1E080000 dd 81Eh
+
+..\lib\lib.obj\box_lib.h 9: dword edit_box_mouse = #aEdit_box_mouse;
+000007E8 2C080000 dd 82Ch
+
+..\lib\lib.obj\box_lib.h 10: dword version_ed = #aVersion_ed;
+000007EC 3C080000 dd 83Ch
+
+..\lib\lib.obj\box_lib.h 12: dword scrollbar_v_draw = #aScrollbar_v_draw;
+000007F0 52080000 dd 852h
+
+..\lib\lib.obj\box_lib.h 13: dword scrollbar_v_mouse = #aScrollbar_v_mouse;
+000007F4 64080000 dd 864h
+
+..\lib\lib.obj\box_lib.h 14: dword scrollbar_h_draw = #aScrollbar_h_draw;
+000007F8 77080000 dd 877h
+
+..\lib\lib.obj\box_lib.h 15: dword scrollbar_h_mouse = #aScrollbar_h_mouse;
+000007FC 89080000 dd 889h
+
+..\lib\lib.obj\box_lib.h 16: dword version_scrollbar = #aVersion_scrollbar;
+00000800 9C080000 dd 89Ch
+
+..\lib\lib.obj\box_lib.h 18: dword PathShow_prepare = #aPathShow_prepare;
+00000804 0B090000 dd 90Bh
+
+..\lib\lib.obj\box_lib.h 19: dword PathShow_draw = #aPathShow_draw;
+00000808 1D090000 dd 91Dh
+
+..\lib\lib.obj\box_lib.h 21: dword am__ = 0x0;
+0000080C 00000000 dd 0
+
+..\lib\lib.obj\box_lib.h 22: dword bm__ = 0x0;
+00000810 00000000 dd 0
+
+..\lib\lib.obj\box_lib.h 24: char aEdit_box_draw [9] = "edit_box\0";
+00000814 656469745F626F780000 db 'edit_box',0,0
+
+..\lib\lib.obj\box_lib.h 25: char aEdit_box_key [13] = "edit_box_key\0";
+0000081E 656469745F626F785F6B6579 db 'edit_box_key'
+0000082A 0000 db 0,0
+
+..\lib\lib.obj\box_lib.h 26: char aEdit_box_mouse[15] = "edit_box_mouse\0";
+0000082C 656469745F626F785F6D6F75 db 'edit_box_mou'
+00000838 73650000 db 'se',0,0
+
+..\lib\lib.obj\box_lib.h 27: char aVersion_ed [11] = "version_ed\0";
+0000083C 76657273696F6E5F65640000 db 'version_ed',0,0
+
+..\lib\lib.obj\box_lib.h 29: char aboxlib_init[9] = "lib_init\0";
+00000848 6C69625F696E69740000 db 'lib_init',0,0
+
+..\lib\lib.obj\box_lib.h 30: char aScrollbar_v_draw [17] = "scrollbar_v_draw\0";
+00000852 7363726F6C6C6261725F765F db 'scrollbar_v_'
+0000085E 647261770000 db 'draw',0,0
+
+..\lib\lib.obj\box_lib.h 31: char aScrollbar_v_mouse[18] = "scrollbar_v_mouse\0";
+00000864 7363726F6C6C6261725F765F db 'scrollbar_v_'
+00000870 6D6F7573650000 db 'mouse',0,0
+
+..\lib\lib.obj\box_lib.h 32: char aScrollbar_h_draw [17] = "scrollbar_h_draw\0";
+00000877 7363726F6C6C6261725F685F db 'scrollbar_h_'
+00000883 647261770000 db 'draw',0,0
+
+..\lib\lib.obj\box_lib.h 33: char aScrollbar_h_mouse[18] = "scrollbar_h_mouse\0";
+00000889 7363726F6C6C6261725F685F db 'scrollbar_h_'
+00000895 6D6F7573650000 db 'mouse',0,0
+
+..\lib\lib.obj\box_lib.h 34: char aVersion_scrollbar[18] = "version_scrollbar\0";
+0000089C 76657273696F6E5F7363726F db 'version_scro'
+000008A8 6C6C6261720000 db 'llbar',0,0
+
+..\lib\lib.obj\box_lib.h 36: char aCheck_box_draw [15] = "check_box_draw\0";
+000008AF 636865636B5F626F785F6472 db 'check_box_dr'
+000008BB 61770000 db 'aw',0,0
+
+..\lib\lib.obj\box_lib.h 37: char aCheck_box_mouse [16] = "check_box_mouse\0";
+000008BF 636865636B5F626F785F6D6F db 'check_box_mo'
+000008CB 7573650000 db 'use',0,0
+
+..\lib\lib.obj\box_lib.h 38: char aVersion_ch [11] = "version_ch\0";
+000008D0 76657273696F6E5F63680000 db 'version_ch',0,0
+
+..\lib\lib.obj\box_lib.h 40: char aOption_box_draw [16] = "option_box_draw\0";
+000008DC 6F7074696F6E5F626F785F64 db 'option_box_d'
+000008E8 7261770000 db 'raw',0,0
+
+..\lib\lib.obj\box_lib.h 41: char aOption_box_mouse [17] = "option_box_mouse\0";
+000008ED 6F7074696F6E5F626F785F6D db 'option_box_m'
+000008F9 6F7573650000 db 'ouse',0,0
+
+..\lib\lib.obj\box_lib.h 42: char aVersion_op [11] = "version_op\0" ;
+000008FF 76657273696F6E5F6F700000 db 'version_op',0,0
+
+..\lib\lib.obj\box_lib.h 44: char aPathShow_prepare [17] = "PathShow_prepare\0";
+0000090B 5061746853686F775F707265 db 'PathShow_pre'
+00000917 706172650000 db 'pare',0,0
+
+..\lib\lib.obj\box_lib.h 45: char aPathShow_draw [14] = "PathShow_draw\0";
+0000091D 5061746853686F775F647261 db 'PathShow_dra'
+00000929 770000 db 'w',0,0
+
+..\lib\lib.obj\libio_lib.h 4: dword libio = #alibio;
+0000092C 30090000 dd 930h
+
+..\lib\lib.obj\libio_lib.h 5: char alibio[21] = "/sys/lib/libio.obj\0"; //"libio.obj\0";
+00000930 2F7379732F6C69622F6C6962 db '/sys/lib/lib'
+0000093C 696F2E6F626A000000000000 db 'io.obj',0,0,0,0,0,0
+
+..\lib\lib.obj\libio_lib.h 7: dword libio_init = #alibio_init;
+00000948 64090000 dd 964h
+
+..\lib\lib.obj\libio_lib.h 8: dword file_size = #afile_size;
+0000094C 6E090000 dd 96Eh
+
+..\lib\lib.obj\libio_lib.h 9: dword file_open = #afile_open;
+00000950 79090000 dd 979h
+
+..\lib\lib.obj\libio_lib.h 10: dword file_read = #afile_read;
+00000954 85090000 dd 985h
+
+..\lib\lib.obj\libio_lib.h 11: dword file_close = #afile_close;
+00000958 90090000 dd 990h
+
+..\lib\lib.obj\libio_lib.h 13: dword am2__ = 0x0;
+0000095C 00000000 dd 0
+
+..\lib\lib.obj\libio_lib.h 14: dword bm2__ = 0x0;
+00000960 00000000 dd 0
+
+..\lib\lib.obj\libio_lib.h 18: char alibio_init[9] = "lib_init\0";
+00000964 6C69625F696E69740000 db 'lib_init',0,0
+
+..\lib\lib.obj\libio_lib.h 19: char afile_size[11] = "file_size\0";
+0000096E 66696C655F73697A650000 db 'file_size',0,0
+
+..\lib\lib.obj\libio_lib.h 20: char afile_open[12] = "file_open\0";
+00000979 66696C655F6F70656E000000 db 'file_open',0,0,0
+
+..\lib\lib.obj\libio_lib.h 21: char afile_read[11] = "file_read\0";
+00000985 66696C655F726561640000 db 'file_read',0,0
+
+..\lib\lib.obj\libio_lib.h 22: char afile_close[12] = "file_close\0";
+00000990 66696C655F636C6F73650000 db 'file_close',0,0
+
+..\lib\lib.obj\libimg_lib.h 4: dword libimg = #alibimg;
+0000099C A0090000 dd 9A0h
+
+..\lib\lib.obj\libimg_lib.h 5: char alibimg[21] = "/sys/lib/libimg.obj\0";
+000009A0 2F7379732F6C69622F6C6962 db '/sys/lib/lib'
+000009AC 696D672E6F626A0000000000 db 'img.obj',0,0,0,0,0
+
+..\lib\lib.obj\libimg_lib.h 7: dword libimg_init = #alibimg_init;
+000009B8 D8090000 dd 9D8h
+
+..\lib\lib.obj\libimg_lib.h 8: dword img_is_img = #aimg_is_img;
+000009BC E2090000 dd 9E2h
+
+..\lib\lib.obj\libimg_lib.h 9: dword img_to_rgb2 = #aimg_to_rgb2;
+000009C0 EE090000 dd 9EEh
+
+..\lib\lib.obj\libimg_lib.h 10: dword img_decode = #aimg_decode;
+000009C4 FB090000 dd 9FBh
+
+..\lib\lib.obj\libimg_lib.h 11: dword img_destroy = #aimg_destroy;
+000009C8 070A0000 dd 0A07h
+
+..\lib\lib.obj\libimg_lib.h 12: dword img_draw = #aimg_draw;
+000009CC 140A0000 dd 0A14h
+
+..\lib\lib.obj\libimg_lib.h 16: dword am1__ = 0x0;
+000009D0 00000000 dd 0
+
+..\lib\lib.obj\libimg_lib.h 17: dword bm1__ = 0x0;
+000009D4 00000000 dd 0
+
+..\lib\lib.obj\libimg_lib.h 20: char alibimg_init[9] = "lib_init\0";
+000009D8 6C69625F696E69740000 db 'lib_init',0,0
+
+..\lib\lib.obj\libimg_lib.h 21: char aimg_is_img[11] = "img_is_img\0";
+000009E2 696D675F69735F696D670000 db 'img_is_img',0,0
+
+..\lib\lib.obj\libimg_lib.h 22: char aimg_to_rgb2[12] = "img_to_rgb2\0";
+000009EE 696D675F746F5F7267623200 db 'img_to_rgb2',0
+000009FA 00 db 0
+
+..\lib\lib.obj\libimg_lib.h 23: char aimg_decode[11] = "img_decode\0";
+000009FB 696D675F6465636F64650000 db 'img_decode',0,0
+
+..\lib\lib.obj\libimg_lib.h 24: char aimg_destroy[12] = "img_destroy\0";
+00000A07 696D675F64657374726F7900 db 'img_destroy',0
+00000A13 00 db 0
+
+..\lib\lib.obj\libimg_lib.h 25: char aimg_draw[9] = "img_draw\0";
+00000A14 696D675F647261770000 db 'img_draw',0,0
+
+..\lib\lib.obj\libimg_lib.h 31: dword load_image(dword filename)
+00000A1E 55 push ebp
+00000A1F 89E5 mov ebp,esp
+00000A21 6A00 push 0
+00000A23 6A00 push 0
+00000A25 6A00 push 0
+00000A27 6A00 push 0
+00000A29 83EC28 sub esp,28h
+
+..\lib\lib.obj\libimg_lib.h 40: $and img_data, 0
+00000A2C 8365FC00 and dword ptr [ebp-4],0
+
+..\lib\lib.obj\libimg_lib.h 44: file_open stdcall (filename, O_READ);
+00000A30 6A01 push 1
+00000A32 FF7508 push dword ptr [ebp+8]
+00000A35 FF1550090000 call dword ptr [950h]
+
+..\lib\lib.obj\libimg_lib.h 45: $or eax, eax
+00000A3B 0BC0 or eax,eax
+
+..\lib\lib.obj\libimg_lib.h 46: $jnz loc05
+00000A3D 7507 jne 0A46h
+
+..\lib\lib.obj\libimg_lib.h 47: $stc
+00000A3F F9 stc
+
+..\lib\lib.obj\libimg_lib.h 48: return 0;
+00000A40 31C0 xor eax,eax
+00000A42 C9 leave
+00000A43 C20400 ret 4
+
+..\lib\lib.obj\libimg_lib.h 50: $mov fh, eax
+00000A46 8945F4 mov [ebp-0Ch],eax
+
+..\lib\lib.obj\libimg_lib.h 52: file_size stdcall (filename);
+00000A49 FF7508 push dword ptr [ebp+8]
+00000A4C FF154C090000 call dword ptr [94Ch]
+
+..\lib\lib.obj\libimg_lib.h 53: $mov img_data_len, ebx
+00000A52 895DF8 mov [ebp-8],ebx
+
+..\lib\lib.obj\libimg_lib.h 55: mem_Alloc(EBX);
+00000A55 53 push ebx
+00000A56 E892FBFFFF call 5EDh
+
+..\lib\lib.obj\libimg_lib.h 57: $test eax, eax
+00000A5B 85C0 test eax,eax
+
+..\lib\lib.obj\libimg_lib.h 58: $jz error_close
+00000A5D 7468 je 0AC7h
+
+..\lib\lib.obj\libimg_lib.h 59: $mov img_data, eax
+00000A5F 8945FC mov [ebp-4],eax
+
+..\lib\lib.obj\libimg_lib.h 61: file_read stdcall (fh, EAX, img_data_len);
+00000A62 FF75F8 push dword ptr [ebp-8]
+00000A65 50 push eax
+00000A66 FF75F4 push dword ptr [ebp-0Ch]
+00000A69 FF1554090000 call dword ptr [954h]
+
+..\lib\lib.obj\libimg_lib.h 62: $cmp eax, -1
+00000A6F 83F8FF cmp eax,0FFFFFFFFh
+
+..\lib\lib.obj\libimg_lib.h 63: $jz error_close
+00000A72 7453 je 0AC7h
+
+..\lib\lib.obj\libimg_lib.h 64: $cmp eax, img_data_len
+00000A74 3B45F8 cmp eax,[ebp-8]
+
+..\lib\lib.obj\libimg_lib.h 65: $jnz error_close
+00000A77 754E jne 0AC7h
+
+..\lib\lib.obj\libimg_lib.h 67: file_close stdcall (fh);
+00000A79 FF75F4 push dword ptr [ebp-0Ch]
+00000A7C FF1558090000 call dword ptr [958h]
+
+..\lib\lib.obj\libimg_lib.h 68: $inc eax
+00000A82 40 inc eax
+
+..\lib\lib.obj\libimg_lib.h 69: $jz error_
+00000A83 744B je 0AD0h
+
+..\lib\lib.obj\libimg_lib.h 75: EAX=img_data;
+00000A85 8B45FC mov eax,[ebp-4]
+
+..\lib\lib.obj\libimg_lib.h 76: img_decode stdcall (EAX, img_data_len,0);
+00000A88 6A00 push 0
+00000A8A FF75F8 push dword ptr [ebp-8]
+00000A8D 50 push eax
+00000A8E FF15C4090000 call dword ptr [9C4h]
+
+..\lib\lib.obj\libimg_lib.h 77: $or eax, eax
+00000A94 0BC0 or eax,eax
+
+..\lib\lib.obj\libimg_lib.h 78: $jz error_
+00000A96 7438 je 0AD0h
+
+..\lib\lib.obj\libimg_lib.h 79: $cmp image, 0
+00000A98 837DF000 cmp dword ptr [ebp-10h],0
+
+..\lib\lib.obj\libimg_lib.h 80: $pushf
+00000A9C 669C pushf
+
+..\lib\lib.obj\libimg_lib.h 81: $mov image, eax
+00000A9E 8945F0 mov [ebp-10h],eax
+
+..\lib\lib.obj\libimg_lib.h 83: $popf
+00000AA1 669D popf
+
+..\lib\lib.obj\libimg_lib.h 85: mem_Free(img_data);//free_img_data(img_data);
+00000AA3 FF75FC push dword ptr [ebp-4]
+00000AA6 E87BFBFFFF call 626h
+
+..\lib\lib.obj\libimg_lib.h 86: $clc
+00000AAB F8 clc
+
+..\lib\lib.obj\libimg_lib.h 87: return image;
+00000AAC 8B45F0 mov eax,[ebp-10h]
+00000AAF C9 leave
+00000AB0 C20400 ret 4
+
+..\lib\lib.obj\libimg_lib.h 91: img_destroy stdcall (image);
+00000AB3 FF75F0 push dword ptr [ebp-10h]
+00000AB6 FF15C8090000 call dword ptr [9C8h]
+
+..\lib\lib.obj\libimg_lib.h 92: $jmp error_
+00000ABC E90F000000 jmp 0AD0h
+
+..\lib\lib.obj\libimg_lib.h 95: $pop eax
+00000AC1 58 pop eax
+
+..\lib\lib.obj\libimg_lib.h 96: $jmp error_
+00000AC2 E909000000 jmp 0AD0h
+
+..\lib\lib.obj\libimg_lib.h 99: file_close stdcall (fh);
+00000AC7 FF75F4 push dword ptr [ebp-0Ch]
+00000ACA FF1558090000 call dword ptr [958h]
+
+..\lib\lib.obj\libimg_lib.h 101: mem_Free(img_data);
+00000AD0 FF75FC push dword ptr [ebp-4]
+00000AD3 E84EFBFFFF call 626h
+
+..\lib\lib.obj\libimg_lib.h 102: $stc
+00000AD8 F9 stc
+
+..\lib\lib.obj\libimg_lib.h 103: return 0;
+00000AD9 31C0 xor eax,eax
+00000ADB C9 leave
+00000ADC C20400 ret 4
+00000ADF 00E4 add ah,ah
+
+..\lib\lib.obj\truetype.h 5: dword libtruetype = #att;
+00000AE0 E40A0000 dd 0AE4h
+
+..\lib\lib.obj\truetype.h 7: char att[] = "/sys/lib/truetype.obj"; //"truetype.obj\0";
+00000AE4 2F7379732F6C69622F747275 db '/sys/lib/tru'
+00000AF0 65747970652E6F626A000000 db 'etype.obj',0,0,0
+
+..\lib\lib.obj\truetype.h 9: dword truetype = #att_truetype;
+00000AFC 180B0000 dd 0B18h
+
+..\lib\lib.obj\truetype.h 10: dword get_length = #att_get_length;
+00000B00 210B0000 dd 0B21h
+
+..\lib\lib.obj\truetype.h 11: dword get_width = #att_get_width;
+00000B04 2C0B0000 dd 0B2Ch
+
+..\lib\lib.obj\truetype.h 12: dword text_out = #att_text_out;
+00000B08 360B0000 dd 0B36h
+
+..\lib\lib.obj\truetype.h 13: dword init_font = #att_init_font;
+00000B0C 3F0B0000 dd 0B3Fh
+
+..\lib\lib.obj\truetype.h 15: dword am3__ = 0x0;
+00000B10 00000000 dd 0
+
+..\lib\lib.obj\truetype.h 16: dword bm3__ = 0x0;
+00000B14 00000000 dd 0
+
+..\lib\lib.obj\truetype.h 20: char att_truetype[] = "truetype";
+00000B18 747275657479706500 db 'truetype',0
+
+..\lib\lib.obj\truetype.h 21: char att_get_length[] = "get_length";
+00000B21 6765745F6C656E67746800 db 'get_length',0
+
+..\lib\lib.obj\truetype.h 22: char att_get_width[] = "get_width";
+00000B2C 6765745F776964746800 db 'get_width',0
+
+..\lib\lib.obj\truetype.h 23: char att_text_out[] = "text_out";
+00000B36 746578745F6F757400 db 'text_out',0
+
+..\lib\lib.obj\truetype.h 24: char att_init_font[] = "init_font";
+00000B3F 696E69745F666F6E7400 db 'init_font',0
+
+main.c 23: unsigned char logo[LOGOW*LOGOH*3]= FROM "img\logo.raw";
+00000B49 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
+00000B55 0200003D1700792C00933200 db 2,0,0,3Dh,17h,0,79h,2Ch,0,93h,32h,0
+00000B61 933200792A003D1600020000 db 93h,32h,0,79h,2Ah,0,3Dh,16h,0,2,0,0
+00000B6D 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
+00000B79 000000000000000000391600 db 0,0,0,0,0,0,0,0,0,39h,16h,0
+00000B85 B44300D44C00DE6E23EAA070 db 0B4h,43h,0,0D4h,4Ch,0,0DEh,6Eh,23h,0EAh,0A0h,70h
+00000B91 ECAA7EE3884ED75A03B34000 db 0ECh,0AAh,7Eh,0E3h,88h,4Eh,0D7h,5Ah,3,0B3h,40h,0
+00000B9D 391500000000000000000000 db 39h,15h,0,0,0,0,0,0,0,0,0,0
+00000BA9 000000000000532100CE5000 db 0,0,0,0,0,0,53h,21h,0,0CEh,50h,0
+00000BB5 D75200E68C52EEA87AEDA270 db 0D7h,52h,0,0E6h,8Ch,52h,0EEh,0A8h,7Ah,0EDh,0A2h,70h
+00000BC1 EC9F6CEEA676EBA173DB671C db 0ECh,9Fh,6Ch,0EEh,0A6h,76h,0EBh,0A1h,73h,0DBh,67h,1Ch
+00000BCD CE4E00542100000000000000 db 0CEh,4Eh,0,54h,21h,0,0,0,0,0,0,0
+00000BD9 000000391700D05403D2530E db 0,0,0,39h,17h,0,0D0h,54h,3,0D2h,53h,0Eh
+00000BE5 D05D11D47432E77D38EB8A4B db 0D0h,5Dh,11h,0D4h,74h,32h,0E7h,7Dh,38h,0EBh,8Ah,4Bh
+00000BF1 DF7D3CDF732CDF7025DE7936 db 0DFh,7Dh,3Ch,0DFh,73h,2Ch,0DFh,70h,25h,0DEh,79h,36h
+00000BFD D04C08D154033A1700000000 db 0D0h,4Ch,8,0D1h,54h,3,3Ah,17h,0,0,0,0
+00000C09 020000B64B06D95A08D54E0E db 2,0,0,0B6h,4Bh,6,0D9h,5Ah,8,0D5h,4Eh,0Eh
+00000C15 E5FFFFECFFFFDF8850E87120 db 0E5h,0FFh,0FFh,0ECh,0FFh,0FFh,0DFh,88h,50h,0E8h,71h,20h
+00000C21 E0691AEDF8FFEBFFFFE8FBFF db 0E0h,69h,1Ah,0EDh,0F8h,0FFh,0EBh,0FFh,0FFh,0E8h,0FBh,0FFh
+00000C2D D44708D85C0AB64B06020000 db 0D4h,47h,8,0D8h,5Ch,0Ah,0B6h,4Bh,6,2,0,0
+00000C39 3F1A01D9600EDC6B1ED74708 db 3Fh,1Ah,1,0D9h,60h,0Eh,0DCh,6Bh,1Eh,0D7h,47h,8
+00000C45 E4E3E4EBFFFFE8F9F9E17F42 db 0E4h,0E3h,0E4h,0EBh,0FFh,0FFh,0E8h,0F9h,0F9h,0E1h,7Fh,42h
+00000C51 E34900EEEEF0FFFFFFE5E9ED db 0E3h,49h,0,0EEh,0EEh,0F0h,0FFh,0FFh,0FFh,0E5h,0E9h,0EDh
+00000C5D D73D00DE6614D95F0F3F1A01 db 0D7h,3Dh,0,0DEh,66h,14h,0D9h,5Fh,0Fh,3Fh,1Ah,1
+00000C69 7E3606DC651ADF6F24DB4D08 db 7Eh,36h,6,0DCh,65h,1Ah,0DFh,6Fh,24h,0DBh,4Dh,8
+00000C75 E6E5E3E9F0F7EDF6FDECF9F9 db 0E6h,0E5h,0E3h,0E9h,0F0h,0F7h,0EDh,0F6h,0FDh,0ECh,0F9h,0F9h
+00000C81 E4630EEEDFD5FFFFFFEAE6E7 db 0E4h,63h,0Eh,0EEh,0DFh,0D5h,0FFh,0FFh,0FFh,0EAh,0E6h,0E7h
+00000C8D DB4500E16A1CDE65167E3607 db 0DBh,45h,0,0E1h,6Ah,1Ch,0DEh,65h,16h,7Eh,36h,7
+00000C99 9A450DDE6B20E27127DB5208 db 9Ah,45h,0Dh,0DEh,6Bh,20h,0E2h,71h,27h,0DBh,52h,8
+00000CA5 EBE9E8FFFFFFF0EAE5F0FEFF db 0EBh,0E9h,0E8h,0FFh,0FFh,0FFh,0F0h,0EAh,0E5h,0F0h,0FEh,0FFh
+00000CB1 F0FEFFEFD0BCFFFFFFEAEBEA db 0F0h,0FEh,0FFh,0EFh,0D0h,0BCh,0FFh,0FFh,0FFh,0EAh,0EBh,0EAh
+00000CBD DC4B00E27124DF691E9C470D db 0DCh,4Bh,0,0E2h,71h,24h,0DFh,69h,1Eh,9Ch,47h,0Dh
+00000CC9 9C4610E17026E2742CDE5908 db 9Ch,46h,10h,0E1h,70h,26h,0E2h,74h,2Ch,0DEh,59h,8
+00000CD5 EBEBEBFFFFFFF0EAE7F3F8FB db 0EBh,0EBh,0EBh,0FFh,0FFh,0FFh,0F0h,0EAh,0E7h,0F3h,0F8h,0FBh
+00000CE1 F3FFFFF0EAE7FFFFFFEDEDED db 0F3h,0FFh,0FFh,0F0h,0EAh,0E7h,0FFh,0FFh,0FFh,0EDh,0EDh,0EDh
+00000CED DF5700E4752DE070269E4811 db 0DFh,57h,0,0E4h,75h,2Dh,0E0h,70h,26h,9Eh,48h,11h
+00000CF9 833B0EE0752DE27732DE5B07 db 83h,3Bh,0Eh,0E0h,75h,2Dh,0E2h,77h,32h,0DEh,5Bh,7
+00000D05 EDEBEAFFFFFFF0F9FFE77022 db 0EDh,0EBh,0EAh,0FFh,0FFh,0FFh,0F0h,0F9h,0FFh,0E7h,70h,22h
+00000D11 EFF9F9F2F9FFFFFFFFECECEC db 0EFh,0F9h,0F9h,0F2h,0F9h,0FFh,0FFh,0FFh,0FFh,0ECh,0ECh,0ECh
+00000D1D DE5D0AE37B35DF762F843C10 db 0DEh,5Dh,0Ah,0E3h,7Bh,35h,0DFh,76h,2Fh,84h,3Ch,10h
+00000D29 451E06E07733E27E39DB6110 db 45h,1Eh,6,0E0h,77h,33h,0E2h,7Eh,39h,0DBh,61h,10h
+00000D35 EBEBEBFFFFFFF2FFFFE55F04 db 0EBh,0EBh,0EBh,0FFh,0FFh,0FFh,0F2h,0FFh,0FFh,0E5h,5Fh,4
+00000D41 E7945FEEF9F9FFFFFFEDEBEB db 0E7h,94h,5Fh,0EEh,0F9h,0F9h,0FFh,0FFh,0FFh,0EDh,0EBh,0EBh
+00000D4D DE6514E57F3DE17C3A461E06 db 0DEh,65h,14h,0E5h,7Fh,3Dh,0E1h,7Ch,3Ah,46h,1Eh,6
+00000D59 020000C05E21E27F3FDA6F27 db 2,0,0,0C0h,5Eh,21h,0E2h,7Fh,3Fh,0DAh,6Fh,27h
+00000D65 EBFEFEEFFFFFEFFFFFE47D38 db 0EBh,0FEh,0FEh,0EFh,0FFh,0FFh,0EFh,0FFh,0FFh,0E4h,7Dh,38h
+00000D71 EE8846E59A67EAF9F9EAFEFE db 0EEh,88h,46h,0E5h,9Ah,67h,0EAh,0F9h,0F9h,0EAh,0FEh,0FEh
+00000D7D DB702BE38242C26226020000 db 0DBh,70h,2Bh,0E3h,82h,42h,0C2h,62h,26h,2,0,0
+00000D89 000000441F08DA7231D97B3C db 0,0,0,44h,1Fh,8,0DAh,72h,31h,0D9h,7Bh,3Ch
+00000D95 DD7431E0732AE2803EE28E57 db 0DDh,74h,31h,0E0h,73h,2Ah,0E2h,80h,3Eh,0E2h,8Eh,57h
+00000DA1 EE9E69EB9159D67333DF7734 db 0EEh,9Eh,69h,0EBh,91h,59h,0D6h,73h,33h,0DFh,77h,34h
+00000DAD DB7B3DDA7635452009000000 db 0DBh,7Bh,3Dh,0DAh,76h,35h,45h,20h,9,0,0,0
+00000DB9 000000000000632F0EDE7B3C db 0,0,0,0,0,0,63h,2Fh,0Eh,0DEh,7Bh,3Ch
+00000DC5 E48A50E6925CE89863EB9D69 db 0E4h,8Ah,50h,0E6h,92h,5Ch,0E8h,98h,63h,0EBh,9Dh,69h
+00000DD1 EEA271EDA06EE79963E6915B db 0EEh,0A2h,71h,0EDh,0A0h,6Eh,0E7h,99h,63h,0E6h,91h,5Bh
+00000DDD DD7A3C65300F000000000000 db 0DDh,7Ah,3Ch,65h,30h,0Fh,0,0,0,0,0,0
+00000DE9 000000000000000000653213 db 0,0,0,0,0,0,0,0,0,65h,32h,13h
+00000DF5 CD6D31E3844BE48D55E48F57 db 0CDh,6Dh,31h,0E3h,84h,4Bh,0E4h,8Dh,55h,0E4h,8Fh,57h
+00000E01 E48E56E38B52E18348D36F31 db 0E4h,8Eh,56h,0E3h,8Bh,52h,0E1h,83h,48h,0D3h,6Fh,31h
+00000E0D 4A240C000000000000000000 db 4Ah,24h,0Ch,0,0,0,0,0,0,0,0,0
+00000E19 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
+00000E25 02000051280F9C5023B9622C db 2,0,0,51h,28h,0Fh,9Ch,50h,23h,0B9h,62h,2Ch
+00000E31 B05F2C964F23522A11020000 db 0B0h,5Fh,2Ch,96h,4Fh,23h,52h,2Ah,11h,2,0,0
+00000E3D 000000000000000000000000 db 0,0,0,0,0,0,0,0,0,0,0,0
+00000E49 FFFFFFFFFFFF7BAED6417BB8 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,7Bh,0AEh,0D6h,41h,7Bh,0B8h
+00000E55 3367AB3365A9335499334488 db 33h,67h,0ABh,33h,65h,0A9h,33h,54h,99h,33h,44h,88h
+00000E61 354A8D3C5A99446DA94B81B9 db 35h,4Ah,8Dh,3Ch,5Ah,99h,44h,6Dh,0A9h,4Bh,81h,0B9h
+00000E6D 7BABD3FFFFFFFFFFFFFFFFFF db 7Bh,0ABh,0D3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000E79 FFFFFFFFFFFFDACEB5F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0DAh,0CEh,0B5h,0F6h,0EDh,0E5h
+00000E85 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00000E91 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+00000E9D DACEB5FFFFFFFFFFFFFFFFFF db 0DAh,0CEh,0B5h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000EA9 FFFFFFFFFFFFD9CDB4F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D9h,0CDh,0B4h,0F6h,0EDh,0E5h
+00000EB5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00000EC1 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+00000ECD D9CDB4FFFFFFFFFFFFFFFFFF db 0D9h,0CDh,0B4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000ED9 FFFFFFFFFFFFD8CCB3F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D8h,0CCh,0B3h,0F6h,0EDh,0E5h
+00000EE5 EB8563D6714FBC5836AC4725 db 0EBh,85h,63h,0D6h,71h,4Fh,0BCh,58h,36h,0ACh,47h,25h
+00000EF1 B14624C8512FE25F3DF5EBE1 db 0B1h,46h,24h,0C8h,51h,2Fh,0E2h,5Fh,3Dh,0F5h,0EBh,0E1h
+00000EFD D8CCB3FFFFFFFFFFFFFFFFFF db 0D8h,0CCh,0B3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000F09 FFFFFFFFFFFFD7CAB1F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D7h,0CAh,0B1h,0F8h,0F2h,0ECh
+00000F15 ECB39BD28268C9B4B19C979B db 0ECh,0B3h,9Bh,0D2h,82h,68h,0C9h,0B4h,0B1h,9Ch,97h,9Bh
+00000F21 948F93BC6148E7A188F8F0E8 db 94h,8Fh,93h,0BCh,61h,48h,0E7h,0A1h,88h,0F8h,0F0h,0E8h
+00000F2D D7CAB1FFFFFFFFFFFFFFFFFF db 0D7h,0CAh,0B1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000F39 FFFFFFFFFFFFEAE4D7D6C9B0 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E4h,0D7h,0D6h,0C9h,0B0h
+00000F45 F3E7DCE4AE98BD6F55A29A9D db 0F3h,0E7h,0DCh,0E4h,0AEh,98h,0BDh,6Fh,55h,0A2h,9Ah,9Dh
+00000F51 AB5941DC9B82F3E7DAD6C9B0 db 0ABh,59h,41h,0DCh,9Bh,82h,0F3h,0E7h,0DAh,0D6h,0C9h,0B0h
+00000F5D EAE4D7FFFFFFFFFFFFFFFFFF db 0EAh,0E4h,0D7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000F69 FFFFFFFFFFFFFFFFFFEAE3D6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E3h,0D6h
+00000F75 D5C8AEF8EFE8DAA794AC4725 db 0D5h,0C8h,0AEh,0F8h,0EFh,0E8h,0DAh,0A7h,94h,0ACh,47h,25h
+00000F81 D29881F3E7DCD5C8AEEAE3D6 db 0D2h,98h,81h,0F3h,0E7h,0DCh,0D5h,0C8h,0AEh,0EAh,0E3h,0D6h
+00000F8D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000F99 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000FA5 E9E2D5D4C7ACF9F3EEF3E8DC db 0E9h,0E2h,0D5h,0D4h,0C7h,0ACh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00000FB1 F5EBE1D4C7ACE9E2D5FFFFFF db 0F5h,0EBh,0E1h,0D4h,0C7h,0ACh,0E9h,0E2h,0D5h,0FFh,0FFh,0FFh
+00000FBD FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000FC9 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000FD5 E8E2D4D3C5AAF9F3EEF3E8DC db 0E8h,0E2h,0D4h,0D3h,0C5h,0AAh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00000FE1 F5EBE1D3C5AAE8E2D4FFFFFF db 0F5h,0EBh,0E1h,0D3h,0C5h,0AAh,0E8h,0E2h,0D4h,0FFh,0FFh,0FFh
+00000FED FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00000FF9 FFFFFFFFFFFFFFFFFFE7E1D3 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E1h,0D3h
+00001005 D1C3A8F8EFE8F9F3EEF3E8DC db 0D1h,0C3h,0A8h,0F8h,0EFh,0E8h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001011 F1E3D6F3E7DCD1C3A8E7E1D3 db 0F1h,0E3h,0D6h,0F3h,0E7h,0DCh,0D1h,0C3h,0A8h,0E7h,0E1h,0D3h
+0000101D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001029 FFFFFFFFFFFFE7E0D2D0C2A6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E0h,0D2h,0D0h,0C2h,0A6h
+00001035 F3E7DCF5EAE0F9F3EEF3E8DC db 0F3h,0E7h,0DCh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001041 F1E3D6EFDFCFF3E7DAD0C2A6 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0F3h,0E7h,0DAh,0D0h,0C2h,0A6h
+0000104D E7E0D2FFFFFFFFFFFFFFFFFF db 0E7h,0E0h,0D2h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001059 FFFFFFFFFFFFCEC0A4F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CEh,0C0h,0A4h,0F8h,0F2h,0ECh
+00001065 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001071 F1E3D6EFDFCFEEDDCDF8F0E8 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F8h,0F0h,0E8h
+0000107D CEC0A4FFFFFFFFFFFFFFFFFF db 0CEh,0C0h,0A4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001089 FFFFFFFFFFFFCDBEA1F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CDh,0BEh,0A1h,0F6h,0EDh,0E5h
+00001095 7AB1CC8FBFD6B5D4E36EA6C1 db 7Ah,0B1h,0CCh,8Fh,0BFh,0D6h,0B5h,0D4h,0E3h,6Eh,0A6h,0C1h
+000010A1 6199B36098B270A7C1F5EBE1 db 61h,99h,0B3h,60h,98h,0B2h,70h,0A7h,0C1h,0F5h,0EBh,0E1h
+000010AD CDBEA1FFFFFFFFFFFFFFFFFF db 0CDh,0BEh,0A1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000010B9 FFFFFFFFFFFFC9BA9CF6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0C9h,0BAh,9Ch,0F6h,0EDh,0E5h
+000010C5 A4C2CDB2CED9CDE0E79DBDCB db 0A4h,0C2h,0CDh,0B2h,0CEh,0D9h,0CDh,0E0h,0E7h,9Dh,0BDh,0CBh
+000010D1 94B3BF93B1BD9DBBC6F5EBE1 db 94h,0B3h,0BFh,93h,0B1h,0BDh,9Dh,0BBh,0C6h,0F5h,0EBh,0E1h
+000010DD C9BA9CFFFFFFFFFFFFFFFFFF db 0C9h,0BAh,9Ch,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000010E9 F5F5F5E8E8E8C3B393F6EDE5 db 0F5h,0F5h,0F5h,0E8h,0E8h,0E8h,0C3h,0B3h,93h,0F6h,0EDh,0E5h
+000010F5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001101 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+0000110D C3B393E8E8E8F5F5F5FFFFFF db 0C3h,0B3h,93h,0E8h,0E8h,0E8h,0F5h,0F5h,0F5h,0FFh,0FFh,0FFh
+00001119 ECECECD2D2D259759F335296 db 0ECh,0ECh,0ECh,0D2h,0D2h,0D2h,59h,75h,9Fh,33h,52h,96h
+00001125 334488334387333A77333367 db 33h,44h,88h,33h,43h,87h,33h,3Ah,77h,33h,33h,67h
+00001131 33376B334077334B86335796 db 33h,37h,6Bh,33h,40h,77h,33h,4Bh,86h,33h,57h,96h
+0000113D 59749DD1D1D1ECECECFFFFFF db 59h,74h,9Dh,0D1h,0D1h,0D1h,0ECh,0ECh,0ECh,0FFh,0FFh,0FFh
+00001149 FFFFFFFFFFFF7BAED6417BB8 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,7Bh,0AEh,0D6h,41h,7Bh,0B8h
+00001155 3367AB3365A9335499334488 db 33h,67h,0ABh,33h,65h,0A9h,33h,54h,99h,33h,44h,88h
+00001161 354A8D3C5A99446DA94B81B9 db 35h,4Ah,8Dh,3Ch,5Ah,99h,44h,6Dh,0A9h,4Bh,81h,0B9h
+0000116D 7BABD3FFFFFFFFFFFFFFFFFF db 7Bh,0ABh,0D3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001179 FFFFFFFFFFFFDACEB5F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0DAh,0CEh,0B5h,0F6h,0EDh,0E5h
+00001185 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001191 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+0000119D DACEB5FFFFFFFFFFFFFFFFFF db 0DAh,0CEh,0B5h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000011A9 FFFFFFFFFFFFD9CDB4F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D9h,0CDh,0B4h,0F6h,0EDh,0E5h
+000011B5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+000011C1 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+000011CD D9CDB4FFFFFFFFFFFFFFFFFF db 0D9h,0CDh,0B4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000011D9 FFFFFFFFFFFFD8CCB3F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D8h,0CCh,0B3h,0F6h,0EDh,0E5h
+000011E5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+000011F1 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+000011FD D8CCB3FFFFFFFFFFFFFFFFFF db 0D8h,0CCh,0B3h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001209 FFFFFFFFFFFFD7CAB1F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0D7h,0CAh,0B1h,0F8h,0F2h,0ECh
+00001215 D5D4CE88BCD4B0D2E265A1BF db 0D5h,0D4h,0CEh,88h,0BCh,0D4h,0B0h,0D2h,0E2h,65h,0A1h,0BFh
+00001221 5894B15793B0D1D0C9F8F0E8 db 58h,94h,0B1h,57h,93h,0B0h,0D1h,0D0h,0C9h,0F8h,0F0h,0E8h
+0000122D D7CAB1FFFFFFFFFFFFFFFFFF db 0D7h,0CAh,0B1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001239 FFFFFFFFFFFFEAE4D7D6C9B0 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E4h,0D7h,0D6h,0C9h,0B0h
+00001245 F3E7DCE2E1DDB5D4E36EA6C1 db 0F3h,0E7h,0DCh,0E2h,0E1h,0DDh,0B5h,0D4h,0E3h,6Eh,0A6h,0C1h
+00001251 6199B3CFCEC8F3E7DAD6C9B0 db 61h,99h,0B3h,0CFh,0CEh,0C8h,0F3h,0E7h,0DAh,0D6h,0C9h,0B0h
+0000125D EAE4D7FFFFFFFFFFFFFFFFFF db 0EAh,0E4h,0D7h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001269 FFFFFFFFFFFFFFFFFFEAE3D6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0EAh,0E3h,0D6h
+00001275 D5C8AEF8EFE8EAEDEC9DBDCB db 0D5h,0C8h,0AEh,0F8h,0EFh,0E8h,0EAh,0EDh,0ECh,9Dh,0BDh,0CBh
+00001281 DAD7D0F3E7DCD5C8AEEAE3D6 db 0DAh,0D7h,0D0h,0F3h,0E7h,0DCh,0D5h,0C8h,0AEh,0EAh,0E3h,0D6h
+0000128D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001299 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000012A5 E9E2D5D4C7ACF9F3EEF3E8DC db 0E9h,0E2h,0D5h,0D4h,0C7h,0ACh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+000012B1 F5EBE1D4C7ACE9E2D5FFFFFF db 0F5h,0EBh,0E1h,0D4h,0C7h,0ACh,0E9h,0E2h,0D5h,0FFh,0FFh,0FFh
+000012BD FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000012C9 FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000012D5 E8E2D4D3C5AAF9F3EEF3E8DC db 0E8h,0E2h,0D4h,0D3h,0C5h,0AAh,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+000012E1 F5EBE1D3C5AAE8E2D4FFFFFF db 0F5h,0EBh,0E1h,0D3h,0C5h,0AAh,0E8h,0E2h,0D4h,0FFh,0FFh,0FFh
+000012ED FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000012F9 FFFFFFFFFFFFFFFFFFE7E1D3 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E1h,0D3h
+00001305 D1C3A8F8EFE8F9F3EEF3E8DC db 0D1h,0C3h,0A8h,0F8h,0EFh,0E8h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001311 F1E3D6F3E7DCD1C3A8E7E1D3 db 0F1h,0E3h,0D6h,0F3h,0E7h,0DCh,0D1h,0C3h,0A8h,0E7h,0E1h,0D3h
+0000131D FFFFFFFFFFFFFFFFFFFFFFFF db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001329 FFFFFFFFFFFFE7E0D2D0C2A6 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0E7h,0E0h,0D2h,0D0h,0C2h,0A6h
+00001335 F3E7DCF5EAE0F9F3EEF3E8DC db 0F3h,0E7h,0DCh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001341 F1E3D6EFDFCFF3E7DAD0C2A6 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0F3h,0E7h,0DAh,0D0h,0C2h,0A6h
+0000134D E7E0D2FFFFFFFFFFFFFFFFFF db 0E7h,0E0h,0D2h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001359 FFFFFFFFFFFFCEC0A4F8F2EC db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CEh,0C0h,0A4h,0F8h,0F2h,0ECh
+00001365 ECB39BD6714FBC5836AC4725 db 0ECh,0B3h,9Bh,0D6h,71h,4Fh,0BCh,58h,36h,0ACh,47h,25h
+00001371 B14624C8512FE7A188F8F0E8 db 0B1h,46h,24h,0C8h,51h,2Fh,0E7h,0A1h,88h,0F8h,0F0h,0E8h
+0000137D CEC0A4FFFFFFFFFFFFFFFFFF db 0CEh,0C0h,0A4h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+00001389 FFFFFFFFFFFFCDBEA1F6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0CDh,0BEh,0A1h,0F6h,0EDh,0E5h
+00001395 EB8563B5A9A8CCB5B1A29A9D db 0EBh,85h,63h,0B5h,0A9h,0A8h,0CCh,0B5h,0B1h,0A2h,9Ah,9Dh
+000013A1 9A9295999294E25F3DF5EBE1 db 9Ah,92h,95h,99h,92h,94h,0E2h,5Fh,3Dh,0F5h,0EBh,0E1h
+000013AD CDBEA1FFFFFFFFFFFFFFFFFF db 0CDh,0BEh,0A1h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000013B9 FFFFFFFFFFFFC9BA9CF6EDE5 db 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0C9h,0BAh,9Ch,0F6h,0EDh,0E5h
+000013C5 EB8563D6714FBC5836AC4725 db 0EBh,85h,63h,0D6h,71h,4Fh,0BCh,58h,36h,0ACh,47h,25h
+000013D1 B14624C8512FE25F3DF5EBE1 db 0B1h,46h,24h,0C8h,51h,2Fh,0E2h,5Fh,3Dh,0F5h,0EBh,0E1h
+000013DD C9BA9CFFFFFFFFFFFFFFFFFF db 0C9h,0BAh,9Ch,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
+000013E9 F5F5F5E8E8E8C3B393F6EDE5 db 0F5h,0F5h,0F5h,0E8h,0E8h,0E8h,0C3h,0B3h,93h,0F6h,0EDh,0E5h
+000013F5 EFDECFF5EAE0F9F3EEF3E8DC db 0EFh,0DEh,0CFh,0F5h,0EAh,0E0h,0F9h,0F3h,0EEh,0F3h,0E8h,0DCh
+00001401 F1E3D6EFDFCFEEDDCDF5EBE1 db 0F1h,0E3h,0D6h,0EFh,0DFh,0CFh,0EEh,0DDh,0CDh,0F5h,0EBh,0E1h
+0000140D C3B393E8E8E8F5F5F5FFFFFF db 0C3h,0B3h,93h,0E8h,0E8h,0E8h,0F5h,0F5h,0F5h,0FFh,0FFh,0FFh
+00001419 ECECECD2D2D259759F335296 db 0ECh,0ECh,0ECh,0D2h,0D2h,0D2h,59h,75h,9Fh,33h,52h,96h
+00001425 334488334387333A77333367 db 33h,44h,88h,33h,43h,87h,33h,3Ah,77h,33h,33h,67h
+00001431 33376B334077334B86335796 db 33h,37h,6Bh,33h,40h,77h,33h,4Bh,86h,33h,57h,96h
+0000143D 59749DD1D1D1ECECECFFFFFF db 59h,74h,9Dh,0D1h,0D1h,0D1h,0ECh,0ECh,0ECh,0FFh,0FFh,0FFh
+
+main.c 34: int DefineWindow(dword wtitle, wbutton)
+00001449 55 push ebp
+0000144A 89E5 mov ebp,esp
+
+main.c 36: sc.get();
+0000144C 6810510000 push 5110h
+00001451 E824ECFFFF call 7Ah
+
+main.c 37: DefineAndDrawWindow(GetScreenWidth()-WIN_W/2,GetScreenHeight()-WIN_H/2-30, WIN_W+9, WIN_H+GetSkinHeight()+4, 0x74,0xFFFfff);
+00001456 E8FF130000 call 285Ah
+0000145B 2DF4010000 sub eax,1F4h
+00001460 D1E8 shr eax,1
+00001462 50 push eax
+00001463 E8FD130000 call 2865h
+00001468 2D5E010000 sub eax,15Eh
+0000146D D1E8 shr eax,1
+0000146F 83E81E sub eax,1Eh
+00001472 50 push eax
+00001473 68FD010000 push 1FDh
+00001478 B85E010000 mov eax,15Eh
+0000147D 50 push eax
+0000147E E8C8130000 call 284Bh
+00001483 5A pop edx
+00001484 01D0 add eax,edx
+00001486 83C004 add eax,4
+00001489 50 push eax
+0000148A 6A74 push 74h
+0000148C 68FFFFFF00 push 0FFFFFFh
+00001491 E8F9EBFFFF call 8Fh
+
+main.c 38: DrawTitle("KolibriN 8.2a Setup");
+00001496 B97E160000 mov ecx,167Eh
+0000149B E810150000 call 29B0h
+
+main.c 39: GetProcessInfo(#Form, SelfInfo);
+000014A0 BB104D0000 mov ebx,4D10h
+000014A5 83C9FF or ecx,0FFFFFFFFh
+000014A8 E87A130000 call 2827h
+
+main.c 40: if (Form.status_window>2) return 0; //rolled_up
+000014AD 803D564D000002 cmp byte ptr [4D56h],2
+000014B4 0F8E07000000 jle 14C1h
+000014BA 31C0 xor eax,eax
+000014BC E987000000 jmp 1548h
+
+main.c 42: DrawBar(0, 0, Form.cwidth, BLACK_H, 0);
+000014C1 6A00 push 0
+000014C3 6A00 push 0
+000014C5 FF35574D0000 push dword ptr [4D57h]
+000014CB 6A28 push 28h
+000014CD 31D2 xor edx,edx
+000014CF E8D5ECFFFF call 1A9h
+
+main.c 43: DrawBar(0, BLACK_H, Form.cwidth, Form.cheight-BLACK_H, 0xFFFfff);
+000014D4 6A00 push 0
+000014D6 6A28 push 28h
+000014D8 FF35574D0000 push dword ptr [4D57h]
+000014DE A15B4D0000 mov eax,[4D5Bh]
+000014E3 83E828 sub eax,28h
+000014E6 50 push eax
+000014E7 BAFFFFFF00 mov edx,0FFFFFFh
+000014EC E8B8ECFFFF call 1A9h
+
+main.c 44: _PutImage(BLACK_H-LOGOW/2, BLACK_H-LOGOH/2, LOGOW,LOGOH, #logo);
+000014F1 6A0C push 0Ch
+000014F3 6A0C push 0Ch
+000014F5 6A10 push 10h
+000014F7 6A10 push 10h
+000014F9 BB490B0000 mov ebx,0B49h
+000014FE E868ECFFFF call 16Bh
+
+main.c 45: WriteTextB(BLACK_H-LOGOW + LOGOW, BLACK_H-6/2, 0x90, 0xFFFfff, wtitle);
+00001503 6A28 push 28h
+00001505 6A11 push 11h
+00001507 6890000000 push 90h
+0000150C 68FFFFFF00 push 0FFFFFFh
+00001511 8B550C mov edx,[ebp+0Ch]
+00001514 E8ADEBFFFF call 0C6h
+
+main.c 46: DrawCaptButton(Form.cwidth-107, Form.cheight-40, 90, 24, 10, sc.work_button, sc.work_button_text,wbutton);
+00001519 A1574D0000 mov eax,[4D57h]
+0000151E 83E86B sub eax,6Bh
+00001521 50 push eax
+00001522 A15B4D0000 mov eax,[4D5Bh]
+00001527 83E828 sub eax,28h
+0000152A 50 push eax
+0000152B 6A5A push 5Ah
+0000152D 6A18 push 18h
+0000152F 6A0A push 0Ah
+00001531 FF3528510000 push dword ptr [5128h]
+00001537 FF352C510000 push dword ptr [512Ch]
+0000153D FF7508 push dword ptr [ebp+8]
+00001540 E82FEFFFFF call 474h
+
+main.c 47: return 1;
+00001545 31C0 xor eax,eax
+00001547 40 inc eax
+00001548 5D pop ebp
+00001549 C20800 ret 8
+
+copyf.c 4: void copyf(dword params)
+0000154C C8342200 enter 2234h,0
+
+copyf.c 10: mem_Init();
+00001550 E889F0FFFF call 5DEh
+
+copyf.c 11: if (!params) { notify("Error: no copyf params!"); return; }
+00001555 837D0800 cmp dword ptr [ebp+8],0
+00001559 0F850F000000 jnz 156Eh
+0000155F 6892160000 push 1692h
+00001564 E859F0FFFF call 5C2h
+00001569 E90C010000 jmp 167Ah
+
+copyf.c 12: program_path[strrchr(#program_path, '/')] = 0x0;
+0000156E BE3E3C0000 mov esi,3C3Eh
+00001573 B32F mov bl,2Fh
+00001575 E8A5100000 call 261Fh
+0000157A 89C6 mov esi,eax
+0000157C C6863E3C000000 mov byte ptr [esi+3C3Eh],0
+
+copyf.c 13: border = strchr(params, '|');
+00001583 8B7508 mov esi,[ebp+8]
+00001586 B37C mov bl,7Ch
+00001588 E8D5110000 call 2762h
+0000158D 8985CCDDFFFF mov [ebp-2234h],eax
+
+copyf.c 14: if (!border) border = strchr(params, ' ');
+00001593 85C0 test eax,eax
+00001595 0F8510000000 jnz 15ABh
+0000159B 8B7508 mov esi,[ebp+8]
+0000159E B320 mov bl,20h
+000015A0 E8BD110000 call 2762h
+000015A5 8985CCDDFFFF mov [ebp-2234h],eax
+
+copyf.c 16: if (ESBYTE[params]<>'/')
+000015AB 8B7508 mov esi,[ebp+8]
+000015AE 26803E2F cmp byte ptr es:[esi],2Fh
+000015B2 0F8440000000 jz 15F8h
+
+copyf.c 18: strcpy(#from, #program_path);
+000015B8 8DBD00F0FFFF lea edi,[ebp-1000h]
+000015BE BE3E3C0000 mov esi,3C3Eh
+000015C3 E865110000 call 272Dh
+
+copyf.c 19: strcat(#from, params);
+000015C8 8DBD00F0FFFF lea edi,[ebp-1000h]
+000015CE 8B7508 mov esi,[ebp+8]
+000015D1 E85F110000 call 2735h
+
+copyf.c 20: from[border+strlen(#program_path)-1]=NULL;
+000015D6 8BB5CCDDFFFF mov esi,[ebp-2234h]
+000015DC 56 push esi
+000015DD BF3E3C0000 mov edi,3C3Eh
+000015E2 E838110000 call 271Fh
+000015E7 5E pop esi
+000015E8 01C6 add esi,eax
+000015EA 4E dec esi
+000015EB C6843500F0FFFF00 mov byte ptr [ebp+esi-1000h],0
+
+copyf.c 22: else
+000015F3 E91A000000 jmp 1612h
+
+copyf.c 24: strcat(#from, params);
+000015F8 8DBD00F0FFFF lea edi,[ebp-1000h]
+000015FE E832110000 call 2735h
+
+copyf.c 25: from[border-1]=NULL;
+00001603 8BB5CCDDFFFF mov esi,[ebp-2234h]
+00001609 4E dec esi
+0000160A C6843500F0FFFF00 mov byte ptr [ebp+esi-1000h],0
+
+copyf.c 27: strcpy(#to, params+border);
+00001612 8DBD00E0FFFF lea edi,[ebp-2000h]
+00001618 8B7508 mov esi,[ebp+8]
+0000161B 03B5CCDDFFFF add esi,[ebp-2234h]
+00001621 E807110000 call 272Dh
+
+copyf.c 29: GetFileInfo(#from, #from_atr);
+00001626 8D8500F0FFFF lea eax,[ebp-1000h]
+0000162C 50 push eax
+0000162D 8D85D0DDFFFF lea eax,[ebp-2230h]
+00001633 50 push eax
+00001634 E851120000 call 288Ah
+
+copyf.c 30: if (TestBit(from_atr.attr, 4)==1)
+00001639 8B85D0DDFFFF mov eax,[ebp-2230h]
+0000163F B104 mov cl,4
+00001641 E886110000 call 27CCh
+00001646 83F801 cmp eax,1
+00001649 0F8518000000 jnz 1667h
+
+copyf.c 32: CopyFolder(#from, #to);
+0000164F 8D8500F0FFFF lea eax,[ebp-1000h]
+00001655 50 push eax
+00001656 8D8500E0FFFF lea eax,[ebp-2000h]
+0000165C 50 push eax
+0000165D E848000000 call 16AAh
+
+copyf.c 34: else
+00001662 E913000000 jmp 167Ah
+
+copyf.c 36: CopyFile(#from, #to);
+00001667 8D8500F0FFFF lea eax,[ebp-1000h]
+0000166D 50 push eax
+0000166E 8D8500E0FFFF lea eax,[ebp-2000h]
+00001674 50 push eax
+00001675 E83F140000 call 2AB9h
+0000167A C9 leave
+0000167B C20400 ret 4
+
+0000167E 4B6F6C696272694E20382E32 db 'KolibriN 8.2'
+0000168A 61205365747570004572726F db 'a Setup',0,'Erro'
+00001696 723A206E6F20636F70796620 db 'r: no copyf '
+000016A2 706172616D732100 db 'params!',0
+
+copyf.c 41: void CopyFolder(dword from, to)
+000016AA C8184000 enter 4018h,0
+
+copyf.c 48: error = GetDir(#dirbuf, #fcount, from);
+000016AE 8D45FC lea eax,[ebp-4]
+000016B1 50 push eax
+000016B2 8D45F8 lea eax,[ebp-8]
+000016B5 50 push eax
+000016B6 FF750C push dword ptr [ebp+0Ch]
+000016B9 E80F120000 call 28CDh
+000016BE 8945EC mov [ebp-14h],eax
+
+copyf.c 49: if (error) debug_error(from, error);
+000016C1 85C0 test eax,eax
+000016C3 0F8409000000 jz 16D2h
+000016C9 FF750C push dword ptr [ebp+0Ch]
+000016CC 50 push eax
+000016CD E8F7040000 call 1BC9h
+
+copyf.c 51: if ((strcmp(to, "/sys")!=0) && (strcmp(to, "/tmp9/1")!=0))
+000016D2 8B7508 mov esi,[ebp+8]
+000016D5 BFD1180000 mov edi,18D1h
+000016DA E81F0F0000 call 25FEh
+000016DF 85C0 test eax,eax
+000016E1 0F8431000000 jz 1718h
+000016E7 8B7508 mov esi,[ebp+8]
+000016EA BFD6180000 mov edi,18D6h
+000016EF E80A0F0000 call 25FEh
+000016F4 85C0 test eax,eax
+000016F6 0F841C000000 jz 1718h
+
+copyf.c 53: error = CreateDir(to);
+000016FC FF7508 push dword ptr [ebp+8]
+000016FF E877130000 call 2A7Bh
+00001704 8945EC mov [ebp-14h],eax
+
+copyf.c 54: if (error) debug_error(to, error);
+00001707 85C0 test eax,eax
+00001709 0F8409000000 jz 1718h
+0000170F FF7508 push dword ptr [ebp+8]
+00001712 50 push eax
+00001713 E8B1040000 call 1BC9h
+
+copyf.c 56: chrcat(to, '/');
+00001718 8B7508 mov esi,[ebp+8]
+0000171B B32F mov bl,2Fh
+0000171D E886100000 call 27A8h
+
+copyf.c 57: chrcat(from, '/');
+00001722 8B750C mov esi,[ebp+0Ch]
+00001725 B32F mov bl,2Fh
+00001727 E87C100000 call 27A8h
+
+copyf.c 59: for (i=0; i100) InstallationLoop();
+00001F30 E848090000 call 287Dh
+00001F35 C1E80A shr eax,0Ah
+00001F38 83F864 cmp eax,64h
+00001F3B 0F860A000000 jbe 1F4Bh
+00001F41 E843000000 call 1F89h
+
+hallo.c 47: else notify("You do not have enought free RAM for installation!");
+00001F46 E90A000000 jmp 1F55h
+00001F4B 68561F0000 push 1F56h
+00001F50 E86DE6FFFF call 5C2h
+00001F55 C3 ret
+
+00001F56 596F7520646F206E6F742068 db 'You do not h'
+00001F62 61766520656E6F7567687420 db 'ave enought '
+00001F6E 667265652052414D20666F72 db 'free RAM for'
+00001F7A 20696E7374616C6C6174696F db ' installatio'
+00001F86 6E2100 db 'n!',0
+
+installation.c 2: void InstallationLoop()
+00001F89 C80B0000 enter 0Bh,0
+00001F8D 6A00 push 0
+
+installation.c 5: goto _INSTALL_DRAW;
+00001F8F E96F000000 jmp 2003h
+
+installation.c 7: loop() switch(WaitEvent())
+00001F94 E823080000 call 27BCh
+00001F99 83F801 cmp eax,1
+00001F9C 0F8461000000 jz 2003h
+00001FA2 83F802 cmp eax,2
+00001FA5 0F844B000000 jz 1FF6h
+00001FAB 83F803 cmp eax,3
+00001FAE 0F8579000000 jnz 202Dh
+
+installation.c 10: id=GetButtonID();
+00001FB4 E8B9080000 call 2872h
+00001FB9 8845FC mov [ebp-4],al
+
+installation.c 11: if(id == 1) ExitProcess();
+00001FBC 3C01 cmp al,1
+00001FBE 0F8505000000 jnz 1FC9h
+00001FC4 E8DF090000 call 29A8h
+
+installation.c 12: if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/donate.php");
+00001FC9 807DFC0B cmp byte ptr [ebp-4],0Bh
+00001FCD 0F850F000000 jnz 1FE2h
+00001FD3 6834200000 push 2034h
+00001FD8 683F200000 push 203Fh
+00001FDD E89FE5FFFF call 581h
+
+installation.c 13: if (id == 10) HalloLoop();
+00001FE2 807DFC0A cmp byte ptr [ebp-4],0Ah
+00001FE6 0F8505000000 jnz 1FF1h
+00001FEC E8F2FCFFFF call 1CE3h
+
+installation.c 14: break;
+00001FF1 E937000000 jmp 202Dh
+
+installation.c 16: key = GetKey();
+00001FF6 E80F080000 call 280Ah
+00001FFB 8845F8 mov [ebp-8],al
+
+installation.c 17: break;
+00001FFE E92A000000 jmp 202Dh
+
+installation.c 20: if !(DefineWindow("Installation Started", "Stop")) break;
+00002003 685F200000 push 205Fh
+00002008 6874200000 push 2074h
+0000200D E837F4FFFF call 1449h
+00002012 85C0 test eax,eax
+00002014 0F8413000000 jz 202Dh
+
+installation.c 21: if (started) break;
+0000201A 807DF400 cmp byte ptr [ebp-0Ch],0
+0000201E 0F8509000000 jnz 202Dh
+
+installation.c 22: started = true;
+00002024 C645F401 mov byte ptr [ebp-0Ch],1
+
+installation.c 23: Install();
+00002028 E8FC000000 call 2129h
+0000202D E962FFFFFF jmp 1F94h
+00002032 C9 leave
+00002033 C3 ret
+
+00002034 2F7379732F68746D6C760068 db '/sys/htmlv',0,'h'
+00002040 7474703A2F2F6B6F6C696272 db 'ttp://kolibr'
+0000204C 692D6E2E6F72672F646F6E61 db 'i-n.org/dona'
+00002058 74652E70687000496E737461 db 'te.php',0,'Insta'
+00002064 6C6C6174696F6E2053746172 db 'llation Star'
+00002070 7465640053746F7000 db 'ted',0,'Stop',0
+
+installation.c 28: char iclock[3]={1,2};
+00002079 010200 db 1,2,0
+
+installation.c 29: void ShowProgress(dword text1)
+0000207C 55 push ebp
+0000207D 89E5 mov ebp,esp
+
+installation.c 31: iclock[0]>DSBYTE[EDI]) RETURN 1;
+00002608 8A07 mov al,[edi]
+0000260A 3806 cmp [esi],al
+0000260C 7604 jbe 2612h
+0000260E 31C0 xor eax,eax
+00002610 40 inc eax
+00002611 C3 ret
+
+..\lib\strings.h 25: IF (DSBYTE[ESI]=='\0') RETURN 0;
+00002612 803E00 cmp byte ptr [esi],0
+00002615 7503 jne 261Ah
+00002617 31C0 xor eax,eax
+00002619 C3 ret
+
+..\lib\strings.h 26: ESI++;
+0000261A 46 inc esi
+
+..\lib\strings.h 27: EDI++;
+0000261B 47 inc edi
+0000261C EBE0 jmp short 25FEh
+0000261E C3 ret
+
+ strrchr()
+0000261F 55 push ebp
+00002620 89E5 mov ebp,esp
+00002622 6A00 push 0
+00002624 6A00 push 0
+
+..\lib\strings.h 141: jj++;
+00002626 FF45FC inc dword ptr [ebp-4]
+
+..\lib\strings.h 142: $lodsb
+00002629 AC lodsb
+
+..\lib\strings.h 143: IF(AL==BL) last=jj;
+0000262A 38D8 cmp al,bl
+0000262C 7506 jne 2634h
+0000262E 8B45FC mov eax,[ebp-4]
+00002631 8945F8 mov [ebp-8],eax
+
+..\lib\strings.h 144: } while(AL!=0);
+00002634 84C0 test al,al
+00002636 75EE jne 2626h
+
+..\lib\strings.h 145: return last;
+00002638 8B45F8 mov eax,[ebp-8]
+0000263B C9 leave
+0000263C C3 ret
+
+..\lib\strings.h 164: MOV EDI, EDX
+0000263D 89D7 mov edi,edx
+
+..\lib\strings.h 165: XOR ECX, ECX
+0000263F 33C9 xor ecx,ecx
+
+..\lib\strings.h 166: XOR EAX, EAX
+00002641 33C0 xor eax,eax
+
+..\lib\strings.h 167: DEC ECX
+00002643 49 dec ecx
+
+..\lib\strings.h 168: REPNE SCASB
+00002644 F2AE repne scasb
+
+..\lib\strings.h 169: NOT ECX
+00002646 F7D1 not ecx
+
+..\lib\strings.h 170: DEC ECX
+00002648 49 dec ecx
+
+..\lib\strings.h 171: JE LS2
+00002649 742C je 2677h
+
+..\lib\strings.h 172: MOV ESI, ECX
+0000264B 89CE mov esi,ecx
+
+..\lib\strings.h 173: XOR ECX, ECX
+0000264D 33C9 xor ecx,ecx
+
+..\lib\strings.h 174: MOV EDI, EBX
+0000264F 89DF mov edi,ebx
+
+..\lib\strings.h 175: DEC ECX
+00002651 49 dec ecx
+
+..\lib\strings.h 176: REPNE SCASB
+00002652 F2AE repne scasb
+
+..\lib\strings.h 177: NOT ECX
+00002654 F7D1 not ecx
+
+..\lib\strings.h 178: SUB ECX, ESI
+00002656 2BCE sub ecx,esi
+
+..\lib\strings.h 179: JBE LS2
+00002658 761D jbe 2677h
+
+..\lib\strings.h 180: MOV EDI, EBX
+0000265A 89DF mov edi,ebx
+
+..\lib\strings.h 181: LEA EBX, DSDWORD[ ESI-1]
+0000265C 8D5EFF lea ebx,[esi-1]
+
+..\lib\strings.h 182: LS1: MOV ESI, EDX
+0000265F 89D6 mov esi,edx
+
+..\lib\strings.h 183: LODSB
+00002661 AC lodsb
+
+..\lib\strings.h 184: REPNE SCASB
+00002662 F2AE repne scasb
+
+..\lib\strings.h 185: JNE LS2
+00002664 7511 jne 2677h
+
+..\lib\strings.h 186: MOV EAX, ECX
+00002666 89C8 mov eax,ecx
+
+..\lib\strings.h 187: PUSH EDI
+00002668 57 push edi
+
+..\lib\strings.h 188: MOV ECX, EBX
+00002669 89D9 mov ecx,ebx
+
+..\lib\strings.h 189: REPE CMPSB
+0000266B F3A6 repe cmpsb
+
+..\lib\strings.h 190: POP EDI
+0000266D 5F pop edi
+
+..\lib\strings.h 191: MOV ECX, EAX
+0000266E 89C1 mov ecx,eax
+
+..\lib\strings.h 192: JNE LS1
+00002670 75ED jne 265Fh
+
+..\lib\strings.h 193: LEA EAX, DSDWORD[ EDI-1]
+00002672 8D47FF lea eax,[edi-1]
+
+..\lib\strings.h 194: JMP SHORT LS3
+00002675 EB02 jmp short 2679h
+
+..\lib\strings.h 195: LS2: XOR EAX, EAX
+00002677 33C0 xor eax,eax
+
+..\lib\strings.h 196: LS3:
+00002679 C3 ret
+
+..\lib\encoding.h 4: while (BL=ESBYTE[ESI])
+0000267A E994000000 jmp 2713h
+
+..\lib\encoding.h 6: IF (BL>=192)
+0000267F 80FBC0 cmp bl,0C0h
+00002682 7217 jc 269Bh
+
+..\lib\encoding.h 8: IF (BL>=240) ESBYTE[ESI] = BL - 16;
+00002684 80FBF0 cmp bl,0F0h
+00002687 7209 jc 2692h
+00002689 88D8 mov al,bl
+0000268B 2C10 sub al,10h
+0000268D 268806 mov es:[esi],al
+
+..\lib\encoding.h 9: ELSE ESBYTE[ESI] = BL - 64;
+00002690 EB07 jmp short 2699h
+00002692 88D8 mov al,bl
+00002694 2C40 sub al,40h
+00002696 268806 mov es:[esi],al
+
+..\lib\encoding.h 11: ELSE
+00002699 EB77 jmp short 2712h
+
+..\lib\encoding.h 13: IF (BL==178) ESBYTE[ESI] = 73; //I
+0000269B 80FBB2 cmp bl,0B2h
+0000269E 7504 jne 26A4h
+000026A0 26C60649 mov byte ptr es:[esi],49h
+
+..\lib\encoding.h 14: IF (BL==179) ESBYTE[ESI] = 105; //i
+000026A4 80FBB3 cmp bl,0B3h
+000026A7 7504 jne 26ADh
+000026A9 26C60669 mov byte ptr es:[esi],69h
+
+..\lib\encoding.h 15: IF (BL==175) ESBYTE[ESI] = 244; //J
+000026AD 80FBAF cmp bl,0AFh
+000026B0 7504 jne 26B6h
+000026B2 26C606F4 mov byte ptr es:[esi],0F4h
+
+..\lib\encoding.h 16: IF (BL==191) ESBYTE[ESI] = 245; //j
+000026B6 80FBBF cmp bl,0BFh
+000026B9 7504 jne 26BFh
+000026BB 26C606F5 mov byte ptr es:[esi],0F5h
+
+..\lib\encoding.h 17: IF (BL==170) ESBYTE[ESI] = 242; //E
+000026BF 80FBAA cmp bl,0AAh
+000026C2 7504 jne 26C8h
+000026C4 26C606F2 mov byte ptr es:[esi],0F2h
+
+..\lib\encoding.h 18: IF (BL==186) ESBYTE[ESI] = 243; //e
+000026C8 80FBBA cmp bl,0BAh
+000026CB 7504 jne 26D1h
+000026CD 26C606F3 mov byte ptr es:[esi],0F3h
+
+..\lib\encoding.h 19: IF (BL==168) ESBYTE[ESI] = 240; //
+000026D1 80FBA8 cmp bl,0A8h
+000026D4 7504 jne 26DAh
+000026D6 26C606F0 mov byte ptr es:[esi],0F0h
+
+..\lib\encoding.h 20: IF (BL==184) ESBYTE[ESI] = 'e'; //e
+000026DA 80FBB8 cmp bl,0B8h
+000026DD 7504 jne 26E3h
+000026DF 26C60665 mov byte ptr es:[esi],65h
+
+..\lib\encoding.h 21: IF (BL==180) ESBYTE[ESI] = 254; //
+000026E3 80FBB4 cmp bl,0B4h
+000026E6 7504 jne 26ECh
+000026E8 26C606FE mov byte ptr es:[esi],0FEh
+
+..\lib\encoding.h 22: IF ((BL==147) || (BL==148) || (BL==171) || (BL==187)) ESBYTE[ESI] = 34;
+000026EC 80FB93 cmp bl,93h
+000026EF 740F je 2700h
+000026F1 80FB94 cmp bl,94h
+000026F4 740A je 2700h
+000026F6 80FBAB cmp bl,0ABh
+000026F9 7405 je 2700h
+000026FB 80FBBB cmp bl,0BBh
+000026FE 7504 jne 2704h
+00002700 26C60622 mov byte ptr es:[esi],22h
+
+..\lib\encoding.h 23: IF ((BL==150) || (BL==151)) ESBYTE[ESI] = 45;
+00002704 80FB96 cmp bl,96h
+00002707 7405 je 270Eh
+00002709 80FB97 cmp bl,97h
+0000270C 7504 jne 2712h
+0000270E 26C6062D mov byte ptr es:[esi],2Dh
+
+..\lib\encoding.h 25: ESI++;
+00002712 46 inc esi
+
+..\lib\encoding.h 4: while (BL=ESBYTE[ESI])
+00002713 268A1E mov bl,es:[esi]
+00002716 84DB test bl,bl
+00002718 0F8561FFFFFF jnz 267Fh
+0000271E C3 ret
+
+..\lib\strings.h 56: $xor eax, eax
+0000271F 33C0 xor eax,eax
+
+..\lib\strings.h 57: $mov ecx, -1
+00002721 B9FFFFFFFF mov ecx,0FFFFFFFFh
+
+..\lib\strings.h 58: $REPNE $SCASB
+00002726 F2AE repne scasb
+
+..\lib\strings.h 59: EAX-=2+ECX;
+00002728 48 dec eax
+00002729 48 dec eax
+0000272A 29C8 sub eax,ecx
+0000272C C3 ret
+
+..\lib\strings.h 65: $cld
+0000272D FC cld
+
+..\lib\strings.h 67: $lodsb
+0000272E AC lodsb
+
+..\lib\strings.h 68: $stosb
+0000272F AA stosb
+
+..\lib\strings.h 69: $test al,al
+00002730 84C0 test al,al
+
+..\lib\strings.h 70: $jnz L2
+00002732 75FA jne 272Eh
+00002734 C3 ret
+
+..\lib\strings.h 92: mov ebx, edi
+00002735 89FB mov ebx,edi
+
+..\lib\strings.h 93: xor ecx, ecx
+00002737 33C9 xor ecx,ecx
+
+..\lib\strings.h 94: xor eax, eax
+00002739 33C0 xor eax,eax
+
+..\lib\strings.h 95: dec ecx
+0000273B 49 dec ecx
+
+..\lib\strings.h 96: repne scasb
+0000273C F2AE repne scasb
+
+..\lib\strings.h 97: dec edi
+0000273E 4F dec edi
+
+..\lib\strings.h 98: mov edx, edi
+0000273F 89FA mov edx,edi
+
+..\lib\strings.h 99: mov edi, esi
+00002741 89F7 mov edi,esi
+
+..\lib\strings.h 100: xor ecx, ecx
+00002743 33C9 xor ecx,ecx
+
+..\lib\strings.h 101: xor eax, eax
+00002745 33C0 xor eax,eax
+
+..\lib\strings.h 102: dec ecx
+00002747 49 dec ecx
+
+..\lib\strings.h 103: repne scasb
+00002748 F2AE repne scasb
+
+..\lib\strings.h 104: xor ecx, 0ffffffffh
+0000274A 83F1FF xor ecx,0FFFFFFFFh
+
+..\lib\strings.h 105: mov edi, edx
+0000274D 89D7 mov edi,edx
+
+..\lib\strings.h 106: mov edx, ecx
+0000274F 89CA mov edx,ecx
+
+..\lib\strings.h 107: mov eax, edi
+00002751 89F8 mov eax,edi
+
+..\lib\strings.h 108: shr ecx, 2
+00002753 C1E902 shr ecx,2
+
+..\lib\strings.h 109: rep movsd
+00002756 F3A5 repe movsd
+
+..\lib\strings.h 110: mov ecx, edx
+00002758 89D1 mov ecx,edx
+
+..\lib\strings.h 111: and ecx, 3
+0000275A 83E103 and ecx,3
+
+..\lib\strings.h 112: rep movsb
+0000275D F3A4 repe movsb
+
+..\lib\strings.h 113: mov eax, ebx
+0000275F 89D8 mov eax,ebx
+00002761 C3 ret
+
+ strchr()
+00002762 55 push ebp
+00002763 89E5 mov ebp,esp
+00002765 6A00 push 0
+
+..\lib\strings.h 129: jj++;
+00002767 FF45FC inc dword ptr [ebp-4]
+
+..\lib\strings.h 130: $lodsb
+0000276A AC lodsb
+
+..\lib\strings.h 131: IF(AL==BL) return jj;
+0000276B 38D8 cmp al,bl
+0000276D 7505 jne 2774h
+0000276F 8B45FC mov eax,[ebp-4]
+00002772 C9 leave
+00002773 C3 ret
+
+..\lib\strings.h 132: } while(AL!=0);
+00002774 84C0 test al,al
+00002776 75EF jne 2767h
+
+..\lib\strings.h 133: return 0;
+00002778 31C0 xor eax,eax
+0000277A C9 leave
+0000277B C3 ret
+
+..\lib\kolibri.h 141: $mov eax, 5
+0000277C B805000000 mov eax,5
+
+..\lib\kolibri.h 142: $int 0x40
+00002781 CD40 int 40h
+00002783 C3 ret
+
+..\lib\kolibri.h 327: $push eax
+00002784 50 push eax
+
+..\lib\kolibri.h 328: $push ebx
+00002785 53 push ebx
+
+..\lib\kolibri.h 329: $push ecx
+00002786 51 push ecx
+
+..\lib\kolibri.h 330: $mov eax, 63
+00002787 B83F000000 mov eax,3Fh
+
+..\lib\kolibri.h 331: $mov ebx, 1
+0000278C BB01000000 mov ebx,1
+
+..\lib\kolibri.h 333: $mov ecx, DSDWORD[edx]
+00002791 8B0A mov ecx,[edx]
+
+..\lib\kolibri.h 334: $or cl, cl
+00002793 0AC9 or cl,cl
+
+..\lib\kolibri.h 335: $jz DONE
+00002795 7405 je 279Ch
+
+..\lib\kolibri.h 336: $int 0x40
+00002797 CD40 int 40h
+
+..\lib\kolibri.h 337: $inc edx
+00002799 42 inc edx
+
+..\lib\kolibri.h 338: $jmp NEXT_CHAR
+0000279A EBF5 jmp short 2791h
+
+..\lib\kolibri.h 340: $mov cl, 13
+0000279C B10D mov cl,0Dh
+
+..\lib\kolibri.h 341: $int 0x40
+0000279E CD40 int 40h
+
+..\lib\kolibri.h 342: $mov cl, 10
+000027A0 B10A mov cl,0Ah
+
+..\lib\kolibri.h 343: $int 0x40
+000027A2 CD40 int 40h
+
+..\lib\kolibri.h 344: $pop ecx
+000027A4 59 pop ecx
+
+..\lib\kolibri.h 345: $pop ebx
+000027A5 5B pop ebx
+
+..\lib\kolibri.h 346: $pop eax
+000027A6 58 pop eax
+000027A7 C3 ret
+
+..\lib\strings.h 119: EDI = strlen(ESI);
+000027A8 89F7 mov edi,esi
+000027AA E870FFFFFF call 271Fh
+000027AF 89C7 mov edi,eax
+
+..\lib\strings.h 120: ESBYTE[ESI+EDI] = BL;
+000027B1 26881C3E mov es:[esi+edi],bl
+
+..\lib\strings.h 121: ESBYTE[ESI+EDI+1] = 0;
+000027B5 26C6443E0100 mov byte ptr es:[esi+edi+1],0
+000027BB C3 ret
+
+..\lib\kolibri.h 91: $mov eax,10
+000027BC B80A000000 mov eax,0Ah
+
+..\lib\kolibri.h 92: $int 0x40
+000027C1 CD40 int 40h
+000027C3 C3 ret
+
+..\lib\kolibri.h 109: $mov eax,40
+000027C4 B828000000 mov eax,28h
+
+..\lib\kolibri.h 110: $int 0x40
+000027C9 CD40 int 40h
+000027CB C3 ret
+
+..\lib\kolibri.h 314: $shr eax,cl
+000027CC D3E8 shr eax,cl
+
+..\lib\kolibri.h 315: $and eax,1
+000027CE 83E001 and eax,1
+000027D1 C3 ret
+
+..\lib\kolibri.h 286: EAX = 48;
+000027D2 6A30 push 30h
+000027D4 58 pop eax
+
+..\lib\kolibri.h 287: EBX = 8;
+000027D5 6A08 push 8
+000027D7 5B pop ebx
+
+..\lib\kolibri.h 288: $int 0x40
+000027D8 CD40 int 40h
+000027DA C3 ret
+
+..\lib\kolibri.h 164: $mov eax, 68
+000027DB B844000000 mov eax,44h
+
+..\lib\kolibri.h 165: $mov ebx, 16
+000027E0 BB10000000 mov ebx,10h
+
+..\lib\kolibri.h 166: $int 0x40
+000027E5 CD40 int 40h
+000027E7 C3 ret
+
+..\lib\kolibri.h 172: $mov eax, 68
+000027E8 B844000000 mov eax,44h
+
+..\lib\kolibri.h 173: $mov ebx, 17
+000027ED BB11000000 mov ebx,11h
+
+..\lib\kolibri.h 174: $int 0x40
+000027F2 CD40 int 40h
+000027F4 C3 ret
+
+..\lib\kolibri.h 244: $mov eax,18;
+000027F5 B812000000 mov eax,12h
+
+..\lib\kolibri.h 245: $mov ebx,18;
+000027FA BB12000000 mov ebx,12h
+
+..\lib\kolibri.h 246: $int 0x40
+000027FF CD40 int 40h
+00002801 C3 ret
+
+..\lib\kolibri.h 97: $mov eax,11
+00002802 B80B000000 mov eax,0Bh
+
+..\lib\kolibri.h 98: $int 0x40
+00002807 CD40 int 40h
+00002809 C3 ret
+
+..\lib\kolibri.h 122: $push edx
+0000280A 52 push edx
+
+..\lib\kolibri.h 124: $mov eax,2
+0000280B B802000000 mov eax,2
+
+..\lib\kolibri.h 125: $int 0x40
+00002810 CD40 int 40h
+
+..\lib\kolibri.h 126: $cmp eax,1
+00002812 83F801 cmp eax,1
+
+..\lib\kolibri.h 127: $jne GETKEYI
+00002815 7507 jne 281Eh
+
+..\lib\kolibri.h 128: $mov ah,dh
+00002817 88F4 mov ah,dh
+
+..\lib\kolibri.h 129: $jmp GETKEYII //jz?
+00002819 E904000000 jmp 2822h
+
+..\lib\kolibri.h 131: $mov dh,ah
+0000281E 88E6 mov dh,ah
+
+..\lib\kolibri.h 132: $jmp GETKEY
+00002820 EBE9 jmp short 280Bh
+
+..\lib\kolibri.h 134: $pop edx
+00002822 5A pop edx
+
+..\lib\kolibri.h 135: $shr eax,8
+00002823 C1E808 shr eax,8
+00002826 C3 ret
+
+..\lib\kolibri.h 195: $mov eax,9;
+00002827 B809000000 mov eax,9
+
+..\lib\kolibri.h 196: $int 0x40
+0000282C CD40 int 40h
+
+..\lib\kolibri.h 197: DSDWORD[EBX+71] = DSDWORD[EBX+42] - 9; //set cwidth
+0000282E 8B432A mov eax,[ebx+2Ah]
+00002831 83E809 sub eax,9
+00002834 894347 mov [ebx+47h],eax
+
+..\lib\kolibri.h 198: DSDWORD[EBX+75] = DSDWORD[EBX+46] - GetSkinHeight() - 4; //set cheight
+00002837 8B432E mov eax,[ebx+2Eh]
+0000283A 50 push eax
+0000283B E80B000000 call 284Bh
+00002840 5A pop edx
+00002841 92 xchg edx,eax
+00002842 29D0 sub eax,edx
+00002844 83E804 sub eax,4
+00002847 89434B mov [ebx+4Bh],eax
+0000284A C3 ret
+
+..\lib\kolibri.h 277: $push ebx
+0000284B 53 push ebx
+
+..\lib\kolibri.h 278: $mov eax,48
+0000284C B830000000 mov eax,30h
+
+..\lib\kolibri.h 279: $mov ebx,4
+00002851 BB04000000 mov ebx,4
+
+..\lib\kolibri.h 280: $int 0x40
+00002856 CD40 int 40h
+
+..\lib\kolibri.h 281: $pop ebx
+00002858 5B pop ebx
+00002859 C3 ret
+
+..\lib\kolibri.h 293: $mov eax, 14
+0000285A B80E000000 mov eax,0Eh
+
+..\lib\kolibri.h 294: $int 0x40
+0000285F CD40 int 40h
+
+..\lib\kolibri.h 295: $shr eax, 16
+00002861 C1E810 shr eax,10h
+00002864 C3 ret
+
+..\lib\kolibri.h 300: $mov eax, 14
+00002865 B80E000000 mov eax,0Eh
+
+..\lib\kolibri.h 301: $int 0x40
+0000286A CD40 int 40h
+
+..\lib\kolibri.h 302: $and eax,0x0000FFFF
+0000286C 25FFFF0000 and eax,0FFFFh
+00002871 C3 ret
+
+..\lib\kolibri.h 147: $mov eax,17
+00002872 B811000000 mov eax,11h
+
+..\lib\kolibri.h 148: $int 0x40
+00002877 CD40 int 40h
+
+..\lib\kolibri.h 149: $shr eax,8
+00002879 C1E808 shr eax,8
+0000287C C3 ret
+
+..\lib\kolibri.h 156: $mov eax, 18
+0000287D B812000000 mov eax,12h
+
+..\lib\kolibri.h 157: $mov ebx, 16
+00002882 BB10000000 mov ebx,10h
+
+..\lib\kolibri.h 158: $int 0x40
+00002887 CD40 int 40h
+00002889 C3 ret
+
+ GetFileInfo()
+0000288A 55 push ebp
+0000288B 89E5 mov ebp,esp
+
+..\lib\file_system.h 179: getinfo_file_70.func = 5;
+0000288D 6A05 push 5
+0000288F 8F05DA4C0000 pop dword ptr [4CDAh]
+
+..\lib\file_system.h 180: getinfo_file_70.param1 =
+00002895 31C0 xor eax,eax
+00002897 A3E64C0000 mov [4CE6h],eax
+0000289C A3E24C0000 mov [4CE2h],eax
+000028A1 A3DE4C0000 mov [4CDEh],eax
+
+..\lib\file_system.h 183: getinfo_file_70.param4 = bdvk_struct;
+000028A6 8B4508 mov eax,[ebp+8]
+000028A9 A3EA4C0000 mov [4CEAh],eax
+
+..\lib\file_system.h 184: getinfo_file_70.rezerv = 0;
+000028AE C605EE4C000000 mov byte ptr [4CEEh],0
+
+..\lib\file_system.h 185: getinfo_file_70.name = file_path;
+000028B5 8B450C mov eax,[ebp+0Ch]
+000028B8 A3EF4C0000 mov [4CEFh],eax
+
+..\lib\file_system.h 186: $mov eax,70
+000028BD B846000000 mov eax,46h
+
+..\lib\file_system.h 187: $mov ebx,#getinfo_file_70.func
+000028C2 BBDA4C0000 mov ebx,4CDAh
+
+..\lib\file_system.h 188: $int 0x40
+000028C7 CD40 int 40h
+000028C9 5D pop ebp
+000028CA C20800 ret 8
+
+ GetDir()
+000028CD C80C0000 enter 0Ch,0
+
+..\lib\file_system.h 157: buf = malloc(32);
+000028D1 6A20 push 20h
+000028D3 E815DDFFFF call 5EDh
+000028D8 8945FC mov [ebp-4],eax
+
+..\lib\file_system.h 158: error = ReadDir(0, buf, path);
+000028DB 6A00 push 0
+000028DD 50 push eax
+000028DE FF7508 push dword ptr [ebp+8]
+000028E1 E84C020000 call 2B32h
+000028E6 8945F4 mov [ebp-0Ch],eax
+
+..\lib\file_system.h 159: if (!error)
+000028E9 85C0 test eax,eax
+000028EB 0F85AB000000 jnz 299Ch
+
+..\lib\file_system.h 161: fcount = ESDWORD[buf+8];
+000028F1 8B45FC mov eax,[ebp-4]
+000028F4 268B4008 mov eax,es:[eax+8]
+000028F8 8945F8 mov [ebp-8],eax
+
+..\lib\file_system.h 162: buf = realloc(buf, fcount+1*304+32);
+000028FB 8B45F8 mov eax,[ebp-8]
+000028FE 40 inc eax
+000028FF 69C030010000 imul eax,eax,130h
+00002905 83C020 add eax,20h
+00002908 50 push eax
+00002909 FF75FC push dword ptr [ebp-4]
+0000290C E8F6DCFFFF call 607h
+00002911 8945FC mov [ebp-4],eax
+
+..\lib\file_system.h 163: ReadDir(fcount, buf, path);
+00002914 FF75F8 push dword ptr [ebp-8]
+00002917 50 push eax
+00002918 FF7508 push dword ptr [ebp+8]
+0000291B E812020000 call 2B32h
+
+..\lib\file_system.h 164: if (!strcmp(".",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);}
+00002920 BEA3290000 mov esi,29A3h
+00002925 8B7DFC mov edi,[ebp-4]
+00002928 83C748 add edi,48h
+0000292B E8CEFCFFFF call 25FEh
+00002930 85C0 test eax,eax
+00002932 0F851D000000 jnz 2955h
+00002938 FF4DF8 dec dword ptr [ebp-8]
+0000293B 8B7DFC mov edi,[ebp-4]
+0000293E 8B75FC mov esi,[ebp-4]
+00002941 81C630010000 add esi,130h
+00002947 8B4DF8 mov ecx,[ebp-8]
+0000294A 69C930010000 imul ecx,ecx,130h
+00002950 E821020000 call 2B76h
+
+..\lib\file_system.h 165: if (!strcmp("..",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);}
+00002955 BEA5290000 mov esi,29A5h
+0000295A 8B7DFC mov edi,[ebp-4]
+0000295D 83C748 add edi,48h
+00002960 E899FCFFFF call 25FEh
+00002965 85C0 test eax,eax
+00002967 0F851D000000 jnz 298Ah
+0000296D FF4DF8 dec dword ptr [ebp-8]
+00002970 8B7DFC mov edi,[ebp-4]
+00002973 8B75FC mov esi,[ebp-4]
+00002976 81C630010000 add esi,130h
+0000297C 8B4DF8 mov ecx,[ebp-8]
+0000297F 69C930010000 imul ecx,ecx,130h
+00002985 E8EC010000 call 2B76h
+
+..\lib\file_system.h 166: ESDWORD[dir_buf] = buf;
+0000298A 8B45FC mov eax,[ebp-4]
+0000298D 8B7510 mov esi,[ebp+10h]
+00002990 268906 mov es:[esi],eax
+
+..\lib\file_system.h 167: ESDWORD[file_count] = fcount;
+00002993 8B45F8 mov eax,[ebp-8]
+00002996 8B750C mov esi,[ebp+0Ch]
+00002999 268906 mov es:[esi],eax
+
+..\lib\file_system.h 169: return error;
+0000299C 8B45F4 mov eax,[ebp-0Ch]
+0000299F C9 leave
+000029A0 C20C00 ret 0Ch
+
+000029A3 2E002E2E00 db '.',0,'..',0
+
+..\lib\kolibri.h 261: $mov eax,-1;
+000029A8 B8FFFFFFFF mov eax,0FFFFFFFFh
+
+..\lib\kolibri.h 262: $int 0x40
+000029AD CD40 int 40h
+000029AF C3 ret
+
+..\lib\kolibri.h 387: EAX = 71;
+000029B0 6A47 push 47h
+000029B2 58 pop eax
+
+..\lib\kolibri.h 388: EBX = 1;
+000029B3 31DB xor ebx,ebx
+000029B5 43 inc ebx
+
+..\lib\kolibri.h 389: $int 0x40;
+000029B6 CD40 int 40h
+000029B8 C3 ret
+
+ DrawLink()
+000029B9 C8040000 enter 4,0
+
+..\lib\figures.h 92: WriteText(x,y,font_type,0x4E00E7,inscription);
+000029BD FF7518 push dword ptr [ebp+18h]
+000029C0 FF7514 push dword ptr [ebp+14h]
+000029C3 FF7510 push dword ptr [ebp+10h]
+000029C6 68E7004E00 push 4E00E7h
+000029CB 8B5508 mov edx,[ebp+8]
+000029CE E81CD7FFFF call 0EFh
+
+..\lib\figures.h 93: if (font_type==0x80) w = strlen(inscription)*6; else w = strlen(inscription)*7;
+000029D3 817D1080000000 cmp dword ptr [ebp+10h],80h
+000029DA 0F8513000000 jnz 29F3h
+000029E0 8B7D08 mov edi,[ebp+8]
+000029E3 E837FDFFFF call 271Fh
+000029E8 6BC006 imul eax,eax,6
+000029EB 8945FC mov [ebp-4],eax
+000029EE E90E000000 jmp 2A01h
+000029F3 8B7D08 mov edi,[ebp+8]
+000029F6 E824FDFFFF call 271Fh
+000029FB 6BC007 imul eax,eax,7
+000029FE 8945FC mov [ebp-4],eax
+
+..\lib\figures.h 94: DefineButton(x-1,y-1,w,10,btn_id+BT_HIDE,0);
+00002A01 8B4518 mov eax,[ebp+18h]
+00002A04 48 dec eax
+00002A05 50 push eax
+00002A06 8B4514 mov eax,[ebp+14h]
+00002A09 48 dec eax
+00002A0A 50 push eax
+00002A0B FF75FC push dword ptr [ebp-4]
+00002A0E 6A0A push 0Ah
+00002A10 8B550C mov edx,[ebp+0Ch]
+00002A13 81C200000040 add edx,40000000h
+00002A19 31F6 xor esi,esi
+00002A1B E8CAD7FFFF call 1EAh
+
+..\lib\figures.h 95: DrawBar(x,y+8,w,1,0x4E00E7);
+00002A20 FF7518 push dword ptr [ebp+18h]
+00002A23 8B4514 mov eax,[ebp+14h]
+00002A26 83C008 add eax,8
+00002A29 50 push eax
+00002A2A FF75FC push dword ptr [ebp-4]
+00002A2D 6A01 push 1
+00002A2F BAE7004E00 mov edx,4E00E7h
+00002A34 E870D7FFFF call 1A9h
+00002A39 C9 leave
+00002A3A C21400 ret 14h
+
+ DeleteFile()
+00002A3D 55 push ebp
+00002A3E 89E5 mov ebp,esp
+
+..\lib\file_system.h 69: del_file_70.func = 8;
+00002A40 6A08 push 8
+00002A42 8F05724C0000 pop dword ptr [4C72h]
+
+..\lib\file_system.h 70: del_file_70.param1 =
+00002A48 31C0 xor eax,eax
+00002A4A A2864C0000 mov [4C86h],al
+00002A4F A3824C0000 mov [4C82h],eax
+00002A54 A37E4C0000 mov [4C7Eh],eax
+00002A59 A37A4C0000 mov [4C7Ah],eax
+00002A5E A3764C0000 mov [4C76h],eax
+
+..\lib\file_system.h 75: del_file_70.name = del_file_path;
+00002A63 8B4508 mov eax,[ebp+8]
+00002A66 A3874C0000 mov [4C87h],eax
+
+..\lib\file_system.h 76: $mov eax,70
+00002A6B B846000000 mov eax,46h
+
+..\lib\file_system.h 77: $mov ebx,#del_file_70.func
+00002A70 BB724C0000 mov ebx,4C72h
+
+..\lib\file_system.h 78: $int 0x40
+00002A75 CD40 int 40h
+00002A77 5D pop ebp
+00002A78 C20400 ret 4
+
+ CreateDir()
+00002A7B 55 push ebp
+00002A7C 89E5 mov ebp,esp
+
+..\lib\file_system.h 51: create_dir_70.func = 9;
+00002A7E 6A09 push 9
+00002A80 8F05584C0000 pop dword ptr [4C58h]
+
+..\lib\file_system.h 52: create_dir_70.param1 =
+00002A86 31C0 xor eax,eax
+00002A88 A26C4C0000 mov [4C6Ch],al
+00002A8D A3684C0000 mov [4C68h],eax
+00002A92 A3644C0000 mov [4C64h],eax
+00002A97 A3604C0000 mov [4C60h],eax
+00002A9C A35C4C0000 mov [4C5Ch],eax
+
+..\lib\file_system.h 57: create_dir_70.name = new_folder_path;
+00002AA1 8B4508 mov eax,[ebp+8]
+00002AA4 A36D4C0000 mov [4C6Dh],eax
+
+..\lib\file_system.h 58: $mov eax,70
+00002AA9 B846000000 mov eax,46h
+
+..\lib\file_system.h 59: $mov ebx,#create_dir_70.func
+00002AAE BB584C0000 mov ebx,4C58h
+
+..\lib\file_system.h 60: $int 0x40
+00002AB3 CD40 int 40h
+00002AB5 5D pop ebp
+00002AB6 C20400 ret 4
+
+ CopyFile()
+00002AB9 C8330200 enter 233h,0
+00002ABD 6A00 push 0
+00002ABF 6AFF push 0FFFFFFFFh
+
+..\lib\file_system.h 200: if (! GetFileInfo(copy_from, #CopyFile_atr))
+00002AC1 FF750C push dword ptr [ebp+0Ch]
+00002AC4 8D85D0FDFFFF lea eax,[ebp-230h]
+00002ACA 50 push eax
+00002ACB E8BAFDFFFF call 288Ah
+00002AD0 85C0 test eax,eax
+00002AD2 0F8544000000 jnz 2B1Ch
+
+..\lib\file_system.h 202: cBufer = malloc(CopyFile_atr.sizelo);
+00002AD8 FFB5F0FDFFFF push dword ptr [ebp-210h]
+00002ADE E80ADBFFFF call 5EDh
+00002AE3 8985CCFDFFFF mov [ebp-234h],eax
+
+..\lib\file_system.h 203: if (! ReadFile(0, CopyFile_atr.sizelo, cBufer, copy_from))
+00002AE9 6A00 push 0
+00002AEB FFB5F0FDFFFF push dword ptr [ebp-210h]
+00002AF1 50 push eax
+00002AF2 FF750C push dword ptr [ebp+0Ch]
+00002AF5 E8B3000000 call 2BADh
+00002AFA 85C0 test eax,eax
+00002AFC 0F851A000000 jnz 2B1Ch
+
+..\lib\file_system.h 205: rezult = WriteFile(CopyFile_atr.sizelo, cBufer, copy_in);
+00002B02 FFB5F0FDFFFF push dword ptr [ebp-210h]
+00002B08 FFB5CCFDFFFF push dword ptr [ebp-234h]
+00002B0E FF7508 push dword ptr [ebp+8]
+00002B11 E8DF000000 call 2BF5h
+00002B16 8885C8FDFFFF mov [ebp-238h],al
+
+..\lib\file_system.h 208: free(cBufer);
+00002B1C FFB5CCFDFFFF push dword ptr [ebp-234h]
+00002B22 E8FFDAFFFF call 626h
+
+..\lib\file_system.h 209: return rezult;
+00002B27 0FBE85C8FDFFFF movsx eax,[ebp-238h]
+00002B2E C9 leave
+00002B2F C20800 ret 8
+
+ ReadDir()
+00002B32 55 push ebp
+00002B33 89E5 mov ebp,esp
+
+..\lib\file_system.h 141: read_dir_70.func = 1;
+00002B35 6A01 push 1
+00002B37 8F05C04C0000 pop dword ptr [4CC0h]
+
+..\lib\file_system.h 142: read_dir_70.param1 =
+00002B3D 31C0 xor eax,eax
+00002B3F A2D44C0000 mov [4CD4h],al
+00002B44 A3C84C0000 mov [4CC8h],eax
+00002B49 A3C44C0000 mov [4CC4h],eax
+
+..\lib\file_system.h 145: read_dir_70.param3 = file_count;
+00002B4E 8B4510 mov eax,[ebp+10h]
+00002B51 A3CC4C0000 mov [4CCCh],eax
+
+..\lib\file_system.h 146: read_dir_70.param4 = read_buffer;
+00002B56 8B450C mov eax,[ebp+0Ch]
+00002B59 A3D04C0000 mov [4CD0h],eax
+
+..\lib\file_system.h 147: read_dir_70.name = dir_path;
+00002B5E 8B4508 mov eax,[ebp+8]
+00002B61 A3D54C0000 mov [4CD5h],eax
+
+..\lib\file_system.h 148: $mov eax,70
+00002B66 B846000000 mov eax,46h
+
+..\lib\file_system.h 149: $mov ebx,#read_dir_70.func
+00002B6B BBC04C0000 mov ebx,4CC0h
+
+..\lib\file_system.h 150: $int 0x40
+00002B70 CD40 int 40h
+00002B72 5D pop ebp
+00002B73 C20C00 ret 0Ch
+
+..\lib\mem.h 65: MOV EAX, ECX
+00002B76 89C8 mov eax,ecx
+
+..\lib\mem.h 66: CMP EDI, ESI
+00002B78 3BFE cmp edi,esi
+
+..\lib\mem.h 67: JG L1
+00002B7A 7F12 jg 2B8Eh
+
+..\lib\mem.h 68: JE L2
+00002B7C 742E je 2BACh
+
+..\lib\mem.h 69: SAR ECX, 2
+00002B7E C1F902 sar ecx,2
+
+..\lib\mem.h 70: JS L2
+00002B81 7829 js 2BACh
+
+..\lib\mem.h 71: REP MOVSD
+00002B83 F3A5 repe movsd
+
+..\lib\mem.h 72: MOV ECX, EAX
+00002B85 89C1 mov ecx,eax
+
+..\lib\mem.h 73: AND ECX, 3
+00002B87 83E103 and ecx,3
+
+..\lib\mem.h 74: REP MOVSB
+00002B8A F3A4 repe movsb
+
+..\lib\mem.h 75: JMP SHORT L2
+00002B8C EB1E jmp short 2BACh
+
+..\lib\mem.h 76: L1: LEA ESI, DSDWORD[ ESI+ECX-4]
+00002B8E 8D740EFC lea esi,[esi+ecx-4]
+
+..\lib\mem.h 77: LEA EDI, DSDWORD[ EDI+ECX-4]
+00002B92 8D7C0FFC lea edi,[edi+ecx-4]
+
+..\lib\mem.h 78: SAR ECX, 2
+00002B96 C1F902 sar ecx,2
+
+..\lib\mem.h 79: JS L2
+00002B99 7811 js 2BACh
+
+..\lib\mem.h 80: STD
+00002B9B FD std
+
+..\lib\mem.h 81: REP MOVSD
+00002B9C F3A5 repe movsd
+
+..\lib\mem.h 82: MOV ECX, EAX
+00002B9E 89C1 mov ecx,eax
+
+..\lib\mem.h 83: AND ECX, 3
+00002BA0 83E103 and ecx,3
+
+..\lib\mem.h 84: ADD ESI, 3
+00002BA3 83C603 add esi,3
+
+..\lib\mem.h 85: ADD EDI, 3
+00002BA6 83C703 add edi,3
+
+..\lib\mem.h 86: REP MOVSB
+00002BA9 F3A4 repe movsb
+
+..\lib\mem.h 87: CLD
+00002BAB FC cld
+
+..\lib\mem.h 88: L2:
+00002BAC C3 ret
+
+ ReadFile()
+00002BAD 55 push ebp
+00002BAE 89E5 mov ebp,esp
+
+..\lib\file_system.h 87: read_file_70.func = 0;
+00002BB0 83258C4C000000 and dword ptr [4C8Ch],0
+
+..\lib\file_system.h 88: read_file_70.param1 = read_pos;
+00002BB7 8B4514 mov eax,[ebp+14h]
+00002BBA A3904C0000 mov [4C90h],eax
+
+..\lib\file_system.h 89: read_file_70.param2 = 0;
+00002BBF 8325944C000000 and dword ptr [4C94h],0
+
+..\lib\file_system.h 90: read_file_70.param3 = read_file_size;
+00002BC6 8B4510 mov eax,[ebp+10h]
+00002BC9 A3984C0000 mov [4C98h],eax
+
+..\lib\file_system.h 91: read_file_70.param4 = read_buffer;
+00002BCE 8B450C mov eax,[ebp+0Ch]
+00002BD1 A39C4C0000 mov [4C9Ch],eax
+
+..\lib\file_system.h 92: read_file_70.rezerv = 0;
+00002BD6 C605A04C000000 mov byte ptr [4CA0h],0
+
+..\lib\file_system.h 93: read_file_70.name = read_file_path;
+00002BDD 8B4508 mov eax,[ebp+8]
+00002BE0 A3A14C0000 mov [4CA1h],eax
+
+..\lib\file_system.h 94: $mov eax,70
+00002BE5 B846000000 mov eax,46h
+
+..\lib\file_system.h 95: $mov ebx,#read_file_70.func
+00002BEA BB8C4C0000 mov ebx,4C8Ch
+
+..\lib\file_system.h 96: $int 0x40
+00002BEF CD40 int 40h
+00002BF1 5D pop ebp
+00002BF2 C21000 ret 10h
+
+ WriteFile()
+00002BF5 55 push ebp
+00002BF6 89E5 mov ebp,esp
+
+..\lib\file_system.h 123: write_file_70.func = 2;
+00002BF8 6A02 push 2
+00002BFA 8F05A64C0000 pop dword ptr [4CA6h]
+
+..\lib\file_system.h 124: write_file_70.param1 = 0;
+00002C00 8325AA4C000000 and dword ptr [4CAAh],0
+
+..\lib\file_system.h 125: write_file_70.param2 = 0;
+00002C07 8325AE4C000000 and dword ptr [4CAEh],0
+
+..\lib\file_system.h 126: write_file_70.param3 = write_file_size;
+00002C0E 8B4510 mov eax,[ebp+10h]
+00002C11 A3B24C0000 mov [4CB2h],eax
+
+..\lib\file_system.h 127: write_file_70.param4 = write_buffer;
+00002C16 8B450C mov eax,[ebp+0Ch]
+00002C19 A3B64C0000 mov [4CB6h],eax
+
+..\lib\file_system.h 128: write_file_70.rezerv = 0;
+00002C1E C605BA4C000000 mov byte ptr [4CBAh],0
+
+..\lib\file_system.h 129: write_file_70.name = write_file_path;
+00002C25 8B4508 mov eax,[ebp+8]
+00002C28 A3BB4C0000 mov [4CBBh],eax
+
+..\lib\file_system.h 130: $mov eax,70
+00002C2D B846000000 mov eax,46h
+
+..\lib\file_system.h 131: $mov ebx,#write_file_70.func
+00002C32 BBA64C0000 mov ebx,4CA6h
+
+..\lib\file_system.h 132: $int 0x40
+00002C37 CD40 int 40h
+00002C39 5D pop ebp
+00002C3A C20C00 ret 0Ch
diff --git a/programs/cmm/installer/tmp_add.c b/programs/cmm/installer/tmp_add.c
new file mode 100644
index 0000000000..0db74e6a9a
--- /dev/null
+++ b/programs/cmm/installer/tmp_add.c
@@ -0,0 +1,38 @@
+struct ioctl_struct
+{
+ dword handle;
+ dword io_code;
+ dword input;
+ dword inp_size;
+ dword output;
+ dword out_size;
+};
+
+struct add_disk_struc
+{
+ dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data
+ unsigned char DiskId; // from 0 to 9
+};
+
+ioctl_struct ioctl;
+add_disk_struc add_disk;
+
+int TmpDiskAdd(int disk_id, disk_size)
+{
+ int driver_handle, driver_rezult;
+ driver_handle = LoadDriver("tmpdisk");
+ if (driver_handle==0) return 7;
+
+ add_disk.DiskId = disk_id;
+ add_disk.DiskSize = disk_size * 2048;
+
+ ioctl.handle = driver_handle;
+ ioctl.io_code = 1;
+ ioctl.input = #add_disk;
+ ioctl.inp_size = sizeof(add_disk);
+ ioctl.output = 0;
+ ioctl.out_size = 0;
+
+ driver_rezult = RuleDriver(#ioctl);
+ return driver_rezult;
+}
\ No newline at end of file
diff --git a/programs/cmm/kolibrin/compile.bat b/programs/cmm/kolibrin/compile.bat
new file mode 100644
index 0000000000..bd3caadc9a
--- /dev/null
+++ b/programs/cmm/kolibrin/compile.bat
@@ -0,0 +1,5 @@
+..\C--\C-- kolibrin.c
+@del kolibrin
+@rename kolibrin.com kolibrin
+@pause
+@del warning.txt
diff --git a/programs/cmm/kolibrin/kolibrin.c b/programs/cmm/kolibrin/kolibrin.c
new file mode 100644
index 0000000000..f0ba57a8bf
--- /dev/null
+++ b/programs/cmm/kolibrin/kolibrin.c
@@ -0,0 +1,47 @@
+#define MEMSIZE 0x9000
+#include "..\lib\kolibri.h"
+#include "..\lib\strings.h"
+#include "..\lib\mem.h"
+#include "..\lib\file_system.h"
+
+
+void main()
+{
+ dword dirbuf, fcount, filename, i;
+ dword dirbuf2, fcount2, filename2, j;
+ char cd_path[4096];
+ char install_path[4096];
+ signed int result;
+
+ mem_Init();
+ GetDir(#dirbuf, #fcount, "/");
+
+ for (i=0; i0) ExitProcess();
+ }
+ }
+ }
+ if (GetSystemLanguage()==4) notify(" installer.kex ᪠! .");
+ else notify("Can't find installer.kex at the root of all disks! Try to find and run it manually."w);
+ ExitProcess();
+}
+
+
+stop:
diff --git a/programs/cmm/lib/figures.h b/programs/cmm/lib/figures.h
index a7ee854abf..ce29bcbe97 100644
--- a/programs/cmm/lib/figures.h
+++ b/programs/cmm/lib/figures.h
@@ -65,7 +65,8 @@ void DrawCaptButton(dword x,y,w,h,id,color_b, color_t,text)
int progress_w;
static int fill_old;
- if (progress_percent<=0) {DrawBar(st_x,st_y, st_x + st_w + fill_old + 15,st_h+1, col_fon); fill_old=0; return;}
+ //if (progress_percent<=0) {DrawBar(st_x,st_y, st_x + st_w + fill_old + 15,st_h+1, col_fon); fill_old=0; return;}
+ if (progress_percent<=0) || (progress_percent>=100) return;
DrawRectangle(st_x, st_y, st_w,st_h, col_border);
DrawRectangle3D(st_x+1, st_y+1, st_w-2,st_h-2, 0xFFFfff, 0xFFFfff);
@@ -83,4 +84,55 @@ void DrawCaptButton(dword x,y,w,h,id,color_b, color_t,text)
WriteText(st_x+st_w+15, st_h/2-4+st_y, 0x80, col_text, status_text);
fill_old = strlen(status_text) * 6;
}
+}
+
+:void DrawLink(dword x,y,font_type,btn_id, inscription)
+{
+ int w;
+ WriteText(x,y,font_type,0x4E00E7,inscription);
+ if (font_type==0x80) w = strlen(inscription)*6; else w = strlen(inscription)*7;
+ DefineButton(x-1,y-1,w,10,btn_id+BT_HIDE,0);
+ DrawBar(x,y+8,w,1,0x4E00E7);
+}
+
+
+:void PutShadow(dword x,y,w,h,border,strength)
+{
+ proc_info wForm;
+ dword shadow_buf, skin_height;
+ shadow_buf = mem_Alloc(w*h*3);
+ //skin_height = GetSkinHeight();
+ GetProcessInfo(#wForm, SelfInfo);
+ CopyScreen(shadow_buf, x+wForm.left, y+wForm.top, w, h);
+ ShadowImage(shadow_buf, w, h, strength);
+ _PutImage(x,y,w,h,shadow_buf);
+ mem_Free(shadow_buf);
+}
+
+:void GrayScaleImage(dword color_image, w, h)
+{
+ dword i,j, gray,rr,gg,bb;
+ for (i = 0; i < w*h*3; i+=3)
+ {
+ rr = DSBYTE[i+color_image];
+ gg = DSBYTE[i+1+color_image];
+ bb = DSBYTE[i+2+color_image];
+ gray = rr*rr;
+ gray += gg*gg;
+ gray += bb*bb;
+ gray = sqrt(gray) / 3;
+ DSBYTE[i +color_image] = DSBYTE[i+1+color_image] = DSBYTE[i+2+color_image] = gray;
+ }
+}
+
+:void ShadowImage(dword color_image, w, h, strength)
+{
+ dword col, to;
+ strength = 10 - strength;
+ to = w*h*3 + color_image;
+ for ( ; color_image < to; color_image++)
+ {
+ col = strength * DSBYTE[color_image] / 10;
+ DSBYTE[color_image] = col;
+ }
}
\ No newline at end of file
diff --git a/programs/cmm/lib/file_system.h b/programs/cmm/lib/file_system.h
index 2671189616..36acda3d90 100644
--- a/programs/cmm/lib/file_system.h
+++ b/programs/cmm/lib/file_system.h
@@ -28,7 +28,7 @@ struct BDVK{
// //
///////////////////////////
f70 run_file_70;
-:int RunProgram(dword run_path, run_param)
+signed int RunProgram(dword run_path, run_param)
{
run_file_70.func = 7;
run_file_70.param1 =
@@ -96,6 +96,24 @@ f70 read_file_70;
$int 0x40
}
+:int GetFile(dword buf, filesize, read_path)
+{
+ BDVK ReadFile_atr;
+ dword rBuf=0;
+ if (! GetFileInfo(read_path, #ReadFile_atr))
+ {
+ rBuf = malloc(ReadFile_atr.sizelo);
+ if (! ReadFile(0, ReadFile_atr.sizelo, rBuf, read_path))
+ {
+ ESDWORD[buf] = rBuf;
+ ESDWORD[filesize] = ReadFile_atr.sizelo;
+ return 1;
+ }
+ }
+ free(rBuf);
+ return 0;
+}
+
////////////////////////////
// //
////////////////////////////
@@ -119,7 +137,7 @@ f70 write_file_70;
///////////////////////////
f70 read_dir_70;
:int ReadDir(dword file_count, read_buffer, dir_path)
-{
+{
read_dir_70.func = 1;
read_dir_70.param1 =
read_dir_70.param2 =
@@ -133,18 +151,36 @@ f70 read_dir_70;
}
+:int GetDir(dword dir_buf, file_count, path)
+{
+ dword buf, fcount, error;
+ buf = malloc(32);
+ error = ReadDir(0, buf, path);
+ if (!error)
+ {
+ fcount = ESDWORD[buf+8];
+ buf = realloc(buf, fcount+1*304+32);
+ ReadDir(fcount, buf, path);
+ if (!strcmp(".",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);}
+ if (!strcmp("..",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);}
+ ESDWORD[dir_buf] = buf;
+ ESDWORD[file_count] = fcount;
+ }
+ return error;
+}
+
+
///////////////////////////
// //
///////////////////////////
f70 getinfo_file_70;
-BDVK getinfo_file_info;
-:dword GetFileInfo(dword file_path)
+:dword GetFileInfo(dword file_path, bdvk_struct)
{
getinfo_file_70.func = 5;
getinfo_file_70.param1 =
getinfo_file_70.param2 =
getinfo_file_70.param3 = 0;
- getinfo_file_70.param4 = #getinfo_file_info;
+ getinfo_file_70.param4 = bdvk_struct;
getinfo_file_70.rezerv = 0;
getinfo_file_70.name = file_path;
$mov eax,70
@@ -160,32 +196,17 @@ BDVK getinfo_file_info;
{
BDVK CopyFile_atr;
dword cBufer=0;
-
- if (! GetFileInfo(copy_from))
+ char rezult = -1;
+ if (! GetFileInfo(copy_from, #CopyFile_atr))
{
- mem_Init();
- cBufer = mem_Alloc(CopyFile_atr.sizelo);
+ cBufer = malloc(CopyFile_atr.sizelo);
if (! ReadFile(0, CopyFile_atr.sizelo, cBufer, copy_from))
- if (! WriteFile(CopyFile_atr.sizelo, cBufer, copy_in)) return 1;
+ {
+ rezult = WriteFile(CopyFile_atr.sizelo, cBufer, copy_in);
+ }
}
-
- return 0;
-}
-
-
-//Asper
-void ReadAttributes(dword read_buffer, file_path)
-{
- read_file_70.func = 5;
- read_file_70.param1 = 0;
- read_file_70.param2 = 0;
- read_file_70.param3 = 0;
- read_file_70.param4 = read_buffer;
- read_file_70.rezerv = 0;
- read_file_70.name = file_path;
- $mov eax,70
- $mov ebx,#read_file_70.func
- $int 0x40
+ free(cBufer);
+ return rezult;
}
inline fastcall void SetCurDir( ECX)
diff --git a/programs/cmm/lib/kolibri.h b/programs/cmm/lib/kolibri.h
index b8b957f71d..c5013e0b55 100644
--- a/programs/cmm/lib/kolibri.h
+++ b/programs/cmm/lib/kolibri.h
@@ -7,30 +7,24 @@ char os_name[8] = {'M','E','N','U','E','T','0','1'};
dword os_version = 0x00000001;
dword start_addr = #main;
dword final_addr = #stop+32;
-#ifdef MEMSIZE
- dword alloc_mem = MEMSIZE;
- dword x86esp_reg = MEMSIZE;
-#else
- dword alloc_mem = #0x00100000;
- dword x86esp_reg = #0x00100000;
-#endif
+dword alloc_mem = MEMSIZE;
+dword x86esp_reg = MEMSIZE;
dword I_Param = #param;
dword I_Path = #program_path;
char param[4096];
char program_path[4096];
+#define NULL 0
+#define OLD -1
+#define true 1
+#define false 0
+
//Events
#define evMouse 6
#define evButton 3
#define evKey 2
#define evReDraw 1
-#define OLD -1
-#define true 1
-#define false 0
-
-#define NULL 0
-
//Button options
#define BT_DEL 0x80000000
#define BT_HIDE 0x40000000
@@ -352,6 +346,7 @@ DONE:
$pop eax
}
+
inline fastcall void debugch( ECX)
{
$push eax
@@ -399,6 +394,7 @@ void WriteTextB(dword x,y,byte fontType, dword color, EDX)
EAX = 4;
EBX = x<<16+y;
ECX = fontType<<24+color;
+ ESI = 0;
$int 0x40;
$add ebx, 1<<16
$int 0x40
@@ -409,7 +405,7 @@ void WriteText(dword x,y,byte fontType, dword color, EDX)
EAX = 4;
EBX = x<<16+y;
ECX = fontType<<24+color;
- $xor esi, esi
+ ESI = 0;
$int 0x40;
}
@@ -422,10 +418,10 @@ void WriteNumber(dword x,y,byte fontType, dword color, count, ECX)
$int 0x40;
}
-void CopyScreen(dword EBX, x, y, sizeX, sizeY)
+void CopyScreen(dword EBX, x, y, w, h)
{
EAX = 36;
- ECX = sizeX << 16 + sizeY;
+ ECX = w << 16 + h;
EDX = x << 16 + y;
$int 0x40;
}
@@ -437,13 +433,6 @@ dword GetPixelColor(dword x, x_size, y)
$int 0x40
}
-void PutImage(dword EBX,w,h,x,y)
-{
- EAX = 7;
- ECX = w<<16+h;
- EDX = x<<16+y;
- $int 0x40
-}
void _PutImage(dword x,y, w,h, EBX)
{
@@ -502,4 +491,4 @@ inline fastcall void DeleteButton( EDX)
EAX = 8;
EDX += BT_DEL;
$int 0x40;
-}
+}
\ No newline at end of file
diff --git a/programs/cmm/lib/lib.obj/box_lib.h b/programs/cmm/lib/lib.obj/box_lib.h
index 241d370dc2..02d6ad80bf 100644
--- a/programs/cmm/lib/lib.obj/box_lib.h
+++ b/programs/cmm/lib/lib.obj/box_lib.h
@@ -15,28 +15,57 @@ dword scrollbar_h_draw = #aScrollbar_h_draw;
dword scrollbar_h_mouse = #aScrollbar_h_mouse;
dword version_scrollbar = #aVersion_scrollbar;
+dword PathShow_prepare = #aPathShow_prepare;
+dword PathShow_draw = #aPathShow_draw;
+
dword am__ = 0x0;
dword bm__ = 0x0;
-char aEdit_box_draw[9] = "edit_box\0";
-char aEdit_box_key[13] = "edit_box_key\0";
-char aEdit_box_mouse[15] = "edit_box_mouse\0";
-char aVersion_ed[11] = "version_ed\0";
+char aEdit_box_draw [9] = "edit_box\0";
+char aEdit_box_key [13] = "edit_box_key\0";
+char aEdit_box_mouse[15] = "edit_box_mouse\0";
+char aVersion_ed [11] = "version_ed\0";
char aboxlib_init[9] = "lib_init\0";
-char aScrollbar_v_draw[17] = "scrollbar_v_draw\0";
+char aScrollbar_v_draw [17] = "scrollbar_v_draw\0";
char aScrollbar_v_mouse[18] = "scrollbar_v_mouse\0";
-char aScrollbar_h_draw[17] = "scrollbar_h_draw\0";
+char aScrollbar_h_draw [17] = "scrollbar_h_draw\0";
char aScrollbar_h_mouse[18] = "scrollbar_h_mouse\0";
char aVersion_scrollbar[18] = "version_scrollbar\0";
-char aCheck_box_draw [15] = "check_box_draw\0";
-char aCheck_box_mouse [16] = "check_box_mouse\0";
-char aVersion_ch [11] = "version_ch\0";
+char aCheck_box_draw [15] = "check_box_draw\0";
+char aCheck_box_mouse [16] = "check_box_mouse\0";
+char aVersion_ch [11] = "version_ch\0";
-char aOption_box_draw [16] = "option_box_draw\0";
-char aOption_box_mouse[17] = "option_box_mouse\0";
-char aVersion_op [11] = "version_op\0" ;
+char aOption_box_draw [16] = "option_box_draw\0";
+char aOption_box_mouse [17] = "option_box_mouse\0";
+char aVersion_op [11] = "version_op\0" ;
+
+char aPathShow_prepare [17] = "PathShow_prepare\0";
+char aPathShow_draw [14] = "PathShow_draw\0";
+
+
+struct PathShow_data
+{
+dword type;// dd 0 ;+0
+word start_y,// dw 28 ;+4
+ start_x,// dw 172 ;+6
+ font_size_x,// dw 6 ;+8 ; 6 - for font 0, 8 - for font 1
+ area_size_x;// dw 200 ;+10
+dword font_number,// dd 0 ;+12 ; 0 - monospace, 1 - variable
+ background_flag,// dd 0 ;+16
+ font_color,// dd 0x0 ;+20
+ background_color,// dd 0x0 ;+24
+ text_pointer,// dd openfile_pach ;+28
+ work_area_pointer,// dd text_work_area ;+32
+ temp_text_length;// dd 0 ;+36
+};
+/*
+char temp[128];
+PathShow_data PathShow = {0, 100,20, 6, 200, 0, 1, 0x0, 0xFFFfff, #email_text, #temp, 0};
+PathShow_prepare stdcall(#PathShow);
+PathShow_draw stdcall(#PathShow);
+*/
struct edit_box{
@@ -73,23 +102,4 @@ position2,// equ [edi+72]
work_size,// equ [edi+76]
all_redraw,// equ [edi+80]
ar_offset;// equ [edi+84]
-};
-
-//ed_width equ [edi] ;ਭ
-//ed_left equ [edi+4] ;
-//ed_top equ [edi+8] ;
-//ed_color equ [edi+12] ;梥 䮭
-//shift_color equ [edi+16] ;=0x6a9480
-//ed_focus_border_color equ [edi+20] ;梥 ࠬ
-//ed_blur_border_color equ [edi+24] ;梥 ⨢
-//ed_text_color equ [edi+28] ;梥 ⥪
-//ed_max equ [edi+32] ;- ᨬ ᨬ쭮
-//ed_text equ [edi+36] ;㪠⥫
-//ed_flags equ [edi+40] ;䫠
-//ed_size equ [edi+42] ;- ᨬ
-//ed_pos equ [edi+46] ;
-//ed_offset equ [edi+50] ;ᬥ饭
-//cl_curs_x equ [edi+54] ;। न
-//cl_curs_y equ [edi+58] ;। न
-//ed_shift_pos equ [edi+62] ;
-//ed_shift_pos_old equ [edi+66] ;
+};
\ No newline at end of file
diff --git a/programs/cmm/lib/lib.obj/iconv.h b/programs/cmm/lib/lib.obj/iconv.h
index 109ac50675..399a3c754c 100644
--- a/programs/cmm/lib/lib.obj/iconv.h
+++ b/programs/cmm/lib/lib.obj/iconv.h
@@ -20,8 +20,8 @@ dword ChangeCharset(dword from_chs, to_chs, conv_buf)
iconv_open stdcall (from_chs, to_chs); //CP866, CP1251, CP1252, KOI8-RU, UTF-8, ISO8859-5
if (EAX==-1)
{
- debug (from_chs);
- debug (to_chs);
+ debug(from_chs);
+ debug(to_chs);
debug("iconv: wrong charset,\nuse only CP866, CP1251, CP1252, KOI8-RU, UTF-8, ISO8859-5");
return 0;
}
@@ -34,15 +34,28 @@ dword ChangeCharset(dword from_chs, to_chs, conv_buf)
if (cd!=0)
{
debug("iconv: something is wrong with stdcall iconv()");
- debug(itoa(cd));
+ debugi(cd);
debug("in_len");
- debug(itoa(in_len));
+ debugi(in_len);
debug("out_len");
- debug(itoa(out_len));
- new_buf = 0;
+ debugi(out_len);
+ new_buf = free(new_buf);
return 0;
}
strcpy(conv_buf, new_buf);
free(new_buf);
return conv_buf;
-}
\ No newline at end of file
+}
+
+
+char *charsets[] = { " ", "UTF-8", "KOI8-RU", "CP1251", "CP1252", "ISO8859-5", "CP866"};
+int cur_charset;
+enum {
+ CH_NULL,
+ CH_UTF8,
+ CH_KOI8,
+ CH_CP1251,
+ CH_CP1252,
+ CH_ISO8859_5,
+ CH_CP866
+};
\ No newline at end of file
diff --git a/programs/cmm/lib/strings.h b/programs/cmm/lib/strings.h
index 6a7fca8555..824dfb149f 100644
--- a/programs/cmm/lib/strings.h
+++ b/programs/cmm/lib/strings.h
@@ -3,8 +3,8 @@
// strlen( EDI)
// strcpy( EDI, ESI) --- 0 if ==
// strcat( EDI, ESI)
-// strchr( ESI,BL)
-// strrchr( ESI,BL)
+// strchr( ESI,BL) --- find first BL
+// strrchr( ESI,BL) --- find last BL
// strstr( EBX, EDX)
// itoa( ESI)
// atoi( EAX)
@@ -60,7 +60,7 @@ inline fastcall unsigned int strlen( EDI)
}
-inline fastcall strcpy( EDI, ESI)
+inline fastcall void strcpy( EDI, ESI)
{
$cld
L2:
@@ -86,7 +86,7 @@ inline fastcall int strlcpy(dword ESI, EDI, EBX)
-inline fastcall strcat( EDI, ESI)
+inline fastcall void strcat( EDI, ESI)
{
asm {
mov ebx, edi
@@ -114,6 +114,13 @@ inline fastcall strcat( EDI, ESI)
}
}
+inline fastcall void chrcat(ESI, BL)
+{
+ EDI = strlen(ESI);
+ ESBYTE[ESI+EDI] = BL;
+ ESBYTE[ESI+EDI+1] = 0;
+}
+
inline fastcall signed int strchr( ESI,BL)
{
@@ -151,7 +158,7 @@ int chrnum(dword searchin, char symbol)
}
-inline fastcall dword strstr( EBX, EDX)
+inline fastcall signed int strstr( EBX, EDX)
{
asm {
MOV EDI, EDX
@@ -343,6 +350,7 @@ void debugi(dword d_int)
debug(#tmpch);
}
+
/* strtok( LPSTR dest, src, divs);
src -
dest - ,
diff --git a/programs/cmm/new_end/compile.bat b/programs/cmm/new_end/compile.bat
deleted file mode 100644
index 8479ff818e..0000000000
--- a/programs/cmm/new_end/compile.bat
+++ /dev/null
@@ -1,6 +0,0 @@
-..\C--\C-- end.c
-del end
-rename end.com end
-..\C--\kpack end
-pause
-del warning.txt
diff --git a/programs/cmm/notify/notify.c b/programs/cmm/notify/notify.c
index 4d32477c93..6c7c5dd3f2 100644
--- a/programs/cmm/notify/notify.c
+++ b/programs/cmm/notify/notify.c
@@ -3,6 +3,8 @@
#define MEMSIZE 0x3E80
#include "..\lib\kolibri.h"
#include "..\lib\strings.h"
+#include "..\lib\mem.h"
+#include "..\lib\figures.h"
int SCREEN_SIZE_X,
@@ -17,7 +19,9 @@ void main()
{
int TEXT_X=4,
TEXT_Y=12;
+ dword shadow_buf, lighter_pixel1, lighter_pixel2;
+ mem_Init();
if (!param)
{
if (GetSystemLanguage()==4)
@@ -33,8 +37,17 @@ void main()
TEXT_Y=WIN_SIZE_Y/2-3;
// , :)
- while (!GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)) WIN_Y+=45;
-
+ while (GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)==0x333333) WIN_Y+=WIN_SIZE_Y+17;
+
+ shadow_buf = malloc(WIN_SIZE_X*WIN_SIZE_Y*3);
+ lighter_pixel1 = malloc(3);
+ lighter_pixel2 = malloc(3);
+ CopyScreen(shadow_buf, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y, WIN_SIZE_X, WIN_SIZE_Y);
+ CopyScreen(lighter_pixel1, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y, 1, 1);
+ CopyScreen(lighter_pixel2, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y+WIN_SIZE_Y, 1, 1);
+ ShadowImage(shadow_buf, WIN_SIZE_X, WIN_SIZE_Y, 4);
+ ShadowImage(lighter_pixel1, 1, 1, 1);
+ ShadowImage(lighter_pixel2, 1, 1, 1);
loop()
{
@@ -49,9 +62,14 @@ void main()
break;
case evReDraw:
- DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
+ DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y-1, 0x01, 0, 0, 0x01fffFFF);
DefineButton(0,0, WIN_SIZE_X, WIN_SIZE_Y, 1+BT_HIDE+BT_NOFRAME, 0);
- draw_grid();
+ //draw_grid();
+ //PutShadow(0,0,WIN_SIZE_X,WIN_SIZE_Y, 0, 4);
+ _PutImage(0,0,WIN_SIZE_X,WIN_SIZE_Y,shadow_buf);
+ PutPixel(0,0,ESDWORD[lighter_pixel1]);
+ PutPixel(0,WIN_SIZE_Y-1,ESDWORD[lighter_pixel2]);
+ DrawBar(WIN_SIZE_X,0, 1, WIN_SIZE_Y, 0x333333);
WriteText(TEXT_X-1,TEXT_Y, 0x80, 0,#param); //
WriteText(TEXT_X+1,TEXT_Y, 0x80, 0,#param);
WriteText(TEXT_X,TEXT_Y-1, 0x80, 0,#param);
diff --git a/programs/cmm/rb/rb.c b/programs/cmm/rb/rb.c
index 34716c8ab3..36c2cb3f75 100644
--- a/programs/cmm/rb/rb.c
+++ b/programs/cmm/rb/rb.c
@@ -1,8 +1,9 @@
-//@RB - v0.62
+//@RB - v0.7
#define MEMSIZE 0x4000
#include "..\lib\kolibri.h"
#include "..\lib\strings.h"
+#include "..\lib\mem.h"
#include "..\lib\figures.h"
#include "..\lib\file_system.h"
@@ -11,10 +12,9 @@
#endif
#ifdef LANG_RUS
- #define ITEM_HEIGHT 18
- #define ITEM_WIDTH 138
char *ITEMS_LIST[]={
- "ன ", "/sys/desktop", 0,
+ " ⥬ ", "/sys/SKINSEL", 0,
+ " ", "/sys/BGSEL", 0,
" 梥 䮭", "/sys/media/palitra", 0,
"ࠢ ", "/sys/ICON", 0,
"ன ன", "/sys/SETUP", 0,
@@ -22,26 +22,30 @@
"", "/sys/CPU", 0,
0};
#else
- #define ITEM_HEIGHT 18
- #define ITEM_WIDTH 122
char *ITEMS_LIST[]={
- "Window setup", "/sys/desktop", 0,
- "Background", "/sys/media/palitra", 0,
- "Icon manager", "/sys/ICON", 0,
- "Device setup", "/sys/SETUP", 0,
- "Refresh desktop", "/sys/REFRSCRN", 0,
- "Processes", "/sys/CPU", 0,
+ "Window skin", "/sys/SKINSEL", 0,
+ "Wallpaper", "/sys/BGSEL", 0,
+ "Background", "/sys/media/palitra", 0,
+ "Icon manager", "/sys/ICON", 0,
+ "Device setup", "/sys/SETUP", 0,
+ "Refresh desktop ", "/sys/REFRSCRN", 0,
+ "Processes", "/sys/CPU", 0,
0};
#endif
-dword stak[100];
+char stak[100];
+#define ITEM_HEIGHT 18
+int ITEM_WIDTH;
void main()
{
mouse mm;
- byte can_show;
+ byte i, can_show = 0;
SetEventMask(100000b);
+ for (i=0; ITEMS_LIST[i]!=0; i+=3) if (strlen(ITEMS_LIST[i])>ITEM_WIDTH) ITEM_WIDTH = strlen(ITEMS_LIST[i]);
+ ITEM_WIDTH = ITEM_WIDTH * 6 + 20;
+ mem_Init();
loop() switch(WaitEvent())
{
@@ -69,7 +73,7 @@ void window()
int id1, key, i;
sc.get();
- SetEventMask(100111b);
+ SetEventMask(100111b);
loop() switch(WaitEvent())
{
@@ -123,8 +127,10 @@ void window()
case evReDraw:
while (ITEMS_LIST[items_num*3]) items_num++;
m.get();
- DefineAndDrawWindow(m.x+1,m.y,ITEM_WIDTH,items_num*ITEM_HEIGHT+1,0x01,sc.work,0, 0x01fffFFF);
+ DefineAndDrawWindow(m.x+1,m.y,ITEM_WIDTH+1,items_num*ITEM_HEIGHT+2,0x01,sc.work,0, 0x01fffFFF);
DrawRectangle(0,0,ITEM_WIDTH,items_num*ITEM_HEIGHT+1,sc.work_graph); //
+ PutShadow(ITEM_WIDTH+1,1,1,items_num*ITEM_HEIGHT+1,0,1);
+ PutShadow(1,items_num*ITEM_HEIGHT+2,ITEM_WIDTH+1,1,0,1);
_ITEMS_DRAW:
for (i=0; i