From 55b31070b1dbc589857326b8d6125d56df6cacbc Mon Sep 17 00:00:00 2001 From: Marouane-Djabri Date: Wed, 18 Mar 2026 01:08:56 +0100 Subject: [PATCH 1/8] added search / go buttons, added text analysis for the entered text in the omni box (fix #111) --- programs/cmm/browser/WebView.c | 66 +++++++++++++++++++++++++++++++--- programs/cmm/browser/const.h | 42 +++++++++++----------- 2 files changed, 83 insertions(+), 25 deletions(-) diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index fdfc03de9..b8481ac86 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -87,6 +87,18 @@ char editURL[URL_SIZE+1]; edit_box omnibox_edit = {250, 0, 0, 0xffffff, 0x94AECE, 0xffffff, 0xffffff,0x10000000,URL_SIZE-2,#editURL,0,,19,19}; + + +#define GO_BUTTON_W 30 +#define SEARCH_BUTTON_W 30 +#define SEARCH_GO_GAP 5 + +// definition for DrawButton3D() function +#define COLOR_WIN_BG 0xD6D7DA +#define COLOR_PANE_BG 0xFFFfff +#define COLOR_3D_LIGHT 0xADAAA9 +#define COLOR_3D_DARK 0x888888 + //===================================================// // // // CODE // @@ -129,6 +141,17 @@ void HandleParam() ESDWORD[shared_url] = '\0'; } +int SearchButtonStartPos() +{ + return Form.cwidth - PADDING - TSZE - 3 - SEARCH_BUTTON_W; +} + +int GoButtonStartPos() +{ + return SearchButtonStartPos() - SEARCH_GO_GAP - GO_BUTTON_W; +} + + void main() { int redirect_count=0; @@ -299,6 +322,8 @@ void ProcessButtonClick(dword id__) case FORWARD_BUTTON: if (history.forward()) OpenPage(history.current()); return; case GOTOURL_BUTTON: EventSubmitOmnibox(); return; case REFRESH_BUTTON: EventRefreshPage(); return; + case GO_BUTTON: EventSubmitOmnibox(); return; + case SEARCH_BUTTON: EventSearchWeb(); return; case CHANGE_ENCODING: EventShowEncodingsList(); return; case SANDWICH_BUTTON: EventShowMainMenu(); return; case VIEW_SOURCE: EventViewSource(); return; @@ -332,7 +357,7 @@ void ProcessKeyEvent() case SCAN_CODE_KEY_N: RunProgram(#program_path, NULL); return; case SCAN_CODE_KEY_J: ProcessButtonClick(DOWNLOAD_MANAGER); return; case SCAN_CODE_KEY_R: ProcessButtonClick(REFRESH_BUTTON); return; - case SCAN_CODE_ENTER: EventSeachWeb(); return; + case SCAN_CODE_ENTER: EventSearchWeb(); return; case SCAN_CODE_LEFT: ProcessButtonClick(BACK_BUTTON); return; case SCAN_CODE_RIGHT: ProcessButtonClick(FORWARD_BUTTON); return; case SCAN_CODE_KEY_W: EventCloseActiveTab(); return; @@ -357,7 +382,7 @@ void ProcessKeyEvent() void SetElementSizes() { - omnibox_edit.width = Form.cwidth - omnibox_edit.left - 52 - 16; + omnibox_edit.width = Form.cwidth - SEARCH_BUTTON_W - SEARCH_GO_GAP - GO_BUTTON_W - omnibox_edit.left - 52 - 16; if (Form.cwidth - scroll_wv.size_x != WB1.list.w) { //temporary fix for crash //related to 'cur_img_url' var read @@ -371,6 +396,13 @@ void SetElementSizes() WB1.list.visible = WB1.list.h; } +int DrawButton3D(dword _x, _y, _w, _h, _id, _col) +{ + DefineHiddenButton(_x+1, _y+1, _w-2, _h-2, _id); + DrawRectangle3D(_x, _y, _w, _h, COLOR_3D_LIGHT, COLOR_3D_DARK); + DrawRectangle3D(_x+1, _y+1, _w-2, _h-2, COLOR_PANE_BG, COLOR_PANE_BG); + if (_col) DrawBar(_x+2, _y+2, _w-2, _h-2, _col); +} void draw_window() { @@ -388,7 +420,15 @@ void draw_window() DrawTopPanelButton(BACK_BUTTON, PADDING-1, PADDING, 30, false); DrawTopPanelButton(FORWARD_BUTTON, PADDING+TSZE+PADDING-2, PADDING, 31, false); - DrawTopPanelButton(SANDWICH_BUTTON, Form.cwidth-PADDING-TSZE-3, PADDING, -1, burger_active); //burger menu + DrawTopPanelButton(SANDWICH_BUTTON, Form.cwidth-PADDING-TSZE + 2 , PADDING, -1, burger_active); //burger menu + + + // Draw the Go and search buttons + + DrawButton3D(SearchButtonStartPos(), PADDING, SEARCH_BUTTON_W, TSZE, SEARCH_BUTTON, sc.work); + draw_icon_16w(SearchButtonStartPos() + 7, PADDING + 4, 49); + DrawButton3D(GoButtonStartPos(), PADDING, GO_BUTTON_W, TSZE, GOTOURL_BUTTON, sc.work); + draw_icon_16w(GoButtonStartPos() + 7, PADDING + 4, 32); DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, sc.line); @@ -706,6 +746,9 @@ void EventClickLink(dword _target) OpenPage(#new_url); } + + + void EventSubmitOmnibox() { char new_url[URL_SIZE+1]; @@ -714,12 +757,17 @@ void EventSubmitOmnibox() || (!strncmp(#editURL,"https:",6)) || (!strncmp(#editURL,"WebView:",8)) { OpenPage(#editURL); } else { + if (!IsAddress()) { + EventSearchWeb(); + return; + } strcpy(#new_url, "http://"); strncat(#new_url, #editURL, URL_SIZE-1); OpenPage(#new_url); } } + void LoadInternalPage(dword _bufdata, _in_bufsize){ if (!_bufdata) || (!_in_bufsize) { LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)); @@ -759,6 +807,15 @@ void LoadInternalPage(dword _bufdata, _in_bufsize){ } } +// check whether the entered text in the omnibox looks like an address or a search query +bool IsAddress() +{ + if (!editURL[0]) return false ; + if (strchr(#editURL, ' ')) return false; + if (strchr(#editURL, '.')) return true; + return false; +} + bool UrlExtIs(dword base, ext) { if (!strcmpi(base + strlen(base) - strlen(ext), ext)) return true; @@ -813,9 +870,10 @@ void ProcessMenuClick() } } -void EventSeachWeb() +void EventSearchWeb() { char new_url[URL_SIZE+1]; + // replace the spaces with '+' for the search query replace_char(#editURL, ' ', '+', URL_SIZE); //strcpy(#new_url, "https://html.duckduckgo.com/html/?q="); strcpy(#new_url, "http://bing.com/search?q="); diff --git a/programs/cmm/browser/const.h b/programs/cmm/browser/const.h index 80da4de1d..0af1bf1b7 100644 --- a/programs/cmm/browser/const.h +++ b/programs/cmm/browser/const.h @@ -12,32 +12,32 @@ char rmb_menu[] = "Back|Ctrl+< Forward|Ctrl+> - -�®á¬®âà¥âì ¨á室­¨ª|Ctrl+U -�¥¤ ªâ¨à®¢ âì ¨á室­¨ª|F2"; +��ᬮ���� ��室���|Ctrl+U +������஢��� ��室���|F2"; char main_menu[] = -"Žâªàëâì ä ©«...|Ctrl+O -�®¢®¥ ®ª­®|Ctrl+N +"������ 䠩�...|Ctrl+O +����� ����|Ctrl+N - -ˆáâ®à¨ï|Ctrl+H -Œ¥­¥¤¦¥à § £àã§®ª |Ctrl+J -Žç¨áâ¨âì ªíè|Ctrl+F5 -Ž¡­®¢¨âì ¡à ã§¥à"; +�����|Ctrl+H +�������� ����㧮� |Ctrl+J +������ ���|Ctrl+F5 +�������� ��㧥�"; char link_menu[] = -"Žâªàëâì ¢ ­®¢®© ¢ª« ¤ª¥ -Žâªàëâì ¢ ­®¢®¬ ®ª­¥ +"������ � ����� ������� +������ � ����� ���� - -Š®¯¨à®¢ âì áá뫪ã -‘ª ç âì ᮤ¥à¦¨¬®¥ áá뫪¨"; -char loading_text[] = "‡ £à㧪 ..."; +����஢��� ��뫪� +������ ᮤ�ন��� ��뫪�"; +char loading_text[] = "����㧪�..."; char update_param[] = "-e http://builds.kolibrios.org/ru_RU/data/programs/cmm/browser/WebView.com"; -char update_download_error[] = "'WebView\nŽè¨¡ª  ¯à¨ ¯®«ã祭¨¨ ®¡­®¢«¥­¨©!' -tE"; -char update_ok[] = "'WebView\n�à ã§¥à ¡ë« ãᯥ譮 ®¡­®¢«¥­!' -tO"; -char update_is_current[] = "'WebView\n‚ë 㦥 ¨á¯®«ì§ã¥â¥ ¯®á«¥¤­îî ¢¥àá¨î.' -tI"; -char update_can_not_copy[] = "'WebView\n�¥ ¬®£ã ¯¥à¥¬¥áâ¨âì ­®¢ãî ¢¥àá¨î ¨§ ¯ ¯ª¨ Downloads ­  Ramdisk. ‚®§¬®¦­®, ­¥ ¤®áâ â®ç­® ¬¥áâ .' -tE"; -char clear_cache_ok[] = "'WebView\nŠíè ®ç¨é¥­.' -tI"; -#define T_RENDERING "�¥­¤¥à¨­£ áâà ­¨æë..." -#define T_DONE_IN_SEC "ƒ®â®¢®: %i ᥪ (%i ¬¨«¨á¥ª)" +char update_download_error[] = "'WebView\n�訡�� �� ����祭�� ����������!' -tE"; +char update_ok[] = "'WebView\n��㧥� �� �ᯥ譮 ��������!' -tO"; +char update_is_current[] = "'WebView\n�� 㦥 �ᯮ���� ��᫥���� �����.' -tI"; +char update_can_not_copy[] = "'WebView\n�� ���� ��६����� ����� ����� �� ����� Downloads �� Ramdisk. ��������, �� �����筮 ����.' -tE"; +char clear_cache_ok[] = "'WebView\n��� ��饭.' -tI"; +#define T_RENDERING "�����ਭ� ��࠭���..." +#define T_DONE_IN_SEC "��⮢�: %i ᥪ (%i ����ᥪ)" #else //===================================================// // // @@ -97,7 +97,7 @@ enum { NEW_TAB=600, ENCODINGS=700, BACK_BUTTON=800, FORWARD_BUTTON, VIEW_SOURCE, EDIT_SOURCE, - REFRESH_BUTTON, GOTOURL_BUTTON, CHANGE_ENCODING, + REFRESH_BUTTON, GOTOURL_BUTTON, GO_BUTTON, SEARCH_BUTTON, CHANGE_ENCODING, SANDWICH_BUTTON, OPEN_FILE, NEW_WINDOW, VIEW_HISTORY, DOWNLOAD_MANAGER, CLEAR_CACHE, UPDATE_BROWSER, IN_NEW_TAB, IN_NEW_WINDOW, -- 2.54.0 From 323ff55f31cec2a95cbba908641524fa9e303358 Mon Sep 17 00:00:00 2001 From: Marouane-Djabri Date: Wed, 18 Mar 2026 13:56:56 +0100 Subject: [PATCH 2/8] changed the methode for drawing the buttons and fixed the go button --- programs/cmm/browser/WebView.c | 31 +++++++++---------------- programs/cmm/browser/const.h | 42 +++++++++++++++++----------------- 2 files changed, 32 insertions(+), 41 deletions(-) diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index b8481ac86..345eb4511 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -93,11 +93,6 @@ edit_box omnibox_edit = {250, 0, 0, 0xffffff, #define SEARCH_BUTTON_W 30 #define SEARCH_GO_GAP 5 -// definition for DrawButton3D() function -#define COLOR_WIN_BG 0xD6D7DA -#define COLOR_PANE_BG 0xFFFfff -#define COLOR_3D_LIGHT 0xADAAA9 -#define COLOR_3D_DARK 0x888888 //===================================================// // // @@ -322,7 +317,7 @@ void ProcessButtonClick(dword id__) case FORWARD_BUTTON: if (history.forward()) OpenPage(history.current()); return; case GOTOURL_BUTTON: EventSubmitOmnibox(); return; case REFRESH_BUTTON: EventRefreshPage(); return; - case GO_BUTTON: EventSubmitOmnibox(); return; + case GO_BUTTON: GoToUrl(); return; case SEARCH_BUTTON: EventSearchWeb(); return; case CHANGE_ENCODING: EventShowEncodingsList(); return; case SANDWICH_BUTTON: EventShowMainMenu(); return; @@ -396,13 +391,7 @@ void SetElementSizes() WB1.list.visible = WB1.list.h; } -int DrawButton3D(dword _x, _y, _w, _h, _id, _col) -{ - DefineHiddenButton(_x+1, _y+1, _w-2, _h-2, _id); - DrawRectangle3D(_x, _y, _w, _h, COLOR_3D_LIGHT, COLOR_3D_DARK); - DrawRectangle3D(_x+1, _y+1, _w-2, _h-2, COLOR_PANE_BG, COLOR_PANE_BG); - if (_col) DrawBar(_x+2, _y+2, _w-2, _h-2, _col); -} + void draw_window() { @@ -422,13 +411,8 @@ void draw_window() DrawTopPanelButton(FORWARD_BUTTON, PADDING+TSZE+PADDING-2, PADDING, 31, false); DrawTopPanelButton(SANDWICH_BUTTON, Form.cwidth-PADDING-TSZE + 2 , PADDING, -1, burger_active); //burger menu - - // Draw the Go and search buttons - - DrawButton3D(SearchButtonStartPos(), PADDING, SEARCH_BUTTON_W, TSZE, SEARCH_BUTTON, sc.work); - draw_icon_16w(SearchButtonStartPos() + 7, PADDING + 4, 49); - DrawButton3D(GoButtonStartPos(), PADDING, GO_BUTTON_W, TSZE, GOTOURL_BUTTON, sc.work); - draw_icon_16w(GoButtonStartPos() + 7, PADDING + 4, 32); + DrawTopPanelButton(SEARCH_BUTTON, SearchButtonStartPos(), PADDING, 49, false); // Search web button + DrawTopPanelButton(GO_BUTTON, GoButtonStartPos(), PADDING, 12, false); // go to address button DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, sc.line); @@ -747,6 +731,13 @@ void EventClickLink(dword _target) } +void GoToUrl () { + char new_url[URL_SIZE+1]; + if (!editURL[0]) return; + strcpy(#new_url, "http://"); + strncat(#new_url, #editURL, URL_SIZE-1); + OpenPage(#new_url); +} void EventSubmitOmnibox() diff --git a/programs/cmm/browser/const.h b/programs/cmm/browser/const.h index 0af1bf1b7..99a84962a 100644 --- a/programs/cmm/browser/const.h +++ b/programs/cmm/browser/const.h @@ -12,32 +12,32 @@ char rmb_menu[] = "Back|Ctrl+< Forward|Ctrl+> - -��ᬮ���� ��室���|Ctrl+U -������஢��� ��室���|F2"; +®á¬®âà¥âì ¨á室­¨ª|Ctrl+U +¥¤ ªâ¨à®¢ âì ¨á室­¨ª|F2"; char main_menu[] = -"������ 䠩�...|Ctrl+O -����� ����|Ctrl+N +"Žâªàëâì ä ©«...|Ctrl+O +®¢®¥ ®ª­®|Ctrl+N - -�����|Ctrl+H -�������� ����㧮� |Ctrl+J -������ ���|Ctrl+F5 -�������� ��㧥�"; +ˆáâ®à¨ï|Ctrl+H +Œ¥­¥¤¦¥à § £àã§®ª |Ctrl+J +Žç¨áâ¨âì ªíè|Ctrl+F5 +Ž¡­®¢¨âì ¡à ã§¥à"; char link_menu[] = -"������ � ����� ������� -������ � ����� ���� +"Žâªàëâì ¢ ­®¢®© ¢ª« ¤ª¥ +Žâªàëâì ¢ ­®¢®¬ ®ª­¥ - -����஢��� ��뫪� -������ ᮤ�ন��� ��뫪�"; -char loading_text[] = "����㧪�..."; +Š®¯¨à®¢ âì áá뫪ã +Ի ç âì ᮤ¥à¦¨¬®¥ áá뫪¨"; +char loading_text[] = "‡ £à㧪 ..."; char update_param[] = "-e http://builds.kolibrios.org/ru_RU/data/programs/cmm/browser/WebView.com"; -char update_download_error[] = "'WebView\n�訡�� �� ����祭�� ����������!' -tE"; -char update_ok[] = "'WebView\n��㧥� �� �ᯥ譮 ��������!' -tO"; -char update_is_current[] = "'WebView\n�� 㦥 �ᯮ���� ��᫥���� �����.' -tI"; -char update_can_not_copy[] = "'WebView\n�� ���� ��६����� ����� ����� �� ����� Downloads �� Ramdisk. ��������, �� �����筮 ����.' -tE"; -char clear_cache_ok[] = "'WebView\n��� ��饭.' -tI"; -#define T_RENDERING "�����ਭ� ��࠭���..." -#define T_DONE_IN_SEC "��⮢�: %i ᥪ (%i ����ᥪ)" +char update_download_error[] = "'WebView\nŽè¨¡ª ¯à¨ ¯®«ã祭¨¨ ®¡­®¢«¥­¨©!' -tE"; +char update_ok[] = "'WebView\nà ã§¥à ¡ë« ãᯥ譮 ®¡­®¢«¥­!' -tO"; +char update_is_current[] = "'WebView\n‚ë 㦥 ¨á¯®«ì§ã¥â¥ ¯®á«¥¤­îî ¢¥àá¨î.' -tI"; +char update_can_not_copy[] = "'WebView\nÂ¥ ¬®£ã ¯¥à¥¬¥áâ¨âì ­®¢ãî ¢¥àá¨î ¨§ ¯ ¯ª¨ Downloads ­ Ramdisk. ‚®§¬®¦­®, ­¥ ¤®áâ â®ç­® ¬¥áâ .' -tE"; +char clear_cache_ok[] = "'WebView\nŠíè ®ç¨é¥­.' -tI"; +#define T_RENDERING "<22>¥­¤¥à¨­£ áâà ­¨æë..." +#define T_DONE_IN_SEC "ƒ®â®¢®: %i ᥪ (%i ¬¨«¨á¥ª)" #else //===================================================// // // @@ -97,7 +97,7 @@ enum { NEW_TAB=600, ENCODINGS=700, BACK_BUTTON=800, FORWARD_BUTTON, VIEW_SOURCE, EDIT_SOURCE, - REFRESH_BUTTON, GOTOURL_BUTTON, GO_BUTTON, SEARCH_BUTTON, CHANGE_ENCODING, + REFRESH_BUTTON, GOTOURL_BUTTON, GO_BUTTON, SEARCH_BUTTON, CHANGE_ENCODING, SANDWICH_BUTTON, OPEN_FILE, NEW_WINDOW, VIEW_HISTORY, DOWNLOAD_MANAGER, CLEAR_CACHE, UPDATE_BROWSER, IN_NEW_TAB, IN_NEW_WINDOW, -- 2.54.0 From 959bbcaf449661b6e029256bb1c9e20b5488f8fa Mon Sep 17 00:00:00 2001 From: Marouane-Djabri Date: Wed, 18 Mar 2026 15:03:14 +0100 Subject: [PATCH 3/8] changed the definition of the constants to dword and removed duplicate function --- programs/cmm/browser/WebView.c | 39 +++++++++++----------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 345eb4511..245d26183 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -62,6 +62,10 @@ dword TSZE = 25; dword STATUSBAR_H = 15; dword TAB_H = 20; dword TOOLBAR_H = 0; +dword GO_BUTTON_W = 30 ; +dword SEARCH_BUTTON_W = 30; +dword SEARCH_GO_GAP = 5; + _http http = 0; @@ -89,9 +93,7 @@ edit_box omnibox_edit = {250, 0, 0, 0xffffff, -#define GO_BUTTON_W 30 -#define SEARCH_BUTTON_W 30 -#define SEARCH_GO_GAP 5 + //===================================================// @@ -136,15 +138,7 @@ void HandleParam() ESDWORD[shared_url] = '\0'; } -int SearchButtonStartPos() -{ - return Form.cwidth - PADDING - TSZE - 3 - SEARCH_BUTTON_W; -} -int GoButtonStartPos() -{ - return SearchButtonStartPos() - SEARCH_GO_GAP - GO_BUTTON_W; -} void main() @@ -315,9 +309,9 @@ void ProcessButtonClick(dword id__) case SCAN_CODE_BS: case BACK_BUTTON: if (history.back()) OpenPage(history.current()); return; case FORWARD_BUTTON: if (history.forward()) OpenPage(history.current()); return; - case GOTOURL_BUTTON: EventSubmitOmnibox(); return; + case GOTOURL_BUTTON: EventSubmitOmnibox(false); return; case REFRESH_BUTTON: EventRefreshPage(); return; - case GO_BUTTON: GoToUrl(); return; + case GO_BUTTON: EventSubmitOmnibox(true); return; case SEARCH_BUTTON: EventSearchWeb(); return; case CHANGE_ENCODING: EventShowEncodingsList(); return; case SANDWICH_BUTTON: EventShowMainMenu(); return; @@ -368,7 +362,7 @@ void ProcessKeyEvent() case SCAN_CODE_F2: EventEditSource(); return; case SCAN_CODE_F6: {omnibox_edit.flags=ed_focus; DrawOmnibox();} return; case SCAN_CODE_F5: EventRefreshPage(); return; - case SCAN_CODE_ENTER: if (omnibox_edit.flags & ed_focus) EventSubmitOmnibox(); return; + case SCAN_CODE_ENTER: if (omnibox_edit.flags & ed_focus) EventSubmitOmnibox(false); return; case SCAN_CODE_F12: EventToggleDebugMode(); return; case SCAN_CODE_F11: show_images^=1; EventClearCache(); return; default: if (WB1.list.ProcessKey(key_scancode)) WB1.DrawPage(); return; @@ -411,8 +405,8 @@ void draw_window() DrawTopPanelButton(FORWARD_BUTTON, PADDING+TSZE+PADDING-2, PADDING, 31, false); DrawTopPanelButton(SANDWICH_BUTTON, Form.cwidth-PADDING-TSZE + 2 , PADDING, -1, burger_active); //burger menu - DrawTopPanelButton(SEARCH_BUTTON, SearchButtonStartPos(), PADDING, 49, false); // Search web button - DrawTopPanelButton(GO_BUTTON, GoButtonStartPos(), PADDING, 12, false); // go to address button + DrawTopPanelButton(SEARCH_BUTTON, Form.cwidth - PADDING - TSZE - 3 - SEARCH_BUTTON_W, PADDING, 49, false); // Search web button + DrawTopPanelButton(GO_BUTTON, Form.cwidth - PADDING - TSZE - 3 - SEARCH_BUTTON_W - SEARCH_GO_GAP - GO_BUTTON_W, PADDING, 12, false); // go to address button DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, sc.line); @@ -731,16 +725,7 @@ void EventClickLink(dword _target) } -void GoToUrl () { - char new_url[URL_SIZE+1]; - if (!editURL[0]) return; - strcpy(#new_url, "http://"); - strncat(#new_url, #editURL, URL_SIZE-1); - OpenPage(#new_url); -} - - -void EventSubmitOmnibox() +void EventSubmitOmnibox(bool force_url) { char new_url[URL_SIZE+1]; if (!editURL[0]) return; @@ -748,7 +733,7 @@ void EventSubmitOmnibox() || (!strncmp(#editURL,"https:",6)) || (!strncmp(#editURL,"WebView:",8)) { OpenPage(#editURL); } else { - if (!IsAddress()) { + if (!force_url) && (!IsAddress()) { EventSearchWeb(); return; } -- 2.54.0 From 6a791edceb5ac4e5a1b8d308203eea440f6356d2 Mon Sep 17 00:00:00 2001 From: Marouane-Djabri Date: Wed, 18 Mar 2026 15:26:30 +0100 Subject: [PATCH 4/8] removed extra spaces and removed duplicates --- programs/cmm/browser/WebView.c | 8 +------- programs/cmm/browser/WebView.com | Bin 0 -> 58730 bytes 2 files changed, 1 insertion(+), 7 deletions(-) create mode 100644 programs/cmm/browser/WebView.com diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 245d26183..b497e6ec1 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -66,7 +66,6 @@ dword GO_BUTTON_W = 30 ; dword SEARCH_BUTTON_W = 30; dword SEARCH_GO_GAP = 5; - _http http = 0; progress_bar prbar; @@ -91,11 +90,6 @@ char editURL[URL_SIZE+1]; edit_box omnibox_edit = {250, 0, 0, 0xffffff, 0x94AECE, 0xffffff, 0xffffff,0x10000000,URL_SIZE-2,#editURL,0,,19,19}; - - - - - //===================================================// // // // CODE // @@ -735,7 +729,7 @@ void EventSubmitOmnibox(bool force_url) } else { if (!force_url) && (!IsAddress()) { EventSearchWeb(); - return; + return ; } strcpy(#new_url, "http://"); strncat(#new_url, #editURL, URL_SIZE-1); diff --git a/programs/cmm/browser/WebView.com b/programs/cmm/browser/WebView.com new file mode 100644 index 0000000000000000000000000000000000000000..2f911aa1a68da1737cc1403464b8ac1950914758 GIT binary patch literal 58730 zcmeFad0q9UL-}H~sy7RrlU>0{Ff+^WOLU@g{J) zwo|80ojP@@>Qvpjvx;XgD4st$CrJqL@T)>hgDYx#sK@`M5dI$+A;j>h=ghwFoO#Zm z_lk%&6!w-mhx(kerZ}qtL9esQ3umP>Y`P9IwRGgu&1Qbn>E~-Su7Sbeirg*hF7Ek|ys@5yAqh z@1>B&2El16PHQSkYf?Fe5i^46R?w9K5-xqIpV*DuCS)Y-V0rrU2#bS%8d;nX{XjS# zeX~bnaR*DuiO1vht&aNB73TE5aN?xcmC>YXn7le8`f^&+td76_YR^mQVmE5ZY(M@( zXN#(A1Com~kSWiV?zo0*AjDV6Am7^#A~N!d+a1wG7Gygh509D z406D$8 z`eaRYa`Ay-O~Ru6K#HROHPU|@>4&uVMRZ>}nfHtT)a?DO$~iFFdRlk(UIQ_^8g*GM zP#rR`DT18Ncx0esbMXLoJkl>7$uPz0v^_$^R%%p=%8oOO2R4D>sv%GZs|ngbUn82J z7@ne(#^M7_kk&|>EoCE-jX_BAkxGlS$)|Rck7z`l>3|8o=cR$BM3TR%^}95#DUA1Z z=xX=Y4AZRI^HPRtTXdn3#p!QJaGoq$VZt^6HnFXKuJX1Y^!7tjfM8Tl)mg`+Yq4Y1 ziggUzkg~OQlATe-9B`~1!5G!gk|A*9h1n$z47+A}8rYB)t?EdLRvk#$`x`W4Y$f`V zC5hdredUm@*-udm+DOd**VIDp$j=cbg=Z-?n9T%ov}~ZCy5q~z;%N5q@ntD~r(a0- z%R*eLbV3rOPiw)tkC5HgT0<2srJpQO10qz=E#H07RCTd38z?WeIyFf+>QWK2iQeag zC?o2ew+}8$OLC<*xzZs!Aj-sI%J&;Dn7CS)$(CwOa|SE7|HpV-D@uh|&Vrck_^c0P zolV~`T#?W*vbcSR?C186Xs&OE0&&a8^Fmnu)~%@6Z`1dfdL8vGgwj6&IsHQy`coD+ z%}URCd&=uYD88}hr7xwa{*07Vq@*?VejQp_j|e)aQv1xAx;ST#$`u_3ZYmH)_e{*T zdvp(~wdVRap%>h;52%OEt}_RPbW*R9qMv2#kSQcF8$()lrLQC#Y5(QlLLjm;Ad|1! zmlY`Si<=RDH=f7wyohHHo^SE|0neZCSbxZ}1bM;&KTEvTk*XyjZz;#mP-o0i?@Ar2 z@P?O!!aKgOUTjmQd0bXHwmVoLmfh8eNxwkW>Di8@J1W9(- zyCN)XhJ;Fkfy&AfPjJbyC1pX+a*-IJb9crV-9d~c8pQ1h8}p37@+CDvZ;dDD6?TNe zSrZIY1ihgUi#aU9N)+WmPnB1v&p@5Kw0Bj7Zg0fjjprdePvdzJ&u%>L;Q18Kw|EZX z5q*R>29Nb;SJzinv82pf8YuG$?L|WeR%$e}3TJeS062-^RZF=APQCZ>_7pIeN>r zjq94$H($5mm)GBL<4p}~@A}0xx8HroZFeg6-FHkvJNVeFx*>KW{vABlpGsO1sPR?{ za2L`B=F*wzexb8#D3RGivp)hBar`l8D4TiGWluQNUhZ4&#@r1nN$0;Fr4e=i&l&zC6Vkk9WhD`mT zW+mxr%pN!c{7zHT4Y$1Mam93NLF7bn8c6pcPEY`Q`OB(P#a#o{a!3uvs`m^`a#&fZ z$PgEwtzpdN8YU~4++ry+@Gw9VStp=L*t5Gh58?s?f9o*=xx%dD`rb*xeUlIk2xqjI z>HU+$`k_hULd4&fv|AJOk089*9(zjS*pfimN|h(4a9DLosAlp--jW*TnTEQ2I)y$bjo1vSQkGCX0Yy{s(@RC^}@ zW(;8>q@j0yrLS<7XDJrN5v-K4L=HPw1|nD+FY`J*&gFsNQeSn2b7pne8?5#cl~Q>a z?6dMqf<(}pBIL~XIE|pUykL+LL_jiUHr&$kia~|5m7AaKDRi1iPRLG0HPo!H)EN#0 zDlKdzXR6^XU8)x9s)C-fG7fiOOwj46#xi~-)N>;IJZ}(#iPINyVpWfh;tBdHSEAc^ zEUs9Iz1@{w$o(iJu%m)Zr#Bc31kLpPY{hHc?p<1aws*M`hK3_Ix3i=|&4daDmzS4= z)o3$ilz_+t@sv52`^v&b!I;sB0fsPd0Jw9>k^cJjSvA->iCQ$_Z<2HHDkL~{0wn7~ z9|*%A0230Nstr`WE(zxaFoXtubLJf(hl1u$XO3=U*$IS7OhZr?P7hL;uKqx1X95FV z6E0CmR;^mH1poCP{rTmAY6>vsmIZ^SO`BF&S(=~CIL%s>T2fIk*fr6WlRKr*x!hag z)Ol2_EBBlU#a4DUh%+Z^bOOM*3DZXBOe_RMRSm33=!|GD8|m1o#S>hvLW@xCn#CW{ zVPltR%CdEP<}VF|I3zf$3vwqGS{*Jsd#UC=`a~dDQ8*(|g-K%tGyyuB))YXMkQMS_ z_tor@h_A9Nl+^_Vx~s3k2xscF|95!GF#+p_#5LdT)IF0ZK!dJD-#$}liSs&_dsdFJ zIHVh8(BNG4H>hw}Nu;uJvU3p>Q7QUTsZt2+|0QN8jntH3N(h~Rxue2XU4l3{5VtOL+(%h2zsYo>;Sl_QI(^g8jm znL=gg8V|GLGL+8z3Rh_)7y@5%R<#^QJSqf;R4jkb(p{{ex92S&S@vOsi zgufzWbx$>Fo1?X*B4>CjYi#9h4$%;548j(~e8^hn6bue!PIH7Y$LPL&WCYpukBu)Us8xQYcO0I2|Ky?&(ALDs#m8@m|9#su5j_x`E$>Aj&#muHBA5fOHCd- zIUX*@x+}2UQVr0(-Ez)lPFJp-Cvi|mM+|zw8up{3W0+&-oyR$^lQS4SDJD((N{^0afsIBDms-)VWXuqBJEC`%{RDy;HUd&$D>uUz3S+}XnHMRkLas!$di1R47rQzecZvto zI<4cNuk5k0d-KkmKBF^_D-c``S^bG@uJJZ$vy@i${De-%c28-kwhg@UIBYF0Wcebq}7iewP-iZQP`91`b4hM-YU3z6w{(!eq)`-roJ zY;X0F1@p2o9D6WNfn~~570NEHs>(LSD%(_qS(q1z;bs8LoF%DYeKeq0$O@}_C^OY&!IY$A8l8w}`XLHWL9lh|(1V~LuDL6tp zJc@T%PK2Op_4LAO6s|xj(Xr0x+s7RYlwi4qeisOUk66DsLp7dKuM>IZda7U=TB^$F zPQGeA?mKGYOWCB}GLs~GS*VwO^NZ)rw}uweo_f!ZRuoAFf&8G zE4`C)#*Q93xylo)@KsOBty$q5HyS_mjGnwYKU-%9p3Xsv^Rav^1!v5k@3z*2=FBiV zJ8b0TWuY}Z)jm%a)@+6IVT7x6&Ol#8fAl(Y^78V`d7YhSxvylUnuA)N?f{&hdBd2f z5@BNCFhEZ!?7@MMkyU{Lz17)RqM9+z=_;msj+#r5uI!$3`SRsi%e}s^cd5$BSs$iy*`{SC zyDSKkU{GVxU`ImWDZw}&s3rr0>|CVbY&Wz}!THbxh$&2fAOduIYt+uhVmeS=UKyyV zS(z0=9TXR{F?{(TMxkuOSG>@Q)9@(M7+ZLudv<1^ zx)O{)Ad!r+iYiY9M5EC1bT6g6tSmQkOm0?9Sxsh6PF65dXvTC0L~qJ0gERo5)7u>g z6@*eEjP2_VQXMG?5WsZ1Cs+BXYeEV192UbYU3m@5gr~A%B_$Q8!PKr1x(sqk_n&#r zNh1#HLxE7H7V@lWPcTrX>UmhyVbo%lhr!6sk|>{5-O{?}ErlTks|A2{%MSKx**pS7 zcO;cie1T=5r7N={p~A#KcR){RRSkKg<;WANIh%{Hg0LsFG*oCNcF(h-Ix}P7?1}DO( zg@L71^|?9o7G?)ROI9oaYTBumltQP3G>4F8+o)7@cZ4BN6|5bscu8S`zdP76Z#WWS zPiKjRT|(VKy_MKRz(RIqwHF<;uxpUOV97tG zJ$~Uw%+Z+f(MKNv?C?LtBMb5-X0(BAoVqNX9g*zrSMczvB?2enhaXw&?Ej_bX!vzTy9zd*pP(Nwho{;Y4(E@}=WeyLI zj>+k|fSw{NGQIPl#vYswO>xKGKU#DSB|?+5 zd6pj}O}G4@WHS9YEHX^+^a#&`sXvy9-Eo{rz!?&pg94uPP2Ze}BXb4&`HPM7<8DB# z3dv_S2$7Vk5-v^KvL_QKCVpsEJgUc`hhs@>--(C?w~KIS0>_%$@!Pm_%Uc9}r5k8! zA}ASPT6l#v`|-3~tS@m!(hODB9Gq>57BH8He8cT^>wIr?sEPy+np0}sviTNuLSqvN z^(Pw-jz-}pATLi@^Gq>LRi>%4!&7i#mM2Qr^~@jcsCyj;$nys|>V8Len4|7dx`mFq z4^duzzN7v}gaPf^{yq@;lNU+%b^71|&yV<1jE`B)uW(8*b{`_51!N;mdQ3q;W&10$ zr7e;to7o01n~?oMnLo+sVD2jB=Aj(FF!nRz5=Jbr(WU6aDpqPCQzzJ|$&UK75Kx63 zp93U47s*G#bTm#q4^aA(HWVMQit53m6o(*AC!*B{APD{G!?|gHs&O*#$aitZ zFm^j5Ri$uPMbVfn7ZJ%-b^^#7g8&GaJ$w5HtZt7*@+^}ARo!GGj|l65(4Q<%VfLcV z?BTvP*A!2MhQ5f!^Tf1GsxICrB(6NB)*uyJIhPS57_lS~Tp{aWxS86AsbrH~7nPc1 zEM@9G93i$Epo|e8GJ?l;AS6w>l&E3X_Kd4OfIb*|9N5h0T|FVGZ7l>DiE}|RYYj!W zO|HhV4kg`sb13mZhcX$@Q`d_vLHrEvZ@-9( zL2&su0`BX3Y_qMnK zuKTLESPu8wTgpTO+>hGhVgua#ejkb3;F6xZ;5H%a{dD1Z4DK-v&xx&YAAa~@@jJLU zWGwyz?$T#p6z{{uA${>B-0YEh*}?_)tv7_25BD8$vseQ6rhai@z>ROmiz9G-KA%{{@b#yOYv2wV^rW}} zZrhJ>aW}(FgT%v3$G_je#c(QKV7R?q?1C%)7#B~1F6aFph*r3@wY6do>8%ywRitOf ze=Yt9w+-#^8QiCRaUtPea>?uBd$?=GdE)OXJucoszV%7~DcmbJ zqMhJA@}yJL!~OA%Ys8Ik@3?lkXo365Z=VoP!2JvjwiPY~Vh7wYua6P0!u_i4NAWS} zBOl&kIx6@c+(%w77csc6Bjy0ycNT0BNqItiSaXv&7VZ^K<%?6{?l*oeGU49&qY!7q zeeJCoVh-H;{x6FqaBEIJSyaOPG5&*C2KP^p(^|OCz-@&4>rdk17Pz%2=T5j^{qUdS zUbtX@cnI#`>z0ak^8J3a2jh$5A{l&qx8?(}72!wZe(?(2+Yj9?eh+v5{>R1VaBr&l zP_)7Q!(Za!5ZvcKh>O%opt1gSQHuPpw#G#tgg@T+v2eis>a!1H*PDFaJ_D3-Z;mhwkAkIMeqNXfSjPU*+;$k-3%()xI0=TWM zt)dd?d(kdga9_XJFY@7DUt1$CLHdtq_pvA!-Az0IK0m$IB|L~<|Mc6!3m0qkuCE`kkzl z`t#txgSVtI;uYB0_Te3_Y1)CfR-@{}>o zQ{Ye|PgTIyzT6wskO+o+l}iOQb5$r%ElO81KsXYFp7)`$B-dn4nb%uWgN;8y4{W|VFHU7EvIAu}>Zzj2eL*iyc!AO23K*nY z2YYp}NbBOuBc(>j=MfdK0f$Ng!GNeRU^CZ%INDI1!`hRX*L6+ROG* zJ~JC3;YA7bDH4>=Phf4r9YsX6aJL~O^Tl9h0D|M>KAV#ln5=k zL|%il`klQ&g_L~L*GUpXodnf*YCJ1FD5gf#c(K=A6Dco;FBlOum60kO%wG;^P+S6e zD|O$-I|m-k{SZ!bRYFkN<3reMGXcP`5KhWeijWW62_86=*sT+xYDi)jf)Vzj%ZGXF z0zAgiDo;2dmSZj##xJx`s4B43D|Dl3wsK{~^ZZ;weY6%cfk@i0+QPy5BRTKC+{hnh-Q_AnwBRaMofLsLb;34%> zfgfkoqwPJzy`$||29#L1)!R&~X9FeQS6g>l?V-`ZwAw>?%ad#Oj;=lAVW6CWi<*iL z?D#CjvH8`c-8kkRT}?E{lA12@Eb%eMlrZC~}yhAO*@dhSDtkaw^4%9?fci;_&zVz*m ztCxjiry`)u5hmW=z}xt;{0kOpF;;-974>S0MbB@6zmts32&vUK$bev}5{r;c8xc6^ z0U=KfmM2`LsG@1$3`XK53AOg_nBg`sZ4fdW005xSTa0#XOu7}o&)6p3&VcA%Uji22nE%pe1+eOFOD((W&m<7(Lw`w##kywd2F7poWv+^}}-%PW?ShLI?q zZKR;~5z2qMk;VSq7nHl@)u08i&@(a4u47Xa{JtW$KVQBB7Bm)r!KN;V*&4|}^M1Nzr8L?GGIO?XedaKi#uW|ytd_}P@ zt+~kQHnIT8I?CZ-5Z)kFEJyImE48ktFwLMsXH%b|(a4FYQgcl_nLQ4TPHBOpDZx|2 z2qh;&y_em=H-j=W3xzt-gGn&X7OcdZY1~7Gk!@(Gklovl>ZIf4a;-H?jPY6NS`KGH zF7TFq`m*C7GQ%93!TICX;T_7>$QL@ppl}~Z-*89$64D3Fv##g0#puYef*@}sW8I}4 z^0=Q1fqMWNX?JVW_#6#N%n6cC;BKY$*2oJY`>gcgK!0?g;`Ab-*0{Qr5bI-7X42HX zKIb&5`h46CduN563LyLiIDk?tiroGJ`De5RB(8RK2ehpd#ZdAGsN&j&t#iejRv#GF z&}-PW@D(4>6z-GnqIGEyx@M(SBQm8;Gxur8ex2&+c>lO9_(dEXFqOyyH>!Lpc)45N zhM-wf%Wh4Uf=G2617ycCVM77c!uVvGu=UG+R1>R2>;&ZC$P#S@#@@up_YGGerm1L^ zssDk70{;l?ldRs!ECes2UA0R74&xFtG}I!_WOG{d0fs2oO||qhKYo_}S+z(+me9v@0hWjqyK8O1?o|qZl5BINl4w`NU+$0xl zO?c?`!Q;Slg6W}O z9}npZnC>#uU2VEi(_Lq}H^99O&mDMviKhk6gLods!*U-t-Dlvkych70e>+U~Wz&7# zbl)-E_u+nu=TCTu=WEmb7B2bxSGa%2a|jRl-vi2t@x9?@;5i=8Nzh6IO!qXngYgW- z!+d9%@!4?4;hBJk?UoOBDxP9IC-xQMe7JM*%*V4B&!u?0cnmx>c=$(Cq8KD_a$F1( zmC#6{A}j{yOdKmt=VGG_se^OI<>3b}dJfJRKU(l*Hql#ntKc9aPmCx%Q}8$@LKAXe zoX2VpSQ#28Mg-5q3%C^s!0=XBD1s`9b9*cpcvv+Y#PVJ&oPSdb zmthegs?=`~mV9XR#Z2Yqhy!Bq#4$Oj5q`(0-wFI3Gg|$Q5tWJ-#^i{g=^r;?w3v&$yuw@xBkIoyXom??^d~OZ^M-XkcZoTdHJMR3&U3cH}%Z)AfZo2RO2OhLu8|GWXUwrx1*E06a-hJQh|4Z9< z#-_jed0vGOXJ*))E~S3NK>iI(>k>xwb7r!|d7@LE@je(hPUBbh@uuIs@Z$8s5C&a=(DaaZpq zS8uK>taxBp$5-G{ef;&nw9V3m9+YD}e}^9{8q=8e0TyTGj)HZZ6$dr1h8Z}HbFZesFQ|h0bSut_ma1TeO1;D_ z=c}MTq#Ab1Viio2>uN2F-axkuaSf<0{ZhFMw>%ACm+C7;RTN4cfgDzm11&$w%dq?? zEXDGpq;{aN(CxGQDC_}~f_oT;Ro->TBjV8q>fi`tJa-UIdORMtwv2H3D$disi8O7t zhQ+Z)9d><@+00|Ip!j5xQZUwq@4Z#wGNCji36*@nsjP@k^_&7UEBanhS3 zi~HpjXE>slB|xLrFC{`F_mhcXoTa$D@GyxRFK!g<~7uU zk&e0*_%*(OtwpzN@~`7@?K>Sl%G_qcDRIYTv)n(T5jhzrJ<&uu+W6v2+$@UNZ?RKi zH5>%#YHSw(Lt_Ia2WN=2eL23FLHX7qaID~M-~$n`#USvb4j6>C3bus%Ls;lx;7&jI zp1W%r>yI?BrdtA9`2m%w3o5YZddA|Q?i$#Xcw!rbs3tE$oq#*KO$oZA?rg+sR*ZP` zCs@&r6Q#_i`-jZ8SwIhVBf}4q_wI}72#xpeQDt#1U6auJ5eDn42#5e0s-yUC*o)QhPsmxgcHcT57^_0!$FKZ+V?1PmGOj>&Z=zNNTJGea|=zvLiPD04=Kn4`X{q z>6f~*0C(h)Rjx(MrOU_hKGl|M7Ng38S$0=yn_L;#?0)sbznk>Fd7lY?5#TAehr>f? z+mc%4^?pr_JE68W>fAa{Qv*4Y?8-1REU_|RGZDK?#vOOuVHUa=*$j110;%&=%D zN7}Kc3(oXoxVTLX9_YyGSV3>Pv)XYoNJQS@ucQ7_4Q3JaIS4X~zh(-P5{mCy@DSp{ z0Pu-IU}^#6)}(gAs$%LcCzPgcUC#zwnT`|q982(S3dWIcDd2Px#$!!22Cfd)DAE(Z zBC=lx!PPXA0Mw*n@lGg%h1-t5)oz*{ZdU{S;cWsi>kkrM4>p#F?iW*HKT7 zMhh!x|2fzwm|`^9-ehT z^>AF)o|ifT7#$n>Adl7(-`z_Q#VkP$KaM&Mv(y05HT{wub)yjCDM5d-UtAdPA4VsG z;z*D8FN1F(4o+al$l~8Rz$$_p>!(4^T3AwJ{S0{h$s6kDGfGJTu2ZjHh>%vD#Ln|2 z_DC8@Z>}#wDlQscg+lDoa8dz4rixNc-bJ|WuQ;5ANgJj?<{<%N7KUEqwF1m3uKrXV zl{v}ig#+9=s#--k>Zn%ZxibnC_w`tAtecEHJ>HMUYYXUw%w^%XNkMIIV&aL=VW@wd z+9tD_pUvlT?n+g8j2<{{ri*fYppPlA^RP2lpb27ULG+Bj=UFg=y1`JUV?7Bo*RI7s zKoJYI@brL$#Xj!|m@PM8K8=GksA2cQpQzaY#Lc5~ch!gQ_Lugk&M**8fup4Z! z;-i2KBiJoA*l9-ri$iM|X_N4yg!$kfH6Oatc6RJNg56>(R$+!4X%#QGELQ5&r95y9rg_G1V&p0&ZgdiO{S zxhVEB!M538+fA@jAg<8@$}2jyrN{r$4k5Ue8Fttit}`>7oRC3jJSxrd$s$%x_}|&^ zmznTZ|NJ>Nmt#{1v)hK5)D7k$!kk8!S8bRRyTObl%#U0eykWz9|A(%f!9kdJ3G z^F}wAW5M0nlZ1KKhIynr4D@b{JK@IrHcUe|m~W^r{Dk?)hAHU=vx_h;!hCAO6n2BT zmoS3}^SKRkN;jCrq~{+Po{cYUn7{qLYu)#x1Lgz5d~L(L-3{hM>fFtQ`NoEMtQ*Xw z=#H@)3G){lW?eU!Ji=5H=70@T-VKH_5<8bLf45<#bc3O6#)c6_RN_Z%N6BC)hAgnlM~=+Pb^pQG{ZgM;QZb$ZNY{ z8+#mJkczdb4O7+)#zB}FggL{8De4BZ7y2tUgfK&Fn1S73UM37cU>{7uI~;f+1uypq z^EzOB!(bWSkK(%>7?pTwq%iLj6Xk&bF2BV$5Gwe>)$&O-IByyZR9E1@X$68McufZ< zr@}$sQoK*(#aSc1mc<+CcmNFE2(GBb>rRz`4GJSi7-NJnRv6=e7)O%I@V`t%D)HI~ zUXT%22qTDhTks~-*(<8}@)eG7`P2t2@U~VBFFnQCCBB=%%j*PRwZ&^2xL_Hly>Ki` zgv)4EsV&%tiHZ?EVH@4;WQqLE1)OArQ)6d>1E$7`4A20aImqiR0CXfZvpDmBwzB|X zXQS33k#n_U;5J`Jvx@xB63x;?IM;ccTik?X^Pz>+<~ zF9)nW^vyxQ_=ipSrKa{7i|D3PIU(MX96*VWov%4Y5jYC9&wh=;lMEuaG(~IzUa2qq zc=JlX^gXE?HT4J09NX@L2d{#xf@3%^dTQBwO(}!OS;na~R@C!4>Lg>R9rb{zGHBw| zGxVnl<^w z8+UEbLxemFEN9nH`mB?dOtat|pfFqL9D=`a9=`9yf|*CH0onSTDroZLV&Eft%-c$F zbQ3BA@4TV+hifwN1wg1Za1Jjg8UpWqDy}U^YkYTmCS*#sq5?Se-w)xj3_qd5_UDzJ z0yRjQ$fR33L5mr#H$kZ_{5=-NuF8ZoRk1di#6E7*MG>5NVpvDYvXsK(3ic2GSvrF%z*Oa!bMS9lgUr1 z_(Fk9^V=%$n!cq0-^9!yMhG|&a?VzRt~pkF7_Y{^Fg4buGUyj}^CKvdA?Pe5i*L&f z+emGQmk8DscjN~gR6Qa;;;4ff75Qb3`rp7ER$K5ofDmG%$8)Jf{AK9G(bfvLT!g8t z2@!VGX8;1LUpsX&Qtf`p=AlSl0;75CA_SBUS^^!U4BKle;Im*R@+^uf3Y5VDpbOgv zb!(xkr+!u#=D^-z*0>hCSE#+tcy7eBxI`l?kgbm(&B=95! zt|khL0dC8F1#nWlt)YnBF1l?aesN9CxlFw0Y5Z;(4fOJ^Vy)aAh@k~5P3D~dJu;YJ zIA6S(kWc+h{^A1QXiwF17Jm=I9S1nd9&f7_xHJI2yo(o;6+KsZbDPrk)^y>CL0j1L zasn_h8}yk!&3~-HW+b}TJ*o>}+bTEOnu@Zy1E-qTgf=zKI7dB+W0qduKw-d*$6%AA zic-0zH@YUrVgN~qVv9V4sOTCh4%Ifu_cHP^|8}?uOW)F$brYV34E_xN&x||F^3EcO z`i;NIF%*}$7S1v=o!C9o50`_T$1yhDf1J?>4~zU1u@HG(TS}*0TQx;Ypym(gnj|0V zFx9G9s}sR7ChgC_W=jU`eh#--T(SZd;J0)BCci{S)i%q0FLgvYT&nJQJv`CYjPw{^R|}w=lo2m8B;u1FE^5_gbUw&#Eh)NYy=a>YUm0awcMY$`HHiacv5&YuWg7 zi?j`|DAMY)Nbzs%=oMx($Gn6|t4BxI$sQnEn>n{2kDO;p`bt(u&k0)@f9Di62}zAT z2Jvim_re^@Y0a_zD9@aRNtL`8-KMd=<1f&Xf0QROD*g;ZbL0J6`?BMh;duYcd)tZf z8{}H37ClpdIyM_WEu2ib&ADBcylAT4A~$xEk{lq$bSO18oBe_|z(arCL8Y=Rf8Fr-cJ#J5ukKYV+BkzW&n6UB-b9VSMV%7QM z{a2tysuHUa8>0Z5Nyd6&`Pq|NZiXX)n(TT+#&emZnW5{?tU#_Vjj{4WrczrGhl}N~ z{i8k+$MN07-kI8WG4inosmX0J=I0!PdV@y^wuGg-867#vcnkc|bMA#I%29{arG?a- z+kS_vUai3M_9gA+Jl9|l%+Pn~A&b|pc_p$)9AXiBMxz<;)%uXcBw!|dxX0k@|RJN=D0FOi%T?@Ph1)>M-YPb*OvuNYYz@6sO@U@Fo8ecPB%#J_q z&${!JFE#;YfO+ggy!Ss7Zyi;5Gkv_yL`QH1#gs`xf8}kI2rYxz0ADPF&JK&kLqnHR z6-S4<(5JC&b*^@1YiF)@Mr-FXI;J+ZMw|L^pcu64g{7quYRna#wI6K7=WziEU?{N! ztIYR1vg1?9oyhcgjNFS^FTHW5#i3De zCaT|LHA-S--3fJQk!qAgs7*{&4C>s1G#Ptc4vI>!fR(iB_F!+c+rw(Y8$ZWP{=yX9 z=;n;9{>82c&M*-;6A`2%fLrk+*G0}YX@piLAcUs+EQBjUM&S9bj zML+}wV-{kg-PnmXo=QoM7ASefIT=8;FbC#{xs20v3;$kIFP_Ri8Xc-=QdYGi zlJp%|qC}1T!-W2C$zy^=^W1HRHOT}O<*0i}F-vI;M_rFNdO2&)GEuk|(2=f;qAo&u zAxKjdQ}pn=*XGW+B@tB$sb+fp1mbd~jZ9@Xe5)NjXwx|OTKJRLky@A@mDoTP64{c9UxU7y1?hLzcUMBcWt5m zvAKOXX^B`{Y^>3C*aA82O3++im@4r?MC(Bdn(Oyil5_lFzf{%iuDBEzTsRl9k_Yy{A3 z@vp_0TaP)Ix~oU`9e+Q6KLZss_wY}?O3!6I)wuWvpLF3Tm6xpG@TAY_H9Q1FjcQ@m zsLcDQZ?ttXZlc9zBTIegukrZHsnnBkK)#&HMVCUajt>|x3hM3fhAm1!&DqDS`Cz>= z(XNKiI;Ay#o|0YL+;|Q#@eAzy82hq;@nr+FLcSh(Qg!;02VXh z3nb{s6Imb+XX@ZLb5%*Z)Y(DYCb~g&e}B(~iLwgOkG3AreBRZd4lV6!pdn7J1}0(0 z5A8sCgoWt-ux1IyddaX4SP2k|Dz6P+MS3GxRM1d||wn7OZD(iSu6@-9isneQ5z)(fiQEZ1Rww&YH>i@VRe0T4KsTvk z8&!hapQ;%xUu;l~XB90sgGGuI7Oqv$7g#hSD*Avr-NNdA&Eu`qv8*|B2H|?b^sRVw|YD3s|icwT=4;+?&RiqF?X{% zGbbG&6LZ<fpcVlA_y`JUQw< zMc5d1t-^u(KZ=rY%6OvIp}$2EZt-cx{X0j%trrlL&+2*5O@sx{pI4SmQ>k&zEuRLx9|!G*@!q$AK$zYKtwn6qj-EFV)B$c=tD}{ zP6JFFPPBY9ZDSM5jk(Yy%=R-J42s=`s2J@S;EuZ4gelvY2MlQg1jD^Suc};^aTw>D znYhx8Rf;~|0~#zfr>?M~8lj-YZUUm(Z65(GC>nxa^L(?>d1CqPaiC#VT5}_zPEwN_392=M+_4$AR$YiDSC>GMoA+R+%)ZZyZ{}N#3f&Gm7}LGm?^>JC?JX|XafYZx#Gh(% zTi!)To5y{zyyUwr)S%X156fe^cy&ndJvX}l-9M;Tb^MK$aHVyc=j(B_2yyXc&iJx) zZC{=Ib1h&+12%1hVSxND8o22`%j?|q5WLZ$pW&B@<+$EAl2)GVN-N)VBjU=NTq)(7 zZq>f@@=Z6x*W?f(%Eg)*oPV?K;`qOjfcL}>(Tix|z)anai{KP0eYsxQP;!A7zOc=iiE)u>qj2Msp zEckFS94XoOUMNBE*Bj5tcqmW(@bK?6^MU2=C;yDwVc9ZfL%+zYr(iaJyDJIPuDkGi zA>xe7_;dSIfQV!$M);8;YtURfJvBA>a+yzt1Us$Iyvyi}! z_Gh@1!k$e%XW-S0re!HRzDjN0{LynsVmqx`xcU9WUVpv6ad(kwc4!SiM+;#+=!Kj( z9(xZFs2l3h({Z)NEQPSc<@;M7sJ!OQ8$lwDB>UnjxShf0=>^vNpk!QjaRA!!b!zi= z79HJ@#!}g|yj2YcZgHoVqxo3i#>lAb0wj8N3KPW)`14#T=JDh;DX<)XJp#$`V>^$0 zZew+z44bY>vCA=Qx2=Q|e3f)WI!zl5s=3KP6W|Qmt z3(9~4EdfKPXnD6VN!)QzMeS^1g0Gc8$*EsJzVlLCdu|+r0-sQDD}!?a7?!>o4TwgLt)R)Qk(>*)sYy#tRn=;3 zb1T%*)?_y}Akv?!vykqX`ct5N{e8{azJUo$SCj`Vl&Nl`7R-+4vW*PhM|i#|;4$S%;6RJ(cqomh8F{ygY*!*@ z$_+O5Ownw96(D9?bT$?xL^?=5E{8KyHEXSgQYFiMMLz+;7a-bY8nIk@U~2NIY~rTA zY|*9#?J@~eC15x4x{ZZBK=KmG0Eleur5RRKn zYBD){G6$aT&sKQ43MjiUX6_WxT*boI0JUc)RPq)jk^M==xpD$n(%EUxQxv7?e%pYV zLR_`C4qt(T%W?pep+U_f^I-(mz8en0r}iQSui{?BvcVX=b>&P{lYvTphsxp2z42%0 zv0S5;OHl}^GTD;mSkEb9)SHGWTpCW`a9mSqxZ=^o_5caPXHJxM`H-k@1!}n(MQVat zV6@l1zx~Z3?OIH7-15Ug9Kht0PE7;K)mY~KU7?h#Fm%cpz((Dx_)_GSmytvjfL6JH z0nn6$hkx0jl_7n<()@+<#fFzCMx zp|Jii&Ivw0^%u{bkD=74#E(Bo-kVKs8D&u-~`@KY&@IVg_J#ZH&eb zVk%Y4#$yok9Db1NVij{ATVgAI5Hmx?3}H->jv0>_<1WZiygy@h))x4`1f}|riqUWj zQk5`GT8S0Xvq;&-^zAnxfgglP8=);B1CfFyPHG({Uq%oRI#&vFU2W&Oi@8!4$+w5= zT$~yi0UP?=6@Z?{xO)L8J&T8`O+jKfCHrFH|m`tlb@Lu)|V+EoPN>r z9&}W4>PPCA{-UByR9iBiB0m-4Ew{p#0G8C6oJv5NR-d~Goks_fH*H10-mBN$<8FKC{5nb1K8pXu>kAM^zFTrppeJCTIyB}U%=ASWQ(fkP!GGi`)y{}~rh{#L5 z62Fe?xNI|L{^NkBh3k*J)U`}g$JaK|tFiS*-q>=K8_#8F@m#(|u9Fr{(*^w&*y6e6 z$P&+08I>9FYST3P08(2%L8d6~^R9zw7Bi)PAZV^0hv@F}h^rXnKrVq7G2PC?{ znGh)TvX{SyJQaQu75K!-w~gvJ1oYd^lLAT$es_Wm3uKgK8x}%j!X67)>B6jDA6!MGW@&nnk({zKLNt%Sh6_x7ry^DUegKgr3-KH&dcA0eOmjTjidz#96&sD8xzC|_ zk$|R-^lE%ly&cy0(%#s`o2~>8t{u7tzdK}xV{_}KweZR@IC-#%>}g@T+4xR0n*2Qq zjC~Aj@`hY~Dg(&hl5W3yk$n10eHzLw*D~ey&XhZ?6ocRfQ~V*CVWCJi@{Ggn7}fl7 zc@px;Hq^zq3%yTGA%^DTgA!7hYWIHK(C(O2V*?>BznUvZgyW-Mr$34p5$ zUIM@XHgohu3uX($ji1O3gc?lBKZQb!ovaXcpi2oyLplORJ3HXpSEv(h7)7DFl!4AN zltZbB7Q#2XN6AI#_g5FB0Sw(sIM&WWq7GlLN>>ucCCmn9!!$tNekuw*0|EKRV?aG` zdMucMPSpcP3f@7qap5nJb_G}!<5XEELT8=DEK4CuEdr%&x)v2|Nr5jfwGv+4;Wp7L zN1@7{c#$>0qH|d-t?#ynFtn(!|7;@`7mC+s7yE)$`3HNX)ad^@EeTY3A^o2k4s zu@;O{-uLMpth~RacaZWvPVbq@dndgkl$VE)3x+Fi4ZXvZcM-iqly@4vLzOp^-ZPZ< z5ZGPdRNg)CM%#~d)U`5>GiFEK9rTV=$*bvo39-wMDcH)y=t9QiArUd0i8`X_Zla)3 z$8cfeh+=Y}2AleyqfB`Z*o}2&Cez$<(hq3wQp7Wg2;A}>c2l<*#Zuhz7udv)6(Gv+ z|DalXWi}$%1)~MJD=R~{nr_G+h%$q~YT}WBp3M;|161gk^ALm2Dq_e|N78g;-^0L$ zD6okHdkJ|VW48iFY%~0FWPkV`Wo(kHW$Z@AhB`8%2bJeM{a#44 zeV{%97i~YmQCFjqhB)djQJx$}9a#}=@8_sv?~b;gsPCPKwhwlwPlQC<2RQ0ONRngLgpA73mtXKlm}J1NO{1B8Ol@S;4Bvv$k%!)+U|DLaRiUH z&(MZ*{|xy(3ft+&-8OXP?@}1*u_5)dn?S?uXwjYWLDJX4i0EgSJfQt4qu)a!cFJCa zkLK2*oFsVy3B+uPL%Le*1txc&wB3c1i#zRkEWYUy)>fsFscjfWMy4K6zx&iLr=ii- zt(!PCREt{2vwdmUJ#%+ns$b3OP@a(7{KJg5)6U}V3hZwA0NQtCDgj2Oex`o8kjE)S zO=U9VeOKxoz__MG;kAl!Z0>t2VsV#4(WVA?TB`B0iBnE4J^dJO&If5qEvuU?u&%&B zJPIQQhm&|N7t`@vPNenfTV93U)Mau`%LJj+Y?~G!F4E;f4Mu`tknUptXA*Gsx(bQ3;79rEnF3_U{%&WC^(gpoJv09geOu+vT3|yrja^H9^WnR z6UeLN)+V1B{ii`XHbCAD%5lOHLoYB?jTGGJfU6)J#}~6WCX7_;78p!4A%3jdJ7ggN zIpiD$hy&hQdMx-H;B^q3!_v{g6NSynitAS7??OBhb~L@cowkWHr>25`0IO^`nf9`Fx9m7w8P2dLoy&x#S?%(EM1gm- zVWl3UymG!%o9Jj@QhOdjz$Ue-O%Je4z#xB|Fe~+}l<)QTbG~7ddv)fRkP3UFNL})MS@p_7)b|;i{U^ z**V$f(6ctShcB3Wz7sd^ z`>?4K4meA3r+!Jm6D%7($6P}gUOm%bo&9|l%TIwdI+SyCEh0E%Q_S!0qG!M?2tS** z;R-;TSGAZQ6zK%QolzY;GN3*p!|nKWF5K+Vj*n~LcsfJ)G7m#N)aCBZjaGaga@$4zc&gKD0fCFZoC&uy;t@CrXgf22NLYboK4=tE_d$(V8C?D zcR+JOvQs5@`1_((xGd&YEJEBe_%r6|kUXYmZJNwIzd*2q09P|CnB3f#4=Ol*7+S)> zqmB-vBQPsFMH?t!(%Im;!h)0Z_c^#{w7vO3u(sDC`4;FQF%%sV*$#amA1+n5bHr*8 z8S~+XIc{MN7@B@*=C}ay&vE;!03OV4C*imG#Y=ED7JG+hVCvLd&j5Gz4P^m(1sTma zUCb1-7_f_c!UPo#?dyEKZc=u(azpg&e#jx@XXeI#*0DAo8~2&S{S3>)H={nqsE#_R znSfOwZ~BlMZi&aO2(?JcuhW7y2SrB5!=~Vq_H^i~!b|fmjWFG%kN5LgG zztm^UOtkVD5EnZQRngRJ4?Uu}=F>FQLk7AcUkc==k;%-WCRa-|mz7<|cn!VC*oMh~ zJdNdDN*t=P+h=b?mz33~(sQ{DTBSTD8M#HKpaxW8Bsp{YU30g*V{@;UaqaDH~ zw=&nI@R=p7Vg+C+eCPx+HT*L(dM%^zY3LhNw4*+pP%qWm^D(_+BYJ}bv>;a3Jr`3KO5bLwunco2GP{X&S9It$_Nu~^Q-n!2f(QF6;*VvoeM z)NfPxN1&apYR%Cs(CSsuevll#7`lQ|Zml4+xSPT*vdRLbD{NI8_EyzoFAoIEvJoAr z!dE=Acu36B#7tJE_UuUYl_E3X9F&+c$eC$42MrAk;y7b`kLsbn$ZO8f3mB!~tMv*z z8!ylUCZ4+uV-Zv(_HtB*`Qr@`PJX$50T`GNza8-j*2ZHnyr?$TbxuvpgC&ZX>yf_;!igXV2=E#5ow7)tr=q)(@*oC+*m)$yT$$HF=7s#A9Wridx*t$^$~VN+s)BB~`>(fqg4_;M zjJlk{q{UK6@9NB5>VFeq-z7G!Gpu3a5woDjJCm&OV1t=-a{>($?gyp6L>ns8_>~DM z2T@~LZ>3z`nc`n1-$qNYHsiX)ZbfY4E{wuf4YA>U1&tWf%-LA^xs|*Jw;dQ>sNrLkibSKVriUKwGY%0gc+5)v}`1tNIpf!T8yqzvF0?3=;SESqTU$NBCMuCK2!y8UNlwhqo~OzwNS$v5P~jm>I3fwmO*mvVxkyElawC8VVpS?vmUt* z1;kVr_zXcF;IP`M9?ZhbVW;AZ-znFDHHHOtWHz3)zIS*F>nwn7wPOVxvd3_%269@lv zFqa9K1ghHj`(RCNTCyGWG}vlbR|0Ib^)!I%^{u;w8&=WQemL3Lad4cZt~RHnES zR=w)*MG|m7LfrXwHku7|HkF}sxfyLucl(oDdZ39h&NTl9xq8~UXr|n`V7@DJV&6XJ z&6zndbMAt^eWtp3rGV*<>Dy=KygB+70Y>qL0o@X;5%`^pUzr2-uIJfm8rZ@#-0O#F zaffV%jV4;q04olLk6wU|4pmt(5~25-Qsf`0XRQ)aWA?-go&@6Q&?#Mdq8b49LzJza zI0t4^tZnri7T-;*$SMs~W#ikx_|Wp%R}@&Aywf0L(SogzF3_xc!utMD4aXt(PJ07a z&3(Q=mvGAp^evbUwUt(x>Es(YYar+1f&g`RNRM~VD&SXXPu$IpI~K_X4|&Riu-Stp zO|v?rKp2Z^uC1b|pSq6oYc+t$$xuePyU@7%DP+k~fi|eLV+yVXM;%dWRO1bz>jmt4 zcB%_Laoekk&*JLuFF?3wr&}S=C_i@U{)hx&EF{dU@WzHPn8e^#1Qn>R!hwrf-%rsO zrsIwjGz zPBEWto!Wxcl2V>(Ai@!3eRhiX7RYvJ0rMt+{J|WT{Cyx%w1x4Y5*6FmSot82*+H>F z#ivdE=?3=|e+ph?WmmSnv5(R;Ang6&;k5!WU8s)UTu1M=UoGHujp9GDU zngO=EPa4~HuMx!O3!KCM4~oH{K%Vd zP(U50L{E+ua0ZMHIUc0ooE;|^dRDBp!451a%xEpEGZs=-$3uX1^d3E6*f8X_mXj>IK(0c4IU17DMQ*w9c}(3o7Vp_7KwZ zrIA^cG;uPa41i=UavOsXAs0eEHgW&dtv5_Zhqe7=5`bEmMQs&Bozz6F5OGp3VYvwYQWAuq;0)#2x2 zQ`8&ec!BRr%5oGjGL@4ps0O#Z$PVVbtw(y}RbbWY)uCvs=x;OJ@;iw8&S`;auhUoU z9O`r8latO7aI1WkKKRcRu{Tgy?V(o3+B1}=&9RnpaqWAfGH@ZX>bvk4(Z5LnJn5)s zuf+6wX6>P;?0~QK(BpRCK<%OJcHoEFLyy>j?`scju>*gtJ@k+rXsbQ+oE`Ai9(vji z{G;~JP2m%258WI-w)W7k!o6z`yUf6 z>IG7iGRUP&z3?q@#h@u!MW-tU8#;Zbx|FpCzEYQ(e8LxW#V$r_?V;-(YdP^}!(M}d zNYw6yNSq!kP;s?Z;s!Hu=jBXvs>CO(#O+;jCL<9*uIXkAl|#>3r8=kQ9Sk1a+4#q? zd&aiT{Qj|nZ_NykYJ6ktp2kmAXyhBqPHp_O`LcN9yN`bVSme0I-4`{!|JMhWH13Fe z+dMtKx5rpDd52cN;DT5c3c@LHemfc`raS23tIF-?IM#D=1>ePv4HV+q;&x{~Vkzad;)F7kDZjEcjW%@@Wt$N!(wt_M2G>dJqUnF&J} z{6?L+qeeQ~1VKUwjr<7>b^vEUS1<&l0XA6BWMOL26K1Nm8WX>abut~@qJ=NwNSPyVL%Mc_){ao0G&Z2SBu9)?Lwif>n zJ_n9A`P63Z0Je@??!DcsR?QxkN;ps~2#}EtLlP@x@%ZScS5L3ic1Fj&h1Kt>U)DaY ze#5;}TtPf}J&In(-xd}YqYj2tCWMc4%M;;HNXv9DhT=Z~MG0n^uV{0Wph>2jC77-s zK>C5z+1bM~Z|q^%GrC{RThElmFwUdwEfY)(p;#!>0ogFJa`g2KL7m!(rvhvlQ@-u2 zQiCmKBLAD2#7W&?DjcO{=D*rA<ZRa4avP?f7!UkX%l78vx#XDjZM+NjG0B&c*};(#Tv0i0oN~VZ-Q)=|^|q%Cm~77x zNm5VPBNNC*xVG2`ARax&MwD#sz^bvJw;;Y&WyWf2Ff$-j_QSrc03rh`0Iu+c%EML( zh?LssK9Sf#;nGAWzKf0(W5YF)A)SA4yi!l};>!rXjk_#3qzB&Nm0e7id*u6wXVum` zVdC5)-$oq$%vHiUIX>&}(Yr6^?=rpnd9+!-S?_*^zuWZg&HTMn?_SSe_@i6P-#e81 zmiirf;wqHGSrUBO_t1OY2yq%!V;Z+tEt&9)ytxcq2&zVAgpwJv2?}>eZW!E=-6)6ngC_^UH9;O+f+QpCDO2lB z%)hX{K_V-3z*Rq0e?)e%WhLS9sxoO^me!scL`ZP(D`)Xy?^!KAj22*=F0U=8!)F`J z*Dw)z(72%zwCBJU6@s=Opjx0==!)||5~bt@+{D;;3T8!7fm&=d00qlUsA0{0 zHP%1k)Vj5eeb=Lwer|TD)n53XI~v-sext3>NrnA5Sp*>$WaWZivMxd`ayWao9fgk+Zkx5E~;{@F(Jh4$MDz0yi zUcNE4+IKVr_+}f1nD>30zBWm@7@ z#ev$1G`c=!Ct@9>7BClTPK5(b_kK#k18zGq0@U_9-3Jg0`;Q)IK^(*RH0(XTe89VP zPKHS3G1q}1>ZQV@<&a-#OYM_k97%}x#;t3uth11n(v;GvZofOWt?hm-IsAoB9=a%2 zJ@{eCeX~Iv28B3`&Pc~D7*9W-k2C(lkF5k_$Y~q~?HJFfiQ-aFBeQO;is1&1E2Bq4 zoHkK;s(3*djxH1y%aeyNxgy#7JB0d744u{WZ zFF*YSJip>N4C;abQ=$O7pmy&X`N6fjLuvNFlsn^dmWl+GmiPPLF6vbLt2WJ)l*tOPw)Om3`0Fk#)R@#>xq9w zSdk1cBJ*sn&pUE0;t_)!*Wiog!R{j+nhtCT-jei>2_M{Cb>enG`kvfS_X0*}BL*^9 zx<8l&Plsxsz>o{TOy*POneU?uNRb08Rax7?dC+SkqgX%|0!8^!4ak8_htcEXlrO(g z(9k^dyQ;d0hHUuW!02@T#N7zs(0$I^P`6t^MW+t7qPnPay?Fw;26cjP_Z6i-Yo%Xmr8gI)KWwF!GaW~w zi;L2?Sm{?X9rzn4N?&fJS27*;3R&pJ3;TDKl|F~*Q-S|Q=_N>4gdB(MS{wdvy;IwA zr*_Ak8czo`7&~e49a|9j<-0kX+wR^WEGmX%;VTN{L{XKmSxwr9hpk2F`>k~Q^e|kM z{C6$r3BwKBs)CDE%^|bNBx~=ru`2 z9#s&phN=yAI@-Ehlb@(XjYqO#=Q^*Os~k*5Ac=7gsy(UionegDK#%1(fn{6M?(V#< z?yF|!7w5)H#!hS!)(AV`^w=f%8;tqzw@l72;jCo}D%j(YL$^J`SFG!+K~z7*o%;@mu#AO8+ZltpRnq=rl{GUfzFSe*vB1e z?36Ri6E%I;F^4l8z$ro8zqJzy>e$m{+hl}Dmt4)MmcZa|ea;rYzIU~6@KnHQ@sw5$ z)Qv}4@dRm4*pG^Q+^{krHZ6w&Qo)qR-G2`V=MOylBmDI4=AWJX^DO>g`|o{De!ac_ zjNd-Yq}I>;M?+*-`&J;Vc%$ePK;i*!Ie5w^AOr^A^f{aS%qXDZ$y7%>{#m=JMtrJkZtR=VJK;k@^L}-Q%qs@4-2yYOFsJ_ zk@87F_8-~V&lP0U68;)E%kI5-ApI4kYF&gxS@n;rJk9#!CIT~(`&FVOjWA7bfSct1Xt4q z*iK29z*vGNXQ?pWE!(6^>mw2CX9Ccax5qMl%OZ@J}$H7nQ6lM%zQ zy+Tffl0?NkUJ_G>+(cTS>8GG40LxkE>202Wa>db5?LexfLe@)pYIU#x^8(YFe5ymZ zVd-s#sTJ`rs6|(*g0>!ka%rS0g(pp+^Ezz)CCp)yks8s%VO<(aUm!rS3&pcSo%__d7Ql`JH@$D>bcX%(i-1ZX$nhx5XBECcMt>r4N<&nSI@O_| z`7TO!4Z^zxkjMTVxq%%PkTEdzQn%OgV(ex|ly74~c-%AwK6HX=30w?iK^N(>fo^xr z=YjSjx5zn_>VfK-{gzE4Ra|-Fhb6j@)d}2 zt`00SuTfEU@bXDHOmAUos>x@PUQg7p4BLchPKrXM%=ZgK%7XPYr=P%dby^GGW7Cl0 z4Q>)O`JcO+$n}LYg_Z9{z345j;e!XZx8SM&p9XkPND^mMa=*n7p#m=XgyNB~O`>z2 z^K8Rj%PQMv4uJxLEYZ_EXWnZD0479RGEX1`+WzMte43j;G~{eX5C#@09&-m~)XG=J zd_&B)5c#;R^q^MRAiSE07E6LF?!M>#2*itJv75Kw(K`3KMz|7W_|wu?w6|`KwMq^- ztN^<+&&28-fZUA@T^F!vB2RSyv_|-Aw7J0UXQPgpk4K<1%o>MfuekxHGa!8Q4#ERv z8kvuxXMmlu3%67!w^Z!5G(v0FF=v*$AX^zry|2W2I70X`25@l6w`pO0B}zE3nb-)- zG)yr89(Fi`PK4x4PTra2mIzOkcF~0>iuRGO>pBfR(GBu&hfDdb9L@p;iY|_b7rwpV z;L^;IT)<};dWM%cp?(=~Ay^mjw*Nwb=7eoMpyTNO9QRj{n2W$QCfa0nt~v!aoeJhl z*n1Fiy!8c0i3+WruYd{!rX$=B>ZlQU<1qHNp7$gs}qNKBweU@V;0jLeq)rj5X7~%+CjuEu^c1*5v=LUA8A4-1KNzPZn zdXdbQ7Z4Zf%>f_U^V)#TOkv68OLf5ZR=r_?0sSxFIjd^(YDSxfK+3F6QxFoDEIplM z^5jFjx#82(6fCghzMTN~}>oJ#*e9D9Xv>l@W%kDoAV&>zTjDql!VCd1EMq2<9N1ZmAtW$jARkS|%9 z+~it%53FgFU#qTaCUkYUR1`t#+U{apv{Lb8EEFk+*9W}mfa{X*w+Igrcv3!93V(W7 z&=D8bk=`v#sCrEzlq%&)!%OoKuUHtM3ZpH=<~uu@fklsSAUevi#vi~JY~LdF2A&o& z+HOL02+<__jK1D%fQ<`WMq%D*pNSgkA{F|>99*WaGTN?(aV_!)locs?^&S$;=lJ2n zOG@$)INlL};3nVx!47}PP^1~pKN5kJAss6lmNhM^^dy|LYhF>522ZGq z9K#_&TOk29+REgyJx3(SrQ)}mu~jG5nH{JtSM_6yta{lMctw1owb4Nn=l2aud`zbCWd2jzDv{Bu;#GW$lk1Um_~Nx zgjd+NFl&kwq6^coSJ*iP0gzMPQ#P`=Q%(J+k^OUJiNzkzMfQ%s2`DLw;Nu?w@U zz$yl)q-M%pY?-VE1A7^;htrxI(j++-qIIJe!^g7_s!|c} zQ)3-SEgy<3a!SMC`E53qlTe3A_$*qRgsEE*fmU*Bf}G9`43P*{=|Zk^YpUdAjgqQ` z`+_J^0EsH^13G@4^p=TYkhzHZsZbSxSGe~i*i=+sh!F&)LRu@gsP5xd0~|a;6cLC> zWKxl;Iguc6yj*{b9Y9zR-Y&s;k`h%TD!I5y8)iU5a?Sn~!Yno>#W0@+hdco@Xf;~^ zq5ez=OdmJutI=u_TelDD>Rmf;>>h}D>!-&&^<`9u-}}zc${fbQm!DFf*7l|3N6>S3 zeWEQnmen62J=!yO=h&~4XQIbyaqQTLBa*RZSIy4&xjov>w#_(>SDSw7l4-BT!neY~ z>Bpvy$5`NiCg%G!r!8hoeTHkwv zWAKy*CzJf1>KNuk7o9C_gldCWG?{P^gaf?!t?#`~-+PJv!*ifm4m>mO7<F6e?Ql7vb>@hhILLnl3~Db$l#8GsmdFJWE|&4FRWV>cO~`F(z?&a zOOjL454q}o)jrArRT86YzPuM<-UnTx5*Q%@&cOu(mDFh7UXZ|8EIXz%OQX3QiAthm zm`Ar#a#9{@DY*cLU0~0{{;^hH+6AM|)tDi?;DgnfPRMBloB@?VGlF+~5SI#jzdYcE zxadq=B}Ww-kbSHbH)sRS#7w1^qW;1BGbad#6cK>IPI$};#)$&cij#D+2k(oitm0VV zh^5W+Gy`?J4q@~l{^1i7pK2*r`q9+tfQaHapS5U+QAyE@9TBb4|3&!nX?>)M{Umch zH%K7K%nDpgRH%pMg?ExWPLqffH#X&WpR7UE#Ilq{8&FP6tCVe#;@j#X!92yf5~U|H z3d3fxb{w*C9DEg2NEpDeS=4WqCHi^H7eK-as357f)L8+j!Sof>K-$Mx@`SQa<|4Di z$ce3eJh>W>5>hUsZ59!Df<6iiHpM-Erov|IoU%#V34n?%mQU^uuHOeKlmj z+JRlW<5NN0vm#tU@VkAJo$G(Igh8XWwF8+hPK- G?Y{wDns|W# literal 0 HcmV?d00001 -- 2.54.0 From 233876d8dd709a400e7ef693bd5097fa78149898 Mon Sep 17 00:00:00 2001 From: Marouane-Djabri Date: Wed, 18 Mar 2026 15:36:30 +0100 Subject: [PATCH 5/8] removed .com file --- programs/cmm/browser/WebView.com | Bin 58730 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 programs/cmm/browser/WebView.com diff --git a/programs/cmm/browser/WebView.com b/programs/cmm/browser/WebView.com deleted file mode 100644 index 2f911aa1a68da1737cc1403464b8ac1950914758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58730 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 G?Y{wDns|W# -- 2.54.0 From fb7fdd9bc36d4f0d0b795998ff5d990e2dc1131f Mon Sep 17 00:00:00 2001 From: Burer Date: Wed, 18 Mar 2026 16:51:24 +0200 Subject: [PATCH 6/8] apps/webview: some fixes in PR --- programs/cmm/browser/WebView.c | 12 +++----- programs/cmm/browser/const.h | 53 +++++++++++++++++----------------- 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index b497e6ec1..2307934c9 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -62,8 +62,7 @@ dword TSZE = 25; dword STATUSBAR_H = 15; dword TAB_H = 20; dword TOOLBAR_H = 0; -dword GO_BUTTON_W = 30 ; -dword SEARCH_BUTTON_W = 30; +dword BUTTON_W = 30; dword SEARCH_GO_GAP = 5; _http http = 0; @@ -132,9 +131,6 @@ void HandleParam() ESDWORD[shared_url] = '\0'; } - - - void main() { int redirect_count=0; @@ -365,7 +361,7 @@ void ProcessKeyEvent() void SetElementSizes() { - omnibox_edit.width = Form.cwidth - SEARCH_BUTTON_W - SEARCH_GO_GAP - GO_BUTTON_W - omnibox_edit.left - 52 - 16; + omnibox_edit.width = Form.cwidth - BUTTON_W - SEARCH_GO_GAP - BUTTON_W - omnibox_edit.left - 52 - 16; if (Form.cwidth - scroll_wv.size_x != WB1.list.w) { //temporary fix for crash //related to 'cur_img_url' var read @@ -399,8 +395,8 @@ void draw_window() DrawTopPanelButton(FORWARD_BUTTON, PADDING+TSZE+PADDING-2, PADDING, 31, false); DrawTopPanelButton(SANDWICH_BUTTON, Form.cwidth-PADDING-TSZE + 2 , PADDING, -1, burger_active); //burger menu - DrawTopPanelButton(SEARCH_BUTTON, Form.cwidth - PADDING - TSZE - 3 - SEARCH_BUTTON_W, PADDING, 49, false); // Search web button - DrawTopPanelButton(GO_BUTTON, Form.cwidth - PADDING - TSZE - 3 - SEARCH_BUTTON_W - SEARCH_GO_GAP - GO_BUTTON_W, PADDING, 12, false); // go to address button + DrawTopPanelButton(SEARCH_BUTTON, Form.cwidth - PADDING - TSZE - 3 - BUTTON_W, PADDING, 49, false); // Search web button + DrawTopPanelButton(GO_BUTTON, Form.cwidth - PADDING - TSZE - 3 - BUTTON_W - SEARCH_GO_GAP - BUTTON_W, PADDING, 12, false); // go to address button DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, sc.line); diff --git a/programs/cmm/browser/const.h b/programs/cmm/browser/const.h index 99a84962a..f6a154e7d 100644 --- a/programs/cmm/browser/const.h +++ b/programs/cmm/browser/const.h @@ -12,32 +12,32 @@ char rmb_menu[] = "Back|Ctrl+< Forward|Ctrl+> - -®á¬®âà¥âì ¨á室­¨ª|Ctrl+U -¥¤ ªâ¨à®¢ âì ¨á室­¨ª|F2"; +�®á¬®âà¥âì ¨á室­¨ª|Ctrl+U +�¥¤ ªâ¨à®¢ âì ¨á室­¨ª|F2"; char main_menu[] = -"Žâªàëâì ä ©«...|Ctrl+O -®¢®¥ ®ª­®|Ctrl+N +"Žâªàëâì ä ©«...|Ctrl+O +�®¢®¥ ®ª­®|Ctrl+N - -ˆáâ®à¨ï|Ctrl+H -Œ¥­¥¤¦¥à § £àã§®ª |Ctrl+J -Žç¨áâ¨âì ªíè|Ctrl+F5 -Ž¡­®¢¨âì ¡à ã§¥à"; +ˆáâ®à¨ï|Ctrl+H +Œ¥­¥¤¦¥à § £àã§®ª |Ctrl+J +Žç¨áâ¨âì ªíè|Ctrl+F5 +Ž¡­®¢¨âì ¡à ã§¥à"; char link_menu[] = -"Žâªàëâì ¢ ­®¢®© ¢ª« ¤ª¥ -Žâªàëâì ¢ ­®¢®¬ ®ª­¥ +"Žâªàëâì ¢ ­®¢®© ¢ª« ¤ª¥ +Žâªàëâì ¢ ­®¢®¬ ®ª­¥ - -Š®¯¨à®¢ âì áá뫪ã -Ի ç âì ᮤ¥à¦¨¬®¥ áá뫪¨"; -char loading_text[] = "‡ £à㧪 ..."; +Š®¯¨à®¢ âì áá뫪ã +‘ª ç âì ᮤ¥à¦¨¬®¥ áá뫪¨"; +char loading_text[] = "‡ £à㧪 ..."; char update_param[] = "-e http://builds.kolibrios.org/ru_RU/data/programs/cmm/browser/WebView.com"; -char update_download_error[] = "'WebView\nŽè¨¡ª ¯à¨ ¯®«ã祭¨¨ ®¡­®¢«¥­¨©!' -tE"; -char update_ok[] = "'WebView\nà ã§¥à ¡ë« ãᯥ譮 ®¡­®¢«¥­!' -tO"; -char update_is_current[] = "'WebView\n‚ë 㦥 ¨á¯®«ì§ã¥â¥ ¯®á«¥¤­îî ¢¥àá¨î.' -tI"; -char update_can_not_copy[] = "'WebView\nÂ¥ ¬®£ã ¯¥à¥¬¥áâ¨âì ­®¢ãî ¢¥àá¨î ¨§ ¯ ¯ª¨ Downloads ­ Ramdisk. ‚®§¬®¦­®, ­¥ ¤®áâ â®ç­® ¬¥áâ .' -tE"; -char clear_cache_ok[] = "'WebView\nŠíè ®ç¨é¥­.' -tI"; -#define T_RENDERING "<22>¥­¤¥à¨­£ áâà ­¨æë..." -#define T_DONE_IN_SEC "ƒ®â®¢®: %i ᥪ (%i ¬¨«¨á¥ª)" +char update_download_error[] = "'WebView\nŽè¨¡ª  ¯à¨ ¯®«ã祭¨¨ ®¡­®¢«¥­¨©!' -tE"; +char update_ok[] = "'WebView\n�à ã§¥à ¡ë« ãᯥ譮 ®¡­®¢«¥­!' -tO"; +char update_is_current[] = "'WebView\n‚ë 㦥 ¨á¯®«ì§ã¥â¥ ¯®á«¥¤­îî ¢¥àá¨î.' -tI"; +char update_can_not_copy[] = "'WebView\n�¥ ¬®£ã ¯¥à¥¬¥áâ¨âì ­®¢ãî ¢¥àá¨î ¨§ ¯ ¯ª¨ Downloads ­  Ramdisk. ‚®§¬®¦­®, ­¥ ¤®áâ â®ç­® ¬¥áâ .' -tE"; +char clear_cache_ok[] = "'WebView\nŠíè ®ç¨é¥­.' -tI"; +#define T_RENDERING "�¥­¤¥à¨­£ áâà ­¨æë..." +#define T_DONE_IN_SEC "ƒ®â®¢®: %i ᥪ (%i ¬¨«¨á¥ª)" #else //===================================================// // // @@ -96,12 +96,13 @@ char webview_shared[] = "WEBVIEW"; enum { NEW_TAB=600, ENCODINGS=700, - BACK_BUTTON=800, FORWARD_BUTTON, VIEW_SOURCE, EDIT_SOURCE, - REFRESH_BUTTON, GOTOURL_BUTTON, GO_BUTTON, SEARCH_BUTTON, CHANGE_ENCODING, - SANDWICH_BUTTON, - OPEN_FILE, NEW_WINDOW, VIEW_HISTORY, DOWNLOAD_MANAGER, - CLEAR_CACHE, UPDATE_BROWSER, IN_NEW_TAB, IN_NEW_WINDOW, - COPY_LINK_URL, DOWNLOAD_LINK_CT, TAB_ID, + BACK_BUTTON=800, + FORWARD_BUTTON, VIEW_SOURCE, EDIT_SOURCE, + REFRESH_BUTTON, GOTOURL_BUTTON, CHANGE_ENCODING, + GO_BUTTON, SEARCH_BUTTON, SANDWICH_BUTTON, + OPEN_FILE, NEW_WINDOW, VIEW_HISTORY, DOWNLOAD_MANAGER, + CLEAR_CACHE, UPDATE_BROWSER, IN_NEW_TAB, IN_NEW_WINDOW, + COPY_LINK_URL, DOWNLOAD_LINK_CT, TAB_ID, TAB_CLOSE_ID = 900 }; -- 2.54.0 From 26c9785ba215917a40f2261db91d2a47e6393ba0 Mon Sep 17 00:00:00 2001 From: Burer Date: Wed, 18 Mar 2026 17:44:10 +0200 Subject: [PATCH 7/8] apps/webview: some code optimizations --- programs/cmm/browser/WebView.c | 55 +++++++++++++++++----------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 2307934c9..d3df3a73d 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -57,13 +57,14 @@ TWebBrowser WB1; #include "history.h" -dword PADDING = 9; -dword TSZE = 25; -dword STATUSBAR_H = 15; -dword TAB_H = 20; -dword TOOLBAR_H = 0; -dword BUTTON_W = 30; -dword SEARCH_GO_GAP = 5; +#define PADDING 9 +#define TSZE 25 +#define STATUSBAR_H 15 +#define TAB_H 20 +#define BUTTON_W 30 +#define SEARCH_GO_GAP 5 + +dword TOOLBAR_H = PADDING+TSZE+PADDING+2; _http http = 0; @@ -135,8 +136,6 @@ void main() { int redirect_count=0; - TOOLBAR_H = PADDING+TSZE+PADDING+2; - LoadLibraries(); LoadIniConfig(); HandleParam(); @@ -715,23 +714,23 @@ void EventClickLink(dword _target) } -void EventSubmitOmnibox(bool force_url) -{ - char new_url[URL_SIZE+1]; - if (!editURL[0]) return; - if (!strncmp(#editURL,"http:",5)) || (editURL[0]=='/') - || (!strncmp(#editURL,"https:",6)) || (!strncmp(#editURL,"WebView:",8)) { - OpenPage(#editURL); - } else { - if (!force_url) && (!IsAddress()) { - EventSearchWeb(); - return ; - } - strcpy(#new_url, "http://"); - strncat(#new_url, #editURL, URL_SIZE-1); - OpenPage(#new_url); - } -} +void EventSubmitOmnibox(bool force_url) +{ + char new_url[URL_SIZE+1]; + if (!editURL[0]) return; + if (!strncmp(#editURL,"http:",5)) || (editURL[0]=='/') + || (!strncmp(#editURL,"https:",6)) || (!strncmp(#editURL,"WebView:",8)) { + OpenPage(#editURL); + return; + } + if (!force_url) && (!IsAddress()) { + EventSearchWeb(); + return ; + } + strcpy(#new_url, "http://"); + strncat(#new_url, #editURL, URL_SIZE-1); + OpenPage(#new_url); +} void LoadInternalPage(dword _bufdata, _in_bufsize){ @@ -777,8 +776,8 @@ void LoadInternalPage(dword _bufdata, _in_bufsize){ bool IsAddress() { if (!editURL[0]) return false ; - if (strchr(#editURL, ' ')) return false; - if (strchr(#editURL, '.')) return true; + if (strchr(#editURL, ' ')) return false; + if (strchr(#editURL, '.')) return true; return false; } -- 2.54.0 From 803af4ffaeb24b4b36a42c83708257a6603c1144 Mon Sep 17 00:00:00 2001 From: Marouane-Djabri Date: Fri, 27 Mar 2026 13:30:05 +0100 Subject: [PATCH 8/8] updated the version to 3.93 --- programs/cmm/browser/const.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/cmm/browser/const.h b/programs/cmm/browser/const.h index f6a154e7d..5883adb24 100644 --- a/programs/cmm/browser/const.h +++ b/programs/cmm/browser/const.h @@ -113,4 +113,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw"; #define DEFAULT_URL URL_SERVICE_HOMEPAGE -char version[]="WebView 3.92"; \ No newline at end of file +char version[]="WebView 3.93"; -- 2.54.0