From 839dde62cca7d1992c076babcab1af5c168ff99c Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Fri, 5 Oct 2018 22:10:27 +0000 Subject: [PATCH] @icon: fixed by GerdtR notes: final version mouse: better hold wheel with other buttongs clicked git-svn-id: svn://kolibrios.org@7437 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/browser/WebView.c | 3 +- programs/cmm/browser/show_src.h | 132 ++++++++++++++++- programs/cmm/mousecfg/mousecfg.c | 14 +- programs/cmm/notes/engine.h | 4 +- programs/cmm/notes/img/checkbox.png | Bin 255 -> 195 bytes programs/cmm/notes/img/checkbox.raw | Bin 864 -> 864 bytes programs/cmm/notes/img/edge.png | Bin 4722 -> 661 bytes programs/cmm/notes/img/edge.raw | 2 +- programs/cmm/notes/notes | Bin 13751 -> 0 bytes programs/cmm/notes/notes.c | 11 +- programs/system/icon_new/DlgAdd.inc | 213 +++++++++++++++++++++------- programs/system/icon_new/icon.asm | 51 +++---- 12 files changed, 327 insertions(+), 103 deletions(-) delete mode 100644 programs/cmm/notes/notes diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 419555eeec..764547c39e 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -17,7 +17,7 @@ #include "..\lib\random.h" #include "..\lib\clipboard.h" -//*.obj libraries +// *.obj libraries #include "..\lib\obj\box_lib.h" #include "..\lib\obj\libio.h" #include "..\lib\obj\libimg.h" @@ -126,6 +126,7 @@ void main() load_dll(libHTTP, #http_lib_init,1); load_dll(iconv_lib, #iconv_open,0); Libimg_LoadImage(#skin, "/sys/toolbar.png"); + skin.h = 26; wv_progress_bar.progress_color = 0x72B7EB; CreateDir("/tmp0/1/downloads"); if (param) strcpy(#URL, #param); else strcpy(#URL, URL_SERVICE_HOME); diff --git a/programs/cmm/browser/show_src.h b/programs/cmm/browser/show_src.h index 362ce09869..2eb8a9aa2e 100644 --- a/programs/cmm/browser/show_src.h +++ b/programs/cmm/browser/show_src.h @@ -1,10 +1,10 @@ -enum { TAG, OPTION_VALUE, TEXT, COMMENT }; +enum { TAG, OPTION_VALUE, TEXT, COMMENT, INLINE_COMMENT, CODE }; //you are butifull, you are butifull dword ShowSource() { dword new_buf, new_buf_start, i; - byte ww, mode; + int mode; if (souce_mode) return; souce_mode = true; @@ -15,8 +15,7 @@ dword ShowSource() new_buf += strlen(new_buf); for (i=bufpointer; iC/C++/C-- source: %s
",#URL);
+	new_buf += strlen(new_buf);
+	for (i=bufpointer; i' == ESBYTE[i]) {
+			strcpy(new_buf, ">");
+			new_buf+=4;
+			continue;
+		}
+		if (ESBYTE[i] >= '0') && (ESBYTE[i] <= '9') && (CODE == mode) {
+			strcpy(new_buf, "?");
+			ESBYTE[new_buf+20] = ESBYTE[i];
+			new_buf+=28;
+			if (ESBYTE[i+1] == 'x') {
+				strcpy(new_buf, "x");
+				new_buf+=28;
+				i++;
+			}
+			continue;
+		}
+
+		if (CODE == mode) && ('\"' == ESBYTE[i]) {
+			mode = TEXT;
+			strcpy(new_buf, "\"");
+			new_buf+=18;
+			continue;
+		}
+		if (TEXT == mode) && ('\"' == ESBYTE[i]) {
+			mode = CODE;
+			strcpy(new_buf, "\"");
+			new_buf+=8;
+			continue;		
+		}
+
+		if (! strncmp(i, "//", 2) ) && (mode == CODE) {
+			mode = INLINE_COMMENT;
+			strcpy(new_buf, "//");
+			new_buf+=19;
+			i++;
+			continue;
+		}
+
+		if (INLINE_COMMENT == mode) {
+			if (13 == ESBYTE[i]) {
+				mode = CODE;
+				strcpy(new_buf, "\13");
+				new_buf+=8;
+				continue;				
+			}
+		}
+
+		if (! strncmp(i, "/*", 2) ) {
+			mode = COMMENT;
+			strcpy(new_buf, "/*");
+			new_buf+=19;
+			i++;
+			continue;
+		}
+		if (! strncmp(i, "*/", 2) ) {
+			mode = CODE;
+			strcpy(new_buf, "*/");
+			new_buf+=9;
+			i++;
+			continue;
+		}
+
+		if (CODE == mode) for (keyn=0; C_HL_keywords[keyn]!=NULL; keyn++) 
+		{
+			keylen = strlen(C_HL_keywords[keyn]);
+			if (! strncmp(i, C_HL_keywords[keyn], keylen) ) {
+
+				if (keyn<31) keycolor="#f00"; else keycolor="#00f";
+				sprintf(#spstr, "%s", keycolor, C_HL_keywords[keyn]);
+				strcpy(new_buf, #spstr);
+
+				new_buf += keylen + 24;
+				i += keylen-1;
+				goto _CONTINUE;
+			}
+		}
+		ESBYTE[new_buf] = ESBYTE[i];
+		new_buf++;
+		_CONTINUE:		
+	}
+	ESBYTE[new_buf] = 0;
+	bufsize = new_buf - new_buf_start;
+	free(bufpointer);
+	bufpointer = new_buf_start;
+}
+*/
\ No newline at end of file
diff --git a/programs/cmm/mousecfg/mousecfg.c b/programs/cmm/mousecfg/mousecfg.c
index 84bc96d916..be99bdb22c 100644
--- a/programs/cmm/mousecfg/mousecfg.c
+++ b/programs/cmm/mousecfg/mousecfg.c
@@ -1,4 +1,4 @@
-// Mouse Configuration Utility ver 1.6
+// Mouse Configuration Utility ver 1.61
 
 #ifndef AUTOBUILD
 #include "lang.h--"
