From 2e58b3d8dca1fcf85f66c680303dcdd8317fdb71 Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 7 Oct 2008 08:34:33 +0000 Subject: [PATCH] A++ fixes git-svn-id: svn://ultimatepp.org/upp/trunk@512 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CppBase/Base.cpp | 1 - uppsrc/ide/Assist.cpp | 55 ++++- uppsrc/ide/Bottom.cpp | 1 - uppsrc/ide/Browser/CodeBrowser.cpp | 2 +- uppsrc/ide/Goto.cpp | 23 +- uppsrc/ide/Help.cpp | 8 +- uppsrc/ide/Navigator.cpp | 9 +- uppsrc/ide/Setup.cpp | 2 - uppsrc/ide/icon.ico | Bin 2862 -> 2862 bytes uppsrc/ide/ide.cpp | 1 - uppsrc/ide/ide.h | 3 +- uppsrc/ide/ide.iml | 348 ++++++++++++++--------------- uppsrc/ide/ide.lay | 16 +- uppsrc/ide/idefile.cpp | 2 +- uppsrc/ide/idetool.cpp | 2 +- uppsrc/ide/idewin.cpp | 8 +- 16 files changed, 253 insertions(+), 228 deletions(-) diff --git a/uppsrc/CppBase/Base.cpp b/uppsrc/CppBase/Base.cpp index 0b5a9337e..5a194d831 100644 --- a/uppsrc/CppBase/Base.cpp +++ b/uppsrc/CppBase/Base.cpp @@ -54,7 +54,6 @@ int FindName(const Array& x, const String& name, int i) bool CppBase::IsType(int i) const { -// return GetKey(i) != "::"; return GetKey(i).GetCount(); } diff --git a/uppsrc/ide/Assist.cpp b/uppsrc/ide/Assist.cpp index 07d088b8c..6d25d4c28 100644 --- a/uppsrc/ide/Assist.cpp +++ b/uppsrc/ide/Assist.cpp @@ -1,8 +1,8 @@ #include "ide.h" -#define LDUMP(x) //DDUMP(x) -#define LDUMPC(x) //DDUMPC(x) -#define LLOG(x) //DLOG(x) +#define LDUMP(x) // DDUMP(x) +#define LDUMPC(x) // DDUMPC(x) +#define LLOG(x) // DLOG(x) class IndexSeparatorFrameCls : public CtrlFrame { virtual void FrameLayout(Rect& r) { r.right -= 1; } @@ -131,6 +131,7 @@ bool AssistEditor::ScopeId(const Array& n, const String& id, Vector base = Split(n[q].qptype, ';'); LDUMP(id); LDUMPC(base); + LDUMPC(n[q].qptype); SubstituteTpars(base, t); for(int i = 0; i < base.GetCount(); i++) { q = BrowserBase().Find(NoTemplatePars(base[i])); @@ -196,7 +197,7 @@ void AssistEditor::TypeOf(const String& id, Vector& r, bool& code) } String n = parser.current_scope; for(;;) { - String type = n + "::" + id; + String type = n.GetCount() ? n + "::" + id : id; if(BrowserBase().Find(type)) { code = true; r.Add(type); @@ -325,6 +326,9 @@ void AssistEditor::GatherItems(const String& type, bool nom, Index& in_t if(im.IsType()) base = im.qptype; LDUMP(im.name); + LDUMP(im.natural); + LDUMP(im.qitem); + LDUMP(base); if((im.IsCode() || im.IsData() || im.IsMacro() && type == "") && (nom || im.access == PUBLIC)) { if(im.IsCode()) { @@ -340,8 +344,11 @@ void AssistEditor::GatherItems(const String& type, bool nom, Index& in_t (CppItem&)f = im; } } + LDUMP(base); Vector b = Split(base, ';'); + LDUMPC(b); SubstituteTpars(b, type); + LDUMPC(b); for(int i = 0; i < b.GetCount(); i++) GatherItems(b[i], nom, in_types, tp); in_types.Drop(); @@ -442,7 +449,6 @@ Vector AssistEditor::ReadBack(int q, String& type) SkipSpcBack(q); if(Ch(q - 1) != ':' || Ch(q - 2) != ':') break; - type = "::" + type; } break; } @@ -870,13 +876,18 @@ void AssistEditor::DCopy() { String r; int l, h; + bool decla = false; if(!GetSelection(l, h)) { int i = GetLine(GetCursor()); l = GetPos(i); h = l; while(h < GetLength() && h - l < 1000) { int c = GetChar(h); - if(c == ';' || c == '{') + if(c == ';') { + decla = true; + break; + } + if(c == '{') break; h++; if(c == '\"') { @@ -900,19 +911,39 @@ void AssistEditor::DCopy() Parser parser; parser.Do(ss, IgnoreList(), cpp, Null, CNULL, Split(cls, ':')); for(int i = 0; i < cpp.GetCount(); i++) { - const Array& scope = cpp[i]; - for(int j = 0; j < scope.GetCount(); j++) { - const CppItem& m = scope[j]; + const Array& n = cpp[i]; + for(int j = 0; j < n.GetCount(); j++) { + const CppItem& m = n[j]; if(m.IsCode()) - if(cls.GetCount()) + if(decla) r << MakeDefinition(cls, m.natural) << "\n{\n}\n\n"; else { if(cpp.IsType(i)) r << String('\t', Split(cpp.GetKey(i), ':').GetCount()); r << m.natural << ";\n"; } - if(m.IsData()) - r << "extern " << m.natural << ";\n"; + if(m.IsData()) { + if(cls.GetCount()) { + const char *s = m.natural; + while(*s) { + if(iscib(*s)) { + const char *b = s; + while(iscid(*s)) s++; + String id(b, s); + if(m.name == id) { + r << cls << "::" << m.name << s; + break; + } + r << id; + } + else + r << *s++; + } + } + else + r << "extern " << m.natural; + r << ";\n"; + } } } WriteClipboardText(r); diff --git a/uppsrc/ide/Bottom.cpp b/uppsrc/ide/Bottom.cpp index 8c81b68ab..4650b4540 100644 --- a/uppsrc/ide/Bottom.cpp +++ b/uppsrc/ide/Bottom.cpp @@ -151,7 +151,6 @@ void Ide::BTabs() btabs.Clear(); btabs.Add(IdeImg::close, "Close"); btabs.Add(IdeImg::console, "Console"); - btabs.Add(IdeImg::browser, "Browser"); btabs.Add(IdeImg::calc, "Calc"); if(bottomctrl) btabs.Add(IdeImg::debug, "Debug"); diff --git a/uppsrc/ide/Browser/CodeBrowser.cpp b/uppsrc/ide/Browser/CodeBrowser.cpp index 6c68362e9..7dda7ef5d 100644 --- a/uppsrc/ide/Browser/CodeBrowser.cpp +++ b/uppsrc/ide/Browser/CodeBrowser.cpp @@ -159,7 +159,7 @@ CodeBrowser::CodeBrowser() search_scope.SetFilter(SearchScopeFilter); search_scope.NullText("Search type or header "); item.AddKey(); - item.AddColumn("Item").SetDisplay(display); + item.AddColumn("Item").SetDisplay(display).Margin(2); item.NoHeader(); item.SetLineCy(BrowserFont().Info().GetHeight() + 3); search_item.SetFilter(SearchItemFilter); diff --git a/uppsrc/ide/Goto.cpp b/uppsrc/ide/Goto.cpp index 0da0b57aa..8f3d627b5 100644 --- a/uppsrc/ide/Goto.cpp +++ b/uppsrc/ide/Goto.cpp @@ -147,6 +147,7 @@ GotoDlg::GotoDlg(const String& s) list.AddColumn("Nesting"); list.AddColumn().SetDisplay(Single()); list.AddColumn(global ? "Position" : "Line"); + list.SetLineCy(BrowserFont().Info().GetHeight() + 3); if(global) list.ColumnWidths("181 466 112"); else @@ -218,27 +219,29 @@ void AssistEditor::SwapSContext(Parser& p) Context(p, i); } -void Ide::SwapS() +bool Ide::SwapSIf(const char *cref) { if(designer || !editor.assist_active) - return; + return false; Parser p; editor.SwapSContext(p); int q = BrowserBase().Find(p.current_scope); LLOG("SwapS scope: " << p.current_scope); if(q < 0) - return; + return false; const Array& n = BrowserBase()[q]; - q = FindItem(n, QualifyKey(BrowserBase(), p.current_scope, p.current_key)); - if(q < 0) return; + String qitem = QualifyKey(BrowserBase(), p.current_scope, p.current_key); + if(cref && MakeCodeRef(p.current_scope, p.current_key) != cref) + return false; + q = FindItem(n, qitem); int count = GetCount(n, q); if(q < 0 || count == 1) { q = FindName(n, p.current_name); if(q < 0) - return; + return false; count = GetCount(n, q); if(count == 1) - return; + return false; } int file = GetCppFileIndex(editfile); int line = p.current.line; @@ -252,4 +255,10 @@ void Ide::SwapS() } } GotoCpp(n[q + i % count]); + return true; +} + +void Ide::SwapS() +{ + SwapSIf(NULL); } diff --git a/uppsrc/ide/Help.cpp b/uppsrc/ide/Help.cpp index 481e04056..bd38c76ae 100644 --- a/uppsrc/ide/Help.cpp +++ b/uppsrc/ide/Help.cpp @@ -616,12 +616,6 @@ void Ide::SearchTopics() void Ide::RefreshBrowser() { - browser.Refresh(); + editor.SyncNavigator(); doc.SyncDocTree(); } - -void Ide::ShowTopic(String link) -{ - ShowTopics(); - doc.GoTo(link + '#' + browser.GetItem()); -} diff --git a/uppsrc/ide/Navigator.cpp b/uppsrc/ide/Navigator.cpp index a57839e08..8ac1f8091 100644 --- a/uppsrc/ide/Navigator.cpp +++ b/uppsrc/ide/Navigator.cpp @@ -131,8 +131,10 @@ void AssistEditor::SyncNavigator() { if(navigator == NAV_INDEX) MakeIndex(); - if(navigator == NAV_BROWSER) + if(navigator == NAV_BROWSER) { browser.Load(); + SyncCursor(); + } navigatorframe.Show(navigator); } @@ -208,7 +210,10 @@ void AssistEditor::SearchIndex() void AssistEditor::BrowserGoto() { - IdeGotoCodeRef(browser.GetCodeRef()); + String cref = browser.GetCodeRef(); + if(!assist_active || theide && theide->SwapSIf(cref)) + return; + IdeGotoCodeRef(cref); SetFocus(); } diff --git a/uppsrc/ide/Setup.cpp b/uppsrc/ide/Setup.cpp index 7df73eeff..35857021e 100644 --- a/uppsrc/ide/Setup.cpp +++ b/uppsrc/ide/Setup.cpp @@ -353,8 +353,6 @@ void Ide::SetupFormat() { (ide.splash_screen, splash_screen) (ide.mute_sounds, mute_sounds) (ide.wrap_console_text, wrap_console_text) - (ide.browser_clickpos, browser.clickpos) - (ide.browser_closeesc, browser_closeesc) (ide.assist, editor.auto_assist) (ide.commentdp, editor.commentdp) (ide.hydra1_threads, hydra1_threads) diff --git a/uppsrc/ide/icon.ico b/uppsrc/ide/icon.ico index 17ff585b210f4de078b58b51c3099367e6542595..1b29c034623f494d92e32cc4c67e42b734c08674 100644 GIT binary patch literal 2862 zcmcgu&uiOA6#i_>KL`Z6$DY>YvJUi?-G$z2YLf~Q8aA7=kY%l++LpAk)Rxjipp^Dj zwrSe<(to8s^wN6|J?@{dC!H3w?~Q(VMs`DBO9w`8-kb0H=DjzvFi=ASH*P?TQw{i) zR;Awr-czjbdo`f71@st0vrDrkp1>W#eaDf~S=D*f@l|X}fpocCig^t!fjc`pOL;P$ z`Gp4i^4^9-QXa&}CUbd}Yl!nHQfOEB;yi&Nd|^v9DOT*|mW&u>ol3o{Y=ma9$Cg+; zi}6)Hp+p@7R50upBl7WboE2* z4-E`|?_qpS&w@jJZBeMxz3=c!}kUl#m*Yu zv?g%u1B7(0tZzrA>dykik7dmxJm|;R-QL1se;n0qiOCS#8M7?v&T93ylC z1*6YQ*mD_kK=s6wryM&*V1|hNP|Y(iVMadg2bFW}0HGNnygS8Q(HSBn4cD^~g|fbm z1J}b*r0R#}Y-8Lu$JFDgQb%A~;y(S*f#*I!NO!0o_AxYc^eE4X>A)bK+@G20!pQgJ z_}!55vyWg+s5i3C{1F1ff;acoINyb1Aok>%#^N2AM>Y(q&6jm@d_;ZnAF90@+aowe z2+xRMSTW|+o{wS}f6~294C=k5)H8}*jExy4O3z1dr(?|Np5z)ctc6+NsN~>u(t8-hkrJQU=EmNi+UmWILSK1@ir+c^wITbhUzWW$J;%Qo&WIG`s?Omae4CYj|;Mk#k+_6+}nHo=$sH_f6DB|4%@}z;x~R? bp1e6>JlUbJFV6>;w|VFMXMR@3|LxO%QP)-j literal 2862 zcmcguOKaOe5dLiWA$m%WJ=K^%a}p#j4b3SK7au|{HMt3bSGE*6ie+S}hMWvNw71f_ zdHB-b;zKXJ_vaMUnUy8kavrV|Ixw1@o$s5Son0>ma!|0b0V$^i;0=uuzX<%Gx!B*z z0i|ca7Gp>&q&fKo_6heNC8V{odf)O{Y)BK~bUKx~LN19LjYc6Wg&hX`W5<~ddCfVlZ;@HfRk&^6lVZUiLGG`oPODxt{?&K3n?t_2} z81`dwHkRa%n3O?c@8!?(#dSqC>R`gZ1v6Iy*O_!|mM7y={Eq%}p4<6+gq)Z6y8>S( znc<^8FgN0JEa}aB<KqtzRrziz*W9?l=ZUHhzP-L=n(xNDykaa*1R z%@wFts@T&9IHU71JQuF%qgg+MV+#a>4r)6ZY!ThzLHi6xwgGqG!ml)Os5=n41-rH* z@yWT>Jq#Z>?@i&rzgWC$hHF9>w!8!P|GorzRC`)K)uS6Q%?Ey0n*z3fv2@3>@4+2@ zNujr8CQ2@cQb_?BDQdBZa;b#k-1AZ{mlC)_+u`QZEo z(m22L3v<4zLMarWrX^CY75`H`?K>MSI!#JX2dliZDSCM{S(d9B&yAm78DC#aCO5~| z<|Wz5 bottomctrl; enum Bottoms { BCLOSE, BCONSOLE, BCALC, BDEBUG }; @@ -929,6 +928,7 @@ public: void Goto(); void GotoGlobal(); void ScanFile(); + bool SwapSIf(const char *cref); void SwapS(); void JumpS(); void InsertColor(); @@ -1019,7 +1019,6 @@ public: void JumpToDefinition(const Array& scope, int q); void SearchTopics(); void ShowTopics(); - void ShowTopic(String topic); void TopicBack(); diff --git a/uppsrc/ide/ide.iml b/uppsrc/ide/ide.iml index df5b2cf0a..e72a1f611 100644 --- a/uppsrc/ide/ide.iml +++ b/uppsrc/ide/ide.iml @@ -3681,180 +3681,180 @@ IMAGE_DATA(210,72,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) IMAGE_END_DATA(113376, 12) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,156,73,136,165,87,21,199,223,46,67,135,40,106,140,38,149,201,17,99,92,216,65,82,142,96,140,109,58,193) -IMAGE_DATA(77,76,101,208,140,70,18,72,80,19,156,98,226,80,130,168,24,91,196,133,13,17,21,21,23,182,16,23,138,224,66,140) -IMAGE_DATA(155,184,80,19,92,8,34,40,18,112,64,144,32,46,196,16,248,172,243,194,175,243,175,127,159,59,124,239,189,170,174,142) -IMAGE_DATA(223,41,14,245,222,247,221,123,207,29,206,116,207,61,247,205,246,205,78,153,13,195,76,97,232,252,63,22,90,245,22,105) -IMAGE_DATA(119,24,129,139,180,189,204,251,86,189,250,255,83,102,251,124,97,90,196,23,89,184,158,103,173,239,39,90,59,203,205,207) -IMAGE_DATA(41,101,137,169,17,204,184,208,159,183,190,103,245,106,220,61,230,253,78,245,111,150,188,159,109,123,126,218,214,95,133,211) -IMAGE_DATA(119,9,54,135,167,113,213,101,41,175,35,108,213,165,253,97,104,211,218,28,142,197,158,178,61,125,222,137,178,1,195,200) -IMAGE_DATA(249,27,1,207,221,250,219,65,102,90,198,198,12,155,155,155,85,108,180,49,47,83,130,221,170,191,108,255,31,126,248,225) -IMAGE_DATA(57,242,89,255,79,244,119,135,190,255,223,37,250,179,217,234,125,180,58,148,148,65,81,10,12,74,245,54,99,50,58,208) -IMAGE_DATA(219,25,83,87,219,200,234,214,218,202,202,234,179,109,130,95,232,115,86,190,183,92,139,126,86,190,167,79,181,57,238,41) -IMAGE_DATA(179,234,250,203,244,63,43,95,106,163,183,220,216,245,27,195,63,203,242,47,245,199,180,1,204,12,138,19,111,176,173,210) -IMAGE_DATA(138,61,131,150,38,107,226,162,160,245,209,222,250,89,177,85,127,85,244,91,253,208,190,236,198,248,75,125,91,53,125,109) -IMAGE_DATA(167,69,155,255,78,127,108,95,90,244,189,15,254,121,85,227,95,18,143,47,20,148,65,173,131,173,193,100,147,180,173,254) -IMAGE_DATA(214,211,99,112,86,89,12,107,99,47,215,95,118,252,181,249,31,146,119,189,204,52,103,250,70,153,26,44,83,127,155,64) -IMAGE_DATA(46,208,198,50,245,83,5,60,162,141,101,234,23,13,64,103,27,187,175,60,118,40,102,208,61,97,141,114,131,253,47,61) -IMAGE_DATA(235,161,209,45,56,250,121,115,243,233,242,241,95,63,23,250,116,12,77,234,57,246,246,165,147,126,113,188,78,175,64,191) -IMAGE_DATA(216,214,9,72,127,91,31,58,233,123,221,99,250,144,172,93,173,78,177,63,29,101,143,31,120,120,255,240,225,195,67,160) -IMAGE_DATA(150,209,103,250,174,244,44,171,159,125,247,231,173,242,189,223,91,116,106,227,171,141,171,54,190,163,207,10,231,37,37,109) -IMAGE_DATA(49,255,156,152,11,127,118,140,89,41,152,153,94,51,52,234,125,139,78,161,189,158,113,181,231,199,206,75,74,170,189,130) -IMAGE_DATA(155,157,184,88,249,94,208,242,173,77,163,151,223,107,237,7,104,40,52,251,190,108,249,222,254,140,194,229,153,105,28,46) -IMAGE_DATA(210,217,189,88,103,55,203,142,93,236,149,49,199,146,204,180,40,120,11,211,247,221,251,174,11,218,243,125,17,122,125,16) -IMAGE_DATA(187,178,30,184,232,162,55,110,156,117,214,75,215,23,34,178,5,175,123,221,129,67,7,15,222,122,164,167,236,91,222,114) -IMAGE_DATA(213,61,231,156,243,202,109,180,182,234,62,126,197,21,183,61,174,207,78,59,237,185,107,175,121,205,155,54,188,254,218,218) -IMAGE_DATA(43,214,111,190,249,83,195,91,223,122,205,35,103,158,121,238,250,249,231,95,184,177,177,113,207,112,245,213,119,15,231,157) -IMAGE_DATA(119,225,198,73,39,157,186,182,127,255,165,71,162,140,211,1,14,28,184,241,145,15,124,224,171,195,101,151,189,123,120,199) -IMAGE_DATA(59,110,26,110,188,241,19,115,188,242,202,219,230,207,226,221,229,151,223,252,72,105,12,103,156,177,182,126,224,192,13,195) -IMAGE_DATA(103,62,243,131,121,157,219,111,255,194,28,227,115,60,123,251,219,111,24,94,248,194,115,138,243,121,193,5,175,222,216,234) -IMAGE_DATA(255,240,206,119,222,62,60,240,192,79,135,251,238,251,206,28,227,115,60,187,244,210,235,134,75,46,57,120,143,214,137,245) -IMAGE_DATA(217,191,255,109,135,174,191,254,163,195,181,215,126,120,184,245,214,205,225,174,187,190,60,175,247,245,175,63,58,199,248,28) -IMAGE_DATA(207,226,221,53,215,124,104,184,254,250,143,109,141,239,230,35,49,103,23,94,248,250,45,154,215,30,185,234,170,247,63,126) -IMAGE_DATA(221,117,31,25,110,185,229,211,195,157,119,30,26,238,191,255,123,91,117,31,155,99,124,142,103,241,46,202,68,217,173,190) -IMAGE_DATA(28,241,117,56,239,188,87,109,196,188,93,121,229,251,134,207,127,254,199,195,189,247,126,123,142,241,57,158,173,175,95,241) -IMAGE_DATA(248,233,167,63,191,56,254,23,189,232,252,245,45,62,24,62,251,217,31,110,141,247,142,225,142,59,190,56,199,248,28,207) -IMAGE_DATA(226,93,148,41,213,143,245,187,251,238,175,5,15,12,7,15,222,50,220,116,211,39,231,24,159,227,89,188,187,248,226,183) -IMAGE_DATA(165,252,184,182,246,242,245,88,235,104,227,140,51,206,89,191,224,130,139,54,174,190,250,131,67,96,124,142,103,241,46,202) -IMAGE_DATA(68,89,175,127,242,201,167,174,237,219,247,156,53,125,246,158,247,124,124,8,212,103,193,123,47,126,241,75,186,100,234,226) -IMAGE_DATA(139,47,59,20,216,83,54,131,179,207,126,217,250,190,125,167,175,85,11,237,112,90,71,6,153,166,27,83,55,251,190,204) -IMAGE_DATA(8,50,173,219,219,191,99,181,184,254,213,205,122,222,94,207,223,110,214,239,119,83,242,241,111,118,96,86,127,124,221,103) -IMAGE_DATA(234,207,142,121,223,83,119,86,45,219,174,251,76,253,254,249,218,91,176,106,101,208,202,107,145,252,150,98,253,22,51,183) -IMAGE_DATA(234,47,75,191,5,61,245,103,179,167,49,219,36,143,169,191,40,253,237,17,147,103,250,210,91,127,251,126,103,123,95,102) -IMAGE_DATA(21,166,206,232,123,244,198,232,15,89,125,165,235,180,123,234,235,184,169,79,94,85,47,125,159,115,63,232,203,230,32,171) -IMAGE_DATA(175,117,135,156,127,7,173,191,32,255,46,47,197,199,33,225,115,209,122,99,218,169,91,191,122,253,157,110,255,217,94,191) -IMAGE_DATA(183,253,158,250,203,90,215,157,180,208,123,169,141,213,192,78,41,131,201,67,168,91,200,177,22,58,142,11,22,161,31,245) -IMAGE_DATA(158,182,146,219,255,143,161,175,71,22,199,131,126,54,254,222,245,43,205,123,193,66,23,233,43,221,138,133,175,214,239,240) -IMAGE_DATA(16,182,213,95,134,127,23,130,167,102,23,29,253,156,142,126,130,9,38,152,96,130,9,38,152,96,130,9,38,152,96,130) -IMAGE_DATA(9,38,152,96,130,9,38,56,33,225,191,79,62,117,20,255,246,207,127,15,127,250,235,19,219,240,137,127,255,103,142,241) -IMAGE_DATA(126,130,9,38,56,113,33,228,56,100,60,176,36,239,188,15,156,228,126,130,9,78,44,192,94,135,44,255,238,207,255,24) -IMAGE_DATA(30,126,236,207,195,143,30,249,195,240,221,159,60,90,196,120,31,229,162,60,58,0,219,63,193,4,19,236,61,64,206,127) -IMAGE_DATA(253,251,191,204,101,248,158,207,125,127,216,127,223,207,83,124,195,151,126,83,196,27,31,252,237,112,232,155,63,157,203,63) -IMAGE_DATA(178,63,201,253,4,19,236,13,8,255,27,187,28,50,254,202,107,30,24,94,126,195,225,225,213,119,61,148,202,118,175,220) -IMAGE_DATA(199,251,144,125,181,251,19,76,48,193,241,3,246,231,97,207,207,188,252,115,195,190,55,127,106,120,213,123,191,117,140,61) -IMAGE_DATA(15,217,143,231,161,11,162,28,24,122,33,158,163,27,92,7,196,247,40,19,246,30,91,63,65,63,104,172,52,16,31,76) -IMAGE_DATA(99,164,224,4,19,212,128,61,122,200,250,201,175,125,255,92,126,67,110,21,67,150,67,94,145,243,208,7,129,81,62,48) -IMAGE_DATA(62,199,243,120,143,95,160,242,31,50,31,223,163,92,208,9,59,255,255,206,155,42,183,126,238,17,123,41,240,239,127,252) -IMAGE_DATA(229,54,252,253,47,190,87,196,120,31,115,59,233,211,9,50,192,135,207,100,61,228,19,57,7,67,150,67,102,227,127,216) -IMAGE_DATA(234,192,141,15,62,120,84,254,145,119,69,100,31,121,143,103,65,51,240,255,5,144,235,144,67,246,52,204,65,96,200,117) -IMAGE_DATA(188,11,153,253,215,225,171,134,167,126,182,214,196,39,31,124,222,81,140,58,191,250,238,87,230,245,35,102,58,201,251,4) -IMAGE_DATA(25,192,107,216,236,154,172,7,70,153,144,111,108,15,177,184,144,251,120,247,130,119,125,163,88,55,16,255,63,120,50,234) -IMAGE_DATA(63,91,65,207,37,213,94,115,190,17,243,21,49,141,152,75,157,139,152,207,144,221,255,124,242,212,166,124,35,227,122,54) -IMAGE_DATA(18,235,57,157,133,78,144,1,182,38,120,46,108,59,114,154,201,106,60,195,95,143,58,193,91,156,189,129,241,46,228,221) -IMAGE_DATA(247,2,138,241,62,218,9,254,12,30,127,54,242,37,62,83,204,15,114,29,232,113,16,246,64,49,119,200,123,212,69,230) -IMAGE_DATA(85,190,213,134,187,140,71,93,206,60,167,61,252,4,25,168,31,95,178,203,234,139,99,219,145,83,181,37,156,219,5,239) -IMAGE_DATA(70,59,231,222,246,80,17,227,61,237,4,95,247,218,162,19,41,30,21,122,52,230,4,253,151,157,99,132,188,135,142,13) -IMAGE_DATA(93,139,143,133,191,20,62,121,216,119,80,237,56,58,118,146,239,189,3,39,2,111,170,109,39,22,95,146,117,108,123,252) -IMAGE_DATA(15,62,115,191,81,247,255,232,14,141,221,43,178,127,199,39,240,243,120,141,63,195,211,200,15,232,121,60,189,250,66,115) -IMAGE_DATA(4,75,200,62,219,235,121,254,96,109,125,137,125,114,110,129,156,99,215,209,123,196,64,136,193,225,199,171,140,199,115,228) -IMAGE_DATA(28,91,174,185,76,222,79,197,0,127,214,194,82,91,173,58,99,231,56,235,119,111,126,166,198,54,119,59,167,51,235,175) -IMAGE_DATA(242,38,177,82,197,86,91,173,249,234,69,95,15,5,252,205,204,182,35,235,30,103,11,222,196,6,49,142,232,51,227,100) -IMAGE_DATA(95,90,203,191,139,247,232,139,104,199,199,206,94,215,115,249,224,119,208,115,249,152,183,18,32,35,180,237,152,173,89,180) -IMAGE_DATA(233,121,133,208,39,206,230,52,209,127,145,191,160,231,148,49,199,248,62,33,247,241,62,228,25,191,61,179,229,158,183,168) -IMAGE_DATA(253,195,39,160,15,218,79,198,227,241,192,26,82,134,245,244,51,130,26,50,247,154,135,73,31,124,142,179,220,75,141,107) -IMAGE_DATA(232,62,145,247,0,252,76,95,179,58,180,189,74,185,87,25,207,242,76,107,188,201,56,50,61,215,226,201,94,116,190,200) -IMAGE_DATA(108,40,60,169,251,246,146,109,199,94,187,31,15,40,111,244,246,81,99,200,240,75,60,171,229,242,149,242,123,98,111,204) -IMAGE_DATA(25,95,54,94,214,41,218,166,124,134,225,235,68,25,116,118,232,38,239,143,210,13,154,220,29,80,90,81,23,191,137,61) -IMAGE_DATA(78,216,245,104,43,218,172,201,57,123,126,244,66,169,191,196,249,2,162,31,241,29,255,33,214,143,249,160,47,181,113,199) -IMAGE_DATA(26,163,203,25,59,227,46,213,97,60,232,27,120,35,104,149,234,208,111,116,4,250,191,52,191,244,9,253,131,223,212,170) -IMAGE_DATA(3,31,172,66,230,213,6,101,252,208,195,155,158,99,170,124,210,154,231,94,140,54,24,187,219,32,221,95,102,190,188,219) -IMAGE_DATA(246,224,89,246,153,200,169,207,165,158,29,183,236,9,50,169,186,154,124,62,100,195,243,123,216,11,232,123,157,87,248,79) -IMAGE_DATA(109,142,235,35,234,103,57,128,186,159,142,121,131,166,202,157,98,60,207,226,142,236,119,56,159,204,108,121,201,158,99,31) -IMAGE_DATA(136,159,150,114,26,105,59,120,136,115,145,192,232,19,58,6,93,196,62,43,222,101,227,142,231,241,62,250,136,125,140,255) -IMAGE_DATA(236,191,106,117,144,93,213,17,181,126,179,134,200,13,235,157,205,49,227,140,114,248,28,173,58,129,241,142,126,45,123,222) -IMAGE_DATA(139,29,130,31,148,174,242,39,227,226,44,59,27,75,32,58,24,57,137,121,174,241,100,47,234,26,178,30,42,159,240,129) -IMAGE_DATA(250,242,37,89,87,95,30,223,161,180,79,42,229,126,149,246,123,200,58,122,199,99,91,204,37,121,1,81,142,207,228,254) -IMAGE_DATA(249,90,71,25,100,158,62,106,92,50,171,23,223,145,111,242,135,2,93,247,100,241,117,207,37,224,108,50,218,235,145,115) -IMAGE_DATA(246,63,234,119,227,27,4,13,207,91,134,46,122,137,152,9,107,136,28,98,79,216,87,232,184,245,191,158,143,226,123,69) -IMAGE_DATA(187,30,123,240,60,73,141,185,122,191,75,242,78,174,150,230,104,101,57,156,32,126,37,99,208,58,217,186,192,251,26,87) -IMAGE_DATA(94,212,198,99,215,131,182,219,25,214,129,121,192,30,34,247,89,14,186,247,139,24,55,254,117,43,39,189,150,171,206,60) -IMAGE_DATA(233,62,136,113,163,43,225,21,141,191,187,188,235,249,25,62,248,170,238,186,225,7,32,235,49,31,158,207,199,26,99,123) -IMAGE_DATA(232,55,115,236,57,124,216,104,213,115,200,59,235,166,122,76,17,93,130,44,193,155,181,249,65,7,97,75,98,110,99,92) -IMAGE_DATA(196,222,244,44,77,227,237,33,231,209,31,246,127,156,197,225,63,33,131,165,126,106,31,225,47,157,47,245,131,25,71,214) -IMAGE_DATA(150,230,83,232,94,139,185,114,189,175,254,158,198,92,225,13,246,46,37,90,244,47,234,162,27,226,115,86,222,121,0,61) -IMAGE_DATA(6,237,82,29,228,10,251,180,72,222,17,251,237,76,214,225,79,230,142,121,208,24,173,206,129,242,52,125,103,111,130,31) -IMAGE_DATA(151,229,169,40,111,215,80,253,111,141,173,33,239,190,191,172,249,242,244,177,229,203,143,5,221,79,163,223,178,60,31,149) -IMAGE_DATA(93,205,39,201,230,137,54,116,13,116,111,89,226,123,205,35,138,50,140,145,181,99,141,74,126,15,246,29,158,215,24,187) -IMAGE_DATA(203,121,188,195,246,35,99,81,7,253,25,237,160,207,224,105,95,23,189,183,128,126,66,255,225,251,224,203,171,238,40,229) -IMAGE_DATA(62,169,62,5,225,141,172,142,234,27,141,215,180,236,135,210,194,151,97,253,75,190,165,251,43,42,131,186,38,30,107,82) -IMAGE_DATA(121,31,27,187,131,55,53,127,44,203,43,103,94,53,118,167,114,69,124,86,145,57,128,143,213,151,116,84,190,43,233,54) -IMAGE_DATA(236,177,202,137,251,223,236,27,156,255,107,190,60,109,185,238,88,20,144,15,159,79,167,27,72,28,72,227,175,37,126,68) -IMAGE_DATA(215,105,14,11,245,91,50,164,60,2,189,236,46,144,199,19,98,110,226,60,205,229,60,243,221,217,115,40,45,252,2,244) -IMAGE_DATA(82,54,54,205,75,230,59,178,142,173,68,7,170,47,239,190,144,231,57,51,62,252,242,64,213,115,78,31,244,253,29,253) -IMAGE_DATA(118,217,213,62,171,110,132,30,242,238,227,83,29,65,156,130,245,71,175,100,229,181,14,52,198,202,59,177,30,230,167,148) -IMAGE_DATA(111,202,62,3,59,232,188,89,154,107,198,67,92,64,145,120,46,251,23,215,211,110,239,241,101,212,30,187,255,157,157,195) -IMAGE_DATA(149,108,59,114,231,185,154,203,128,219,246,108,62,227,191,230,162,176,63,116,155,149,249,55,42,239,190,7,40,249,76,232) -IMAGE_DATA(82,61,83,41,233,119,116,53,251,243,76,206,93,214,53,222,147,237,143,224,51,213,195,46,103,153,125,213,51,58,181,181) -IMAGE_DATA(236,47,74,188,71,123,153,95,142,60,233,221,39,175,227,251,125,141,239,149,250,141,110,100,220,200,148,202,123,86,7,63) -IMAGE_DATA(2,122,174,35,178,58,140,105,172,63,202,185,149,242,75,102,15,125,13,245,108,84,207,35,75,88,42,195,126,16,221,153) -IMAGE_DATA(217,26,229,67,244,46,114,145,217,227,108,239,158,217,119,221,187,51,223,174,43,253,142,102,15,70,127,148,63,50,89,231) -IMAGE_DATA(115,118,78,65,140,169,180,183,81,217,133,247,107,254,0,58,77,253,107,221,195,106,92,1,121,37,14,167,190,122,201,166) -IMAGE_DATA(19,79,81,221,130,30,11,58,234,203,19,83,116,185,209,62,211,87,214,216,207,127,149,127,244,110,83,75,158,212,151,175) -IMAGE_DATA(201,147,198,44,212,39,168,233,8,250,225,103,229,181,58,248,242,228,107,176,150,189,99,210,179,239,94,121,239,217,235,250) -IMAGE_DATA(26,162,83,244,172,73,125,196,12,61,7,65,253,80,141,73,43,143,102,54,141,56,175,250,50,217,25,191,238,155,106,190) -IMAGE_DATA(188,198,1,92,87,150,238,121,101,168,101,240,99,74,249,250,250,76,115,112,29,51,127,78,101,87,121,95,227,95,94,30) -IMAGE_DATA(30,193,63,85,89,193,182,211,135,104,151,120,123,143,77,87,253,227,180,116,175,229,62,143,202,137,238,225,220,174,104,238) -IMAGE_DATA(60,188,67,60,214,227,15,37,25,212,113,195,111,45,121,210,189,162,158,195,245,232,8,247,203,189,127,238,151,171,140,224) -IMAGE_DATA(151,150,234,168,142,208,179,164,94,80,255,81,207,60,178,57,80,26,30,15,207,126,219,209,127,231,81,115,83,117,239,229) -IMAGE_DATA(123,21,149,119,104,199,119,244,138,203,186,235,54,245,23,90,242,230,107,171,177,78,232,181,242,43,52,207,2,123,86,162) -IMAGE_DATA(239,177,92,221,243,48,23,26,163,210,88,149,198,176,116,45,74,190,188,251,48,154,19,165,113,86,181,233,37,57,87,89) -IMAGE_DATA(39,246,142,78,202,124,113,120,88,125,121,181,93,25,143,101,118,5,253,169,185,189,170,211,107,114,155,249,229,106,167,75) -IMAGE_DATA(113,3,181,211,99,109,46,60,163,251,253,150,95,174,117,116,239,238,117,52,118,163,243,219,178,237,250,30,95,190,103,14) -IMAGE_DATA(74,231,85,189,126,46,244,56,243,83,154,165,184,4,113,57,244,18,250,190,150,223,141,188,215,206,166,84,222,53,174,164) -IMAGE_DATA(57,217,202,83,173,51,66,250,10,127,50,103,37,89,71,207,120,142,98,150,187,152,33,118,196,125,249,76,175,97,247,179) -IMAGE_DATA(61,44,103,224,53,155,238,178,142,255,174,118,212,121,88,253,64,214,196,227,100,206,203,45,187,2,184,79,90,179,237,238) -IMAGE_DATA(203,183,252,139,204,78,199,255,76,62,220,47,31,171,35,252,220,160,53,38,247,229,149,86,11,53,39,185,55,62,160,62) -IMAGE_DATA(239,88,96,159,238,122,207,109,111,60,195,222,97,199,50,255,189,118,207,64,229,61,139,139,151,228,93,117,165,218,163,86) -IMAGE_DATA(110,144,158,137,195,139,126,190,236,242,135,142,246,216,60,126,80,235,190,128,218,44,230,172,229,195,56,95,209,103,221,167) -IMAGE_DATA(187,156,35,235,161,11,98,13,104,79,215,203,125,77,205,37,64,39,171,93,113,61,161,231,76,30,75,201,124,85,242,146) -IMAGE_DATA(53,247,35,147,119,61,195,241,253,126,86,71,247,74,99,109,174,199,216,123,246,251,174,35,116,95,54,70,71,180,108,3) -IMAGE_DATA(52,50,249,203,48,59,251,194,79,239,217,207,242,89,247,78,153,159,13,223,210,23,250,168,57,78,61,177,9,93,35,63) -IMAGE_DATA(87,204,228,157,51,7,248,19,153,194,182,183,242,1,116,189,179,179,177,140,38,58,154,51,77,98,124,106,231,179,251,36) -IMAGE_DATA(186,23,101,15,235,231,112,190,31,202,124,249,40,175,254,123,38,231,42,235,81,47,246,44,53,159,76,121,88,207,225,98) -IMAGE_DATA(46,53,78,150,237,59,74,49,162,108,173,221,39,173,237,141,117,220,186,55,206,108,59,103,38,234,95,104,46,68,70,167) -IMAGE_DATA(164,35,106,54,84,253,136,236,28,46,27,147,234,21,61,91,84,30,205,242,247,200,67,37,198,93,139,87,170,188,19,67) -IMAGE_DATA(196,206,16,123,173,249,159,208,136,53,211,28,232,76,206,85,214,153,59,126,23,65,207,100,122,238,9,48,239,156,53,105) -IMAGE_DATA(206,144,203,190,198,186,149,134,238,137,93,87,248,153,129,230,123,49,118,173,235,116,157,63,240,73,216,7,120,206,109,182) -IMAGE_DATA(118,196,176,74,121,98,218,63,198,167,250,100,140,172,163,111,178,24,168,235,109,205,55,97,62,61,70,148,197,105,200,35) -IMAGE_DATA(106,249,242,248,10,202,179,165,189,32,190,66,41,230,230,253,192,151,85,95,30,62,82,31,219,199,173,58,66,125,249,26) -IMAGE_DATA(173,204,231,202,116,132,235,67,93,75,252,149,158,124,126,104,184,222,245,248,174,230,203,4,234,125,57,149,39,71,252,113) -IMAGE_DATA(229,19,247,111,93,175,48,30,238,130,113,239,70,239,153,162,67,106,191,247,172,251,148,232,71,150,23,174,242,199,24,148) -IMAGE_DATA(175,245,92,90,121,210,229,143,117,195,199,196,174,17,11,203,104,234,30,81,101,66,207,16,75,123,6,108,66,150,75,170) -IMAGE_DATA(52,160,73,204,93,249,42,176,37,235,252,214,140,234,243,44,87,208,231,18,63,131,53,12,12,80,159,56,211,155,204,165) -IMAGE_DATA(158,247,102,190,124,233,60,201,117,157,250,53,58,183,174,27,125,93,244,28,81,109,174,251,106,158,115,170,118,218,247,251) -IMAGE_DATA(94,71,117,68,182,223,207,244,161,251,133,26,115,245,121,208,28,57,181,159,30,195,200,108,153,218,119,61,115,71,71,68) -IMAGE_DATA(249,236,206,0,122,94,125,20,149,115,247,231,160,237,247,109,220,182,177,30,45,191,158,126,50,135,165,251,32,200,134,210) -IMAGE_DATA(229,140,204,229,199,239,57,100,178,206,222,165,164,107,104,159,220,37,229,43,116,68,166,87,224,57,63,19,134,167,74,227) -IMAGE_DATA(139,246,52,167,46,250,167,178,238,191,25,167,223,185,187,202,190,79,243,135,90,115,137,126,138,245,10,80,126,201,230,20) -IMAGE_DATA(63,68,115,168,178,245,117,121,175,237,179,148,247,145,245,76,47,234,29,29,183,211,89,191,181,30,124,173,241,83,61,139) -IMAGE_DATA(205,234,233,221,15,223,107,144,231,228,117,60,103,222,253,255,82,204,91,125,15,189,83,207,190,38,155,51,207,205,202,226) -IMAGE_DATA(109,234,115,240,142,115,41,63,43,202,116,171,203,93,118,95,73,251,222,146,119,248,34,202,162,131,253,158,159,223,59,202) -IMAGE_DATA(238,105,149,100,53,218,36,23,64,101,93,127,27,3,93,83,218,91,233,29,174,104,207,243,220,160,165,249,132,30,99,103) -IMAGE_DATA(205,74,122,37,218,85,158,226,119,164,90,191,9,139,109,215,49,97,183,74,62,93,166,163,104,163,182,79,65,110,122,114) -IMAGE_DATA(154,245,222,104,180,95,90,83,230,143,243,77,232,151,244,13,242,164,50,168,113,215,82,61,247,203,53,231,175,166,35,220) -IMAGE_DATA(231,98,255,88,211,17,238,203,151,124,28,245,61,84,175,232,153,185,234,138,146,190,100,30,179,220,14,236,29,58,157,118) -IMAGE_DATA(61,78,93,242,5,75,250,89,245,136,238,173,122,226,118,228,245,96,111,241,125,75,191,63,167,114,230,191,71,167,57,166) -IMAGE_DATA(250,27,56,217,185,1,186,70,237,144,254,246,75,70,43,187,119,0,95,184,94,209,182,145,191,12,61,111,33,254,135,188) -IMAGE_DATA(215,124,120,183,237,248,212,202,39,236,103,179,121,132,54,50,198,189,28,236,107,169,175,26,171,110,229,144,48,126,124,92) -IMAGE_DATA(239,7,99,71,79,242,91,25,240,119,105,174,212,191,208,24,123,169,223,186,103,85,57,212,251,32,78,207,243,39,124,191) -IMAGE_DATA(175,185,22,62,63,170,35,176,209,74,199,145,53,240,179,81,205,127,65,174,148,94,200,115,141,39,53,158,129,44,196,122) -IMAGE_DATA(161,67,52,127,164,212,55,111,203,81,125,249,30,251,174,57,114,232,93,108,98,180,195,190,221,199,162,200,216,249,77,24) -IMAGE_DATA(189,215,235,185,95,126,70,168,116,137,9,160,31,75,244,240,151,184,247,77,251,170,87,136,159,16,171,227,30,73,124,86) -IMAGE_DATA(228,185,246,153,56,57,119,89,107,24,101,162,172,203,25,177,55,104,120,188,135,254,51,95,1,200,91,214,79,218,209,28) -IMAGE_DATA(139,214,125,100,213,167,58,175,160,210,231,12,83,233,208,23,237,147,207,21,107,236,101,189,142,246,91,247,0,181,58,158) -IMAGE_DATA(47,239,107,89,66,141,203,99,223,123,234,148,114,201,92,38,176,135,37,57,196,110,171,44,104,60,93,215,121,21,168,115) -IMAGE_DATA(218,99,223,245,183,41,116,223,171,253,244,88,32,232,58,219,207,57,225,253,90,222,15,242,165,52,75,103,110,238,71,82) -IMAGE_DATA(206,233,233,61,179,214,111,236,40,223,34,67,204,69,237,220,79,237,172,223,37,128,71,116,60,142,208,245,179,149,26,106) -IMAGE_DATA(187,61,107,203,220,214,250,161,115,218,51,87,26,59,232,173,67,89,109,163,135,14,253,214,152,88,239,90,234,89,225,152) -IMAGE_DATA(49,169,77,242,181,204,100,162,198,159,202,155,180,163,247,190,86,133,61,250,191,36,247,254,155,135,186,175,205,248,196,145) -IMAGE_DATA(49,121,126,112,141,166,230,25,213,218,206,104,177,94,153,255,224,191,123,169,125,119,190,39,214,237,245,107,57,208,217,248) -IMAGE_DATA(116,30,91,227,209,254,43,127,215,250,89,242,149,106,50,239,235,233,58,178,68,191,212,23,98,193,204,79,207,93,48,116) -IMAGE_DATA(148,214,169,209,243,177,150,214,50,67,250,215,75,71,235,148,214,178,54,135,61,178,160,99,208,249,210,178,53,84,57,244) -IMAGE_DATA(242,99,248,161,36,127,254,91,163,37,157,164,249,66,46,3,99,238,31,42,77,167,155,229,41,65,171,69,207,219,173,229) -IMAGE_DATA(227,141,233,115,239,120,106,58,195,251,223,251,27,206,203,204,109,141,254,162,115,229,191,203,220,170,183,200,186,236,86,157) -IMAGE_DATA(44,151,161,38,19,42,23,189,178,208,187,214,61,232,227,93,150,103,157,119,75,232,119,0,118,146,102,118,231,160,183,205) -IMAGE_DATA(214,221,133,85,194,24,218,59,217,207,222,54,23,233,195,162,253,222,201,58,139,140,167,103,94,87,197,159,123,129,39,122) -IMAGE_DATA(97,183,232,76,48,193,4,19,76,48,193,4,19,76,48,193,4,57,252,15,72,33,58,176,0,0,0,0,0,0,0,0) +IMAGE_DATA(120,156,237,156,77,168,110,101,21,199,119,96,144,25,22,169,52,57,57,11,201,156,20,14,244,66,99,155,232,160,186,34) +IMAGE_DATA(97,134,93,8,34,34,174,162,161,96,28,69,157,228,129,114,224,133,11,213,64,4,117,208,68,40,66,34,115,112,27,244) +IMAGE_DATA(69,131,40,130,66,46,244,65,16,18,13,36,17,118,119,189,239,253,221,243,127,255,103,61,31,251,125,223,115,238,185,182) +IMAGE_DATA(215,97,113,246,187,247,179,158,207,245,245,172,103,237,61,92,51,92,61,140,227,160,48,118,254,159,10,45,186,117,234,29) +IMAGE_DATA(39,224,58,117,111,242,188,69,87,255,127,245,112,141,47,76,171,241,117,22,174,231,94,235,247,149,86,207,102,243,115,117) +IMAGE_DATA(89,98,106,13,102,92,232,247,91,191,51,186,26,119,79,121,126,88,253,27,146,231,195,202,253,15,92,248,171,112,250,17) +IMAGE_DATA(193,238,184,196,109,151,165,188,142,176,69,75,253,227,216,110,107,119,60,136,61,101,123,250,124,24,101,3,198,137,243,55) +IMAGE_DATA(1,62,116,225,239,16,153,105,19,27,51,238,238,238,86,177,81,199,162,76,9,142,138,126,211,254,191,246,218,107,11,228) +IMAGE_DATA(90,255,207,237,31,77,251,254,255,136,218,31,134,237,251,104,117,40,41,131,162,20,24,148,232,118,99,50,58,208,235,153) +IMAGE_DATA(66,171,117,100,180,181,186,178,178,122,111,69,240,11,125,206,202,247,150,107,181,159,149,239,233,83,109,142,123,202,108,155) +IMAGE_DATA(126,147,254,103,229,75,117,244,150,155,186,126,83,248,103,83,254,133,126,74,29,192,96,80,156,120,131,21,162,45,123,6) +IMAGE_DATA(45,77,214,196,117,65,233,209,222,122,173,216,162,223,86,251,173,126,104,95,142,98,252,165,190,109,187,125,173,167,213,54) +IMAGE_DATA(255,189,253,169,125,105,181,239,125,240,235,109,141,127,67,188,188,80,80,6,181,14,182,6,147,77,210,10,253,133,187,7) +IMAGE_DATA(112,168,44,134,213,113,156,233,55,29,127,109,254,199,228,89,47,51,45,152,190,81,166,6,155,208,175,8,228,26,117,108) +IMAGE_DATA(66,159,42,224,9,117,108,66,95,52,0,157,117,28,189,242,8,101,96,112,242,2,222,54,161,138,219,46,210,40,236,93) +IMAGE_DATA(192,115,23,112,167,66,183,115,177,204,94,229,249,222,226,255,206,206,254,192,151,215,251,207,86,225,164,221,139,223,165,137) +IMAGE_DATA(212,62,239,8,237,56,236,143,255,252,169,83,203,242,187,187,75,140,235,139,247,206,95,44,115,219,69,26,218,93,105,51) +IMAGE_DATA(104,78,159,222,167,231,186,208,23,159,199,69,217,157,157,37,93,96,92,11,189,143,125,207,199,121,242,228,62,29,245,196) +IMAGE_DATA(189,100,62,178,117,88,140,245,230,155,247,251,31,215,204,73,82,126,239,226,188,172,140,63,218,163,253,184,78,198,127,126) +IMAGE_DATA(200,215,115,188,227,142,37,210,62,191,147,246,119,228,255,57,234,142,190,74,249,197,181,244,127,28,14,242,233,249,97,117) +IMAGE_DATA(61,46,245,153,177,12,7,215,236,188,92,251,26,102,60,152,149,241,123,71,15,30,222,63,115,230,204,24,168,101,244,158) +IMAGE_DATA(62,43,221,203,232,179,223,126,191,85,190,247,119,171,157,218,248,106,227,170,141,239,210,189,194,121,201,1,247,64,238,101) +IMAGE_DATA(230,194,239,29,48,43,5,51,211,107,134,38,61,111,181,83,168,175,103,92,237,249,177,243,146,30,123,105,184,219,137,235) +IMAGE_DATA(149,239,5,45,223,218,52,122,249,227,86,127,128,134,66,179,223,155,150,239,237,207,36,220,156,153,166,225,58,157,61,142) +IMAGE_DATA(52,71,89,118,234,98,111,141,57,54,100,166,117,193,107,152,127,31,221,111,93,208,158,223,235,180,215,7,201,174,44,135) +IMAGE_DATA(247,190,247,228,240,158,247,76,217,173,173,194,13,55,236,13,183,220,242,114,87,217,15,126,240,244,129,182,238,188,243,252) +IMAGE_DATA(112,215,93,231,173,228,206,162,95,14,65,251,196,19,227,112,235,173,231,22,215,87,93,117,114,120,232,161,113,120,240,193) +IMAGE_DATA(113,113,29,116,31,253,232,203,139,50,165,49,221,126,251,185,225,185,231,198,225,222,123,199,225,254,251,199,33,78,222,2) +IMAGE_DATA(191,242,149,229,189,120,118,226,196,185,226,24,162,222,47,125,105,28,94,121,101,73,243,204,51,75,140,235,184,119,223,125) +IMAGE_DATA(229,182,3,162,159,247,220,51,14,95,253,234,56,188,254,250,56,188,248,226,18,227,58,238,125,225,11,227,112,237,181,167) +IMAGE_DATA(15,180,121,221,117,123,195,163,143,142,195,55,191,57,14,79,61,53,14,207,62,187,164,251,195,31,150,24,215,113,47,158) +IMAGE_DATA(61,252,240,184,40,123,243,205,47,47,104,99,46,111,186,233,229,225,238,187,207,15,143,60,50,14,79,62,57,14,223,253) +IMAGE_DATA(238,56,188,244,210,62,125,92,199,189,120,22,101,162,108,208,248,58,68,255,99,222,98,188,175,190,58,14,47,188,176,196) +IMAGE_DATA(184,142,123,39,78,196,90,150,199,31,253,249,252,231,199,225,199,63,94,142,119,111,111,137,113,29,247,226,89,109,254,98) +IMAGE_DATA(253,206,158,29,23,115,120,234,212,56,60,254,248,18,227,58,238,197,179,27,111,204,249,49,234,141,181,142,58,224,159,7) +IMAGE_DATA(30,24,23,24,215,113,47,158,69,153,188,15,59,131,239,48,31,123,108,92,160,183,211,43,83,215,95,191,183,192,117,97) +IMAGE_DATA(217,78,45,74,114,232,105,29,25,100,154,110,10,109,246,123,147,17,100,90,183,183,127,7,181,184,254,213,205,122,94,95) +IMAGE_DATA(207,223,81,210,247,187,41,249,248,119,59,48,163,159,78,187,79,63,28,120,222,67,59,84,203,182,105,247,233,251,231,235) +IMAGE_DATA(120,193,182,149,65,43,175,69,242,91,138,244,45,102,110,209,111,218,126,11,122,232,135,97,137,217,38,121,10,253,186,237) +IMAGE_DATA(175,70,76,246,251,210,75,191,186,223,89,237,203,80,97,234,172,125,143,222,88,251,99,70,175,237,122,219,61,244,58,110) +IMAGE_DATA(232,201,171,234,109,223,231,220,15,250,178,57,200,232,149,118,204,249,119,84,250,53,249,119,115,41,190,12,9,159,235,210) +IMAGE_DATA(77,169,167,110,253,234,244,135,93,255,187,157,190,183,254,30,250,77,173,235,97,90,232,227,84,199,118,224,176,148,193,236) +IMAGE_DATA(33,212,45,228,84,11,29,199,5,235,180,31,116,75,43,185,250,127,74,251,122,100,113,57,218,207,198,223,187,126,165,121) +IMAGE_DATA(47,88,232,98,251,218,110,197,194,87,233,59,60,132,21,250,77,248,119,45,120,103,184,229,210,117,58,250,25,102,152,97) +IMAGE_DATA(134,25,102,152,97,134,25,102,152,97,134,25,102,152,97,134,25,102,152,225,138,132,255,190,253,206,37,252,251,191,254,51) +IMAGE_DATA(254,229,111,111,174,224,155,255,121,107,129,241,124,134,25,102,184,114,33,228,56,100,60,176,36,239,60,15,156,229,126,134) +IMAGE_DATA(25,174,44,192,94,135,44,255,254,141,127,142,175,253,246,141,241,149,115,127,26,159,255,209,111,138,24,207,163,92,148,71) +IMAGE_DATA(7,96,251,103,152,97,134,227,7,200,249,175,254,248,215,133,12,159,126,250,165,241,83,143,254,44,197,19,207,252,186,136) +IMAGE_DATA(95,60,251,187,113,239,251,63,89,200,63,178,63,203,253,12,51,28,15,8,255,27,187,28,50,126,211,221,223,30,63,118) +IMAGE_DATA(239,153,241,19,95,251,97,42,219,189,114,31,207,67,246,213,238,207,48,195,12,151,15,216,159,135,61,255,200,103,158,30) +IMAGE_DATA(175,249,244,183,198,143,127,249,7,7,236,121,200,126,220,15,93,16,229,192,208,11,113,31,221,224,58,32,126,71,153,176) +IMAGE_DATA(247,216,250,25,250,65,99,165,129,248,96,26,35,5,103,152,161,6,236,209,67,214,223,247,201,175,47,228,55,228,86,49) +IMAGE_DATA(100,57,228,21,57,15,125,16,24,229,3,227,58,238,199,115,252,2,149,255,144,249,248,29,229,162,157,176,243,255,239,188) +IMAGE_DATA(169,114,235,231,30,177,151,2,255,241,231,95,172,224,31,127,254,66,17,227,121,204,237,172,79,103,200,0,31,62,147,245) +IMAGE_DATA(144,79,228,28,12,89,14,153,141,255,97,171,3,79,126,227,236,37,249,71,222,21,145,125,228,61,238,69,155,129,255,47) +IMAGE_DATA(128,92,135,28,178,167,97,14,2,67,174,227,89,200,236,191,207,124,118,124,231,167,59,77,124,251,236,135,47,97,208,252) +IMAGE_DATA(242,249,239,44,232,35,102,58,203,251,12,25,192,107,216,236,154,172,7,70,153,144,111,108,15,177,184,144,251,120,118,253) +IMAGE_DATA(231,190,87,164,13,196,255,15,158,12,250,119,43,232,185,164,218,107,206,55,98,190,34,166,17,115,169,115,17,243,25,178) +IMAGE_DATA(251,214,99,239,111,202,55,50,174,103,35,177,158,243,89,232,12,25,96,107,130,231,194,182,35,167,153,172,198,61,252,245) +IMAGE_DATA(160,9,222,226,236,13,140,103,33,239,190,23,80,140,231,81,79,240,103,240,248,187,145,47,241,153,98,126,144,235,64,143) +IMAGE_DATA(131,176,7,138,185,67,222,131,22,153,87,249,86,27,238,50,30,180,156,121,206,123,248,25,50,80,63,190,100,151,213,23) +IMAGE_DATA(199,182,35,167,106,75,56,183,11,222,141,122,110,60,245,195,34,198,115,234,9,190,238,181,69,87,82,60,42,244,104,204) +IMAGE_DATA(9,250,47,59,199,8,121,15,29,27,186,22,31,11,127,41,124,242,176,239,160,218,113,116,236,44,223,199,7,174,4,222) +IMAGE_DATA(84,219,78,44,190,36,235,216,246,248,31,124,230,126,163,238,255,209,29,26,187,87,100,255,142,79,224,231,241,26,127,134) +IMAGE_DATA(167,145,31,208,243,120,122,245,133,230,8,150,144,125,182,211,121,254,96,109,125,137,125,114,110,129,156,99,215,209,123,196) +IMAGE_DATA(64,136,193,225,199,171,140,199,125,228,28,91,174,185,76,222,79,197,0,191,215,194,82,93,45,154,169,115,156,245,187,55) +IMAGE_DATA(63,83,99,155,71,157,211,153,245,87,121,147,88,169,98,171,174,214,124,245,162,175,135,2,254,102,102,219,145,117,143,179) +IMAGE_DATA(5,111,98,131,24,71,244,153,113,178,47,173,229,223,197,115,244,69,212,227,99,103,175,235,185,124,240,59,232,185,124,204) +IMAGE_DATA(91,9,144,17,234,118,204,214,44,234,244,188,66,218,39,206,230,109,162,255,34,127,65,207,41,99,142,241,125,66,238,227) +IMAGE_DATA(121,200,51,126,123,102,203,61,111,81,251,135,79,64,31,180,159,140,199,227,129,53,164,12,235,233,103,4,53,100,238,53) +IMAGE_DATA(15,147,62,248,28,103,185,151,26,215,208,125,34,207,1,248,153,190,102,52,212,189,77,185,87,25,207,242,76,107,188,201) +IMAGE_DATA(56,50,61,215,226,201,94,116,190,200,108,40,60,169,251,246,146,109,199,94,187,31,15,40,111,244,246,81,99,200,240,75) +IMAGE_DATA(220,171,229,242,149,242,123,98,111,204,25,95,54,94,214,41,234,166,124,134,225,235,68,25,116,118,232,38,239,143,182,27) +IMAGE_DATA(109,242,238,128,182,21,180,248,77,236,113,194,174,71,93,81,103,77,206,217,243,163,23,74,253,37,206,23,16,253,136,223) +IMAGE_DATA(248,15,177,126,204,7,125,169,141,59,214,24,93,206,216,25,119,137,134,241,160,111,224,141,104,171,68,67,191,209,17,232) +IMAGE_DATA(255,210,252,210,39,244,15,126,83,139,6,62,216,134,204,171,13,202,248,161,135,55,61,199,84,249,164,53,207,189,24,117) +IMAGE_DATA(48,118,183,65,186,191,204,124,121,183,237,193,179,236,51,145,83,159,75,61,59,110,217,19,100,82,117,53,249,124,200,134) +IMAGE_DATA(231,247,176,23,208,231,58,175,240,159,218,28,215,71,208,103,57,128,186,159,142,121,163,77,149,59,197,184,159,197,29,217) +IMAGE_DATA(239,112,62,153,217,242,146,61,199,62,16,63,45,229,52,82,119,240,16,231,34,129,209,39,116,12,186,136,125,86,60,203) +IMAGE_DATA(198,29,247,227,121,244,17,251,24,255,217,127,213,104,144,93,213,17,181,126,179,134,200,13,235,157,205,49,227,140,114,248) +IMAGE_DATA(28,45,154,192,120,70,191,54,61,239,197,14,193,15,218,174,242,39,227,226,44,59,27,75,32,58,24,57,137,121,174,241) +IMAGE_DATA(100,47,234,26,178,30,42,159,240,129,250,242,37,89,87,95,30,223,161,180,79,42,229,126,149,246,123,200,58,122,199,99) +IMAGE_DATA(91,204,37,121,1,81,142,107,114,255,124,173,163,12,50,79,31,53,46,153,209,197,111,228,155,252,161,64,215,61,89,124) +IMAGE_DATA(221,115,9,56,155,140,250,122,228,156,253,143,250,221,248,6,209,134,231,45,211,46,122,137,152,9,107,136,28,98,79,216) +IMAGE_DATA(87,232,184,245,191,158,143,226,123,69,189,30,123,240,60,73,141,185,122,191,75,242,78,174,150,230,104,101,57,156,32,126) +IMAGE_DATA(37,99,80,154,108,93,224,125,141,43,175,107,227,177,235,209,182,219,25,214,129,121,192,30,34,247,89,14,186,247,139,24) +IMAGE_DATA(55,254,117,43,39,189,150,171,206,60,233,62,136,113,163,43,225,21,141,191,187,188,235,249,25,62,248,182,222,117,195,15) +IMAGE_DATA(64,214,99,62,60,159,143,53,198,246,208,111,230,216,115,248,176,209,170,231,144,119,214,77,245,152,34,186,4,89,130,55) +IMAGE_DATA(107,243,131,14,194,150,196,220,198,184,136,189,233,89,154,198,219,67,206,163,63,236,255,56,139,195,127,66,6,75,253,212) +IMAGE_DATA(62,194,95,58,95,234,7,51,142,172,46,205,167,208,189,22,115,229,122,95,253,61,141,185,194,27,236,93,74,109,209,191) +IMAGE_DATA(160,69,55,196,117,86,222,121,0,61,70,219,37,26,228,10,251,180,78,222,17,251,237,76,214,225,79,230,142,121,208,24) +IMAGE_DATA(173,206,129,242,52,125,103,111,130,31,151,229,169,40,111,215,80,253,111,141,173,33,239,190,191,172,249,242,244,177,229,203) +IMAGE_DATA(79,5,221,79,163,223,178,60,31,149,93,205,39,201,230,137,58,116,13,116,111,89,226,123,205,35,138,50,140,145,181,99) +IMAGE_DATA(141,74,126,15,246,29,158,215,24,187,203,121,60,195,246,35,99,65,131,254,140,122,208,103,240,180,175,139,190,183,128,126) +IMAGE_DATA(66,255,225,251,224,203,171,238,40,229,62,169,62,5,225,141,140,70,245,141,198,107,90,246,67,219,194,151,97,253,75,190) +IMAGE_DATA(165,251,43,42,131,186,38,30,107,82,121,159,26,187,131,55,53,127,44,203,43,103,94,53,118,167,114,69,124,86,145,57) +IMAGE_DATA(128,143,213,151,116,84,190,43,233,54,236,177,202,137,251,223,236,27,156,255,107,190,60,117,185,238,88,23,144,15,159,79) +IMAGE_DATA(111,55,144,56,144,198,95,75,252,136,174,211,28,22,232,91,50,164,60,66,123,217,187,64,30,79,136,185,137,243,52,151) +IMAGE_DATA(243,204,119,103,207,161,109,225,23,160,151,178,177,105,94,50,191,145,117,108,37,58,80,125,121,247,133,60,207,153,241,225) +IMAGE_DATA(151,7,170,158,243,246,65,223,223,209,111,151,93,237,179,234,70,218,67,222,125,124,170,35,136,83,176,254,232,149,172,188) +IMAGE_DATA(210,208,198,84,121,39,214,195,252,148,242,77,217,103,96,7,157,55,75,115,205,120,136,11,40,18,207,101,255,226,122,218) +IMAGE_DATA(237,61,190,140,218,99,247,191,179,115,184,146,109,71,238,60,87,115,19,112,219,158,205,103,252,215,92,20,246,135,110,179) +IMAGE_DATA(50,255,70,229,221,247,0,37,159,9,93,170,103,42,37,253,142,174,102,127,158,201,185,203,186,198,123,178,253,17,124,166) +IMAGE_DATA(122,216,229,44,179,175,122,70,167,182,150,253,69,137,247,168,47,243,203,145,39,125,247,201,105,124,191,175,241,189,82,191) +IMAGE_DATA(209,141,140,27,153,82,121,207,104,240,35,104,207,117,68,70,195,152,166,250,163,156,91,41,191,100,246,208,215,80,207,70) +IMAGE_DATA(245,60,178,132,165,50,236,7,209,157,153,173,81,62,68,239,34,23,153,61,206,246,238,153,125,215,189,59,243,237,186,210) +IMAGE_DATA(223,209,236,193,232,143,242,71,38,235,92,103,231,20,196,152,74,123,27,149,93,120,191,230,15,160,211,212,191,214,61,172) +IMAGE_DATA(198,21,144,87,226,112,234,171,151,108,58,241,20,213,45,232,177,104,71,125,121,98,138,46,55,218,103,250,202,26,251,249) +IMAGE_DATA(175,242,143,190,219,212,146,39,245,229,107,242,164,49,11,245,9,106,58,130,126,248,89,121,141,6,95,158,124,13,214,178) +IMAGE_DATA(119,76,122,246,221,43,239,61,123,93,95,67,116,138,158,53,169,143,152,161,231,32,168,31,170,49,105,229,209,204,166,17) +IMAGE_DATA(231,85,95,38,59,227,215,125,83,205,151,215,56,128,235,202,210,123,94,25,106,25,252,152,82,190,190,222,211,28,92,199) +IMAGE_DATA(204,159,83,217,85,222,215,248,151,151,135,71,240,79,85,86,176,237,244,33,234,37,222,222,99,211,85,255,120,91,186,215) +IMAGE_DATA(114,159,71,229,68,247,112,110,87,52,119,30,222,33,30,235,241,135,146,12,234,184,225,183,150,60,233,94,81,207,225,122) +IMAGE_DATA(116,132,251,229,222,63,247,203,85,70,240,75,75,52,170,35,244,44,169,23,212,127,212,51,143,108,14,180,13,143,135,103) +IMAGE_DATA(223,118,244,239,60,106,110,170,238,189,124,175,162,242,78,219,241,27,189,226,178,238,186,77,253,133,150,188,249,218,106,172) +IMAGE_DATA(147,246,90,249,21,154,103,129,61,43,181,239,177,92,221,243,48,23,26,163,210,88,149,198,176,116,45,74,190,188,251,48) +IMAGE_DATA(154,19,165,113,86,181,233,37,57,87,89,39,246,142,78,202,124,113,120,88,125,121,181,93,25,143,101,118,5,253,169,185) +IMAGE_DATA(189,170,211,107,114,155,249,229,106,167,75,113,3,181,211,83,109,46,60,163,251,253,150,95,174,52,186,119,119,26,141,221) +IMAGE_DATA(232,252,182,108,187,62,199,151,239,153,131,210,121,85,175,159,75,123,156,249,105,155,165,184,4,113,57,244,18,250,190,150) +IMAGE_DATA(223,141,188,215,206,166,84,222,53,174,164,57,217,202,83,173,51,66,250,10,127,50,103,37,89,71,207,120,142,98,150,187) +IMAGE_DATA(152,33,118,196,125,249,76,175,97,247,179,61,44,103,224,53,155,238,178,142,255,174,118,212,121,88,253,64,214,196,227,100) +IMAGE_DATA(206,203,45,187,2,184,79,90,179,237,238,203,183,252,139,204,78,199,255,76,62,220,47,159,170,35,252,220,160,53,38,247) +IMAGE_DATA(229,181,173,22,106,78,114,111,124,64,125,222,169,192,62,221,245,158,219,222,184,135,189,195,142,101,254,123,237,61,3,149) +IMAGE_DATA(247,44,46,94,146,119,213,149,106,143,90,185,65,122,38,14,47,250,249,178,203,31,58,218,99,243,248,65,173,247,5,212) +IMAGE_DATA(102,49,103,45,31,198,249,138,62,235,62,221,229,28,89,15,93,16,107,64,125,186,94,238,107,106,46,1,58,89,237,138) +IMAGE_DATA(235,9,61,103,242,88,74,230,171,146,151,172,185,31,153,188,235,25,142,239,247,51,26,221,43,77,181,185,30,99,239,217) +IMAGE_DATA(239,187,142,208,125,217,20,29,209,178,13,180,145,201,95,134,217,217,23,126,122,207,126,150,107,221,59,101,126,54,124,75) +IMAGE_DATA(95,232,163,230,56,245,196,38,116,141,252,92,49,147,119,206,28,224,79,100,10,219,222,202,7,208,245,206,206,198,178,54) +IMAGE_DATA(209,209,156,105,18,227,83,59,159,189,79,162,123,81,246,176,126,14,231,251,161,204,151,143,242,234,191,103,114,174,178,30) +IMAGE_DATA(116,177,103,169,249,100,202,195,122,14,23,115,169,113,178,108,223,81,138,17,101,107,237,62,105,109,111,172,227,214,189,113) +IMAGE_DATA(102,219,57,51,81,255,66,115,33,178,118,74,58,162,102,67,213,143,200,206,225,178,49,169,94,209,179,69,229,209,44,127) +IMAGE_DATA(143,60,84,98,220,181,120,165,202,59,49,68,236,12,177,215,154,255,73,27,177,102,154,3,157,201,185,202,58,115,199,119) +IMAGE_DATA(17,244,76,166,231,61,1,230,157,179,38,205,25,114,217,215,88,183,182,161,123,98,215,21,126,102,160,249,94,140,93,105) +IMAGE_DATA(189,93,231,15,124,18,246,1,158,115,155,173,29,49,172,82,158,152,246,143,241,169,62,153,34,235,232,155,44,6,234,122) +IMAGE_DATA(91,243,77,152,79,143,17,101,113,26,242,136,90,190,60,190,130,242,108,105,47,136,175,80,138,185,121,63,240,101,213,151) +IMAGE_DATA(135,143,212,199,246,113,171,142,80,95,190,214,86,230,115,101,58,194,245,161,174,37,254,74,79,62,63,109,184,222,245,248) +IMAGE_DATA(174,230,203,4,234,251,114,42,79,142,248,227,202,39,238,223,186,94,97,60,188,11,198,123,55,250,158,41,58,164,246,189) +IMAGE_DATA(103,221,167,68,63,178,188,112,149,63,198,160,124,173,231,210,202,147,46,127,172,27,62,38,118,141,88,88,214,166,238,17) +IMAGE_DATA(85,38,244,12,177,180,103,192,38,100,185,164,218,6,109,18,115,87,190,10,108,201,58,223,154,81,125,158,229,10,250,92) +IMAGE_DATA(226,103,176,134,129,1,234,19,103,122,147,185,212,243,222,204,151,47,157,39,185,174,83,191,70,231,214,117,163,175,139,158) +IMAGE_DATA(35,170,205,117,95,205,115,78,213,78,251,126,223,105,84,71,100,251,253,76,31,186,95,168,49,87,159,7,205,145,83,251) +IMAGE_DATA(233,49,140,204,150,169,125,215,51,119,116,68,148,207,222,25,64,207,171,143,162,114,238,254,28,109,251,251,54,110,219,88) +IMAGE_DATA(143,150,95,79,63,153,195,210,251,32,200,134,182,203,25,153,203,143,191,231,144,201,58,123,151,146,174,161,126,114,151,148) +IMAGE_DATA(175,208,17,153,94,129,231,252,76,24,158,42,141,47,234,211,156,186,232,159,202,186,127,51,78,127,243,238,42,251,62,205) +IMAGE_DATA(31,106,205,37,250,41,214,43,64,249,37,155,83,252,16,205,161,202,214,215,229,189,182,207,82,222,71,214,51,189,168,239) +IMAGE_DATA(232,184,157,206,250,173,116,240,181,198,79,245,44,54,163,211,119,63,124,175,65,158,147,211,120,206,188,251,255,165,152,183) +IMAGE_DATA(250,30,250,78,61,251,154,108,206,60,55,43,139,183,169,207,193,51,206,165,252,172,40,211,173,46,119,217,251,74,218,247) +IMAGE_DATA(150,188,195,23,81,22,29,236,239,249,249,123,71,217,123,90,37,89,141,58,201,5,80,89,215,111,99,160,107,74,123,43) +IMAGE_DATA(125,135,43,234,243,60,55,218,210,124,66,143,177,179,102,37,189,18,245,42,79,241,29,169,214,55,97,177,237,58,38,236) +IMAGE_DATA(86,201,167,203,116,20,117,212,246,41,200,77,79,78,179,190,55,26,245,151,214,148,249,227,124,147,246,75,250,6,121,82) +IMAGE_DATA(25,212,184,107,137,206,253,114,205,249,171,233,8,247,185,216,63,214,116,132,251,242,37,31,71,125,15,213,43,122,102,174) +IMAGE_DATA(186,162,164,47,153,199,44,183,3,123,135,78,167,94,143,83,151,124,193,146,126,86,61,162,123,171,158,184,29,121,61,216) +IMAGE_DATA(91,124,223,210,247,231,84,206,252,123,116,154,99,170,223,192,201,206,13,208,53,106,135,244,219,47,89,91,217,123,7,240) +IMAGE_DATA(133,235,21,173,27,249,203,208,243,22,226,127,200,123,205,135,119,219,142,79,173,124,194,126,54,155,71,218,70,198,120,47) +IMAGE_DATA(7,251,90,234,171,198,170,91,57,36,140,31,31,215,251,193,216,209,147,124,43,3,254,46,205,149,250,23,26,99,47,245) +IMAGE_DATA(91,247,172,42,135,250,62,136,183,231,249,19,190,223,215,92,11,159,31,213,17,216,104,109,199,145,53,240,179,81,205,127) +IMAGE_DATA(65,174,180,189,144,231,26,79,106,60,3,89,136,245,66,135,104,254,72,169,111,94,151,163,250,242,61,246,93,115,228,208) +IMAGE_DATA(187,216,196,168,135,125,187,143,69,145,177,243,77,24,125,175,215,115,191,252,140,80,219,37,38,128,126,44,181,135,191,196) +IMAGE_DATA(123,223,212,175,122,133,248,9,177,58,222,35,137,107,69,238,107,159,137,147,243,46,107,13,163,76,148,117,57,35,246,70) +IMAGE_DATA(27,30,239,161,255,204,87,0,242,150,245,147,122,52,199,162,245,62,178,234,83,157,87,80,219,231,12,83,219,161,47,218) +IMAGE_DATA(39,159,43,214,216,203,58,141,246,91,247,0,53,26,207,151,247,181,44,161,198,229,177,239,61,52,165,92,50,151,9,236) +IMAGE_DATA(97,73,14,177,219,42,11,26,79,215,117,222,6,234,156,246,216,119,253,54,133,238,123,181,159,30,11,4,93,103,251,57) +IMAGE_DATA(39,188,95,203,251,65,190,180,205,210,153,155,251,145,148,243,246,244,61,179,214,55,118,148,111,145,33,230,162,118,238,167) +IMAGE_DATA(118,214,223,37,128,71,116,60,142,180,235,103,43,53,212,122,123,214,150,185,173,245,67,231,180,103,174,52,118,208,75,67) +IMAGE_DATA(89,173,163,167,29,250,173,49,177,222,181,212,179,194,41,99,82,155,228,107,153,201,68,141,63,149,55,169,71,223,251,218) +IMAGE_DATA(22,246,232,255,146,220,251,55,15,117,95,155,241,137,35,99,242,252,224,90,155,154,103,84,171,59,107,139,245,202,252,7) +IMAGE_DATA(255,238,165,246,221,249,158,88,183,211,215,114,160,179,241,233,60,182,198,163,253,87,254,174,245,179,228,43,213,100,222,215) +IMAGE_DATA(211,117,100,169,253,82,95,136,5,51,63,61,239,130,161,163,148,166,214,158,143,181,180,150,25,210,191,222,118,148,166,180) +IMAGE_DATA(150,181,57,236,145,5,29,131,206,151,150,173,161,202,161,151,159,194,15,37,249,243,111,141,150,116,146,230,11,185,12,76) +IMAGE_DATA(121,255,80,219,244,118,179,60,37,218,106,181,231,245,214,242,241,166,244,185,119,60,53,157,225,253,239,253,134,243,38,115) +IMAGE_DATA(91,107,127,221,185,242,239,50,183,232,214,89,151,163,162,201,114,25,106,50,161,114,209,43,11,189,107,221,131,62,222,77) +IMAGE_DATA(121,214,121,183,132,254,14,192,97,182,153,189,115,208,91,103,235,221,133,109,194,148,182,15,179,159,189,117,174,211,135,117) +IMAGE_DATA(251,125,152,52,235,140,167,103,94,183,197,159,199,129,39,122,225,168,218,153,97,134,25,102,152,97,134,25,102,152,97,134) +IMAGE_DATA(25,114,248,31,15,161,22,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) IMAGE_END_DATA(5568, 20) IMAGE_BEGIN_DATA diff --git a/uppsrc/ide/ide.lay b/uppsrc/ide/ide.lay index 633ba6df7..733617227 100644 --- a/uppsrc/ide/ide.lay +++ b/uppsrc/ide/ide.lay @@ -418,16 +418,14 @@ END_LAYOUT LAYOUT(SetupIdeLayout, 520, 264) ITEM(Option, mute_sounds, SetLabel(t_("Mute sounds")).LeftPosZ(8, 160).TopPosZ(8, 18)) ITEM(Option, wrap_console_text, SetLabel(t_("Wrap console text")).LeftPosZ(8, 160).TopPosZ(28, 18)) - ITEM(Option, show_status_bar, SetLabel(t_("Show status bar")).LeftPosZ(8, 160).TopPosZ(128, 18)) - ITEM(Option, toolbar_in_row, SetLabel(t_("Menu and toolbar in a row")).LeftPosZ(8, 160).TopPosZ(148, 18)) - ITEM(Option, splash_screen, SetLabel(t_("Show splash screen")).LeftPosZ(8, 160).TopPosZ(168, 18)) - ITEM(Option, assist, SetLabel(t_("Automatic assist")).LeftPosZ(8, 160).TopPosZ(68, 18)) - ITEM(Option, commentdp, SetLabel(t_("Comment out default parameters when converting declaration to definition instead of removing them")).LeftPosZ(8, 512).TopPosZ(88, 18)) - ITEM(Option, browser_clickpos, SetLabel(t_("Browse code on single click")).LeftPosZ(8, 160).TopPosZ(48, 18)) - ITEM(Option, browser_closeesc, SetLabel(t_("Esc closes browser")).LeftPosZ(8, 160).TopPosZ(108, 18)) - ITEM(Label, dv___9, SetLabel(t_("HYDRA1 threads:")).LeftPosZ(8, 92).TopPosZ(188, 19)) + ITEM(Option, show_status_bar, SetLabel(t_("Show status bar")).LeftPosZ(8, 160).TopPosZ(88, 18)) + ITEM(Option, toolbar_in_row, SetLabel(t_("Menu and toolbar in a row")).LeftPosZ(8, 160).TopPosZ(108, 18)) + ITEM(Option, splash_screen, SetLabel(t_("Show splash screen")).LeftPosZ(8, 160).TopPosZ(128, 18)) + ITEM(Option, assist, SetLabel(t_("Automatic assist")).LeftPosZ(8, 160).TopPosZ(48, 18)) + ITEM(Option, commentdp, SetLabel(t_("Comment out default parameters when converting declaration to definition instead of removing them")).LeftPosZ(8, 512).TopPosZ(68, 18)) + ITEM(Label, dv___7, SetLabel(t_("HYDRA1 threads:")).LeftPosZ(8, 92).TopPosZ(188, 19)) ITEM(EditIntSpin, hydra1_threads, Min(1).Max(10).LeftPosZ(112, 48).TopPosZ(188, 19)) - ITEM(Label, dv___11, SetLabel(t_("GUI theme")).LeftPosZ(8, 92).TopPosZ(212, 19)) + ITEM(Label, dv___9, SetLabel(t_("GUI theme")).LeftPosZ(8, 92).TopPosZ(212, 19)) ITEM(DropList, chstyle, LeftPosZ(112, 228).TopPosZ(212, 19)) ITEM(Label, console_txt, SetLabel(t_("Use console in Linux")).LeftPosZ(8, 104).TopPosZ(240, 19)) ITEM(EditString, console, LeftPosZ(112, 148).TopPosZ(240, 19)) diff --git a/uppsrc/ide/idefile.cpp b/uppsrc/ide/idefile.cpp index 6625389fe..7a6b8d824 100644 --- a/uppsrc/ide/idefile.cpp +++ b/uppsrc/ide/idefile.cpp @@ -434,8 +434,8 @@ void Ide::EditFile0(const String& path, byte charset, bool astext, const String& SetBar(); editor.assist_active = IsProjectFile(editfile) && (IsCSourceFile(editfile) || IsCHeaderFile(editfile)); editor.CheckEdited(true); - editor.SyncNavigator(); editor.Annotate(editfile); + editor.SyncNavigator(); } void Ide::EditAsText() diff --git a/uppsrc/ide/idetool.cpp b/uppsrc/ide/idetool.cpp index a254c20f3..845d468c1 100644 --- a/uppsrc/ide/idetool.cpp +++ b/uppsrc/ide/idetool.cpp @@ -46,7 +46,7 @@ void Ide::GotoPos(String path, int line) AddHistory(); editastext.FindAdd(path); EditFile(path); - editor.SetCursor(editor.GetPos(editor.GetLineNo(line - 1))); + editor.SetCursor(editor.GetPos(line - 1)); editor.TopCursor(4); editor.SetFocus(); AddHistory(); diff --git a/uppsrc/ide/idewin.cpp b/uppsrc/ide/idewin.cpp index a8b3d7b24..2c6366283 100644 --- a/uppsrc/ide/idewin.cpp +++ b/uppsrc/ide/idewin.cpp @@ -81,7 +81,7 @@ void Ide::ConsolePaste() void Ide::Serialize(Stream& s) { int version = 11; - s.Magic(0x12346); + s.Magic(0x1234); s / version; s % main; SerializePlacement(s); @@ -90,7 +90,6 @@ void Ide::Serialize(Stream& s) { s % AnyPackageFs(); s % pfsplit; s % wesplit; - s % browser; s % package; s % filelist; s % editorfont; @@ -115,8 +114,6 @@ void Ide::Serialize(Stream& s) { s % wrap_console_text; s % mute_sounds; s % line_numbers; - s % browser.clickpos; - s % browser_closeesc; s % bookmark_pos; s % use_target; s % default_charset; @@ -457,11 +454,9 @@ Ide::Ide() editor_bottom.SetPos(8000); bottom.SetFrame(btabs); bottom.Add(console.SizePos().SetFrame(NullFrame())); - bottom.Add(browser.SizePos()); bottom.Add(calc.SizePos().SetFrame(NullFrame())); btabs <<= THISBACK(SyncBottom); BTabs(); - browser.WhenPos = THISBACK(GotoPos); pfsplit.SetPos(2000); pfsplit.Vert(package, filelist); @@ -593,7 +588,6 @@ Ide::Ide() targetmode = 0; - browser.WhenShowTopic = THISBACK(ShowTopic); doc.WhenTopic = THISBACK(OpenATopic); editor.NoCutLine();