@@ -60,8 +60,8 @@ void main() {
 	{
 		case evMouse:
 				mouse.get();
-				IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm, mouse.vert);
-				IF (mouse.up) DrawMouseImage(0,0,0,0);
+				IF (mouse_frame.hovered()) DrawMouseImage(mouse.lkm,mouse.pkm,mouse.mkm,mouse.vert);
+				IF (mouse.click) DrawMouseImage(0,0,0,0);
 				break;
 
 		CASE evButton: 
@@ -109,8 +109,8 @@ void main() {
 #define white  0xffffff
 #define dgrey  0x2d353d
 
-:struct IMG_PAL{ dword back,    shad1, mbody, left,  right, middle, white; }
-         pal = {    0xF0F2F3,0xABB0B2, dgrey, white, white, dgrey,  white  };
+:struct IMG_PAL{ dword back, shad1, contour, left,  right, middle, mwhite; }
+         pal = { 0xF0F2F3,0xABB0B2, dgrey,   white, white, dgrey,  white  };
 
 void DrawMouseImage(dword l,r,m,v) {
 	#define IMG_W 59
@@ -124,9 +124,9 @@ void DrawMouseImage(dword l,r,m,v) {
 	PutPaletteImage(#panels_img_data,IMG_W,IMG_H,18+30,18+15,8,#pal);
 	pal.left = pal.right = white;
 	pal.middle = dgrey;
-	if (v) {
+	IF (v) {
 		pause(10);
-		DrawMouseImage(0,0,0,0);
+		DrawMouseImage(l,r,m,0);
 	}
 }
 
diff --git a/programs/cmm/notes/engine.h b/programs/cmm/notes/engine.h
index e7e9d1f01a..c879815036 100644
--- a/programs/cmm/notes/engine.h
+++ b/programs/cmm/notes/engine.h
@@ -53,12 +53,13 @@ int NOTES::OpenTxt(dword file_path)
 	int i=0, linepos=0;
 	int item_n=-1;
 
+	count = LINES_COUNT;
+
 	strcpy(#txt_path, file_path);
 	ReadFile(0, 4096, #txt_data, #txt_path);
 	if (!txt_data) || (strncmp(#txt_data, "notes", 5)!=0)
 	{
 		txt_file_exists = false;
-		notify("'Notes\nData file does not exists or is not valid' -tE");
 		return 0;
 	}
 	else
@@ -84,7 +85,6 @@ int NOTES::OpenTxt(dword file_path)
 			//lines[item_n].Delete();
 			item_n++;
 		}
-		count = LINES_COUNT;
 		return 1;
 	}
 }
diff --git a/programs/cmm/notes/img/checkbox.png b/programs/cmm/notes/img/checkbox.png
index 270fc82d461f240be052e40e0a36a3176b4c676d..7dd4ceffe455f56e21e3bf0a0743304ad88cfeb7 100644
GIT binary patch
delta 178
zcmey*c$jg5WIZzj1H;cZZz6ycOS+@4BLl<6e(pbstUx|vage(c!@6@aFM%A10G|-o
zuV25udiCo6|NjRM9(?%lAy7CvI(p5TH5a$C!~;2=o-U3d5|{V(-R5ObH!M{za8Qn<>J_tluN?-r_0`KV85LA^x
oRT*P+?P1^db8%({GxMwj4;79H=8zj2&Hw-a07*qoM6N<$f&w>ZsQ>@~

diff --git a/programs/cmm/notes/img/checkbox.raw b/programs/cmm/notes/img/checkbox.raw
index 532d5192b4c7cc0810be07886e92ee7ee68cdca2..95876b3c77236d69ce09cf18b5218251085fb671 100644
GIT binary patch
literal 864
zcmeIwK@NZ*3Q(>%

literal 864
zcmeIvF$%yS5ClM9X=C97EqufM!!ng%6_PetSXd-M;{&qAAu`^Hnk{9UhAnEX$2h-f
zt)1g6eS;Yuc_sTa>;Q6&GdDSB=bTI_<4dtV9)@Qu|X;10Z

diff --git a/programs/cmm/notes/img/edge.png b/programs/cmm/notes/img/edge.png
index 3f513b69659ae9f3085d7435644426b1001e5a19..a05acf84b812f0964082bd682a86f499671177ec 100644
GIT binary patch
delta 648
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
Ad;kCd

diff --git a/programs/cmm/notes/img/edge.raw b/programs/cmm/notes/img/edge.raw
index ad3ce6cbfa..4045426a62 100644
--- a/programs/cmm/notes/img/edge.raw
+++ b/programs/cmm/notes/img/edge.raw
@@ -1 +1 @@
-ÿÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòòòæææÚÚÚÓÓÓÉÉÉÅÅÅ»»»»»»ÄÄÄàààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððÖÖÖÆÆÆ»»»ÆÆƼ¼¼íííÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúñññéééìììõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãããÇÇÇÄÄÄàààýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûûûßßßÅÅÅÁÁÁÑÑÑíííÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöööýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýíííßßßÖÖÖÓÓÓÝÝÝùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüüááááááõõõÿÿÿÿÿÿþþþ¼¼¼ÔÔÔÌÌ̾¾¾ÜÜÜúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿìììêêêþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýýñññÿÿÿÛÛÛ¼¼¼ÛÛÛÿÿÿÿÿÿõõõçççÙÙÙÑÑÑÙÙÙæææòòòýýýíííÜÜÜÓÓÓêêêýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöööçççØØØÉÉɽ½½ÊÊÊàààùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúíííáááÕÕÕÉÉÉ»»»ÆÆÆÏÏÏÚÚÚàààéééìììõõõõõõíííÒÒÒÈÈÈàààíííñññýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøøÝÝÝÄÄÄÈÈÈÝÝÝëëëõõõöööáááÑÑÑÿÿÿöööÚÚÚÑÑÑÖÖÖßßßäääíííñññüüüÿÿÿÿÿÿÿÿÿäääÉÉÉÙÙÙéééùùùÿÿÿÿÿÿÿÿÿÿÿÿûûûêêêÙÙÙÇÇÇ¿¿¿ÆÆÆÍÍÍËËËÃÃû»»ÉÉÉÓÓÓáááðððöööÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóóóéééùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðððáááÒÒÒÄÄľ¾¾½½½ÐÐÐäääõõõÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùÚÚÚ¾¾¾ÁÁÁÝÝÝÿÿÿÿÿÿÞÞÞÂÂÂêêêíííÔÔÔ¼¼¼ãããýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùùùßßß½½½ÕÕÕëëëðððáááÆÆÆÎÎÎêêêûûûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéééÍÍͼ¼¼ÝÝÝýýýÿÿÿÿÿÿÿÿÿÿÿÿôôôíííÝÝÝÍÍͼ¼¼ÊÊÊÕÕÕÝÝÝààà×××ÀÀÀ×××ñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàà྾¾ÔÔÔÓÓÓÃÃÃÐÐÐìììäääÎÎÎ÷÷÷÷÷÷ñññÖÖÖ¾¾¾ÜÜÜñññÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéééÍÍÍËËËÌÌ̼¼¼âââýýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòòòñññêêêáááÖÖÖËËËÁÁÁ½½½ÆÆÆØØØÑÑÑðððÃÃÃÍÍ;¾¾ÃÃÃÎÎÎÚÚÚâââÛÛÛÏÏÏÆÆƼ¼¼ÊÊÊÙÙÙàààÌÌ̼¼¼ØØØñññÿÿÿõõõãããÒÒÒÁÁÁÂÂÂÏÏÏÜÜÜéééôôôçççÕÕÕÀÀÀÑÑÑäääñññääääääÚÚÚÖÖÖÏÏÏ¿¿¿ÉÉÉÓÓÓßßßéééõõõöööøøøùùùúúúúúúûûûûûûüüüúúúøøøêêêÕÕÕÊÊÊÆÆƽ½½»»»ÉÉÉËËËÖÖÖÚÚÚäääéééññññññèèèÝÝÝÍÍÍÁÁÁ×××ííí÷÷÷ùùùûûûüüüüüüùùùÎÎÎÍÍÍÂÂÂÚÚÚâââÝÝÝÖÖÖÑÑÑÉÉÉÆÆƾ¾¾»»»»»»»»»ÑÑÑèèèÛÛÛÍÍÍÀÀÀÅÅÅÔÔÔËËËÇÇǾ¾¾ÌÌÌÛÛÛëëëööö÷÷÷÷÷÷÷÷÷öööõõõéééàààÓÓÓÈÈÈ»»»ÏÏÏêêêÜÜÜÀÀÀÅÅÅÍÍÍÀÀÀËËËâââìììàààÔÔÔÈÈÈ»»»ÈÈÈÓÓÓáááíííõõõôôôãããÑÑÑÃÃÃÂÂÂ×××äääÛÛÛÖÖÖÉÉÉÅÅž¾¾ØØØòòòðððÍÍÍÍÍÍÝÝÝÄÄÄðððùùùúúúøøøëëëËË˼¼¼ÁÁÁÉÉÉÌÌÌÖÖÖÖÖÖãããÍÍÍÀÀÀÑÑÑîîîøøøúúúûûûùùù÷÷÷äääÊÊʾ¾¾ÌÌÌÞÞÞöööÿÿÿæææÊÊÊÈÈÈåååõõõðððÑÑѼ¼¼»»»»»»»»»»»»ÄÄÄÉÉÉØØØåååõõõ÷÷÷øøøùùùùùùøøøôôôÝÝÝÆÆÆÀÀÀÖÖÖîîîÿÿÿãããÇÇÇÙÙÙõõõÿÿÿÿÿÿÞÞÞÂÂÂËËËííí÷÷÷øøøöööãããËËË¿¿¿ìììüüüýýýûûûøøøòòò×××ÆÆÆ¿¿¿ÑÑÑåååÜÜÜÃÃÃÆÆÆæææööö÷÷÷ëëëÍÍͼ¼¼»»»¿¿¿ÉÉÉÒÒÒÙÙÙäääíííôôôÿÿÿÿÿÿÿÿÿøøøññññññïïïääääääÛÛÛÖÖÖÖÖÖÑÑÑÉÉÉÉÉÉÇÇÇ»»»»»»»»»ÅÅÅÆÆÆÌÌÌÓÓÓÝÝÝæææïïïõõõõõõÎÎÎöööøøøðððåååñññõõõ÷÷÷øøøùùùùùùøøøöööööö÷÷÷øøøùùù÷÷÷ñññÜÜÜÆÆƽ½½ÃÃÃÒÒÒáááðððöööøøøùùùúúúûûûúúúøøøõõõáááÑÑÑÇÇÇÑÑÑÑÑÑÚÚÚÝÝÝãããïïïööö÷÷÷øøøùùùúúúüüüüüüýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿþþþýýýûûûøøø÷÷÷ööööööõõõéééçççÝÝÝÚÚÚÑÑÑÍÍÍÆÆÆÆÆÆÎÎÎØØØæææöööøøøûûûüüüþþþþþþÿÿÿÿÿÿýýýõõõæææöööøøøùùùùùùøøøøøø÷÷÷ööööööõõõõõõöööøøøùùùùùù÷÷÷öööíííßßßçççëëëööö÷÷÷ùùùûûûüüüüüüýýýýýýüüüüüüûûûùùùøøø÷÷÷öööõõõãããÌÌÌÒÒÒñññööö÷÷÷öööçççÓÓÓËËËÕÕÕßßßêêêõõõ÷÷÷øøøùùùûûûüüüûûûúúúøøøöööïïïÝÝÝÒÒÒÙÙÙÝÝÝèèèíííöööùùùûûûúúúøøøåååØØØòòòûûûþþþþþþýýýúúúøøøöööðððéééæææÝÝÝÝÝÝÒÒÒåååöööøøøûûûýýýþþþþþþþþþüüüúúú÷÷÷öööæææÖÖÖÂÂÂÎÎÎÁÁÁççç÷÷÷úúúûûûûûûøøøöööõõõõõõõõõöööööö÷÷÷ùùùúúúüüüýýýýýýþþþþþþýýýûûûùùù÷÷÷ñññÝÝÝÉÉɾ¾¾ÍÍÍêêêÛÛÛÕÕÕñññ×××ÌÌÌïïïøøøûûûýýýýýýüüüúúú÷÷÷øøøûûûþþþÿÿÿþþþýýýûûûùùù÷÷÷òòòáááÐÐÐÙÙÙîîî÷÷÷úúúüüüüüüúúúøøøöööõõõòòòéééáááÛÛÛÑÑÑÉÉÉÄÄÄ»»»»»»»»»ÁÁÁÆÆÆÆÆÆÈÈÈÑÑÑÑÑÑÙÙÙÝÝÝÝÝÝáááééééééëëëõõõõõõöööööö÷÷÷÷÷÷øøøøøøùùùúúúûûûûûû÷÷÷ûûûýýýûûûúúúúúúûûûüüüüüüþþþþþþýýýüüüüüüýýýýýýýýýýýýûûûùùù÷÷÷ôôôöööøøøúúúûûûüüüýýýþþþþþþÿÿÿþþþýýýüüüúúúøøø÷÷÷øøøøøøùùùùùùúúúûûûüüüýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýýýýüüüüüüûûûûûûúúúùùùùùùøøø÷÷÷÷÷÷÷÷÷øøøùùùúúúüüüýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýûûûüüüýýýþþþþþþýýýýýýýýýüüüüüüüüüüüüüüüýýýþþþþþþýýýüüüûûûúúúúúúûûûüüüýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþýýýýýýüüüûûûúúúøøøùùùûûûüüüýýýüüüúúúøøøøøøøøøùùùûûûüüüüüüýýýþþþþþþÿÿÿÿÿÿþþþýýýüüüûûûùùùøøøùùùùùùúúúûûûüüüýýýþþþþþþýýýúúúúúúüüüþþþÿÿÿÿÿÿÿÿÿþþþýýýüüüûûûûûûúúúùùùùùùùùùúúúüüüýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüúúúøøøöööåååîîîúúúüüüþþþÿÿÿþþþýýýüüüüüüüüüüüüüüüüüüýýýýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþüüüûûûùùù÷÷÷óóóøøøùùùøøøßßßÁÁÁÖÖÖ÷÷÷ûûûýýýþþþÿÿÿÿÿÿÿÿÿþþþýýýýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüûûûúúúøøøùùùûûûýýýþþþÿÿÿÿÿÿþþþýýýüüüüüüûûûúúúúúúùùùøøø÷÷÷ööööööõõõõõõöööööö÷÷÷÷÷÷øøøøøøùùùùùùùùùúúúúúúúúúûûûûûûüüüüüüüüüüüüýýýýýýýýýýýýþþþþþþþþþüüüýýýþþþþþþýýýþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüüüüýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýýýýýýýýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþýýýýýýýýýýýýýýýýýýýýýþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýýýýþþþÿÿÿÿÿÿÿÿÿþþþýýýýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþýýýýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüûûûüüüþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýüüüýýýþþþýýýúúú÷÷÷ùùùüüüþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþýýýþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþýýýýýýüüüüüüüüüüüüüüüüüüüüüýýýýýýýýýýýýþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþ
\ No newline at end of file
+ÿÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôãããÛÛÛÓÓÓËËËÄÄĽ½½½½½ÄÄÄãããÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôÓÓÓÄÄĽ½½ÄÄĽ½½ëëëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúôôôëëëëëëôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãããÄÄÄÄÄÄãããþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛÄÄÄÄÄÄÓÓÓëëëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþëëëÛÛÛÓÓÓÓÓÓÛÛÛúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúããããããôôôÿÿÿÿÿÿþþþ½½½ÓÓÓËË˽½½ÛÛÛúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëëëëëëþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþôôôÿÿÿÛÛÛ½½½ÛÛÛÿÿÿÿÿÿôôôãããÛÛÛÓÓÓÛÛÛãããôôôþþþëëëÛÛÛÓÓÓëëëþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôãããÛÛÛËË˽½½ËËËãããúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúëëëãããÓÓÓËË˽½½ÄÄÄËËËÛÛÛãããëëëëëëôôôôôôëëëÓÓÓËËËãããëëëôôôþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛÄÄÄËËËÛÛÛëëëôôôôôôãããÓÓÓÿÿÿôôôÛÛÛÓÓÓÓÓÓÛÛÛãããëëëôôôúúúÿÿÿÿÿÿÿÿÿãããËËËÛÛÛëëëúúúÿÿÿÿÿÿÿÿÿÿÿÿúúúëëëÛÛÛÄÄĽ½½ÄÄÄËËËËËËÄÄĽ½½ËËËÓÓÓãããôôôôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôëëëúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôãããÓÓÓÄÄĽ½½½½½ÓÓÓãããôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛ½½½ÄÄÄÛÛÛÿÿÿÿÿÿÛÛÛÄÄÄëëëëëëÓÓÓ½½½ãããþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúúúÛÛÛ½½½ÓÓÓëëëôôôãããÄÄÄËËËëëëúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëëëËËËÄÄĽ½½ÛÛÛþþþÿÿÿÿÿÿÿÿÿÿÿÿôôôëëëÛÛÛËË˽½½ËËËÓÓÓÛÛÛãããÓÓÓ½½½ÓÓÓôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿããã½½½ÓÓÓÓÓÓÄÄÄÓÓÓëëëãããËËËôôôôôôôôôÓÓÓ½½½ÛÛÛôôôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëëëËËËËËËËË˽½½ãããþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôôôôôôëëëãããÓÓÓËËËÄÄĽ½½ÄÄÄÛÛÛÓÓÓôôôÄÄÄËË˽½½ÄÄÄËËËÛÛÛãããÛÛÛËËËÄÄĽ½½ËËËÛÛÛãããËË˽½½ÛÛÛôôôÿÿÿôôôãããÓÓÓÄÄÄÄÄÄËËËÛÛÛëëëôôôãããÓÓÓ½½½ÓÓÓãããôôôããããããÛÛÛÓÓÓËËËÄÄĽ½½ËËËÓÓÓÛÛÛëëëôôôôôôúúúúúúúúúúúúúúúúúúúúúúúúúúúëëëÓÓÓËËËÄÄĽ½½½½½ËËËËËËÓÓÓÛÛÛãããëëëôôôôôôëëëÛÛÛËËËÄÄÄÓÓÓëëëôôôúúúúúúúúúúúúúúúËËËËËËÄÄÄÛÛÛãããÛÛÛÓÓÓÓÓÓËËËÄÄĽ½½½½½½½½½½½ÓÓÓëëëÛÛÛËË˽½½ÄÄÄÓÓÓËËËÄÄĽ½½ËËËÛÛÛëëëôôôôôôôôôôôôôôôôôôëëëãããÓÓÓËËËÄÄĽ½½ËËËëëëÛÛÛ½½½ÄÄÄËË˽½½ËËËãããëëëãããÓÓÓËË˽½½ËËËÓÓÓãããëëëôôôôôôãããÓÓÓÄÄÄÄÄÄÓÓÓãããÛÛÛÓÓÓËËËÄÄĽ½½ÛÛÛôôôôôôËËËËËËÛÛÛÄÄÄôôôúúúúúúúúúëëëËË˽½½ÄÄÄËËËËËËÓÓÓÓÓÓãããËË˽½½ÓÓÓëëëúúúúúúúúúúúúôôôãããËË˽½½ËËËÛÛÛôôôÿÿÿãããËËËËËËãããôôôôôôÓÓÓ½½½½½½½½½½½½½½½ÄÄÄËËËÛÛÛãããôôôôôôúúúúúúúúúúúúôôôÛÛÛÄÄĽ½½ÓÓÓëëëÿÿÿãããÄÄÄÛÛÛôôôÿÿÿÿÿÿÛÛÛÄÄÄËËËëëëôôôúúúôôôãããËË˽½½ëëëúúúþþþúúúúúúôôôÓÓÓÄÄĽ½½ÓÓÓãããÛÛÛÄÄÄÄÄÄãããôôôôôôëëëËË˽½½½½½½½½ËËËÓÓÓÛÛÛãããëëëôôôÿÿÿÿÿÿÿÿÿúúúôôôôôôëëëããããããÛÛÛÓÓÓÓÓÓÓÓÓËËËËËËÄÄĽ½½½½½½½½ÄÄÄÄÄÄËËËÓÓÓÛÛÛãããëëëôôôôôôËËËôôôúúúôôôãããôôôôôôôôôúúúúúúúúúúúúôôôôôôôôôúúúúúúôôôôôôÛÛÛÄÄĽ½½ÄÄÄÓÓÓãããôôôôôôúúúúúúúúúúúúúúúúúúôôôãããÓÓÓÄÄÄÓÓÓÓÓÓÛÛÛÛÛÛãããëëëôôôôôôúúúúúúúúúúúúúúúþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúôôôôôôôôôôôôëëëãããÛÛÛÛÛÛÓÓÓËËËÄÄÄÄÄÄËËËÛÛÛãããôôôúúúúúúúúúþþþþþþÿÿÿÿÿÿþþþôôôãããôôôúúúúúúúúúúúúúúúôôôôôôôôôôôôôôôôôôúúúúúúúúúôôôôôôëëëÛÛÛãããëëëôôôôôôúúúúúúúúúúúúþþþþþþúúúúúúúúúúúúúúúôôôôôôôôôãããËËËÓÓÓôôôôôôôôôôôôãããÓÓÓËËËÓÓÓÛÛÛëëëôôôôôôúúúúúúúúúúúúúúúúúúúúúôôôëëëÛÛÛÓÓÓÛÛÛÛÛÛëëëëëëôôôúúúúúúúúúúúúãããÛÛÛôôôúúúþþþþþþþþþúúúúúúôôôôôôëëëãããÛÛÛÛÛÛÓÓÓãããôôôúúúúúúþþþþþþþþþþþþúúúúúúôôôôôôãããÓÓÓÄÄÄËËËÄÄÄãããôôôúúúúúúúúúúúúôôôôôôôôôôôôôôôôôôôôôúúúúúúúúúþþþþþþþþþþþþþþþúúúúúúôôôôôôÛÛÛËË˽½½ËËËëëëÛÛÛÓÓÓôôôÓÓÓËËËëëëúúúúúúþþþþþþúúúúúúôôôúúúúúúþþþÿÿÿþþþþþþúúúúúúôôôôôôãããÓÓÓÛÛÛëëëôôôúúúúúúúúúúúúúúúôôôôôôôôôëëëãããÛÛÛÓÓÓËËËÄÄĽ½½½½½½½½ÄÄÄÄÄÄÄÄÄËËËÓÓÓÓÓÓÛÛÛÛÛÛÛÛÛãããëëëëëëëëëôôôôôôôôôôôôôôôôôôúúúúúúúúúúúúúúúúúúôôôúúúþþþúúúúúúúúúúúúúúúúúúþþþþþþþþþúúúþþþþþþþþþþþþþþþúúúúúúôôôôôôôôôúúúúúúúúúúúúþþþþþþþþþÿÿÿþþþþþþúúúúúúúúúôôôúúúúúúúúúúúúúúúúúúúúúþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþúúúúúúúúúúúúúúúúúúúúúúúúôôôôôôôôôúúúúúúúúúúúúþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúþþþþþþþþþþþþþþþþþþúúúþþþúúúþþþúúúþþþþþþþþþþþþúúúúúúúúúúúúúúúúúúþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþúúúúúúúúúúúúúúúúúúúúúþþþúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþþþþþþþÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþþþþþþþþþþúúúúúúúúúþþþÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúôôôãããëëëúúúúúúþþþÿÿÿþþþþþþúúúþþþúúúþþþúúúþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþúúúúúúúúúôôôôôôúúúúúúúúúÛÛÛÄÄÄÓÓÓôôôúúúþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúþþþþþþÿÿÿÿÿÿþþþþþþúúúúúúúúúúúúúúúúúúúúúôôôôôôôôôôôôôôôôôôôôôôôôôôôúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúúþþþúúúþþþþþþþþþþþþþþþþþþþþþþþþúúúþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúúúúúúúþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþúúúþþþþþþþþþúúúôôôúúúúúúþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþúúúúúúúúúúúúþþþúúúþþþþþþþþþþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþ
\ No newline at end of file
diff --git a/programs/cmm/notes/notes b/programs/cmm/notes/notes
deleted file mode 100644
index 2e02e13ad5f5508c83b662ef8d04afca67aa5325..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 13751
zcmeI3e|S{Yna6L)Oc-J4jJpw2OKsK?P=k>l#Tu1%D$Eq0iXFAsD8(2{=ww9VCK=Ry
z3b06#?OnAR;3czz-6mI59YMo*+P$Wp
z(QLyoE7FXN_Hw$^lMEw54cq2;!?0gH-7xO$foQ+YD3IE4WcZv6pM{$0kWukCy6vaZ
zRh?lNU1vAn+-#xvIu%qat?&PL%TbET1#^RP*^7pISaQ
z@VS-G5Bc2B=MQ{(_`JwxH=hAMgROpELrX2##^9j#y84@sTwLE6Ypy?X*<9aJ+fsj1
zi?OJ_skxzXVQu|91EXpi7B;jP&EIZnT(IEUx~AGiwey)UrcaPQtdzqa4X?0)l?OP2m5p7@dZc;5
z|G`~9yzSPX|NHmu{>42%{h488Rr~0pkM!XGLVw`EfnB?Hz4FQ{fBMs(dV71Hdg`gw
zsy+GSliRj!`$sI?zkmOWFTU8_-3=c7nl)?Qdh4x!1aPSA`|rR1&O7g9GMT-5_x|;-
ze;vy3cT)xi298tqgAYC^;M}oe$J0+gtpoVshaVQq4!s27wbx!F^6S^H-?VAd@kHs+
zp+ldD3Z`B5_uhL$wI72*5MEc!i7ll|9-n{y`DdSf_K7E+*t&HqDL4iK
zd3p2AH~*Il9>=K)tlF|=3)a$W3-Mz2?%jX>^PdSaJ!Mbv>nPy}A;Q$7MU{Xf`|`^#
zvqsjgUAtk!23E(h<4I(QKk<9vg%^<0tKg4+{3B}(S*K{R3bxIgH}~}PKxd5cM>C@!
z)cyVaq?JlTmcgDqdqBffl;R`Ij8Vs!8lVz(?%b*I^UE6|<`ED~D)5NPBqmHz&+FE$
zV-@%H^*!^xPufyLl-L@MFqCK`|i6#0UaJh5X5VYr;rHg#*G`X#HlogQx7l<
zN8n_Q;Hf75wMFq$x
zEkHha@F04j!vg~)0Wy~)@uinuN~hEGx(*9`8G4BbuHgdlB({Wtg+ny3?XYU#kU_oT
zhGJ?v$qTCzOSW&{USR4_jeiG)#e!;LMdC09b>xD05<}JnHAYA=o@ihv1B@qS7{daj
z?DZ{xC{a%Mt4&2vyF=c|9rXYv0f(O@iC+Ynbw^-{Cn|^u{PZ-yF#}HcDNbFDq!=l^
z3RoQ^on=TPzck98F?75D6JxLn7j!Y>5rDt~4hV{9wr%SaV;Bh~<0J%FjRqiNJk@og
z{e>SKti>eoi3a$(K?IP1z>i1l`6L~^tS{Jz2~!j&t4Zgbo-yuV4?&|mSn2o+8jj-y
zQPMaX5GVpp@xTl+%y81{b&Byo5mG{pCFBSwoWfu9VlxI~5|)q`(oI5vrQs3lluI2?
z0*I05qSy!vQdo{S4P^Lrvi9xU2d54`g7|_WVy-=9@#;;3eHbD}zVXHzn1>c@134Em
z^@Vn{V3ptQhoF&777m$Z
z3ipW&m`q_0dI>cVgMz_2K?DJ3wW+!SDPT0>CMvMXS!Dp~a(esix0$8sfMYG-xJJWT
z$7QmBBBDy-a1D(J;s}jmLpy*33afyHSP&2xXbzD9Y}gMb)s7d~>FnD;>9pdwUL623
zi(!~VPouCggIHlkJ~I3SO~;MUaih<_*E4qFi4DrATrsn#0R$FsVu)chTqDIgyjZ1|
zn1ak5m_frfhXJ!`aMJSe;XxNf&7h~q2%7_Xo%O}6vx-5cXZH8tep+tb%Lr^=8RSp6fXCJ_Q
z#A!gm4+0wDhf|Bt;|NmPe)uUfRyyHjwPH4OW)Yzw3j&tw#+U{JR>4z{SyUjx6bys{
z8>m~BGa1BvN}5nWXW{Ub%q)`I}{-O(fns!{p<^zZfw1pTz<5JtBL#_RC
zqQoW52@yL0!35J0WL670z9Y*lJoyGVHaN(Rl(VJ$&4G?5TC|bc3-AG?X)P$yx}Y$n
zRUlXZsG+pKj@b-!)A&vgQCr9WB2pmJ3d9RkaOp_p3+gO5vH$`FQ8&!iQ_vl~8d=+{
z4bcA5(}r4tpxCF}N6IlQA3=Me5j2RS(cv%93m`_4bQUHBoR9Ay1CrmcgqCkZJ~(uk
zu>=Fi8i#7|8Pl`pQ0gpg=r9z3XmtfdkR3C$cN(og+~LuxB}}S>U`Cg05Q9609z&!t
zOUn3wo&e>_=$haewMbrV(H`T9H6MHqRrEJi_aLhiB{7tp!k;
zp|-Zx;er35haPg+7(;;pS%+uNoH-6#K104e@H=cUGj_B)IPgQf;)*L^pm!MZakM3x
zEuUd1kLE1swXRR>XD8pVVjgpx(H(M?cZb}@+)kGPF>3H%)@t>%efNAT=CylA8c-sJ
z-!QD8$9+EEVFqo1^TYOapMn_kEO|nxM$2c~R>@%9uReo_`%1eG(L~x8FK1G8J#hYK
z8ATpo+Ws|jlhT>jA!N4d`DoGd+l0dm4!AQvRkVTPLG)3+1iw%j+2BE@hgq>BGiUh{
zpVk0Y>%oSsiywf@`@ZyLQI$EVU;-6!H6R0j_8Um~+Qx9P>^AYiiuI$~
z0lYo_rRe}>gZCy&6*`T@y_6)39?4)~VKZ)d2sS_g7bSfiuhOGp^nRFar=@%^GOvl_0joJ>qjR*zc%LcH5nB5raM7lY~B@66#Bg0!r$pEkseg=93FY
z#{M@Xq+&i^I(L)*UMg#G|&+;AUe4+>>48&&E7rqSC%aL@CzD
z!MAN=>0S@Mn5}-pcgGG4m+%)YFR?-ss)K%C!i&t)!TtyLXN}BoJtkvD_8cqdKfKUi
z9CC%DqphHKW;h~rdoA8b91JskGIslc%duG@kD1OugEt%Nw||)9oaHZw*g=&Qe|6C7
zi{mG7{mI}!<}kyky9U7GlCTx>AHLpirrpYbkXFM8g*kDCNqRF_Hr-pp_068*n_bL>Pu(-FV}T
z1|A-?H-ZGK)$0FPNfr4Ll_FSTrh&~lGEx9pF?NzDUzaWkM~fmeX3Q|`1!MpaC*Xun
zShI^r6WO&dmU$iU(H{@E%zGofz3&?KcnuOAO=5!wdpo(zYm(gOR{Y42Z%Lvw-5bWt
z?;FOj0EFXe?3)I!3Jl(37`*0iWO`6YRj~m~T?sMrEFD?$fl^
z942sa4Hsp;
zHrWuCP7{pXGTA0oXE#aNOl#5XAt>3Y!jYXSLfY_iHFBK40QeiTk=(38tD?8(u%_E@
zLfqVjdzT?)PPwloiW~&NG1^6YrTY+0Pud(Ux$^Kksd2b!KM!bj>PPhq?`7Z3
z4989TUIOX+Lz-n~1qaN2moNU$qK&8~BrW!O;gtQv{#V2^Qa-|HPY&C^6hfy=oeW5O
zhced{`&4e^@x|p{VoqDbM71v=3p%HMo=D!#b-T=&{WE>>vxK!joTq*Q6#GI^|7GD6
zy8~g{CZCzALBhA_w=%XMkYsk4f}Jls)MBgS!~jIXU>$(fj;ux)Gi}(S^QPQ
z{-!X^EiInw{hBq)|CPtDzGItVx0Do0D#37s6a=s#fl%~)_A&1!yEs@XlbdYQcCoSP
zy+&=Zk;hNNi46pAZl~Y4N$vd6dC_^1PXQANNII_*pp&DgMn(zgRJ!Qs+}a^^a<5U$
z(UT)n>sK3*^BemN`+l+)En?U43j0Zs`_{dk^Tm>xVbNickup;nQNFyus*9cwEr}3e
zBXVBdgB)_kqIxTKMTbY-nl8JErk^78qG(w})+AyV5pR1EMC-G%+|91h)~FX5T=clw
zur6{l>xRl8*c`fkHFLoG&C&W9_u
zqsUCViro@`)cYvP)$B$XyC_1l)nnW;qWw*#tAn1!?u@Jxsv{+}u2)lbs-Wm3|4V;1
zn^O9B!)H$+3vxWwll%A?*IrBDyM_wdhqKwpOUP)$&Jsv%RXBQ1yIc`TwMpL10V+FH
zhS{lM)qg|vHS|$e1hQeTqTJhs#Y~R~x690?e$y^4c8frMLEl}0l_?4$x_7x-+~-!|
zmVLQvM*V{NmU^`g)t1Gk(~y=MxBEm>?$t4VfRVj`6q*%kCy%KC4k&O
z8xDz_xk?0!?B{YZNq#UTo!l_8x25#JipovNP081$Y{;-jqQ{q+~o?j~e@l%1sF7hBxDa`J`V?edB{oO&pSM
zjL7MEL1W##hK1iL=kK(d>Y8pgDw@l$sc622Q!|HVV2RqeC0{z*m++&lZLNasXBB47
zajvbY<&5p^P}`K=-<@rLL~SIyyW>+uASVZu{gf~zgeaDDz=gx9Cn*MTI_j#i=9aDB
z;V+(B>RUC-zy9^I;#r*3Jd+Of1(tS^G`Qz>ma3<$;qY?ShRLs(%GPi97tbzr7zl{|
z|I&=y*m)jNesCKxlGF@`a-kTpU7Uv4ACkfS8M)!Hg)A%KvF-K}HivA`o1L}aY~63f
zc0=nfQBNYrveZ!@Ene>K!7pwTsb~2%D>l+|=}$ec$llb;e0RIIYO*KwDua#?JgY@c
zfc!?s>0I{(RB(nbcW-B6Qu^LQe5DRZw@ewRM!BohPtl~%hPwvvf{hEy7V;1!N$?K`-C=@Z`u
ztWf8oYQ-HpQSnzReqVeK=vLx1q>A0&0;f_jB@+ihvl8PJUGOUve=@Njy17<96`=1naVBp@>oL~~s=|{&KAv3X@Z=9k
zD-%_Ncrug2J2Io~vwoqhZxa@CLpJ%M{V2CSyN8W_(w6D=N-hS^xQPv{&t9oEv(;-X
zDqGs>z2;5BxX~xihKo*E+Ul3fMQ(M7ijHzttKXVcI=Bu!&JxJR%Jk7moOHogYm2<4>|T%70wvs
zgu*(LM@+9hQDKeIXDKzMwpNdQvcvD_5f$?EGq5;LjiuJ}u;uR2)Vx`73O!$^%9rd9
zr!kO)IF9db_nDgPNmVk?3sJ;GtyfuDQ9~O00?95`&(a;T*03{KlDyhA?S_-7#XHe&
zEUl7>rHfsfM9z(+3td8sR@6j?%@O(JdJznb;ZbAL9&<+#cQNzzqGZUQyt*uTNvTy*
z9rDDyR>)Ny;<3C;tW_@xLIJBJ8S*fZ40+WX0_f)afJ`r0T*D#zHh9g&V|dqd3nOmr
zp$p9U=Njhxiy;RfyL03j_DZTWY}Z1#>aH_3f>0eA>$_F<77?3i&gXgf4tSVJhQ?Z<
zatvm3`@9VN(P1@eP_}7t88;I(E?vL4bXa$&#>mKyV$Q#S&kQ~@`Cx)rrJlx=r3p?R
zO3}H>uK1u`7Xwgag~lX9HaV|w
z97~2K$b)l!V(VUEuL(X%RUXok|nQU_OO2t-g3@Ms0(f*|HM^7c<=!w8QrA@zF6&es~bmCKs4?*%8z9
z$7>Gs#Kx1C6^V^6F@^gjrf@K{f_rnk|$@VPI?
zC}>WY{iJdquQJsg*8T$zCilv}5{aI`jnr$+;?8MJKhv~NNKXH%HNDEWYLv{L(Zl0^
za{AZg6xSj9iJY;-LVcc#diC}{C2h?et8PtWtXbvi)>LNAE?vL9Y~*ae)hg?`F95UJ
z>*scs8y#{gUM-G4CN~I;ruHgXf-LbwEU_(rGsuAGw#Rd{ep9{89_^tKG^3tTy;#0SSA4SyAF3$dDd~q-#7@BY
Oe)UTcL9D%6as4-rbIcR~

diff --git a/programs/cmm/notes/notes.c b/programs/cmm/notes/notes.c
index 35f43e8aa1..2cedb5fb05 100644
--- a/programs/cmm/notes/notes.c
+++ b/programs/cmm/notes/notes.c
@@ -1,15 +1,10 @@
-// Notes v0.9 Beta
+// Notes v1.0
 
 #define MEMSIZE 0xDAE80
 #include "..\lib\kolibri.h" 
-#include "..\lib\mem.h" 
-#include "..\lib\strings.h" 
-#include "..\lib\fs.h"
-#include "..\lib\dll.h"
 
 #include "..\lib\obj\box_lib.h"
 #include "..\lib\gui.h"
-#include "..\lib\encoding.h"
 #include "..\lib\list_box.h"
 
 //===================================================//
@@ -68,7 +63,6 @@ void main()
 	load_dll(boxlib, #box_lib_init,0);
 	
 	if (param) notes.OpenTxt(#param); else notes.OpenTxt(abspath("notes.txt"));
-	//notes.cur_y = 0;
 
 	SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
 
@@ -173,7 +167,7 @@ void draw_window()
 	WriteText(9,TITLE_H/2-6,0x90,0xA9613A,WINDOW_CAPTION);
 	WriteTextB(7,TITLE_H/2-7,0x90,0xFFFfff,WINDOW_CAPTION);
 	_PutImage(1, TITLE_H, 292,EDGE_H, #edge);
-	PutPixel(notes.x+RED_LINE_X, notes.y-1, COL_RED_LINE);
+	PutPixel(notes.x, notes.y-1, COL_RED_LINE);
 	ECX-=1;	$int 0x40;
 	DrawCloseButton(WIN_W-23,4,16,16);
 	DrawRectangle(0,TITLE_H,WIN_W,WIN_H-HEADER_HEIGHT+EDGE_H,0xBBBBBB);
@@ -188,6 +182,7 @@ void DrawEditBoxN()
 	notebox.offset = notebox.shift = notebox.shift_old = 0;
 	notebox.cl_curs_x = notebox.cl_curs_y = 0;
 	notebox.size = strlen(notebox.text);
+	notebox.flags = ed_always_focus+ed_focus;
 	if (notebox.pos > notebox.size) notebox.pos = notebox.size;
 	notebox.top = notes.cur_y*notes.item_h+4+notes.y;
 	edit_box_draw stdcall(#notebox);	
diff --git a/programs/system/icon_new/DlgAdd.inc b/programs/system/icon_new/DlgAdd.inc
index 7d0a0e205a..c1c6eac34b 100644
--- a/programs/system/icon_new/DlgAdd.inc
+++ b/programs/system/icon_new/DlgAdd.inc
@@ -92,7 +92,7 @@ DlgProp:
 
 	mov	ecx,256
 	mov	edi,DAreaIcon
-	
+
 	mov	[DAreaIcon],'0'
 	mov	dword[edtIcon.size],1
 	mov	dword[edtIcon.pos],1
@@ -196,7 +196,7 @@ DReDraw:
 
 	;edit_boxes_set_sys_color edtIcon,endEdits,sc
 	edit_boxes_set_sys_color edtName,endEdits,sc
-	
+
 	m2m	[edtIcon.color],[sc.work]
 	m2m	[edtIcon.blur_border_color],[sc.work]
 
@@ -348,27 +348,10 @@ DMouse:
 	cmp	eax,[icon_count]
 	jae	DMessages
 
-	mov	bl,10
-	div	bl
+;       stdcall byteToHex,al,DAreaIcon  ;2
+	stdcall intToStr,eax,DAreaIcon
+	mov	dword[edtIcon.size],edx
 
-	add	ah,30h
-	test	al,al
-	jz	@f
-
-	add	al,30h
-	mov	byte[DAreaIcon],al
-	mov	byte[DAreaIcon+1],ah
-	mov	byte[DAreaIcon+2],0
-	mov	dword[edtIcon.size],2
-	jmp	.RedrawNum
-
-      @@:
-	mov	byte[DAreaIcon],ah
-	mov	byte[DAreaIcon+1],0
-	mov	dword[edtIcon.size],1
-	jmp	.RedrawNum
-    .RedrawNum:
-	
     ; stdcall [edit_box_draw],edtIcon
 
 	call DrawSelIcon
@@ -465,14 +448,14 @@ proc DRedrawWin
 
 	stdcall [scrollbar_h_draw],sbIcons
 	mcall 38,,,[sc.work_graph]
-	mcall   ,,,[sc.work_graph]
+	mcall	,,,[sc.work_graph]
 
-	mcall   ,,,[sc.work_graph]
-	mcall   ,,,		[sc.work_graph]
+	mcall	,,,[sc.work_graph]
+	mcall	,,,[sc.work_graph]
 
 	;BUTTONS
 	mcall	8,<265,75>,<30+END_ICONS_AREAH,24>,idbCreate,[sc.work_button]
-	mcall	 ,<360,77>,	                      ,idbCancel
+	mcall	 ,<360,77>,			  ,idbCancel
 	mcall	 ,,<30,20> ,idbChange
 
 	;CAPTIONS
@@ -647,11 +630,9 @@ local IcoX:DWORD,\
 endp
 
 proc DrawSelIcon
-
-	
 	mov	edx,[sc.work]
 	mcall 13,,<59,12>
-	
+
 	mov	ecx,[sc.work_text]
 	or	ecx,90000000h
 	mcall 4,,,DAreaIcon
@@ -662,25 +643,8 @@ proc DrawSelIcon
 	ret
       @@:
 
-	mov	al,[edi]
-	cmp	al,'9'
-	ja	.PathToIcon
-	cmp	al,'/'
-	jne	.GetIconInd
-   .PathToIcon:
-	mov	al,30h		 ;§ £«ã誠!!!!!!!!!!!!!
-	mov	byte[edi+1],0
-   .GetIconInd:
-;int3
-	sub	al,30h
-	cmp	byte[edi+1],0
-	je	@f
-	shl	eax,1
-	lea	eax,[eax*4+eax]
-	xor	edx,edx
-	mov	dl,[edi+1]
-	sub	dl,30h
-	add	eax,edx
+	;stdcall hexToInt, edi
+	stdcall strToInt, edi
      @@:	     ;eax=num icon
 	cmp	eax,[icon_count]
 	jb	@f
@@ -724,4 +688,155 @@ proc DrawSelIcon
 	mcall	7,DlgBufImg,,<30,15>
 
 	ret
-endp
\ No newline at end of file
+endp
+
+;NOT USED
+proc hexToInt strz:DWORD
+	push	ebx
+	mov	ebx,[strz]
+	mov	al,[ebx]
+	xor	edx,edx
+.loop:
+	xor	ecx,ecx
+	inc	ebx
+	shl	edx,4
+	cmp	al,'0'
+	jb	.err
+	cmp	al,'9'
+	jbe	.conv
+	mov	ecx,10
+	sub	al,11h
+	cmp	al,'0'
+	jb	.err
+	cmp	al,'6'
+	ja	.err
+.conv:
+	sub	al,30h
+	add	dl,al
+	mov	al,[ebx]
+	add	dl,cl
+	test	al,al
+	jnz	.loop
+	mov	eax,edx
+	pop	ebx
+	ret
+.err:
+	xor	eax,eax
+	pop	ebx
+	ret
+endp
+
+
+;NOT USED
+proc byteToHex byti:BYTE,target:DWORD
+	push	ebx
+	mov	ebx,[target]
+	mov	dl,[byti]
+	rol	dl,4
+	mov	ecx,2
+.loop:
+	mov	al,dl
+	and	al,0xF
+	cmp	al,10
+	jae	@f
+	add	al,0x30
+	jmp	.n
+@@:
+	add	al,0x41-10
+.n:
+	mov	[ebx],al
+	inc	ebx
+	rol	dl,4
+	loop	.loop
+
+	mov	byte[ebx],0
+@@:	pop	ebx
+	ret
+	jmp	@b
+endp
+
+
+proc strToInt strz:DWORD
+	push	ebx edi esi
+	stdcall strLen, [strz]
+	xor	edx,edx
+	xor	ebx,ebx
+	xor	edi,edi
+	std
+	inc	ebx
+	mov	esi,[strz]
+	lea	esi,[esi+eax-2]
+.loop:
+	xor	eax,eax
+	lodsb
+	cmp	al,'0'
+	jb	.err
+	cmp	al,'9'
+	ja	.err
+
+	sub	al,0x30
+	mul	ebx
+	lea	ebx,[ebx*4+ebx] 	;ebx = ebx*10
+	shl	ebx,1
+	add	edi,eax
+	cmp	esi,[strz]
+	jae	.loop
+	cld
+	mov	eax,edi
+	pop	esi edi ebx
+	ret
+.err:
+	cld
+	or	eax,-1
+	pop	esi edi ebx
+	ret
+endp
+
+
+;ret: target - string, edx - length string
+proc intToStr inti:DWORD, target:DWORD
+locals
+   resl rb 16
+endl
+	lea	edi,[resl]
+	mov	eax,[inti]
+	xor	ecx,ecx
+	mov	ebx,10
+	jmp	.stlp
+.loop:
+	xor	edx,edx
+	div	ebx
+	mov	[edi],dl
+	inc	edi
+	inc	ecx
+.stlp:	cmp	eax,10
+	jae	.loop
+	mov	[edi],al
+	inc	ecx
+	mov	edx,ecx
+	mov	ebx,[target]
+.conv:
+	mov	al,[edi]
+	add	al,0x30
+	mov	[ebx],al
+	inc	ebx
+	dec	edi
+	loop	.conv
+	mov	byte[ebx],0
+	ret
+endp
+
+;for 'ab',0  strLen = 3
+proc strLen stringZ:DWORD
+	push	edi
+	xor	al,al
+	mov	edi,[stringZ]
+	or	ecx,-1
+	repne	scasb
+	sub	edi,[stringZ]
+	mov	eax,edi
+	pop	edi
+	ret
+endp
+
+
diff --git a/programs/system/icon_new/icon.asm b/programs/system/icon_new/icon.asm
index c7d42ec9e2..8839bf16f6 100644
--- a/programs/system/icon_new/icon.asm
+++ b/programs/system/icon_new/icon.asm
@@ -39,9 +39,18 @@ include '../../macros.inc'
 include '../../proc32.inc'
 include '../../develop/libraries/box_lib/trunk/box_lib.mac'
 include '../../dll.inc'
-;include '../../debug.inc'
+include '../../debug.inc'
+
+
+; include '../include/lang.inc'
+; include '../include/macros.inc'
+; include '../include/proc32.inc'
+; include '../include/box_lib.mac'
+; include '../include/dll.inc'
+
 ;------------------------------------------------------------------------------
 START:		; start of execution
+
 	mcall	68,11
 	stdcall dll.Load,IMPORTS
 	test	eax,eax
@@ -119,7 +128,7 @@ START:		; start of execution
 	rep stosd
 	mov	[nLoadIcon],0
 	stdcall [ini_enum_sections],IconIni,LoadIconsData
-;int3
+
 	mov	eax,dword[PIcoDB]
 	sub	eax,[BegData]
 	mov	dword[SizeData],eax
@@ -274,7 +283,7 @@ LButtonPress:
 	mov	dword[fiRunProg+8],edi
 	mov	dword[fiRunProg+21],ebx
 	mcall	70,fiRunProg
-	
+
 	test	eax,80000000h
 	jz	@f
 
@@ -533,28 +542,9 @@ local	IconData:DWORD
 	repne	scasb
 	repne	scasb
 	repne	scasb
-	mov	al,[edi]
-	;cmp	al,'9'
-	;ja	PathToIcon
-	cmp	al,'/'
-	jne	GetIconInd
 
-   PathToIcon:
-	mov	al,30h		 ;§ £«ã誠!!!!!!!!!!!!!
-	mov	byte[edi+1],0
-
-	jmp	CopyToMem
-   GetIconInd:
-
-	sub	al,30h
-	cmp	byte[edi+1],0
-	je	@f
-	shl	eax,1
-	lea	eax,[eax*4+eax]
-	xor	edx,edx
-	mov	dl,[edi+1]
-	sub	dl,30h
-	add	eax,edx
+	;stdcall hexToInt,edi
+	stdcall strToInt,edi
      @@:	     ;eax=num icon
 	cmp	eax,[icon_count]
 	jb	@f
@@ -913,7 +903,7 @@ endp
 ;ä®à¬ â IPC-á®®¡é¥­¨ï
 ;dd X
 ;dd Y
-;asciiz Icon
+;asciiz Icon - in decimal
 ;asciiz Name
 ;asciiz Path
 ;asciiz Params
@@ -926,7 +916,6 @@ endl
 
 	mov	eax,IPCbuffer+8
 	mov	dword[IPCbuffer],1
-	;mov     edx,dword[IPCbuffer+4]
 	lea	edx,[eax+8]
 
 	m2m	dword[ix],dword[edx]
@@ -1285,10 +1274,10 @@ DlgBufImg	rb IMG_SIZE*IMG_SIZE*3
 
 align 4
 bufStdIco	rb 40
-IconsOffs	rd 100		;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
-PIcoDB		rd 1
+IconsOffs	rd 100h 	;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
+PIcoDB		rd 1		;㪠§ â¥«ì ­  ¡ãää¥à á ¨­ä®© ®¡® ¢á¥å ¨ª®­ª å
 nLoadIcon	rd 1		;­®¬¥à ç¨â ¥¬®© ¨§ ini ¨ª®­ª¨
-IconsID 	rd 100		;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
+IconsID 	rd 100h 	;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
 
 nameSection	rb 4
 
@@ -1335,4 +1324,8 @@ stack_bredraw:
 		rb 512
 stack_main:
 ;------------------------------------------------------------------------------
+
+
+
+
 ENDMEM:
\ No newline at end of file