From 1972afaf1c2bf5990b3c6db1e5d0fffc89f9e5f1 Mon Sep 17 00:00:00 2001 From: christian_u Date: Tue, 20 Feb 2007 21:03:34 +0000 Subject: [PATCH] added resource file used ConvertImageList from unstable Tree updated some scrolling stuff git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@72 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../virtualtreeview/VirtualTrees.inc.res | 1341 +++++++++++++++++ components/virtualtreeview/virtualTrees.pas | 393 +++-- .../windows/virtualtreeslcl.lpk | 2 +- 3 files changed, 1581 insertions(+), 155 deletions(-) create mode 100644 components/virtualtreeview/VirtualTrees.inc.res diff --git a/components/virtualtreeview/VirtualTrees.inc.res b/components/virtualtreeview/VirtualTrees.inc.res new file mode 100644 index 000000000..d83b892ea --- /dev/null +++ b/components/virtualtreeview/VirtualTrees.inc.res @@ -0,0 +1,1341 @@ +LazarusResources.Add('VT_CHECK_LIGHT','BMP',[ + 'BM'#204#12#0#0#0#0#0#0'J'#0#0#0'('#0#0#0#144#1#0#0#16#0#0#0#1#0#4#0#0#0#0#0#0 + +#0#0#0#18#11#0#0#18#11#0#0#5#0#0#0#5#0#0#0#0#0#0#0#255#255#255#0#255#0#255#0 + +#192#192#192#0#128#128#128#0'"""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""332"""""332' + +'"""""332"""""332"""""332"""""332"""""332"""""332"""#33332""#33332""#33332""' + +'#33332""#33332""#33332""#33332""#33332""#33332""#33332""#33332""#33332"!DDD' + +'DDDB!DDDDDDB$'#17#17#17#17#17#17#18'!DDDDDDB""""""""""3'#17#17#19'""""3'#17 + +#17#19'""""3333""""3333""""3'#17#17#19'""""3'#17#17#19'""""3333""""3333"""4' + +#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#17#17#17#17#19'""4' + +#17#17#17#17#19'""433333""433333""4'#17#17#17#17#19'""4'#17#17#17#17#19'""43' + +'3333""433333"!333333B!333333B$333333'#18'!333333B"""""""""#A'#17#17#17'2""#' + +'A'#17#17#17'2""#C3332""#C3332""#A'#19'3'#17'2""#A'#19'3'#17'2""#C3332""#C33' + +'32""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#20'A'#17'D' + +#19'""4'#20'A'#17'D'#19'""44C3D3""44C3D3""4'#20'DDD'#19'""4'#20'DDD'#19'""44' + +'DDD3""44DDD3"!333333B!333333B$333333'#18'!333333B"""""""""$'#17#17#17#17#19 + +'""$'#17#17#17#17#19'""$33333""$33333""$'#17'DDA'#19'""$'#17'DDA'#19'""$3DDC' + +'3""$3DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#20'D' + +#20'D'#19'""4'#20'D'#20'D'#19'""44D4D3""44D4D3""4'#20'DDD'#19'""4'#20'DDD'#19 + +'""44DDD3""44DDD3"!333333B!333333B$333'#3'33'#18'!333333B"""""""""4'#17#17#17 + +#17#19'""4'#17#17#17#17#19'""433333""433333""4'#19'DDC'#19'""4'#19'DDC'#19'"' + +'"43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4' + +#17'DDA'#19'""4'#17'DDA'#19'""43DDC3""43DDC3""4'#20'DDD'#19'""4'#20'DDD'#19 + +'""44DDD3""44DDD3"!330333B!330333B$330'#0'33'#18'!334333B"""""""""4'#17#17#17 + +#17#19'""4'#17#17#17#17#19'""433333""433333""4'#19'DDC'#19'""4'#19'DDC'#19'"' + +'"43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4' + +#17#20'D'#17#19'""4'#17#20'D'#17#19'""434D33""434D33""4'#20'DDD'#19'""4'#20 + +'DDD'#19'""44DDD3""44DDD3"!33'#0#3'33B!33'#0#3'33B$33'#0#0#3'3'#18'!33DC33B"' + +'""""""""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#19'DDC' + +#19'""4'#19'DDC'#19'""43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19 + +'""433333""433333""4'#17'DDA'#19'""4'#17'DDA'#19'""43DDC3""43DDC3""4'#20'DDD' + +#19'""4'#20'DDD'#19'""44DDD3""44DDD3"!30'#0#0'33B!30'#0#0'33B$30'#0#0#0'3'#18 + +'!34DD33B"""""""""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4' + +#17'DDA'#19'""4'#17'DDA'#19'""43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17 + +#17#19'""433333""433333""4'#20'D'#20'D'#19'""4'#20'D'#20'D'#19'""44D4D3""44D' + +'4D3""4'#20'DDD'#19'""4'#20'DDD'#19'""44DDD3""44DDD3"!3'#0#0#0#3'3B!3'#0#0#0 + +#3'3B$333333'#18'!3DDDC3B"""""""""$1'#17#17#17'2""$1'#17#17#17'2""$33332""$3' + +'3332""$1'#19'3'#17'2""$1'#19'3'#17'2""$33332""$33332""4'#17#17#17#17#19'""4' + +#17#17#17#17#19'""433333""433333""4'#20'A'#17'D'#19'""4'#20'A'#17'D'#19'""44' + +'C3D3""44C3D3""4'#20'DDD'#19'""4'#20'DDD'#19'""44DDD3""44DDD3"!333333B!33333' + +'3B$333333'#18'!333333B"""""""""#C'#17#17#20'2""#C'#17#17#20'2""#C3342""#C33' + +'42""#C'#17#17#20'2""#C'#17#17#20'2""#C3342""#C3342""4'#17#17#17#17#19'""4' + +#17#17#17#17#19'""433333""433333""4'#17#17#17#17#19'""4'#17#17#17#17#19'""43' + +'3333""433333""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333"!33333' + +'3B!333333B$333333'#18'!333333B""""""""""4DDC""""4DDC""""4DDC""""4DDC""""4DD' + +'C""""4DDC""""4DDC""""4DDC"""4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC"' + +'"4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC"!333333B!333333B$333333'#18 + +'!333333B"""""""""""33""""""33""""""33""""""33""""""33""""""33""""""33""""""' + +'33""""#33332""#33332""#33332""#33332""#33332""#33332""#33332""#33332""#3333' + +'2""#33332""#33332""#33332"!'#17#17#17#17#17#17#18'!'#17#17#17#17#17#17#18'$' + +'DDDDDDB!'#17#17#17#17#17#17#18'""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""'#0#0 +]); +LazarusResources.Add('VT_CHECK_DARK','BMP',[ + 'BM'#204#12#0#0#0#0#0#0'J'#0#0#0'('#0#0#0#144#1#0#0#16#0#0#0#1#0#4#0#0#0#0#0#0 + +#0#0#0#18#11#0#0#18#11#0#0#5#0#0#0#5#0#0#0#0#0#0#0#255#255#255#0#255#0#255#0 + +#192#192#192#0#128#128#128#0'"""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""DDB"""""DDB' + +'"""""DDB"""""DDB"""""DDB"""""DDB"""""DDB"""""DDB"""$DDDDB""$DDDDB""$DDDDB""' + +'$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB"!DDD' + +'DDDB!DDDDDDB$'#17#17#17#17#17#17#18'!DDDDDDB""""""""""D'#17#17#20'""""D'#17 + +#17#20'""""D334""""D334""""D'#17#17#20'""""D'#17#17#20'""""D334""""D334"""@' + +#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17#17#17#20'""@' + +#17#17#17#17#20'""@33334""@33334""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@3' + +'3334""@33334"!333333B!333333B$333333'#18'!333333B"""""""""$'#1#17#17#17'B""' + +'$'#1#17#17#17'B""$'#3'333B""$'#3'333B""$'#1#20'D'#17'B""$'#1#20'D'#17'B""$' + +#3'4D3B""$'#3'4D3B""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""' + +'@'#16#1#17#0#20'""@'#16#1#17#0#20'""@0'#3'3'#0'4""@0'#3'3'#0'4""@'#16#0#0#0 + +#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!333333B!333333B$333333'#18'!3333' + +'33B""""""""" '#17#17#17#17#20'"" '#17#17#17#17#20'"" 33334"" 33334"" '#17#0 + +#0#1#20'"" '#17#0#0#1#20'"" 3'#0#0#3'4"" 3'#0#0#3'4""@'#17#17#17#17#20'""@' + +#17#17#17#17#20'""@33334""@33334""@'#16#0#16#0#20'""@'#16#0#16#0#20'""@0'#0 + +'0'#0'4""@0'#0'0'#0'4""@'#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4' + +'"!333333B!333333B$333'#3'33'#18'!333333B"""""""""@'#17#17#17#17#20'""@'#17 + +#17#17#17#20'""@33334""@33334""@'#20#0#0#4#20'""@'#20#0#0#4#20'""@4'#0#0#4'4' + +'""@4'#0#0#4'4""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17 + +#0#0#1#20'""@'#17#0#0#1#20'""@3'#0#0#3'4""@3'#0#0#3'4""@'#16#0#0#0#20'""@'#16 + +#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!330333B!330333B$330'#0'33'#18'!334333B"""""' + +'""""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#20#0#0#4#20 + +'""@'#20#0#0#4#20'""@4'#0#0#4'4""@4'#0#0#4'4""@'#17#17#17#17#20'""@'#17#17#17 + +#17#20'""@33334""@33334""@'#17#16#0#17#20'""@'#17#16#0#17#20'""@30'#0'34""@3' + +'0'#0'34""@'#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!33'#0#3'33B' + +'!33'#0#3'33B$33'#0#0#3'3'#18'!33DC33B"""""""""@'#17#17#17#17#20'""@'#17#17 + +#17#17#20'""@33334""@33334""@'#20#0#0#4#20'""@'#20#0#0#4#20'""@4'#0#0#4'4""@' + +'4'#0#0#4'4""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#0 + +#0#1#20'""@'#17#0#0#1#20'""@3'#0#0#3'4""@3'#0#0#3'4""@'#16#0#0#0#20'""@'#16#0 + +#0#0#20'""@0'#0#0#0'4""@4DDD4"!30'#0#0'33B!30'#0#0'33B$30'#0#0#0'3'#18'!34DD' + +'33B"""""""""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#0 + +#0#1#20'""@'#17#0#0#1#20'""@3'#0#0#3'4""@3'#0#0#3'4""@'#17#17#17#17#20'""@' + +#17#17#17#17#20'""@33334""@33334""@'#16#0#16#0#20'""@'#16#0#16#0#20'""@0'#0 + +'0'#0'4""@0'#0'0'#0'4""@'#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4' + +'"!3'#0#0#0#3'3B!3'#0#0#0#3'3B$333333'#18'!3DDDC3B""""""""" A'#17#17#17'B"" ' + +'A'#17#17#17'B"" C333B"" C333B"" A'#20'D'#17'B"" A'#20'D'#17'B"" C4D3B"" C4D' + +'3B""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#16#1#17#0#20 + +'""@'#16#1#17#0#20'""@0'#3'3'#0'4""@0'#3'3'#0'4""@'#16#0#0#0#20'""@'#16#0#0#0 + +#20'""@0'#0#0#0'4""@4DDD4"!333333B!333333B$333333'#18'!333333B"""""""""$'#4 + +#17#17#16'B""$'#4#17#17#16'B""$'#4'330B""$'#4'330B""$'#4#17#17#16'B""$'#4#17 + +#17#16'B""$'#4'330B""$'#4'330B""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@333' + +'34""@33334""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17 + +#17#17#20'""@'#17#17#17#17#20'""@33334""@33334"!333333B!333333B$333333'#18'!' + +'333333B""""""""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0 + +#4'""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0#4'"""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@' + +#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0 + +#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'"!33333' + +'3B!333333B$333333'#18'!333333B"""""""""""DD""""""DD""""""DD""""""DD""""""DD' + +'""""""DD""""""DD""""""DD""""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB"' + +'"$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB"!'#17#17#17#17#17#17#18'!' + +#17#17#17#17#17#17#18'$DDDDDDB!'#17#17#17#17#17#17#18'""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""'#0#0 +]); +LazarusResources.Add('VT_TICK_LIGHT','BMP',[ + 'BM'#204#12#0#0#0#0#0#0'J'#0#0#0'('#0#0#0#144#1#0#0#16#0#0#0#1#0#4#0#0#0#0#0#0 + +#0#0#0#18#11#0#0#18#11#0#0#5#0#0#0#5#0#0#0#0#0#0#0#255#255#255#0#255#0#255#0 + +#192#192#192#0#128#128#128#0'"""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""332"""""332' + +'"""""332"""""332"""""332"""""332"""""332"""""332"""#33332""#33332""#33332""' + +'#33332""#33332""#33332""#33332""#33332""#33332""#33332""#33332""#33332"!DDD' + +'DDDB!DDDDDDB$'#17#17#17#17#17#17#18'!DDDDDDB""""""""""3'#17#17#19'""""3'#17 + +#17#19'""""3333""""3333""""3'#17#17#19'""""3'#17#17#19'""""3333""""3333"""4' + +#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#17#17#17#17#19'""4' + +#17#17#17#17#19'""433333""433333""4'#17#17#17#17#19'""4'#17#17#17#17#19'""43' + +'3333""433333"!333333B!333333B$333333'#18'!333333B"""""""""#A'#17#17#17'2""#' + +'A'#17#17#17'2""#C3332""#C3332""#A'#19'3'#17'2""#A'#19'3'#17'2""#C3332""#C33' + +'32""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#17#20#17#17 + +#19'""4'#17#20#17#17#19'""434333""434333""4'#20'DDD'#19'""4'#20'DDD'#19'""44' + +'DDD3""44DDD3"!333333B!333333B$333333'#18'!333333B"""""""""$'#17#17#17#17#19 + +'""$'#17#17#17#17#19'""$33333""$33333""$'#17'DDA'#19'""$'#17'DDA'#19'""$3DDC' + +'3""$3DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#17'DA' + +#17#19'""4'#17'DA'#17#19'""43DC33""43DC33""4'#20'DDD'#19'""4'#20'DDD'#19'""4' + +'4DDD3""44DDD3"!333333B!333333B$333'#3'33'#18'!333333B"""""""""4'#17#17#17#17 + +#19'""4'#17#17#17#17#19'""433333""433333""4'#19'DDC'#19'""4'#19'DDC'#19'""43' + +'DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#20 + +'DD'#17#19'""4'#20'DD'#17#19'""44DD33""44DD33""4'#20'DDD'#19'""4'#20'DDD'#19 + +'""44DDD3""44DDD3"!330333B!330333B$330'#0'33'#18'!334333B"""""""""4'#17#17#17 + +#17#19'""4'#17#17#17#17#19'""433333""433333""4'#19'DDC'#19'""4'#19'DDC'#19'"' + +'"43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4' + +#20'ADA'#19'""4'#20'ADA'#19'""44CDC3""44CDC3""4'#20'DDD'#19'""4'#20'DDD'#19 + +'""44DDD3""44DDD3"!33'#0#3'33B!33'#0#3'33B$33'#0#0#3'3'#18'!33DC33B"""""""""' + +'4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4'#19'DDC'#19'""4' + +#19'DDC'#19'""43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333' + +'""433333""4'#17#17#20'D'#19'""4'#17#17#20'D'#19'""4334D3""4334D3""4'#20'DDD' + +#19'""4'#20'DDD'#19'""44DDD3""44DDD3"!30'#0#0'33B!30'#0#0'33B$30'#0#0#0'3'#18 + +'!34DD33B"""""""""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333""4' + +#17'DDA'#19'""4'#17'DDA'#19'""43DDC3""43DDC3""4'#17#17#17#17#19'""4'#17#17#17 + +#17#19'""433333""433333""4'#17#17#17'D'#19'""4'#17#17#17'D'#19'""4333D3""433' + +'3D3""4'#20'DDD'#19'""4'#20'DDD'#19'""44DDD3""44DDD3"!3'#0#0#0#3'3B!3'#0#0#0 + +#3'3B$333333'#18'!3DDDC3B"""""""""$1'#17#17#17'2""$1'#17#17#17'2""$33332""$3' + +'3332""$1'#19'3'#17'2""$1'#19'3'#17'2""$33332""$33332""4'#17#17#17#17#19'""4' + +#17#17#17#17#19'""433333""433333""4'#17#17#17#20#19'""4'#17#17#17#20#19'""43' + +'3343""433343""4'#20'DDD'#19'""4'#20'DDD'#19'""44DDD3""44DDD3"!333333B!33333' + +'3B$333333'#18'!333333B"""""""""#C'#17#17#20'2""#C'#17#17#20'2""#C3342""#C33' + +'42""#C'#17#17#20'2""#C'#17#17#20'2""#C3342""#C3342""4'#17#17#17#17#19'""4' + +#17#17#17#17#19'""433333""433333""4'#17#17#17#17#19'""4'#17#17#17#17#19'""43' + +'3333""433333""4'#17#17#17#17#19'""4'#17#17#17#17#19'""433333""433333"!33333' + +'3B!333333B$333333'#18'!333333B""""""""""4DDC""""4DDC""""4DDC""""4DDC""""4DD' + +'C""""4DDC""""4DDC""""4DDC"""4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC"' + +'"4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC""4DDDDC"!333333B!333333B$333333'#18 + +'!333333B"""""""""""33""""""33""""""33""""""33""""""33""""""33""""""33""""""' + +'33""""#33332""#33332""#33332""#33332""#33332""#33332""#33332""#33332""#3333' + +'2""#33332""#33332""#33332"!'#17#17#17#17#17#17#18'!'#17#17#17#17#17#17#18'$' + +'DDDDDDB!'#17#17#17#17#17#17#18'""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""'#0#0 +]); +LazarusResources.Add('VT_TICK_DARK','BMP',[ + 'BM'#204#12#0#0#0#0#0#0'J'#0#0#0'('#0#0#0#144#1#0#0#16#0#0#0#1#0#4#0#0#0#0#0#0 + +#0#0#0#18#11#0#0#18#11#0#0#5#0#0#0#5#0#0#0#0#0#0#0#255#255#255#0#255#0#255#0 + +#192#192#192#0#128#128#128#0'"""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""DDB"""""DDB' + +'"""""DDB"""""DDB"""""DDB"""""DDB"""""DDB"""""DDB"""$DDDDB""$DDDDB""$DDDDB""' + +'$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB"!DDD' + +'DDDB!DDDDDDB$'#17#17#17#17#17#17#18'!DDDDDDB""""""""""D'#17#17#20'""""D'#17 + +#17#20'""""D334""""D334""""D'#17#17#20'""""D'#17#17#20'""""D334""""D334"""@' + +#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17#17#17#20'""@' + +#17#17#17#17#20'""@33334""@33334""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@3' + +'3334""@33334"!333333B!333333B$333333'#18'!333333B"""""""""$'#1#17#17#17'B""' + +'$'#1#17#17#17'B""$'#3'333B""$'#3'333B""$'#1#20'D'#17'B""$'#1#20'D'#17'B""$' + +#3'4D3B""$'#3'4D3B""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""' + +'@'#17#16#17#17#20'""@'#17#16#17#17#20'""@30334""@30334""@'#16#0#0#0#20'""@' + +#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!333333B!333333B$333333'#18'!333333B"""""' + +'"""" '#17#17#17#17#20'"" '#17#17#17#17#20'"" 33334"" 33334"" '#17#0#0#1#20 + +'"" '#17#0#0#1#20'"" 3'#0#0#3'4"" 3'#0#0#3'4""@'#17#17#17#17#20'""@'#17#17#17 + +#17#20'""@33334""@33334""@'#17#0#1#17#20'""@'#17#0#1#17#20'""@3'#0#3'34""@3' + +#0#3'34""@'#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!333333B!3333' + +'33B$333'#3'33'#18'!333333B"""""""""@'#17#17#17#17#20'""@'#17#17#17#17#20'""' + +'@33334""@33334""@'#20#0#0#4#20'""@'#20#0#0#4#20'""@4'#0#0#4'4""@4'#0#0#4'4"' + +'"@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#16#0#0#17#20'""' + +'@'#16#0#0#17#20'""@0'#0#0'34""@0'#0#0'34""@'#16#0#0#0#20'""@'#16#0#0#0#20'"' + +'"@0'#0#0#0'4""@4DDD4"!330333B!330333B$330'#0'33'#18'!334333B"""""""""@'#17 + +#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#20#0#0#4#20'""@'#20#0#0 + +#4#20'""@4'#0#0#4'4""@4'#0#0#4'4""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@3' + +'3334""@33334""@'#16#1#0#1#20'""@'#16#1#0#1#20'""@0'#3#0#3'4""@0'#3#0#3'4""@' + +#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!33'#0#3'33B!33'#0#3'33B' + +'$33'#0#0#3'3'#18'!33DC33B"""""""""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@' + +'33334""@33334""@'#20#0#0#4#20'""@'#20#0#0#4#20'""@4'#0#0#4'4""@4'#0#0#4'4""' + +'@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17#16#0#20'""' + +'@'#17#17#16#0#20'""@330'#0'4""@330'#0'4""@'#16#0#0#0#20'""@'#16#0#0#0#20'""' + +'@0'#0#0#0'4""@4DDD4"!30'#0#0'33B!30'#0#0'33B$30'#0#0#0'3'#18'!34DD33B""""""' + +'"""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#0#0#1#20'"' + +'"@'#17#0#0#1#20'""@3'#0#0#3'4""@3'#0#0#3'4""@'#17#17#17#17#20'""@'#17#17#17 + +#17#20'""@33334""@33334""@'#17#17#17#0#20'""@'#17#17#17#0#20'""@333'#0'4""@3' + +'33'#0'4""@'#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@4DDD4"!3'#0#0#0#3 + +'3B!3'#0#0#0#3'3B$333333'#18'!3DDDC3B""""""""" A'#17#17#17'B"" A'#17#17#17'B' + +'"" C333B"" C333B"" A'#20'D'#17'B"" A'#20'D'#17'B"" C4D3B"" C4D3B""@'#17#17 + +#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17#17#16#20'""@'#17#17 + +#17#16#20'""@33304""@33304""@'#16#0#0#0#20'""@'#16#0#0#0#20'""@0'#0#0#0'4""@' + +'4DDD4"!333333B!333333B$333333'#18'!333333B"""""""""$'#4#17#17#16'B""$'#4#17 + +#17#16'B""$'#4'330B""$'#4'330B""$'#4#17#17#16'B""$'#4#17#17#16'B""$'#4'330B"' + +'"$'#4'330B""@'#17#17#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17 + +#17#17#20'""@'#17#17#17#17#20'""@33334""@33334""@'#17#17#17#17#20'""@'#17#17 + +#17#17#20'""@33334""@33334"!333333B!333333B$333333'#18'!333333B""""""""""@'#0 + +#0#4'""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0#4'""""@'#0#0#4'""""@' + +#0#0#4'""""@'#0#0#4'"""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0 + +#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0 + +#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'""@'#0#0#0#0#4'"!333333B!333333B$333333'#18 + +'!333333B"""""""""""DD""""""DD""""""DD""""""DD""""""DD""""""DD""""""DD""""""' + +'DD""""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDDB""$DDDD' + +'B""$DDDDB""$DDDDB""$DDDDB"!'#17#17#17#17#17#17#18'!'#17#17#17#17#17#17#18'$' + +'DDDDDDB!'#17#17#17#17#17#17#18'""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""'#0#0 +]); +LazarusResources.Add('VT_FLAT','BMP',[ + 'BM'#204#12#0#0#0#0#0#0'J'#0#0#0'('#0#0#0#144#1#0#0#16#0#0#0#1#0#4#0#0#0#0#0#0 + +#0#0#0#18#11#0#0#18#11#0#0#5#0#0#0#5#0#0#0#0#0#0#0#255#255#255#0#255#0#255#0 + +#192#192#192#0#128#128#128#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'" '#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#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#0#0'""'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0 + +#2'"'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0#2'""""""""""'#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#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#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 + +#0#0#0#0#0'" '#0#0#0#0#0#0'" '#0#0#0#0#0#0'""'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0#2 + +'"'#0'33333'#2'"'#0#0#0#0#0#0#2'""""""""" '#0#17#17#0#2'"" '#0#17#17#0#2'"" ' + +#0'33'#0#2'"" '#0'33'#0#2'"" '#0#17#17#0#2'"" '#0#17#17#0#2'"" '#0'33'#0#2'"' + +'" '#0'33'#0#2'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3' + +'333'#0'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0 + +'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0'""'#0#17 + +#17#17#17#16#2'"'#0#17#17#17#17#16#2'"'#0#17#17#17#17#19#2'"'#0'33330'#2'"""' + +'"""""" '#1#17#17#16#2'"" '#1#17#17#16#2'"" '#3'330'#2'"" '#3'330'#2'"" '#1 + +#17#17#16#2'"" '#1#17#17#16#2'"" '#3'330'#2'"" '#3'330'#2'" '#1#17#17#17#17#0 + +'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0'" '#1#17#1#17#17#0'" '#1#17 + +#1#17#17#0'" '#3'3'#3'33'#0'" '#3'3'#3'33'#0'" '#1#0#0#0#1#0'" '#1#0#0#0#1#0 + +'" '#3#0#0#0#3#0'" '#3'DDDC'#0'""'#0#17#17#17#17#16#2'"'#0#17#17#17#17#16#2 + +'"'#0#17#17#17#17#19#2'"'#0'33330'#2'"""""""""'#0#17#17#17#17#0'""'#0#17#17 + +#17#17#0'""'#0'3333'#0'""'#0'3333'#0'""'#0#17#16#1#17#0'""'#0#17#16#1#17#0'"' + +'"'#0'30'#3'3'#0'""'#0'30'#3'3'#0'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" ' + +#3'3333'#0'" '#3'3333'#0'" '#1#16#0#17#17#0'" '#1#16#0#17#17#0'" '#3'0'#0'33' + +#0'" '#3'0'#0'33'#0'" '#1#0#0#0#1#0'" '#1#0#0#0#1#0'" '#3#0#0#0#3#0'" '#3'DD' + +'DC'#0'""'#0#17#17#1#17#16#2'"'#0#17#17#1#17#16#2'"'#0#17#17#1#17#19#2'"'#0 + +'33'#3'30'#2'"""""""""'#0#17#17#17#17#0'""'#0#17#17#17#17#0'""'#0'3333'#0'""' + +#0'3333'#0'""'#0#17#0#0#17#0'""'#0#17#0#0#17#0'""'#0'3'#0#0'3'#0'""'#0'3'#0#0 + +'3'#0'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0'" ' + +#1#0#0#1#17#0'" '#1#0#0#1#17#0'" '#3#0#0#3'3'#0'" '#3#0#0#3'3'#0'" '#1#0#0#0 + +#1#0'" '#1#0#0#0#1#0'" '#3#0#0#0#3#0'" '#3'DDDC'#0'""'#0#17#16#0#17#16#2'"'#0 + +#17#16#0#17#16#2'"'#0#17#16#0#17#19#2'"'#0'30'#0'30'#2'"""""""""'#0#17#17#17 + +#17#0'""'#0#17#17#17#17#0'""'#0'3333'#0'""'#0'3333'#0'""'#0#17#0#0#17#0'""'#0 + +#17#0#0#17#0'""'#0'3'#0#0'3'#0'""'#0'3'#0#0'3'#0'" '#1#17#17#17#17#0'" '#1#17 + +#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0'" '#1#0#16#0#17#0'" '#1#0#16#0#17#0 + +'" '#3#0'0'#0'3'#0'" '#3#0'0'#0'3'#0'" '#1#0#0#0#1#0'" '#1#0#0#0#1#0'" '#3#0 + +#0#0#3#0'" '#3'DDDC'#0'""'#0#17#0#0#1#16#2'"'#0#17#0#0#1#16#2'"'#0#17#0#0#1 + +#19#2'"'#0'3'#0#0#3'0'#2'"""""""""'#0#17#17#17#17#0'""'#0#17#17#17#17#0'""'#0 + +'3333'#0'""'#0'3333'#0'""'#0#17#16#1#17#0'""'#0#17#16#1#17#0'""'#0'30'#3'3'#0 + +'""'#0'30'#3'3'#0'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3 + +'3333'#0'" '#1#1#17#0#1#0'" '#1#1#17#0#1#0'" '#3#3'3'#0#3#0'" '#3#3'3'#0#3#0 + +'" '#1#0#0#0#1#0'" '#1#0#0#0#1#0'" '#3#0#0#0#3#0'" '#3'DDDC'#0'""'#0#16#0#0#0 + +#16#2'"'#0#16#0#0#0#16#2'"'#0#16#0#0#0#19#2'"'#0'0'#0#0#0'0'#2'""""""""" '#1 + +#17#17#16#2'"" '#1#17#17#16#2'"" '#3'330'#2'"" '#3'330'#2'"" '#1#17#17#16#2 + +'"" '#1#17#17#16#2'"" '#3'330'#2'"" '#3'330'#2'" '#1#17#17#17#17#0'" '#1#17 + +#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0'" '#1#17#17#16#1#0'" '#1#17#17#16#1#0 + +'" '#3'330'#3#0'" '#3'330'#3#0'" '#1#0#0#0#1#0'" '#1#0#0#0#1#0'" '#3#0#0#0#3 + +#0'" '#3'DDDC'#0'""'#0#17#17#17#17#16#2'"'#0#17#17#17#17#16#2'"'#0#17#17#17 + +#17#19#2'"'#0'33330'#2'""""""""" '#0#17#17#0#2'"" '#0#17#17#0#2'"" '#0'33'#0 + +#2'"" '#0'33'#0#2'"" '#0#17#17#0#2'"" '#0#17#17#0#2'"" '#0'33'#0#2'"" '#0'33' + +#0#2'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0'" ' + +#1#17#17#17#1#0'" '#1#17#17#17#1#0'" '#3'333'#3#0'" '#3'333'#3#0'" '#1#0#0#0 + +#1#0'" '#1#0#0#0#1#0'" '#3#0#0#0#3#0'" '#3'DDDC'#0'""'#0#17#17#17#17#16#2'"' + +#0#17#17#17#17#16#2'"'#0#17#17#17#17#19#2'"'#0'33330'#2'""""""""""'#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#0#0#0'"" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0 + ,'" '#3'3333'#0'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3' + +'333'#0'" '#1#17#17#17#17#0'" '#1#17#17#17#17#0'" '#3'3333'#0'" '#3'3333'#0 + +'""'#0#17#17#17#17#16#2'"'#0#17#17#17#17#16#2'"'#0#17#17#17#17#19#2'"'#0'333' + +'30'#2'"""""""""""'#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#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'" '#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#0'"' + +'"'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0#2'"""""""' + +'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" '#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#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#0#0'" ' + +#0#0#0#0#0#0'" '#0#0#0#0#0#0'""'#0#0#0#0#0#0#2'"'#0#0#0#0#0#0#2'"'#0#0#0#0#0 + +#0#2'"'#0#0#0#0#0#0#2'""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""' + +'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'#0#0 +]); +LazarusResources.Add('VT_XP','BMP',[ + 'BM8K'#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#144#1#0#0#16#0#0#0#1#0#24#0#0#0#0#0#0#0#0 + +#0#18#11#0#0#18#11#0#0#0#0#0#0#0#0#0#0#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#238#231#223#233#224#214#231#221#211 + +#233#224#214#238#231#223#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#238#231#223#233 + +#224#214#231#221#211#233#224#214#238#231#223#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#238#231#223#233#224#214#231#221#211#233#224#214#238#231#223#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + ,#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#238#231#223#233#224#214#231#221#211#233 + +#224#214#238#231#223#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#238#231#223#233#224 + +#214#231#221#211#233#224#214#238#231#223#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#238#231#223#233#224#214#231#221#211#233#224#214#238#231#223#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#225#217#237'_'#140'y#oL'#6'b7'#6 + +'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#24'iDX'#138't'#238#244#250#255 + +#0#255#236#216#223'_'#140'y#oL'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6 + +'b7'#6'b7'#24'iDX'#138't'#248#241#243#255#0#255#225#217#237'_'#140'y#oL'#6'b' + +'7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#24'iDX'#138't'#238#244 + +#250#255#0#255#255#255#255#184#196#202#184#196#202#184#196#202#184#196#202 + +#184#196#202#184#196#202#184#196#202#184#196#202#184#196#202#184#196#202#184 + +#196#202#184#196#202#184#196#202#255#255#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#226#214#201#220#206#191#217#202#186#216#201#184#217#202#186#220 + +#206#191#226#214#201#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#224#212#198#217#201#185#213#196#178#211 + +#194#175#213#196#178#217#201#185#224#212#198#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#226#214#201#220 + +#206#191#217#202#186#216#201#184#217#202#186#220#206#191#226#214#201#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#226#214#201#220#206#191#217#202#186#216#201#184#217#202 + +#186#220#206#191#226#214#201#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#226#214#201#220#206#191#217#202 + +#186#216#201#184#217#202#186#220#206#191#226#214#201#255#0#255#255#0#255#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#226#214 + +#201#220#206#191#217#202#186#216#201#184#217#202#186#220#206#191#226#214#201 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + ,#255'V'#17#0'V'#17#0'U'#19#0'U'#16#0'V'#17#0'R'#14#1'W'#16#2'T'#18#0'U'#15#2 + +'U'#16#0'W'#18#0'T'#18#0'V'#17#0#255#0#255#255#0#255#255#0#255'W'#19#0'W'#18 + +#1'Y'#19#2'^'#18#0'W'#20#0'V'#18#0'W'#18#1'V'#17#0'W'#19#0'X'#17#3'U'#21#0'Z' + +#21#2'X'#18#1#255#0#255#255#0#255#255#0#255'V'#19#0'T'#19#4'W'#18#1'W'#18#1 + +'Z'#18#0'X'#19#0'W'#17#0'W'#18#0'Z'#18#1'X'#19#0'V'#22#0'W'#18#0'X'#20#1#255 + +#0#255#255#0#255#255#0#255#168#183#185#170#183#185#171#184#186#169#184#186 + +#168#183#185#170#183#185#169#182#184#168#183#185#169#184#187#170#183#185#171 + +#184#186#168#183#185#168#183#185#255#0#255#255#0#255#255#0#255'W'#18#0'U'#18 + +#3'R'#19#0'V'#18#0'U'#19#0'U'#15#0'U'#19#0'T'#18#0'S'#17#0'Y'#17#0'T'#18#0'U' + +#16#1'V'#19#0#255#0#255#255#0#255#255#0#255'U'#17#4'Y'#20#0'W'#20#0'Y'#16#2 + +'U'#17#0'Z'#17#3'V'#15#1'Z'#19#0'U'#19#1'U'#17#0'X'#18#1'X'#20#1'Y'#17#0#255 + +#0#255#255#0#255#255#0#255'X'#19#0'U'#19#0'X'#18#1'W'#20#0'U'#16#1'X'#19#0'X' + +#18#1'U'#19#0'Y'#17#0'X'#21#0'V'#18#0'U'#19#0'Y'#20#1#255#0#255#255#0#255#255 + +#0#255#168#183#185#170#183#185#171#183#183#170#183#185#171#184#186#169#182 + +#184#170#183#185#169#185#184#169#182#184#170#183#185#168#183#185#167#182#184 + +#170#183#185#255#0#255#255#0#255#255#0#255'W'#18#0'U'#18#3'R'#19#0'V'#18#0'U' + +#19#0'U'#15#0'U'#19#0'T'#18#0'S'#17#0'Y'#17#0'T'#18#0'U'#16#1'V'#19#0#255#0 + +#255#255#0#255#255#0#255'U'#17#4'Y'#20#0'W'#20#0'Y'#16#2'U'#17#0'Z'#17#3'V' + +#15#1'Z'#19#0'U'#19#1'U'#17#0'X'#18#1'X'#20#1'Y'#17#0#255#0#255#255#0#255#255 + +#0#255'X'#19#0'U'#19#0'X'#18#1'W'#20#0'U'#16#1'X'#19#0'X'#18#1'U'#19#0'Y'#17 + +#0'X'#21#0'V'#18#0'U'#19#0'Y'#20#1#255#0#255#255#0#255#255#0#255#168#183#185 + +#170#183#185#171#183#183#170#183#185#171#184#186#169#182#184#170#183#185#169 + +#185#184#169#182#184#170#183#185#168#183#185#167#182#184#170#183#185#255#0 + +#255#255#0#255#255#0#255'N'#131'lD}c'#152#178#199#184#209#227#184#209#227#184 + +#209#227#184#209#227#184#209#227#184#209#227#184#209#227#183#209#226#182#208 + +#226#164#177#201'B|aU'#136'r'#255#0#255'N'#131'ludu%r'#207'%r'#207'%r'#207'%' + +'r'#207'%r'#207'%r'#207'%r'#207'%r'#207'%r'#207'%r'#207'%r'#207'rbsU'#136'r' + +#255#0#255'N'#131'lG'#130'f'#166#203#216#226#243#246#228#244#248#228#244#248 + +#228#244#248#228#244#248#228#244#248#228#244#248#228#245#248#229#245#248#190 + +#218#228'H'#132'iU'#136'r'#255#0#255#184#196#202#201#211#217#221#231#235#233 + +#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242 + +#246#233#242#246#233#242#246#225#235#239#201#211#217#184#196#202#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#223#210#196#185#153#131#154'jN'#129'D#q,'#8#129'D#'#154 + +'jN'#185#153#131#223#210#196#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#220#205#190#181#147'{'#151'eHA'#31'q,'#7'A'#31#151 + +'eH'#181#147'{'#220#205#190#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#223#210#196#185#153#131#154'jN'#129'D#q,'#8#129'D#'#154 + +'jN'#185#153#131#223#210#196#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#213#221#222#197#208#210#188#200 + +#203#197#208#210#213#221#222#233#237#238#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#223#210#196#185#153#131#154'jN' + +#129'D#q,'#8#129'D#'#154'jN'#185#153#131#223#210#196#255#0#255#255#0#255#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#223#210#196#185#153#131#154'j' + +'N'#129'D#q,'#8#129'D#'#154'jN'#185#153#131#223#210#196#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#223#210#196#185#153#131 + +#154'jN'#129'D#q,'#8#129'D#'#154'jN'#185#153#131#223#210#196#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#208#216#215#190#201#199#180#192#190#190#201#199#208#216#215#230#234#234#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255'V'#17#0 + +#244#249#247#248#247#251#248#248#248#248#248#248#251#249#249#247#248#246#248 + +#248#248#247#249#249#248#248#248#245#247#248#248#247#249'V'#17#0#255#0#255 + +#255#0#255#255#0#255'U'#20#0#136#195#251#132#193#249#130#194#248#135#195#249 + +#135#195#249#132#199#244#138#195#250#132#196#244#136#191#252#130#195#246#132 + +#197#248'X'#20#0#255#0#255#255#0#255#255#0#255'Z'#18#0#201#210#213#197#211 + +#210#198#210#210#198#210#214#196#208#208#198#212#211#198#209#213#199#211#213 + +#198#209#213#197#211#210#200#213#211'V'#20#2#255#0#255#255#0#255#255#0#255 + +#167#182#184#226#239#241#227#239#241#225#238#240#225#238#240#225#237#239#226 + +#239#241#225#238#240#225#238#240#226#238#240#226#238#240#227#240#242#169#182 + +#184#255#0#255#255#0#255#255#0#255'V'#17#0#251#249#248#250#248#247#245#247 + +#247#244#250#245#248#249#247#250#248#248#248#247#249#247#249#250#247#246#248 + +#250#248#247#249#247#246'V'#17#2#255#0#255#255#0#255#255#0#255'X'#18#1#133 + +#196#246#130#194#249#132#195#245#137#196#246#138#196#248#135#198#248#132#197 + ,#248#136#196#250#133#192#248#136#196#250#132#195#246'Z'#20#0#255#0#255#255#0 + +#255#255#0#255'W'#18#1#197#213#212#198#210#216#197#210#208#199#210#214#199 + +#211#213#196#208#212#200#210#210#192#210#209#197#209#211#200#211#215#199#211 + +#213'X'#18#1#255#0#255#255#0#255#255#0#255#170#183#185#227#239#239#227#237 + +#237#226#238#238#226#238#240#227#239#241#225#237#239#226#240#239#227#239#241 + +#227#239#241#225#238#240#226#239#241#171#184#186#255#0#255#255#0#255#255#0 + +#255'V'#17#0#251#249#248#250#248#247#245#247#247#244#250#245#248#249#247#250 + +#248#248#248#247#249#247#249#250#247#246#248#250#248#247#249#247#246'V'#17#2 + +#255#0#255#255#0#255#255#0#255'X'#18#1#133#196#246#130#194#249#132#195#245 + +#137#196#246#138#196#248#135#198#248#132#197#248#136#196#250#133#192#248#136 + +#196#250#132#195#246'Z'#20#0#255#0#255#255#0#255#255#0#255'W'#18#1#197#213 + +#212#198#210#216#197#210#208#199#210#214#199#211#213#196#208#212#200#210#210 + +#192#210#209#197#209#211#200#211#215#199#211#213'X'#18#1#255#0#255#255#0#255 + +#255#0#255#170#183#185#227#239#239#227#237#237#226#238#238#226#238#240#227 + +#239#241#225#237#239#226#240#239#227#239#241#227#239#241#225#238#240#226#239 + +#241#171#184#186#255#0#255#255#0#255#255#0#255#24'iD'#179#200#215#201#225#236 + +#200#224#234#200#224#235#201#225#236#201#225#236#201#225#236#201#225#236#201 + +#225#236#200#224#235#198#221#234#193#216#230#170#185#205#24'iD'#255#0#255#24 + +'iDc'#153#221'O'#145#227'O'#145#227'N'#144#227'O'#145#227'O'#145#227'O'#145 + +#227'O'#145#227'O'#145#227'O'#145#227'O'#145#227'O'#145#227'a'#152#219#24'iD' + +#255#0#255#24'iD'#176#196#212#211#233#238#216#236#242#217#237#242#217#237#242 + +#216#236#242#216#236#242#216#236#242#217#237#242#217#237#242#219#238#243#221 + +#238#244#183#208#222#24'iD'#255#0#255#184#196#202#225#235#239#233#242#246#233 + +#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242 + +#246#233#242#246#233#242#246#233#242#246#225#235#239#184#196#202#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#213#195#179#162'v['#150'dH'#192#162#143#228#215#207#249#247#245 + +#228#215#207#192#162#143#150'dH'#162'v['#213#195#179#255#0#255#255#0#255#255 + +#0#255#255#0#255#255#0#255#210#190#173#158'pT'#129'g`~'#147#176'q'#167#223'c' + +#171#243'q'#167#223'~'#147#176#129'g`'#158'pT'#210#190#173#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#213#195#179#162'v['#150'kR'#180#161#147 + +#196#192#187#200#203#203#196#192#187#180#161#147#150'kR'#162'v['#213#195#179 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#217#224#226#208 + +#217#219#228#233#234#244#246#247#254#254#254#244#246#247#228#233#234#208#217 + +#219#217#224#226#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#213#195#179#162'v['#150'dH'#192#162#143#228#215#207#249#247#245#228#215#207 + +#192#162#143#150'dH'#162'v['#213#195#179#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#213#195#179#162'v['#150'dH'#192#162#143#228#215#207#249#247 + +#245#228#215#207#192#162#143#150'dH'#162'v['#213#195#179#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#213#195#179#162'v['#150'dH'#192#162#143#228 + +#215#207#249#247#245#228#215#207#192#162#143#150'dH'#162'v['#213#195#179#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#213#220#219#203#212 + +#210#225#230#229#243#245#245#253#254#254#243#245#245#225#230#229#203#212#210 + +#213#220#219#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255'V' + +#17#0#246#248#249#248#248#248#246#249#247#248#248#248#249#247#247#249#248#250 + +#246#248#249#250#248#248#246#248#248#248#249#247#249#249#249'V'#17#0#255#0 + +#255#255#0#255#255#0#255'Y'#20#1#129#195#246#248#248#248#244#249#247#245#247 + +#247#249#248#252#249#246#248#250#249#245#244#249#248#248#247#249#250#248#248 + +#133#196#246'W'#18#3#255#0#255#255#0#255#255#0#255'W'#18#1#197#209#213#195 + +#208#210#196#205#209#194#204#211#194#205#209#196#205#209#193#207#206#194#206 + +#208#195#208#210#195#207#209#199#210#214'W'#18#1#255#0#255#255#0#255#255#0 + +#255#170#183#185#224#237#239#225#237#239#225#237#239#224#236#238#225#237#239 + +#224#236#238#223#236#238#225#237#239#224#236#238#224#236#236#226#238#238#170 + +#183#185#255#0#255#255#0#255#255#0#255'T'#18#0#245#247#247#248#248#248#248 + +#248#248#245#248#252#251#247#252#248#247#249#250#248#247#246#248#248#248#249 + +#245#246#248#248#243#248#246'V'#17#0#255#0#255#255#0#255#255#0#255'X'#19#0 + +#134#197#248#250#249#245#245#247#247#244#249#248#244#249#247#251#247#252#246 + +#248#248#246#250#245#246#248#248#249#247#247#132#196#250'W'#19#0#255#0#255 + +#255#0#255#255#0#255'X'#21#0#199#210#214#195#205#212#197#209#211#202#208#207 + +#196#209#211#203#208#211#196#205#209#194#207#209#202#205#213#194#206#210#200 + +#213#215'Z'#18#0#255#0#255#255#0#255#255#0#255#168#183#186#224#237#239#225 + +#237#237#225#237#237#225#237#239#227#239#241#227#239#241#225#238#240#224#236 + +#238#224#236#238#227#239#241#226#239#241#169#182#184#255#0#255#255#0#255#255 + ,#0#255'T'#18#0#245#247#247#248#248#248#248#248#248#245#248#252#251#247#252 + +#248#247#249#250#248#247#246#248#248#248#249#245#246#248#248#243#248#246'V' + +#17#0#255#0#255#255#0#255#255#0#255'X'#19#0#134#197#248#250#249#245#245#247 + +#247#244#249#248#244#249#247#251#247#252#246#248#248#246#250#245#246#248#248 + +#249#247#247#132#196#250'W'#19#0#255#0#255#255#0#255#255#0#255'X'#21#0#199 + +#210#214#195#205#212#197#209#211#202#208#207#196#209#211#203#208#211#196#205 + +#209#194#207#209#202#205#213#194#206#210#200#213#215'Z'#18#0#255#0#255#255#0 + +#255#255#0#255#168#183#186#224#237#239#225#237#237#225#237#237#225#237#239 + +#227#239#241#227#239#241#225#238#240#224#236#238#224#236#238#227#239#241#226 + +#239#241#169#182#184#255#0#255#255#0#255#255#0#255#6'b7'#225#243#246#224#243 + +#246#224#243#246#224#243#246#224#243#246#224#243#246#224#243#246#224#243#246 + +#224#243#246#224#243#246#222#241#246#214#235#242#204#228#238#6'b7'#255#0#255 + +#6'b7X'#150#227'X'#150#227#224#242#245#224#242#245#224#242#245#224#242#245 + +#224#242#245#224#242#245#224#242#245#224#242#245#222#240#245'X'#150#227'V' + +#149#227#6'b7'#255#0#255#6'b7'#190#213#227#197#220#231#201#225#234#202#226 + +#234#202#226#234#202#226#234#202#226#234#202#226#234#202#226#234#202#226#234 + +#203#227#235#206#228#236#207#229#237#6'b7'#255#0#255#184#196#202#233#242#246 + +#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233 + +#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#184#196 + +#202#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#226#214#201#161'tY'#178#141'v'#249#248#245#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#249#248#245#178#141'v'#161'tY'#226 + +#214#201#255#0#255#255#0#255#255#0#255#224#212#198#158'pT'#136#135#143'~'#180 + +#234#179#210#240#223#235#247#250#250#251#223#235#247#179#210#240'~'#180#234 + +#136#135#143#158'pT'#224#212#198#255#0#255#255#0#255#255#0#255#226#214#201 + +#161'tY'#173#144'}'#207#210#209#202#206#207#202#206#207#202#206#207#202#206 + +#207#202#206#207#207#210#209#173#144'}'#161'tY'#226#214#201#255#0#255#255#0 + +#255#255#0#255#255#0#255#217#224#226#224#229#231#254#254#254#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#254#254#254#224#229#231#217#224 + +#226#255#0#255#255#0#255#255#0#255#255#0#255#226#214#201#161'tY'#178#141'v' + +#248#245#242#247#243#240#237#230#223#233#225#215#237#230#223#247#243#240#248 + +#245#242#178#141'v'#161'tY'#226#214#201#255#0#255#255#0#255#255#0#255#226#214 + +#201#161'tY'#178#141'v'#248#245#242#247#243#240#237#230#223#233#225#215#237 + +#230#223#247#243#240#248#245#242#178#141'v'#161'tY'#226#214#201#255#0#255#255 + +#0#255#255#0#255#226#214#201#161'tY'#178#141'v'#248#245#242#247#243#240#237 + +#230#223#233#225#215#237#230#223#247#243#240#248#245#242#178#141'v'#161'tY' + +#226#214#201#255#0#255#255#0#255#255#0#255#255#0#255#213#220#219#220#226#225 + +#254#254#254#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#254 + +#254#254#220#226#225#213#220#219#255#0#255#255#0#255#255#0#255#255#0#255#255 + +#0#255'V'#17#0#246#248#249#248#249#247#250#247#249#249#248#250#250#246#245 + +#246#248#249#250#248#247#246#248#248#250#247#249#249#249#249#249#248#250'V' + +#17#0#255#0#255#255#0#255#255#0#255'X'#19#2#133#193#247#249#249#249#252#247 + +#248#250#248#247#247#248#246#252#247#249#243#248#247#248#249#247#248#248#248 + +#249#250#246#130#194#249'['#19#1#255#0#255#255#0#255#255#0#255'V'#17#0#195 + +#210#213#195#207#207#194#204#204#193#206#204#195#206#203#197#205#204#193#204 + +#208#194#205#209#192#204#208#196#208#208#198#209#213'Z'#19#0#255#0#255#255#0 + +#255#255#0#255#168#183#185#224#237#239#226#238#240#224#236#238#224#236#238 + +#224#236#238#225#237#239#223#236#238#224#236#238#225#237#239#225#237#237#225 + +#237#239#171#184#186#255#0#255#255#0#255#255#0#255'U'#15#2#245#251#246#250 + +#246#251#249#249#249#247#247#247#2#134#0#248#247#249#244#249#247#247#249#250 + +#246#245#247#252#248#247#250#246#251'V'#18#0#255#0#255#255#0#255#255#0#255'X' + +#20#1#135#191#250#248#247#249#250#246#251#246#248#248#0#135#0#247#247#247#249 + +#246#248#247#250#248#248#247#249#247#248#246#129#195#248'X'#19#0#255#0#255 + +#255#0#255#255#0#255'W'#18#3#196#210#209#200#208#208#203#210#207#200#208#215 + +#0'e'#3#205#208#216#198#207#211#198#204#209#193#206#204#194#207#215#197#211 + +#210'Y'#20#0#255#0#255#255#0#255#255#0#255#169#184#187#227#239#241#225#237 + +#237#226#238#238#228#240#242#161#173#175#226#238#240#227#239#241#225#238#240 + +#225#237#239#224#237#239#224#237#239#171#184#186#255#0#255#255#0#255#255#0 + +#255'U'#15#2#245#251#246#250#246#251#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0 + +#0#139#0#0#139#0#252#248#247#250#246#251'V'#18#0#255#0#255#255#0#255#255#0 + +#255'X'#20#1#135#191#250#248#247#249#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0 + +#0#139#0#0#139#0#247#248#246#129#195#248'X'#19#0#255#0#255#255#0#255#255#0 + +#255'W'#18#3#196#210#209#200#208#208#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0 + ,#0#139#0#0#139#0#194#207#215#197#211#210'Y'#20#0#255#0#255#255#0#255#255#0 + +#255#169#184#187#227#239#241#225#237#237#163#176#178#163#176#178#163#176#178 + +#163#176#178#163#176#178#163#176#178#163#176#178#224#237#239#224#237#239#171 + +#184#186#255#0#255#255#0#255#255#0#255#6'b7'#226#244#247#226#244#247#225#243 + +#246#225#243#246#225#243#246#225#243#246#154#154#154#225#243#246#225#243#246 + +#225#243#246#223#242#246#216#237#242#207#228#238#6'b7'#255#0#255#6'b7\'#153 + +#228']'#154#229#225#242#245#225#242#245#225#242#245#225#242#245#154#154#154 + +#225#242#245#225#242#245#225#242#245#223#241#245'\'#153#228'\'#153#228#6'b7' + +#255#0#255#6'b7'#189#212#226#196#219#230#201#225#234#202#226#234#202#226#234 + +#202#226#234#154#154#154#202#226#234#202#226#234#202#226#234#203#226#234#204 + +#228#236#206#228#236#6'b7'#255#0#255#184#196#202#233#242#246#233#242#246#233 + +#242#246#233#242#246#233#242#246#233#242#246#154#154#154#233#242#246#233#242 + +#246#233#242#246#233#242#246#233#242#246#233#242#246#184#196#202#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#185#153#131#147'_A'#241#236#229#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#241#236#229#147'_A'#185#153#131#255 + +#0#255#255#0#255#255#0#255#183#150''#128'f^{'#176#228#220#228#236#254#254 + +#253#255#255#255#255#255#255#255#255#255#254#254#253#220#228#236'{'#176#228 + +#128'f^'#183#150''#255#0#255#255#0#255#255#0#255#185#153#131#147'fL'#202#203 + +#199#202#206#207#202#206#207#202#206#207#202#206#207#202#206#207#202#206#207 + +#202#206#207#202#203#199#147'fL'#185#153#131#255#0#255#255#0#255#255#0#255 + +#233#237#238#208#217#219#254#254#254#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#254#254#254#208#217#219#255#0 + +#255#255#0#255#255#0#255#255#0#255#185#153#131#147'_A'#241#236#229#247#243 + +#240#227#216#204#214#198#181#211#194#175#214#198#181#227#216#204#247#243#240 + +#241#236#229#147'_A'#185#153#131#255#0#255#255#0#255#255#0#255#185#153#131 + +#147'_A'#241#236#229#247#243#240#227#216#204#214#198#181#211#194#175#214#198 + +#181#227#216#204#247#243#240#241#236#229#147'_A'#185#153#131#255#0#255#255#0 + +#255#255#0#255#185#153#131#147'_A'#241#236#229#247#243#240#227#216#204#214 + +#198#181#211#194#175#214#198#181#227#216#204#247#243#240#241#236#229#147'_A' + +#185#153#131#255#0#255#255#0#255#255#0#255#230#234#234#203#212#210#254#254 + +#254#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#254#254#254#203#212#210#230#234#234#255#0#255#255#0#255#255#0 + +#255#255#0#255'V'#17#0#246#248#248#248#249#247#246#248#248#250#248#247#249 + +#250#246#246#248#249#250#248#248#245#248#246#248#249#247#248#249#247#249#247 + +#247'V'#17#0#255#0#255#255#0#255#255#0#255'S'#16#1#130#196#245#244#246#246 + +#252#249#245#248#248#248#244#249#247#250#248#248#248#247#249#248#248#248#250 + +#248#247#246#248#248#131#197#246'X'#19#0#255#0#255#255#0#255#255#0#255'W'#18 + +#0#198#209#213#195#208#210#201#206#207#199#204#205#195#204#207#197#205#204 + +#193#205#205#196#204#204#197#204#207#197#206#209#197#209#213'X'#20#1#255#0 + +#255#255#0#255#255#0#255#167#182#184#224#237#239#224#236#238#224#236#238#224 + +#237#239#223#235#237#226#238#240#223#236#238#225#237#239#224#236#238#224#237 + +#239#228#240#242#170#183#185#255#0#255#255#0#255#255#0#255'V'#15#1#245#250 + +#248#248#248#248#249#247#246#1#137#1#0#141#2#0#135#0#246#248#249#251#248#243 + +#249#249#249#250#247#249#246#247#251'W'#17#0#255#0#255#255#0#255#255#0#255'Y' + +#17#0#130#194#248#252#247#248#251#250#246#0#135#0#1#135#0#3#134#0#248#249#247 + +#245#247#247#245#247#248#247#249#249#134#193#249'Z'#18#0#255#0#255#255#0#255 + +#255#0#255'Z'#19#0#198#211#213#198#208#215#202#209#212#2'e'#1#1'j'#3#2'f'#0 + +#204#209#212#196#209#211#195#204#208#195#207#209#196#210#208'X'#18#1#255#0 + +#255#255#0#255#255#0#255#169#184#186#224#237#239#226#238#238#227#239#239#163 + +#175#177#165#177#179#164#176#178#227#239#241#225#238#240#226#238#240#224#236 + +#238#227#239#241#170#183#185#255#0#255#255#0#255#255#0#255'V'#15#1#245#250 + +#248#248#248#248#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#250 + +#247#249#246#247#251'W'#17#0#255#0#255#255#0#255#255#0#255'Y'#17#0#130#194 + +#248#252#247#248#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#247 + +#249#249#134#193#249'Z'#18#0#255#0#255#255#0#255#255#0#255'Z'#19#0#198#211 + +#213#198#208#215#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#195 + +#207#209#196#210#208'X'#18#1#255#0#255#255#0#255#255#0#255#169#184#186#224 + +#237#239#226#238#238#163#176#178#163#176#178#163#176#178#163#176#178#163#176 + +#178#163#176#178#163#176#178#224#236#238#227#239#241#170#183#185#255#0#255 + +#255#0#255#255#0#255#6'b7'#227#245#248#227#245#248#226#244#247#226#244#247 + +#226#244#247#154#154#154#154#154#154#154#154#154#226#244#247#226#244#247#225 + +#243#246#217#238#243#208#229#238#6'b7'#255#0#255#6'b7c'#158#229'c'#158#229 + ,#226#243#246#226#243#246#226#243#246#154#154#154#154#154#154#154#154#154#226 + +#243#246#226#243#246#225#242#245'c'#158#229'b'#157#229#6'b7'#255#0#255#6'b7' + +#189#211#227#197#219#231#202#225#234#203#226#235#203#226#235#154#154#154#154 + +#154#154#154#154#154#203#226#235#203#226#235#204#226#235#206#227#236#206#228 + +#237#6'b7'#255#0#255#184#196#202#233#242#246#233#242#246#233#242#246#233#242 + +#246#233#242#246#154#154#154#154#154#154#154#154#154#233#242#246#233#242#246 + +#233#242#246#233#242#246#233#242#246#184#196#202#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#152'hK'#181#147 + +'}'#250#247#245#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#250#247#245#181#147'}'#152'hK'#255#0#255#255#0#255 + +#255#0#255#151'eHz'#143#170#170#196#223#250#248#246#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#250#248#246#170#196#223'z'#143#170#151 + +'eH'#255#0#255#255#0#255#255#0#255#152'hK'#172#150#134#199#202#202#202#206 + +#207#202#206#207#202#206#207#202#206#207#202#206#207#202#206#207#202#206#207 + +#199#202#202#172#150#134#152'hK'#255#0#255#255#0#255#255#0#255#213#221#222 + +#228#233#234#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#228#233#234#213#221#222#255#0 + +#255#255#0#255#255#0#255#152'hK'#181#147'}'#250#247#245#237#230#223#170#187 + +#145'V'#162'K'#24#148#28'V'#162'K'#170#187#145#237#230#223#250#247#245#181 + +#147'}'#152'hK'#255#0#255#255#0#255#255#0#255#152'hK'#181#147'}'#250#247#245 + +#237#230#223#170#187#145'V'#162'K'#24#148#28'V'#162'K'#170#187#145#237#230 + +#223#250#247#245#181#147'}'#152'hK'#255#0#255#255#0#255#255#0#255#152'hK'#181 + +#147'}'#250#247#245#237#230#223#170#187#145'V'#162'K'#24#148#28'V'#162'K'#170 + +#187#145#237#230#223#250#247#245#181#147'}'#152'hK'#255#0#255#255#0#255#255#0 + +#255#208#216#215#225#230#229#255#255#255#255#255#255#238#241#241#207#215#214 + +#183#195#193#207#215#214#238#241#241#255#255#255#255#255#255#225#230#229#208 + +#216#215#255#0#255#255#0#255#255#0#255#255#0#255'V'#17#0#245#244#246#244#243 + +#245#246#244#244#241#245#246#251#246#247#248#248#248#248#247#249#248#248#248 + +#247#246#248#250#248#248#246#249#247'V'#17#0#255#0#255#255#0#255#255#0#255'Z' + +#18#0#129#193#248#247#246#248#244#246#246#246#245#249#249#249#249#243#248#247 + +#253#248#250#246#248#249#252#247#248#247#249#249#133#194#250'V'#19#0#255#0 + +#255#255#0#255#255#0#255'X'#18#1#195#209#208#193#205#205#194#203#206#193#205 + +#205#194#204#204#193#206#204#196#203#206#193#206#204#195#204#208#195#206#210 + +#198#210#212'X'#19#0#255#0#255#255#0#255#255#0#255#168#183#185#225#238#240 + +#225#237#239#224#237#239#222#235#237#224#236#238#224#236#238#224#236#238#224 + +#236#238#224#236#238#223#236#238#226#238#240#171#184#186#255#0#255#255#0#255 + +#255#0#255'T'#17#2#246#248#249#254#246#246#3#136#2#0#139#0#0#137#0#0#140#0#4 + +#136#0#247#248#246#249#248#250#251#249#249#245#249#244'W'#18#0#255#0#255#255 + +#0#255#255#0#255'W'#18#1#132#194#248#246#250#245#0#136#1#3#138#0#0#137#0#0 + +#141#0#0#135#0#249#247#247#251#251#245#249#246#248#134#197#248'['#20#0#255#0 + +#255#255#0#255#255#0#255'W'#17#0#195#208#216#200#206#211#0'g'#0#0'i'#2#0'j'#0 + +#3'k'#0#1'g'#2#203#208#217#200#206#211#197#207#207#198#207#216'X'#19#0#255#0 + +#255#255#0#255#255#0#255#168#183#185#226#239#241#225#237#237#161#173#173#163 + +#176#178#163#176#178#163#176#178#163#177#176#227#240#242#226#238#240#226#238 + +#240#226#238#240#170#183#185#255#0#255#255#0#255#255#0#255'T'#17#2#246#248 + +#249#254#246#246#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#251 + +#249#249#245#249#244'W'#18#0#255#0#255#255#0#255#255#0#255'W'#18#1#132#194 + +#248#246#250#245#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#249 + +#246#248#134#197#248'['#20#0#255#0#255#255#0#255#255#0#255'W'#17#0#195#208 + +#216#200#206#211#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#197 + +#207#207#198#207#216'X'#19#0#255#0#255#255#0#255#255#0#255#168#183#185#226 + +#239#241#225#237#237#163#176#178#163#176#178#163#176#178#163#176#178#163#176 + +#178#163#176#178#163#176#178#226#238#240#226#238#240#170#183#185#255#0#255 + +#255#0#255#255#0#255#6'b7'#228#245#248#228#245#248#227#244#247#227#244#247 + +#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#227#244#247#226 + +#243#246#218#238#243#210#229#238#6'b7'#255#0#255#6'b7j'#162#230'j'#162#230 + +#227#243#246#227#243#246#154#154#154#154#154#154#154#154#154#154#154#154#154 + +#154#154#227#243#246#226#242#245'j'#162#230'j'#162#230#6'b7'#255#0#255#6'b7' + +#190#211#227#198#219#231#203#225#234#204#226#235#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#154#154#204#226#235#207#226#235#208#227#236#207#228 + +#237#6'b7'#255#0#255#184#196#202#233#242#246#233#242#246#233#242#246#233#242 + +#246#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#233#242#246 + +#233#242#246#233#242#246#233#242#246#184#196#202#255#0#255#255#0#255#255#0 + ,#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255'B '#210#189#173 + +#252#251#250#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#252#251#250#210#189#173'B '#255#0#255#255#0#255#255#0 + +#255'A'#31'k'#159#213#207#213#218#253#252#251#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#253#252#251#207#213#218'k'#159#213'A'#31 + +#255#0#255#255#0#255#255#0#255'B '#185#176#167#200#204#204#202#206#207#202 + +#206#207#202#206#207#202#206#207#202#206#207#202#206#207#202#206#207#200#204 + +#204#185#176#167'B '#255#0#255#255#0#255#255#0#255#197#208#210#244#246#247 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#244#246#247#197#208#210#255#0#255#255#0#255 + +#255#0#255'B '#210#189#173#252#251#250#233#225#215'W'#164'M'#13#146#19#13 + +#146#19#13#146#19'W'#164'M'#233#225#215#252#251#250#210#189#173'B '#255#0 + +#255#255#0#255#255#0#255'B '#210#189#173#252#251#250#233#225#215'W'#164'M' + +#13#146#19#13#146#19#13#146#19'W'#164'M'#233#225#215#252#251#250#210#189#173 + +'B '#255#0#255#255#0#255#255#0#255'B '#210#189#173#252#251#250#233#225#215 + +'W'#164'M'#13#146#19#13#146#19#13#146#19'W'#164'M'#233#225#215#252#251#250 + +#210#189#173'B '#255#0#255#255#0#255#255#0#255#190#201#199#243#245#245#255 + +#255#255#255#255#255#207#215#214#178#191#189#178#191#189#178#191#189#207#215 + +#214#255#255#255#255#255#255#243#245#245#190#201#199#255#0#255#255#0#255#255 + +#0#255#255#0#255'V'#17#0#242#242#242#239#241#241#241#240#244#238#244#243#244 + +#244#244#245#246#244#245#244#246#247#246#248#248#247#249#245#248#246#248#247 + +#249'V'#17#0#255#0#255#255#0#255#255#0#255'Z'#18#1#132#189#250#236#240#241 + +#239#241#241#244#242#242#244#244#244#245#244#246#239#246#243#251#248#250#252 + +#247#246#242#249#244#135#197#251'W'#19#0#255#0#255#255#0#255#255#0#255'W'#19 + +#0#191#206#209#191#204#206#193#204#202#194#205#203#196#203#206#191#205#203 + +#197#204#207#193#205#207#193#205#207#196#206#206#202#208#213'W'#18#0#255#0 + +#255#255#0#255#255#0#255#169#182#184#225#239#238#225#237#239#224#236#238#225 + +#237#239#226#237#241#225#237#239#224#236#238#225#237#239#226#238#238#224#236 + +#238#227#239#241#167#183#182#255#0#255#255#0#255#255#0#255'W'#18#0#240#243 + +#247#240#243#248#1#135#0#2#135#1#254#249#248#0#137#0#0#137#0#0#137#0#247#248 + +#246#246#247#251#247#249#249'V'#16#0#255#0#255#255#0#255#255#0#255'W'#18#0 + +#129#188#250#246#245#249#0#137#0#2#136#0#248#249#247#1#133#3#1#137#1#0#137#0 + +#244#247#251#246#249#247#137#199#247'U'#19#0#255#0#255#255#0#255#255#0#255'W' + +#18#1#192#205#213#203#208#209#2'e'#1#0'g'#0#208#210#218#4'g'#0#0'i'#2#2'e'#1 + +#204#211#214#196#209#207#200#209#212'W'#20#0#255#0#255#255#0#255#255#0#255 + +#171#183#187#226#238#240#229#239#239#161#173#175#163#175#177#229#241#243#163 + +#175#177#163#175#177#162#175#177#227#239#241#226#238#240#225#238#240#170#183 + +#185#255#0#255#255#0#255#255#0#255'W'#18#0#240#243#247#240#243#248#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#246#247#251#247#249#249'V'#16 + +#0#255#0#255#255#0#255#255#0#255'W'#18#0#129#188#250#246#245#249#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#246#249#247#137#199#247'U'#19 + +#0#255#0#255#255#0#255#255#0#255'W'#18#1#192#205#213#203#208#209#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#196#209#207#200#209#212'W'#20 + +#0#255#0#255#255#0#255#255#0#255#171#183#187#226#238#240#229#239#239#163#176 + +#178#163#176#178#163#176#178#163#176#178#163#176#178#163#176#178#163#176#178 + +#226#238#240#225#238#240#170#183#185#255#0#255#255#0#255#255#0#255#6'b7'#233 + +#249#250#233#249#250#232#250#251#154#154#154#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#154#154#154#154#231#249#251#224#243#247#214#235#242 + +#6'b7'#255#0#255#6'b7'#146#187#236#139#184#235#232#249#250#154#154#154#154 + +#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#231#248 + +#250#139#184#235#145#186#235#6'b7'#255#0#255#6'b7'#193#215#228#200#222#234 + +#207#228#237#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#210#229#238#211#230#238#211#231#238#6'b7'#255#0#255#184 + +#196#202#233#242#246#233#242#246#233#242#246#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#154#154#154#154#154#154#154#233#242#246#233#242#246 + +#233#242#246#184#196#202#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255'q,'#8#224#211#197#250#247#245#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#250 + +#247#245#224#211#197'q,'#8#255#0#255#255#0#255#255#0#255'q,'#7'^'#164#234#226 + +#217#208#250#248#246#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#250#248#246#226#217#208'^'#164#234'q,'#7#255#0#255#255#0#255#255#0#255 + +'q,'#8#187#185#178#199#202#202#202#206#207#202#206#207#202#206#207#202#206 + ,#207#202#206#207#202#206#207#202#206#207#199#202#202#187#185#178'q,'#8#255#0 + +#255#255#0#255#255#0#255#188#200#203#254#254#254#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#254#254#254#188#200#203#255#0#255#255#0#255#255#0#255'q,'#8#224#211#197 + +#250#247#245#237#230#223#25#149#29#13#146#19#13#146#19#13#146#19#25#149#29 + +#237#230#223#250#247#245#224#211#197'q,'#8#255#0#255#255#0#255#255#0#255'q,' + +#8#224#211#197#250#247#245#237#230#223#25#149#29#13#146#19#13#146#19#13#146 + +#19#25#149#29#237#230#223#250#247#245#224#211#197'q,'#8#255#0#255#255#0#255 + +#255#0#255'q,'#8#224#211#197#250#247#245#237#230#223#25#149#29#13#146#19#13 + +#146#19#13#146#19#25#149#29#237#230#223#250#247#245#224#211#197'q,'#8#255#0 + +#255#255#0#255#255#0#255#180#192#190#253#254#254#255#255#255#255#255#255#183 + +#195#193#178#191#189#178#191#189#178#191#189#183#195#193#255#255#255#255#255 + +#255#253#254#254#180#192#190#255#0#255#255#0#255#255#0#255#255#0#255'V'#17#0 + +#233#235#236#230#235#234#231#236#235#235#238#236#237#239#240#237#239#240#242 + +#242#242#246#244#243#240#246#245#247#247#247#250#248#248'V'#17#0#255#0#255 + +#255#0#255#255#0#255'U'#19#1'w'#190#240#234#233#235#235#233#233#231#236#235 + +#233#239#238#239#238#240#237#241#242#238#245#242#243#246#244#250#246#251#134 + +#193#249'W'#20#0#255#0#255#255#0#255#255#0#255'X'#18#1#192#204#206#192#201 + +#204#194#202#202#189#202#200#190#202#202#193#203#203#195#202#205#196#204#203 + +#196#203#206#192#204#208#197#208#212'Y'#20#1#255#0#255#255#0#255#255#0#255 + +#170#183#185#224#238#237#225#237#239#224#236#238#225#237#239#223#235#237#227 + +#239#239#224#236#238#224#236#238#224#235#239#225#237#239#225#237#237#170#183 + +#185#255#0#255#255#0#255#255#0#255'P'#19#0#229#235#242#238#237#239#3#135#0 + +#241#240#244#246#240#245#250#243#250#1#137#1#0#137#0#0#136#0#244#249#247#251 + +#249#249'V'#16#0#255#0#255#255#0#255#255#0#255'W'#19#0#129#188#244#234#237 + +#241#0#133#0#243#239#244#240#243#248#245#245#245#4#134#3#0#140#1#2#136#0#247 + +#247#247#136#196#248'X'#19#0#255#0#255#255#0#255#255#0#255'Y'#20#0#192#205 + +#207#193#205#205#0'f'#1#195#205#212#200#205#208#197#203#214#0'g'#0#1'h'#0#2 + +'f'#0#201#208#211#197#208#212'Z'#19#0#255#0#255#255#0#255#255#0#255#168#183 + +#185#225#238#240#226#238#240#161#173#175#227#239#241#226#239#241#227#238#242 + +#163#174#178#163#175#177#160#173#175#225#238#240#227#239#241#170#183#185#255 + +#0#255#255#0#255#255#0#255'P'#19#0#229#235#242#238#237#239#0#139#0#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#244#249#247#251#249#249'V'#16#0#255#0 + +#255#255#0#255#255#0#255'W'#19#0#129#188#244#234#237#241#0#139#0#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#247#247#247#136#196#248'X'#19#0#255#0 + +#255#255#0#255#255#0#255'Y'#20#0#192#205#207#193#205#205#0#139#0#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#201#208#211#197#208#212'Z'#19#0#255#0 + +#255#255#0#255#255#0#255#168#183#185#225#238#240#226#238#240#163#176#178#163 + +#176#178#163#176#178#163#176#178#163#176#178#163#176#178#163#176#178#225#238 + +#240#227#239#241#170#183#185#255#0#255#255#0#255#255#0#255#6'b7'#235#249#250 + +#235#249#250#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#154#154#154#154#154#225#243#247#215#235#242#6'b7' + +#255#0#255#6'b7'#150#190#237#139#184#235#154#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#139 + +#184#235#150#190#237#6'b7'#255#0#255#6'b7'#193#215#228#200#222#234#154#154 + +#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#211#230#238#211#231#238#6'b7'#255#0#255#184#196#202 + +#233#242#246#233#242#246#154#154#154#154#154#154#154#154#154#154#154#154#154 + +#154#154#154#154#154#154#154#154#154#154#154#154#154#154#233#242#246#233#242 + +#246#184#196#202#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#128'C!'#205#183#165#243#238#232#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#243#238#232 + +#205#183#165#128'C!'#255#0#255#255#0#255#255#0#255#128'B l'#160#214#199#201 + +#203#243#238#233#254#254#253#255#255#255#255#255#255#255#255#255#254#254#253 + +#243#238#233#199#201#203'l'#160#214#128'B '#255#0#255#255#0#255#255#0#255#128 + +'C!'#182#173#163#196#198#195#202#206#207#202#206#207#202#206#207#202#206#207 + +#202#206#207#202#206#207#202#206#207#196#198#195#182#173#163#128'C!'#255#0 + +#255#255#0#255#255#0#255#197#208#210#244#246#247#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#244#246#247#197#208#210#255#0#255#255#0#255#255#0#255#128'C!'#205#183 + +#165#243#238#232#247#243#240']'#172'X'#13#146#19#13#146#19#13#146#19']'#172 + +'X'#247#243#240#243#238#232#205#183#165#128'C!'#255#0#255#255#0#255#255#0#255 + +#128'C!'#205#183#165#243#238#232#247#243#240']'#172'X'#13#146#19#13#146#19#13 + ,#146#19']'#172'X'#247#243#240#243#238#232#205#183#165#128'C!'#255#0#255#255#0 + +#255#255#0#255#128'C!'#205#183#165#243#238#232#247#243#240']'#172'X'#13#146 + +#19#13#146#19#13#146#19']'#172'X'#247#243#240#243#238#232#205#183#165#128'C!' + +#255#0#255#255#0#255#255#0#255#190#201#199#243#245#245#255#255#255#255#255 + +#255#207#215#214#178#191#189#178#191#189#178#191#189#207#215#214#255#255#255 + +#255#255#255#243#245#245#190#201#199#255#0#255#255#0#255#255#0#255#255#0#255 + +'V'#17#0#227#230#234#226#230#231#225#229#230#229#234#233#234#235#233#231#236 + +#235#235#237#237#235#240#239#241#242#240#243#242#244#247#249#249'V'#17#0#255 + +#0#255#255#0#255#255#0#255'W'#18#0'|'#181#243#225#227#228#227#226#228#222#230 + +#230#230#232#232#229#231#231#233#235#236#233#237#238#242#237#238#241#243#243 + +#131#194#245'W'#18#1#255#0#255#255#0#255#255#0#255'W'#18#0#189#203#202#188 + +#200#200#185#199#198#188#202#201#188#200#202#192#201#204#191#204#202#191#204 + +#202#190#202#204#192#204#206#196#210#209'W'#19#0#255#0#255#255#0#255#255#0 + +#255#170#183#185#225#238#240#224#236#238#223#235#237#223#235#237#225#237#239 + +#225#237#237#224#236#238#223#236#238#223#235#239#224#236#238#225#237#237#171 + +#184#186#255#0#255#255#0#255#255#0#255'Z'#18#1#224#227#231#224#228#229#226 + +#229#233#228#233#232#233#233#233#238#236#236#245#239#244#5#137#0#0#137#2#250 + +#247#249#246#246#246'V'#17#2#255#0#255#255#0#255#255#0#255'Y'#20#1'y'#181#241 + +#229#230#228#231#229#229#231#230#232#229#234#232#234#235#239#245#239#244#1 + +#134#0#0#138#0#246#248#248#133#192#248'['#20#0#255#0#255#255#0#255#255#0#255 + +'V'#17#2#188#200#206#190#202#204#195#198#206#191#203#205#192#201#204#196#203 + +#206#201#203#213#0'f'#1#0'f'#1#195#206#210#196#209#211'W'#19#0#255#0#255#255 + +#0#255#255#0#255#168#183#185#225#239#238#225#237#237#226#238#238#227#239#239 + +#223#237#236#226#238#240#227#239#241#163#175#177#162#174#176#228#240#242#228 + +#237#240#171#183#185#255#0#255#255#0#255#255#0#255'Z'#18#1#224#227#231#224 + +#228#229#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#250#247#249 + +#246#246#246'V'#17#2#255#0#255#255#0#255#255#0#255'Y'#20#1'y'#181#241#229#230 + +#228#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#246#248#248#133 + +#192#248'['#20#0#255#0#255#255#0#255#255#0#255'V'#17#2#188#200#206#190#202 + +#204#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#0#139#0#195#206#210#196 + +#209#211'W'#19#0#255#0#255#255#0#255#255#0#255#168#183#185#225#239#238#225 + +#237#237#163#176#178#163#176#178#163#176#178#163#176#178#163#176#178#163#176 + +#178#163#176#178#228#240#242#228#237#240#171#183#185#255#0#255#255#0#255#255 + +#0#255#6'b7'#237#251#252#236#251#252#236#251#252#236#251#252#236#251#252#236 + +#251#252#236#251#252#236#251#252#236#251#252#236#251#252#236#250#251#228#244 + +#249#219#237#244#6'b7'#255#0#255#6'b7'#156#196#238#139#184#235#237#251#252 + +#237#251#252#237#251#252#237#251#252#237#251#252#237#251#252#237#251#252#237 + +#251#252#236#250#251#139#184#235#156#196#238#6'b7'#255#0#255#6'b7'#195#216 + +#229#202#224#234#208#229#238#211#230#238#211#230#238#211#230#238#211#230#238 + +#211#230#238#211#230#238#211#230#238#211#230#238#212#231#238#213#231#238#6'b' + +'7'#255#0#255#184#196#202#233#242#246#233#242#246#233#242#246#233#242#246#233 + +#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242 + +#246#233#242#246#233#242#246#184#196#202#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#156'lP'#178#142'v'#233#224 + +#214#251#250#248#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#251#250#248#233#224#214#178#142'v'#156'lP'#255#0#255#255#0#255#255#0#255#155 + +'kO{'#143#171#161#185#208#229#218#207#243#238#233#250#248#246#253#252#251#250 + +#248#246#243#238#233#229#218#207#161#185#208'{'#143#171#155'kO'#255#0#255#255 + +#0#255#255#0#255#156'lP'#170#146#129#191#191#186#200#204#203#202#206#207#202 + +#206#207#202#206#207#202#206#207#202#206#207#200#204#203#191#191#186#170#146 + +#129#156'lP'#255#0#255#255#0#255#255#0#255#213#221#222#228#233#234#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#228#233#234#213#221#222#255#0#255#255#0#255#255#0 + +#255#156'lP'#178#142'v'#233#224#214#250#247#245#196#222#191'`'#177'_'#26#151 + +#31'`'#177'_'#196#222#191#250#247#245#233#224#214#178#142'v'#156'lP'#255#0 + +#255#255#0#255#255#0#255#156'lP'#178#142'v'#233#224#214#250#247#245#196#222 + +#191'`'#177'_'#26#151#31'`'#177'_'#196#222#191#250#247#245#233#224#214#178 + +#142'v'#156'lP'#255#0#255#255#0#255#255#0#255#156'lP'#178#142'v'#233#224#214 + +#250#247#245#196#222#191'`'#177'_'#26#151#31'`'#177'_'#196#222#191#250#247 + +#245#233#224#214#178#142'v'#156'lP'#255#0#255#255#0#255#255#0#255#208#216#215 + +#225#230#229#255#255#255#255#255#255#238#241#241#207#215#214#183#195#193#207 + +#215#214#238#241#241#255#255#255#255#255#255#225#230#229#208#216#215#255#0 + +#255#255#0#255#255#0#255#255#0#255'V'#17#0#217#226#230#221#225#226#221#227 + ,#226#225#227#227#226#232#227#230#232#232#228#231#235#236#233#235#234#236#236 + +#234#239#242#238#241#245'V'#17#0#255#0#255#255#0#255#255#0#255'['#19#1't'#177 + +#241#217#225#218#216#222#221#220#223#221#217#225#224#226#228#228#224#229#227 + +#233#233#227#235#234#236#234#240#239'}'#189#247'X'#18#1#255#0#255#255#0#255 + +#255#0#255'V'#16#3#183#201#200#189#200#198#186#198#198#186#200#199#186#200 + +#196#188#201#199#189#201#201#191#201#201#191#200#203#191#204#202#194#206#208 + +'W'#18#0#255#0#255#255#0#255#255#0#255#170#182#186#224#237#239#226#237#241 + +#225#237#239#224#236#238#224#235#239#224#236#238#225#237#239#224#236#238#223 + +#237#236#225#238#240#225#238#240#168#184#183#255#0#255#255#0#255#255#0#255'Y' + +#17#0#212#221#224#216#220#221#215#220#221#219#224#223#218#226#225#224#229#228 + +#227#230#234#233#234#238#1#133#2#236#240#241#240#242#242'W'#17#0#255#0#255 + +#255#0#255#255#0#255'V'#21#0't'#178#242#217#222#221#216#221#222#217#222#223 + +#220#225#223#224#231#228#227#231#232#236#235#239#0#133#3#237#238#242'~'#189 + +#249'Z'#19#0#255#0#255#255#0#255#255#0#255'T'#18#0#184#203#200#189#198#201 + +#189#198#202#186#199#201#190#198#197#189#201#201#189#201#203#200#205#208#2'f' + +#0#190#205#207#194#206#210'W'#18#0#255#0#255#255#0#255#255#0#255#168#181#183 + +#225#238#240#225#237#239#223#235#237#225#237#239#225#237#239#224#236#238#226 + +#238#240#228#240#242#159#172#174#226#238#238#225#237#239#171#184#186#255#0 + +#255#255#0#255#255#0#255'Y'#17#0#212#221#224#216#220#221#0#139#0#0#139#0#0 + +#139#0#0#139#0#0#139#0#0#139#0#0#139#0#236#240#241#240#242#242'W'#17#0#255#0 + +#255#255#0#255#255#0#255'V'#21#0't'#178#242#217#222#221#0#139#0#0#139#0#0#139 + +#0#0#139#0#0#139#0#0#139#0#0#139#0#237#238#242'~'#189#249'Z'#19#0#255#0#255 + +#255#0#255#255#0#255'T'#18#0#184#203#200#189#198#201#0#139#0#0#139#0#0#139#0 + +#0#139#0#0#139#0#0#139#0#0#139#0#190#205#207#194#206#210'W'#18#0#255#0#255 + +#255#0#255#255#0#255#168#181#183#225#238#240#225#237#239#163#176#178#163#176 + +#178#163#176#178#163#176#178#163#176#178#163#176#178#163#176#178#226#238#238 + +#225#237#239#171#184#186#255#0#255#255#0#255#255#0#255#6'b7'#240#253#254#239 + +#253#254#239#253#254#239#253#254#239#253#254#239#253#254#239#253#254#239#253 + +#254#239#253#254#239#253#254#238#253#254#232#247#251#224#241#246#6'b7'#255#0 + +#255#6'b7'#161#198#238#139#184#235#240#253#254#240#253#254#240#253#254#240 + +#253#254#240#253#254#240#253#254#240#253#254#240#253#254#239#253#254#139#184 + +#235#161#198#238#6'b7'#255#0#255#6'b7'#195#217#229#202#224#234#210#230#238 + +#212#233#238#213#233#238#213#233#238#213#233#238#213#233#238#213#233#238#213 + +#233#238#213#233#238#213#233#238#214#233#238#6'b7'#255#0#255#184#196#202#233 + +#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242 + +#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246 + +#184#196#202#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#196#169#152#147'_B'#222#208#194#233#224#214#243#238#232 + +#250#247#245#252#251#250#250#247#245#243#238#232#233#224#214#222#208#194#147 + +'_B'#196#169#152#255#0#255#255#0#255#255#0#255#196#169#151#130'ibx'#171#222 + +#197#195#192#222#209#195#229#218#207#232#222#212#229#218#207#222#209#195#197 + +#195#192'x'#171#222#130'ib'#196#169#151#255#0#255#255#0#255#255#0#255#196#169 + +#152#147'fM'#191#187#179#191#191#186#196#198#195#199#202#202#200#204#204#199 + +#202#202#196#198#195#191#191#186#191#187#179#147'fM'#196#169#152#255#0#255 + +#255#0#255#255#0#255#255#0#255#208#217#219#254#254#254#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#254#254#254 + +#208#217#219#255#0#255#255#0#255#255#0#255#255#0#255#196#169#152#147'_B'#222 + +#208#194#233#224#214#243#238#232#250#247#245#252#251#250#250#247#245#243#238 + +#232#233#224#214#222#208#194#147'_B'#196#169#152#255#0#255#255#0#255#255#0 + +#255#196#169#152#147'_B'#222#208#194#233#224#214#243#238#232#250#247#245#252 + +#251#250#250#247#245#243#238#232#233#224#214#222#208#194#147'_B'#196#169#152 + +#255#0#255#255#0#255#255#0#255#196#169#152#147'_B'#222#208#194#233#224#214 + +#243#238#232#250#247#245#252#251#250#250#247#245#243#238#232#233#224#214#222 + +#208#194#147'_B'#196#169#152#255#0#255#255#0#255#255#0#255#255#0#255#203#212 + +#210#254#254#254#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255 + +#255#255#255#255#255#255#254#254#254#203#212#210#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255'V'#17#0#219#223#224#214#225#223#222#224#224#221#224 + +#228#222#225#229#223#227#228#225#230#228#229#231#232#227#231#232#236#236#236 + +#236#241#242'V'#17#0#255#0#255#255#0#255#255#0#255'Y'#20#1'p'#173#235#214#217 + +#215#213#218#217#217#219#220#219#221#221#218#223#222#223#226#224#221#224#228 + +#224#229#227#234#232#231'}'#185#244'['#20#0#255#0#255#255#0#255#255#0#255'Y' + +#20#0#187#199#199#185#198#200#185#197#197#185#197#201#184#199#202#189#198#202 + +#188#200#200#188#200#202#183#200#203#192#204#206#189#204#207'Y'#19#2#255#0 + ,#255#255#0#255#255#0#255#173#185#187#226#238#240#226#237#241#225#237#239#224 + +#236#238#225#237#239#225#237#237#224#236#238#225#237#239#224#236#236#225#237 + +#239#226#238#240#170#184#183#255#0#255#255#0#255#255#0#255'Y'#19#2#211#216 + +#219#204#218#217#214#216#216#213#218#221#215#221#220#215#221#226#219#224#222 + +#225#227#228#226#229#234#228#233#231#231#236#237'V'#14#2#255#0#255#255#0#255 + +#255#0#255'W'#19#0'p'#175#235#207#218#216#213#218#217#220#220#220#221#221#221 + +#224#221#223#221#226#225#226#228#229#230#230#230#235#236#234#128#185#246'[' + +#19#2#255#0#255#255#0#255#255#0#255'Y'#20#1#188#200#200#185#199#198#185#198 + +#200#186#199#201#187#197#197#184#196#200#188#200#204#193#201#201#190#199#208 + +#194#203#206#195#204#207'T'#20#2#255#0#255#255#0#255#255#0#255#173#185#189 + +#225#237#239#227#239#241#226#238#240#225#237#239#224#236#238#224#236#238#225 + +#237#239#226#238#238#226#240#239#225#237#237#226#238#238#170#184#183#255#0 + +#255#255#0#255#255#0#255'Y'#19#2#211#216#219#204#218#217#214#216#216#213#218 + +#221#215#221#220#215#221#226#219#224#222#225#227#228#226#229#234#228#233#231 + +#231#236#237'V'#14#2#255#0#255#255#0#255#255#0#255'W'#19#0'p'#175#235#207#218 + +#216#213#218#217#220#220#220#221#221#221#224#221#223#221#226#225#226#228#229 + +#230#230#230#235#236#234#128#185#246'['#19#2#255#0#255#255#0#255#255#0#255'Y' + +#20#1#188#200#200#185#199#198#185#198#200#186#199#201#187#197#197#184#196#200 + +#188#200#204#193#201#201#190#199#208#194#203#206#195#204#207'T'#20#2#255#0 + +#255#255#0#255#255#0#255#173#185#189#225#237#239#227#239#241#226#238#240#225 + +#237#239#224#236#238#224#236#238#225#237#239#226#238#238#226#240#239#225#237 + +#237#226#238#238#170#184#183#255#0#255#255#0#255#255#0#255'#oL'#180#221#228 + +#245#255#255#245#255#255#245#255#255#245#255#255#245#255#255#245#255#255#245 + +#255#255#245#255#255#245#255#255#245#255#255#244#255#255#180#221#228'#oL'#255 + +#0#255'#oL'#149#197#252#139#184#235#150#190#237#150#190#237#150#190#237#150 + +#190#237#150#190#237#150#190#237#150#190#237#150#190#237#150#190#237#139#184 + +#235#149#197#252'#oL'#255#0#255'#oL'#149#175#196#185#208#227#191#212#228#194 + +#216#230#195#217#231#195#217#231#195#217#231#195#217#231#195#217#231#195#217 + +#231#194#216#230#196#218#231#158#189#206'#oL'#255#0#255#184#196#202#221#231 + +#235#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246 + +#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#221#231#235#184 + +#196#202#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#167'}e'#172#133'm'#219#204#189#222#209#195#226 + +#214#201#228#217#205#226#214#201#222#209#195#219#204#189#172#133'm'#167'}e' + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#166'}d'#138#136#145'x'#171 + +#222#159#182#204#191#190#189#209#194#178#191#190#189#159#182#204'x'#171#222 + +#138#136#145#166'}d'#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#167'}' + +'e'#168#138'v'#189#185#176#185#183#177#187#186#180#188#187#182#187#186#180 + +#185#183#177#189#185#176#168#138'v'#167'}e'#255#0#255#255#0#255#255#0#255#255 + +#0#255#255#0#255#217#224#226#224#229#231#254#254#254#255#255#255#255#255#255 + +#255#255#255#255#255#255#255#255#255#254#254#254#224#229#231#217#224#226#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#167'}e'#172#133'm'#219#204#189 + +#222#209#195#226#214#201#228#217#205#226#214#201#222#209#195#219#204#189#172 + +#133'm'#167'}e'#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#167'}e'#172 + +#133'm'#219#204#189#222#209#195#226#214#201#228#217#205#226#214#201#222#209 + +#195#219#204#189#172#133'm'#167'}e'#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#167'}e'#172#133'm'#219#204#189#222#209#195#226#214#201#228#217#205 + +#226#214#201#222#209#195#219#204#189#172#133'm'#167'}e'#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#213#220#219#220#226#225#254#254#254#255#255 + +#255#255#255#255#255#255#255#255#255#255#255#255#255#254#254#254#220#226#225 + +#213#220#219#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255'V'#17#0#214 + +#226#226#218#222#227#220#223#227#221#226#229#221#227#226#223#229#228#224#230 + +#229#222#231#228#229#232#237#230#233#237#232#238#237'V'#17#0#255#0#255#255#0 + +#255#255#0#255'X'#19#0'l'#177#240'o'#172#236'm'#174#235'q'#176#236'r'#177#237 + +'t'#177#239's'#182#239't'#181#236'u'#178#240'v'#181#241'y'#184#245'T'#18#0 + +#255#0#255#255#0#255#255#0#255'V'#18#0#187#201#199#185#199#205#184#197#199 + +#184#199#201#187#199#201#186#199#201#188#200#202#188#199#203#188#202#201#193 + +#202#206#193#205#205'W'#19#0#255#0#255#255#0#255#255#0#255#170#182#184#227 + +#239#239#225#237#239#227#239#239#226#238#238#225#237#239#226#238#238#226#238 + +#240#226#238#238#225#237#239#225#237#239#227#239#239#170#182#186#255#0#255 + +#255#0#255#255#0#255'T'#18#0#206#215#219#209#214#217#209#214#215#210#215#218 + +#212#215#219#209#218#221#216#223#220#217#222#221#220#226#225#214#228#227#224 + +#230#235'T'#18#0#255#0#255#255#0#255#255#0#255'X'#19#0'n'#176#241'n'#171#235 + ,'p'#173#235'm'#179#232's'#179#237'r'#180#239'r'#180#239's'#181#240'v'#179#243 + +'t'#183#240'u'#184#247'Y'#20#1#255#0#255#255#0#255#255#0#255'W'#19#0#188#201 + +#203#187#199#205#183#198#200#184#198#197#186#199#201#188#201#203#189#199#199 + +#189#200#204#189#198#208#183#201#202#192#203#211'X'#20#1#255#0#255#255#0#255 + +#255#0#255#169#182#184#227#239#239#226#238#238#225#237#237#226#238#238#226 + +#238#238#226#238#238#224#236#236#229#238#241#225#237#239#225#237#237#227#239 + +#239#169#182#184#255#0#255#255#0#255#255#0#255'T'#18#0#206#215#219#209#214 + +#217#209#214#215#210#215#218#212#215#219#209#218#221#216#223#220#217#222#221 + +#220#226#225#214#228#227#224#230#235'T'#18#0#255#0#255#255#0#255#255#0#255'X' + +#19#0'n'#176#241'n'#171#235'p'#173#235'm'#179#232's'#179#237'r'#180#239'r' + +#180#239's'#181#240'v'#179#243't'#183#240'u'#184#247'Y'#20#1#255#0#255#255#0 + +#255#255#0#255'W'#19#0#188#201#203#187#199#205#183#198#200#184#198#197#186 + +#199#201#188#201#203#189#199#199#189#200#204#189#198#208#183#201#202#192#203 + +#211'X'#20#1#255#0#255#255#0#255#255#0#255#169#182#184#227#239#239#226#238 + +#238#225#237#237#226#238#238#226#238#238#226#238#238#224#236#236#229#238#241 + +#225#237#239#225#237#237#227#239#239#169#182#184#255#0#255#255#0#255#255#0 + +#255'['#137'uM'#138'm'#180#222#229#246#255#255#246#255#255#246#255#255#246 + +#255#255#246#255#255#246#255#255#246#255#255#246#255#255#246#255#255#201#235 + +#238'M'#138'm['#138'v'#255#0#255'['#137'u|'#140#137#149#197#252#149#197#252 + +#149#197#252#149#197#252#149#197#252#149#197#252#149#197#252#149#197#252#149 + +#197#252#149#197#252#149#197#252'|'#140#137'['#138'v'#255#0#255'['#137'u@z`' + +#145#167#192#178#204#222#179#205#223#180#205#223#180#205#223#180#205#223#180 + +#205#223#180#205#223#180#205#223#180#205#223#164#178#201'C|b['#138'v'#255#0 + +#255#184#196#202#201#211#217#221#231#235#233#242#246#233#242#246#233#242#246 + +#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#233#242#246#225 + +#235#239#201#211#217#184#196#202#255#0#255#255#0#255#255#0#255#255#0#255#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#168'g'#148'aC' + +#178#142'v'#200#177#157#214#198#180#200#177#157#178#142'v'#148'aC'#168'g' + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#168'' + +'g'#131'jd|'#144#173'l'#160#214']'#164#233'l'#160#214'|'#144#173#131'jd'#168 + +'g'#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#168'g'#148'hN'#170#146#129#179#169#158#182#178#170#179#169#158#170#146#129 + +#148'hN'#168'g'#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#217#224#226#208#217#219#228#233#234#244#246#247#254#254#254#244 + +#246#247#228#233#234#208#217#219#217#224#226#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#168'g'#148'aC'#178#142'v'#200#177 + +#157#214#198#180#200#177#157#178#142'v'#148'aC'#168'g'#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#168'g'#148'aC'#178#142'v' + +#200#177#157#214#198#180#200#177#157#178#142'v'#148'aC'#168'g'#255#0#255#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#168'g'#148'aC'#178 + +#142'v'#200#177#157#214#198#180#200#177#157#178#142'v'#148'aC'#168'g'#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#213#220#219 + +#203#212#210#225#230#229#243#245#245#253#254#254#243#245#245#225#230#229#203 + +#212#210#213#220#219#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255'V'#17#0'V'#17#0'V'#17#0'V'#17#0'V'#17#0'V'#17#0'V'#17#0'V'#17#0'V'#17#0 + +'V'#17#0'V'#17#0'V'#17#0'V'#17#0#255#0#255#255#0#255#255#0#255'^'#17#1'W'#19 + +#0'X'#20#1'Z'#19#0'X'#19#0'['#19#1'Y'#18#0'['#20#0'V'#21#0'X'#19#0'X'#21#0'V' + +#17#0'X'#21#0#255#0#255#255#0#255#255#0#255'W'#18#1'X'#20#1'V'#19#0'Y'#21#2 + +'Z'#18#1'W'#19#0'X'#19#0'X'#19#0'Y'#17#0'V'#17#0'W'#16#2'W'#19#0'U'#19#0#255 + +#0#255#255#0#255#255#0#255#168#183#185#170#184#183#170#183#185#170#183#185 + +#168#183#185#169#184#186#169#185#184#170#183#185#171#184#186#168#183#186#169 + +#184#186#169#182#184#171#183#187#255#0#255#255#0#255#255#0#255'T'#18#0'X'#19 + +#2'S'#17#0'U'#19#1'W'#19#0'X'#19#0'Q'#19#1'T'#15#0'W'#19#0'V'#18#0'S'#17#0'W' + +#18#0'W'#18#1#255#0#255#255#0#255#255#0#255'_'#19#1'X'#19#0'Z'#21#2'Z'#20#0 + +'X'#19#0'X'#17#3'U'#19#0'Z'#18#1'X'#19#0'['#20#0'Q'#20#0'Y'#20#1'W'#18#0#255 + +#0#255#255#0#255#255#0#255'X'#19#2'W'#19#0'X'#20#1'Z'#18#0']'#18#4'X'#18#1'T' + +#21#0'Z'#18#0'S'#19#1'X'#19#0'U'#23#0'X'#18#1'W'#18#0#255#0#255#255#0#255#255 + +#0#255#171#184#186#171#184#186#170#183#185#171#184#186#168#181#183#170#183 + +#185#169#182#184#172#185#187#169#181#185#171#184#186#171#184#186#170#183#185 + +#170#185#188#255#0#255#255#0#255#255#0#255'T'#18#0'X'#19#2'S'#17#0'U'#19#1'W' + +#19#0'X'#19#0'Q'#19#1'T'#15#0'W'#19#0'V'#18#0'S'#17#0'W'#18#0'W'#18#1#255#0 + +#255#255#0#255#255#0#255'_'#19#1'X'#19#0'Z'#21#2'Z'#20#0'X'#19#0'X'#17#3'U' + +#19#0'Z'#18#1'X'#19#0'['#20#0'Q'#20#0'Y'#20#1'W'#18#0#255#0#255#255#0#255#255 + ,#0#255'X'#19#2'W'#19#0'X'#20#1'Z'#18#0']'#18#4'X'#18#1'T'#21#0'Z'#18#0'S'#19 + +#1'X'#19#0'U'#23#0'X'#18#1'W'#18#0#255#0#255#255#0#255#255#0#255#171#184#186 + +#171#184#186#170#183#185#171#184#186#168#181#183#170#183#185#169#182#184#172 + +#185#187#169#181#185#171#184#186#171#184#186#170#183#185#170#185#188#255#0 + +#255#255#0#255#255#0#255#209#196#219'['#137'u#oL'#6'b7'#6'b7'#6'b7'#6'b7'#6 + +'b7'#6'b7'#6'b7'#6'b7'#6'b7'#24'iDO'#131'm'#213#201#223#255#0#255#222#196#200 + +'['#137'u#oL'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#24'iDO' + +#131'm'#226#201#205#255#0#255#209#196#219'['#137'u#oL'#6'b7'#6'b7'#6'b7'#6'b' + +'7'#6'b7'#6'b7'#6'b7'#6'b7'#6'b7'#24'iDO'#131'm'#213#201#223#255#0#255#255 + +#255#255#184#196#202#184#196#202#184#196#202#184#196#202#184#196#202#184#196 + +#202#184#196#202#184#196#202#184#196#202#184#196#202#184#196#202#184#196#202 + +#184#196#202#255#255#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#202#177#162 + +#160'sY'#130'F%q-'#8#130'F%'#160'sY'#202#177#162#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#202#177#162 + +#160'sY'#130'F%q-'#8#130'F%'#160'sY'#202#177#162#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#202#177#162 + +#160'sY'#130'F%q-'#8#130'F%'#160'sY'#202#177#162#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#233#237#238 + +#213#221#222#197#208#210#188#200#203#197#208#210#213#221#222#233#237#238#255 + +#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#202#177#162#160'sY'#130'F%q-'#8#130'F%'#160'sY'#202#177#162#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#202#177#162#160'sY'#130'F%q-'#8#130'F%'#160'sY'#202#177#162#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#202#177#162#160'sY'#130'F%q-'#8#130'F%'#160'sY'#202#177#162#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#208#216#215#190#201#199#180#192#190#190#201#199#208#216 + +#215#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + +#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0 + +#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255#255#0#255 + ,#255#0#255#0#0 +]); +LazarusResources.Add('VT_UTILITIES','BMP',[ + 'BM6'#13#0#0#0#0#0#0'6'#4#0#0'('#0#0#0#144#0#0#0#16#0#0#0#1#0#8#0#0#0#0#0#0#9 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#0#255#0#216 + +#233#236#0#240#251#255#0'%r'#207#0'O'#145#227#0'X'#150#227#0#218#218#218#0 + +#204#204#204#0#197#197#197#0#192#192#192#0#190#190#190#0#154#154#154#0#147 + +#147#147#0#140#140#140#0#128#128#128#0'www'#0'UUU'#0'MMM'#0'BBB'#0'999'#0#128 + +'|'#255#0'PP'#255#0#147#0#214#0#255#236#204#0#198#214#239#0#214#231#231#0#144 + +#169#173#0#0#0'3'#0#0#0'f'#0#0#0#153#0#0#0#204#0#0'3'#0#0#0'33'#0#0'3f'#0#0 + +'3'#153#0#0'3'#204#0#0'3'#255#0#0'f'#0#0#0'f3'#0#0'ff'#0#0'f'#153#0#0'f'#204 + +#0#0'f'#255#0#0#153#0#0#0#153'3'#0#0#153'f'#0#0#153#153#0#0#153#204#0#0#153 + +#255#0#0#204#0#0#0#204'3'#0#0#204'f'#0#0#204#153#0#0#204#204#0#0#204#255#0#0 + +#255'f'#0#0#255#153#0#0#255#204#0'3'#0#0#0'3'#0'3'#0'3'#0'f'#0'3'#0#153#0'3' + +#0#204#0'3'#0#255#0'33'#0#0'333'#0'33f'#0'33'#153#0'33'#204#0'33'#255#0'3f'#0 + +#0'3f3'#0'3ff'#0'3f'#153#0'3f'#204#0'3f'#255#0'3'#153#0#0'3'#153'3'#0'3'#153 + +'f'#0'3'#153#153#0'3'#153#204#0'3'#153#255#0'3'#204#0#0'3'#204'3'#0'3'#204'f' + +#0'3'#204#153#0'3'#204#204#0'3'#204#255#0'3'#255'3'#0'3'#255'f'#0'3'#255#153 + +#0'3'#255#204#0'3'#255#255#0'f'#0#0#0'f'#0'3'#0'f'#0'f'#0'f'#0#153#0'f'#0#204 + +#0'f'#0#255#0'f3'#0#0'f33'#0'f3f'#0'f3'#153#0'f3'#204#0'f3'#255#0'ff'#0#0'ff' + +'3'#0'fff'#0'ff'#153#0'ff'#204#0'f'#153#0#0'f'#153'3'#0'f'#153'f'#0'f'#153 + +#153#0'f'#153#204#0'f'#153#255#0'f'#204#0#0'f'#204'3'#0'f'#204#153#0'f'#204 + +#204#0'f'#204#255#0'f'#255#0#0'f'#255'3'#0'f'#255#153#0'f'#255#204#0#204#0 + +#255#0#255#0#204#0#153#153#0#0#153'3'#153#0#153#0#153#0#153#0#204#0#153#0#0#0 + +#153'33'#0#153#0'f'#0#153'3'#204#0#153#0#255#0#153'f'#0#0#153'f3'#0#153'3f'#0 + +#153'f'#153#0#153'f'#204#0#153'3'#255#0#153#153'3'#0#153#153'f'#0#153#153#153 + +#0#153#153#204#0#153#153#255#0#153#204#0#0#153#204'3'#0'f'#204'f'#0#153#204 + +#153#0#153#204#204#0#153#204#255#0#153#255#0#0#153#255'3'#0#153#204'f'#0#153 + +#255#153#0#153#255#204#0#153#255#255#0#204#0#0#0#153#0'3'#0#204#0'f'#0#204#0 + +#153#0#204#0#204#0#153'3'#0#0#204'33'#0#204'3f'#0#204'3'#153#0#204'3'#204#0 + +#204'3'#255#0#204'f'#0#0#204'f3'#0#153'ff'#0#204'f'#153#0#204'f'#204#0#153'f' + +#255#0#204#153#0#0#204#153'3'#0#204#153'f'#0#204#153#153#0#204#153#204#0#204 + +#153#255#0#204#204#0#0#204#204'3'#0#204#204'f'#0#204#204#153#0#204#204#204#0 + +#204#204#255#0#204#255#0#0#204#255'3'#0#153#255'f'#0#204#255#153#0#204#255 + +#204#0#204#255#255#0#204#0'3'#0#255#0'f'#0#255#0#153#0#204'3'#0#0#255'33'#0 + +#255'3f'#0#255'3'#153#0#255'3'#204#0#255'3'#255#0#255'f'#0#0#255'f3'#0#204'f' + +'f'#0#255'f'#153#0#255'f'#204#0#204'f'#255#0#255#153#0#0#255#153'3'#0#255#153 + +'f'#0#255#153#153#0#255#153#204#0#255#153#255#0#255#204#0#0#255#204'3'#0#255 + +#204'f'#0#255#204#153#0#255#204#204#0#255#204#255#0#255#255'3'#0#204#255'f'#0 + +#255#255#153#0#255#255#204#0'ff'#255#0'f'#255'f'#0'f'#255#255#0#255'ff'#0#255 + +'f'#255#0#255#255'f'#0'!'#0#165#0'___'#0'www'#0#134#134#134#0#150#150#150#0 + +#203#203#203#0#178#178#178#0#215#215#215#0#221#221#221#0#227#227#227#0#234 + +#234#234#0#241#241#241#0#248#248#248#0#240#251#255#0#164#160#160#0#128#128 + +#128#0#0#0#255#0#0#255#0#0#0#255#255#0#255#0#0#0#255#0#255#0#255#255#0#0#255 + +#255#255#0#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#241#9#10#10 + +#10#9#241#2#2#2#2#2#2#2#2#2#241#9#10#10#10#9#241#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#241#12#13#15#15 + +#15#13#12#241#2#2#2#2#2#2#2#241#12#13#15#15#15#13#12#241#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#241#12#4#4#4 + +#4#4#17#14#12#241#2#2#2#2#2#241#12#4#4#4#4#4#17#14#12#241#2#2#2#2#2#2#2#2#2#2 + +#1#2#2#2#2#2#2#2#2#2#2#2#1#1#1#1#1#1#1#1#1#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#9#4#4#4#4#236 + +#4#4#17#13#9#2#2#2#2#2#9#4#4#236#4#4#4#4#17#13#9#2#2#2#2#2#2#2#2#2#236#10#1#2 + +#2#2#2#2#2#2#2#2#2#2#236#10#10#10#10#10#1#2#2#2#2#2#2#2#2#2#2#2#2#13#2#2#2#2 + +#2#2#2#2#2#2#2#13#13#13#13#13#13#13#13#13#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + ,#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#4#4 + +#4#4#236#236#4#4#4#15#10#2#2#2#2#2#4#4#4#236#236#4#4#4#4#15#10#2#2#2#2#2#2#2 + +#2#2#236#10#1#2#2#2#2#2#2#2#2#2#2#2#236#10#10#10#10#10#1#2#2#2#2#2#2#2#2#2#2 + +#2#13#13#13#2#2#2#2#2#2#2#2#2#2#2#13#13#13#13#13#13#13#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#4#4#4#236#236#236#4#4#4#15#10#2#2#2#2#2#4#4#4#236#236#236#4#4#4 + +#15#10#2#2#2#2#2#2#2#2#236#10#10#10#1#2#2#2#2#2#2#2#2#2#2#2#236#10#10#10#1#2 + +#2#2#2#2#2#2#2#2#2#2#13#13#13#13#13#2#2#2#2#2#2#2#2#2#2#2#13#13#13#13#13#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#4#4#236#236#236#236#4#4#4#15#10#2#2#2#2#2#4 + +#4#4#236#236#236#236#4#4#15#10#2#2#2#2#2#2#2#2#236#10#10#10#1#2#2#2#2#2#2#2#2 + +#2#2#2#236#10#10#10#1#2#2#2#2#2#2#2#2#2#2#13#13#13#13#13#13#13#2#2#2#2#2#2#2 + +#2#2#2#2#13#13#13#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#4#4#4#236#236#236#4#4 + +#4#13#9#2#2#2#2#2#4#4#4#236#236#236#4#4#4#13#9#2#2#2#2#2#2#2#236#10#10#10#10 + +#10#1#2#2#2#2#2#2#2#2#2#2#2#236#10#1#2#2#2#2#2#2#2#2#2#2#13#13#13#13#13#13#13 + +#13#13#2#2#2#2#2#2#2#2#2#2#2#13#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#4#4#4 + +#4#236#236#4#4#4#12#241#2#2#2#2#2#4#4#4#236#236#4#4#4#4#12#241#2#2#2#2#2#2#2 + +#236#10#10#10#10#10#1#2#2#2#2#2#2#2#2#2#2#2#236#10#1#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#4#4#4#4#236#4#4#12#241#2#2#2#2#2#2#2#4#4#236#4#4#4#4#12#241#2#2#2#2#2#2 + +#2#236#236#236#236#236#236#236#236#1#2#2#2#2#2#2#2#2#2#2#2#1#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#4#4#4#4#4#9#241#2#2#2#2#2#2#2#2#2#4#4#4#4#4#9#241#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#3#3#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5 + +#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#5#3#3#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#3#5#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6 + +#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#6#5#3#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2#2 + +#2#2#5#6#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7 + +#7#7#7#7#7#7#7#7#7#6#5 +]); diff --git a/components/virtualtreeview/virtualTrees.pas b/components/virtualtreeview/virtualTrees.pas index d9bb014b2..f9e688def 100644 --- a/components/virtualtreeview/virtualTrees.pas +++ b/components/virtualtreeview/virtualTrees.pas @@ -953,6 +953,7 @@ type FFont: TFont; FParentFont: Boolean; FOptions: TVTHeaderOptions; + FTrackPos: Integer; // Left/right border of this column to quickly calculate its width on resize. FStates: THeaderStates; // used to keep track of internal states the header can enter FLeftTrackPos: Integer; // left border of this column to quickly calculate its width on resize FStyle: TVTHeaderStyle; // button style @@ -1008,7 +1009,7 @@ type procedure Assign(Source: TPersistent); override; procedure AutoFitColumns(Animated: Boolean = True); function InHeader(P: TPoint): Boolean; virtual; - procedure Invalidate(Column: TVirtualTreeColumn; ExpandToRight: Boolean = False); + procedure Invalidate(Column: TVirtualTreeColumn; ExpandToBorder: Boolean = False); procedure LoadFromStream(const Stream: TStream); virtual; procedure RestoreColumns; procedure SaveToStream(const Stream: TStream); virtual; @@ -1576,6 +1577,7 @@ type // drop target FOffsetX, FOffsetY: Integer; // determines left and top scroll offset + FEffectiveOffsetX: Integer; // Actual position of the horizontal scroll bar (varies depending on bidi mode). FRangeX, FRangeY: Cardinal; // current virtual width and height of the tree @@ -3710,29 +3712,36 @@ const Grays: array[0..3] of TColor = (clWhite, clSilver, clGray, clBlack); SysGrays: array[0..3] of TColor = (clWindow, clBtnFace, clBtnShadow, clBtnText); -procedure ConvertImageList(IL: TImageList; const ImageName: string; ColorRemapping: Boolean = True); +procedure ConvertImageList(IL: TImageList; const ImageName: string; ColorRemapping: Boolean = True); // Loads a bunch of images given by ImageName into IL. If ColorRemapping = True then a mapping of gray values to // system colors is performed. var Images, - OneImage: TBitmap; + OneImage, + AnotherImage: TBitmap; I: Integer; MaskColor: TColor; Source, Dest: TRect; - + //Small (???) hack while a solution does not come + Stream: TMemoryStream; begin Watcher.Enter; try // Since we want the image list appearing in the correct system colors, we have to remap its colors. Images := TBitmap.Create; - OneImage := TBitmap.Create; -//todo if ColorRemapping then -// Images.Handle := CreateMappedRes(FindClassHInstance(TBaseVirtualTree), PChar(ImageName), Grays, SysGrays) -// else -// Images.Handle := LoadBitmap(FindClassHInstance(TBaseVirtualTree), PChar(ImageName)); + //OneImage := TBitmap.Create; + //todo: remove this ugly hack ASAP + Stream:=TMemoryStream.Create; + //todo: see what CreateMappedRes do and replace it + { + if ColorRemapping then + Images.Handle := CreateMappedRes(FindClassHInstance(TBaseVirtualTree), PChar(ImageName), Grays, SysGrays) + else + Images.Handle := LoadBitmap(FindClassHInstance(TBaseVirtualTree), PChar(ImageName)); + } Images.LoadFromLazarusResource(ImageName); try Assert(Images.Height > 0, 'Internal image "' + ImageName + '" is missing or corrupt.'); @@ -3741,20 +3750,31 @@ begin IL.Clear; IL.Height := Images.Height; IL.Width := Images.Height; - OneImage.Width := IL.Width; - OneImage.Height := IL.Height; - MaskColor := clFuchsia; -//later: bug in gtk MaskColor := Images.Canvas.Pixels[0, 0]; // this is usually clFuchsia + //OneImage.Width := IL.Width; + //OneImage.Height := IL.Height; + + MaskColor := clFuchsia;//Images.Canvas.Pixels[0, 0]; // this is usually clFuchsia Dest := Rect(0, 0, IL.Width, IL.Height); - for I := 0 to (Images.Width div Images.Height) - 1 do + for I := 0 to (Images.Width div Images.Height) - 1 do begin Source := Rect(I * IL.Width, 0, (I + 1) * IL.Width, IL.Height); + OneImage:= TBitmap.Create; + OneImage.Width:=IL.Height; + OneImage.Height:=IL.Width; OneImage.Canvas.CopyRect(Dest, Images.Canvas, Source); - IL.AddMasked(OneImage, MaskColor); + //somehow SaveToStream - LoadFromStream restores the tranparency lost in CopyRect + OneImage.SaveToStream(Stream); + OneImage.Free; + AnotherImage:=TBitmap.Create; + Stream.Position:=0; + AnotherImage.LoadFromStream(Stream); + Stream.Size:=0; + IL.AddDirect(AnotherImage, nil); end; finally Images.Free; - OneImage.Free; + //OneImage.Free; + Stream.Free; end; finally Watcher.Leave; @@ -3771,7 +3791,7 @@ procedure CreateSystemImageSet(var IL: TImageList; Flags: Cardinal; Flat: Boolea // Creates a system check image set. // Note: the DarkCheckImages and FlatImages image lists must already be filled, as some images from them are copied here. -(* + const MaskColor: TColor = clRed; @@ -3799,7 +3819,8 @@ var FlatImages.Draw(BM.Canvas, OffsetX, OffsetY, I) else DarkCheckImages.Draw(BM.Canvas, OffsetX, OffsetY, I); - IL.AddMasked(BM, MaskColor); + //IL.AddMasked(BM, MaskColor); + IL.AddCopy(BM,nil); end; end; @@ -3835,32 +3856,26 @@ var ButtonState := ButtonState or DFCS_CHECKED; if Flat then ButtonState := ButtonState or DFCS_FLAT; -//todo DrawFrameControl(BM.Canvas.Handle, Rect(1, 2, BM.Width - 2, BM.Height - 1), DFC_BUTTON, ButtonType or ButtonState); - - IL.AddMasked(BM, MaskColor); + //todo: remap to LCLIntf +// DrawFrameControl(BM.Canvas.Handle, Rect(1, 2, BM.Width - 2, BM.Height - 1), DFC_BUTTON, ButtonType or ButtonState); + IL.AddCopy(BM,nil); + //IL.AddMasked(BM, MaskColor); end; //--------------- end local functions --------------------------------------- var - I, Width, Height: Integer;*) + I, Width, Height: Integer; begin - // don't use system image set, since not very system has this. - if Flat then - IL := FlatImages - else - IL := DarkCheckImages; - -(* Width := GetSystemMetrics(SM_CXMENUCHECK) + 3; + Width := GetSystemMetrics(SM_CXMENUCHECK) + 3; Height := GetSystemMetrics(SM_CYMENUCHECK) + 3; IL := TImageList.CreateSize(Width, Height); - -// with IL do -// Handle := ImageList_Create(Width, Height, Flags, 0, AllocBy); - + //with IL do + // Handle := ImageList_Create(Width, Height, Flags, 0, AllocBy); IL.Masked := True; -//todo IL.BkColor := clWhite; // imglist BKColor, compliers says not member + //todo: see why compiler complain here + //IL.BkColor := clWhite; // Create a temporary bitmap, which holds the intermediate images. BM := TBitmap.Create; @@ -3871,8 +3886,9 @@ begin BM.Canvas.Brush.Color := MaskColor; BM.Canvas.Brush.Style := bsSolid; BM.Canvas.FillRect(Rect(0, 0, BM.Width, BM.Height)); - IL.AddMasked(BM, MaskColor); - + //IL.AddMasked(BM, MaskColor); + IL.AddCopy(BM,nil); + // Add the 20 system checkbox and radiobutton images. for I := 0 to 19 do AddSystemImage(IL, I); @@ -3880,8 +3896,10 @@ begin AddNodeImages(IL); finally - BM.Free; - end;*) + //todo: change to except?? + //lcl free the bitmap in IL + //BM.Free; + end; end; //---------------------------------------------------------------------------------------------------------------------- @@ -3974,16 +3992,10 @@ begin // IsWin2K := (Win32MajorVersion = 5) and (Win32MinorVersion = 0); // IsWinXP := (Win32MajorVersion = 5) and (Win32MinorVersion = 1); - // Initialize OLE subsystem for drag'n drop and clipboard operations. -//x NeedToUnitialize := Succeeded(OleInitialize(nil)); - - // Register the tree reference clipboard format. Others will be handled in InternalClipboarFormats. -// todo CF_VTREFERENCE := RegisterClipboardFormat(CFSTR_VTREFERENCE); - // Load all internal image lists and convert their colors to current desktop color scheme. // In order to use high color images we have to create the image list handle ourselves. -{ LightCheckImages := TImageList.CreateSize(16, 16); + LightCheckImages := TImageList.CreateSize(16, 16); ConvertImageList(LightCheckImages, 'VT_CHECK_LIGHT'); DarkCheckImages := TImageList.CreateSize(16, 16); @@ -4006,7 +4018,7 @@ begin CreateSystemImageSet(SystemCheckImages, Flags, False); CreateSystemImageSet(SystemFlatCheckImages, Flags, True); - } + //mm // Specify an useful timer resolution for timeGetTime. //mm timeBeginPeriod(MinimumTimerInterval); @@ -4040,7 +4052,7 @@ var begin //mm timeEndPeriod(MinimumTimerInterval); -{ LightCheckImages.Free; + LightCheckImages.Free; DarkCheckImages.Free; LightTickImages.Free; DarkTickImages.Free; @@ -4048,10 +4060,7 @@ begin XPImages.Free; UtilityImages.Free; SystemCheckImages.Free; - SystemFlatCheckImages.Free;} - -//x if NeedToUnitialize then -//x OleUninitialize; + SystemFlatCheckImages.Free; // If VT is used in a package and its special hint window was used then the last instance of this // window is not freed correctly (bug in the VCL). We explicitely tell the application to free it @@ -5935,6 +5944,8 @@ function TVirtualTreeColumn.GetLeft: Integer; begin Result := FLeft + Owner.Header.Treeview.FOffsetX; + if [coVisible, coFixed] * FOptions <> [coVisible, coFixed] then + Dec(Result, Owner.Header.Treeview.FEffectiveOffsetX); end; //---------------------------------------------------------------------------------------------------------------------- @@ -7262,10 +7273,14 @@ var begin Result := InvalidColumn; - if Relative then - ColumnLeft := FHeader.Treeview.FOffsetX + if Relative and (P.X > Header.Columns.GetVisibleFixedWidth) then + ColumnLeft := -FHeader.Treeview.FEffectiveOffsetX else ColumnLeft := 0; + +// if FHeader.Treeview.UseRightToLeftAlignment then +// Inc(ColumnLeft, FHeader.Treeview.ComputeRTLOffset(True)); + for I := 0 to Count - 1 do with Items[FPositionToIndex[I]] do if coVisible in FOptions then @@ -7621,24 +7636,30 @@ var begin Result := InvalidColumn; + // The position must be within the header area, but we extend the vertical bounds to the entire treeview area. - if (P.X >= 0) and (P.Y >= 0) and (P.Y <= Integer(FHeader.TreeView.Height)) then - begin - if Relative then - Sum := FHeader.Treeview.FOffsetX - else - Sum := 0; - for I := 0 to Count - 1 do - if coVisible in Items[FPositionToIndex[I]].FOptions then - begin - Inc(Sum, Items[FPositionToIndex[I]].Width); - if P.X < Sum then + if (P.X >= 0) and (P.Y >= 0) and (P.Y <= FHeader.TreeView.Height) then + with FHeader, Treeview do + begin + if Relative and (P.X > GetVisibleFixedWidth) then + Sum := -FEffectiveOffsetX + else + Sum := 0; + +// if UseRightToLeftAlignment then +// Inc(Sum, ComputeRTLOffset(True)); + + for I := 0 to Count - 1 do + if coVisible in Items[FPositionToIndex[I]].FOptions then begin - Result := FPositionToIndex[I]; - Break; + Inc(Sum, Items[FPositionToIndex[I]].Width); + if P.X < Sum then + begin + Result := FPositionToIndex[I]; + Break; + end; end; - end; - end; + end; end; //---------------------------------------------------------------------------------------------------------------------- @@ -8538,8 +8559,9 @@ function TVTHeader.DetermineSplitterIndex(P: TPoint): Boolean; // Tries to find the index of that column whose right border corresponds to P. // Result is True if column border was hit (with -3..+5 pixels tolerance). -// For continuous resizing the current track index and the column's left border are set. -// Note: The hit test is checking from right to left to make enlarging of zero-sized columns possible. +// For continuous resizing the current track index and the column's left/right border are set. +// Note: The hit test is checking from right to left (or left to right in RTL mode) to make enlarging of zero-sized +// columns possible. var I, @@ -8551,24 +8573,56 @@ begin if FColumns.Count > 0 then begin - SplitPoint := Treeview.FOffsetX + Integer(Treeview.FRangeX); +{ if Treeview.UseRightToLeftAlignment then + begin + SplitPoint := -Treeview.FEffectiveOffsetX; + if Integer(Treeview.FRangeX) < Treeview.ClientWidth then + Inc(SplitPoint, Treeview.ClientWidth - Integer(Treeview.FRangeX)); - for I := FColumns.Count - 1 downto 0 do - with FColumns, Items[FPositionToIndex[I]] do - if coVisible in FOptions then - begin - if (P.X < SplitPoint + 5) and (P.X > SplitPoint - 3) then + for I := 0 to FColumns.Count - 1 do + with FColumns, Items[FPositionToIndex[I]] do + if coVisible in FOptions then begin - if coResizable in FOptions then + if (P.X < SplitPoint + 3) and (P.X > SplitPoint - 5) then begin - Result := True; - FTrackIndex := FPositionToIndex[I]; - FLeftTrackPos := SplitPoint - FWidth; + if coResizable in FOptions then + begin + Result := True; + FTrackIndex := FPositionToIndex[I]; + + // Keep the right border of this column. This and the current mouse position + // directly determine the current column width. + FTrackPos := SplitPoint + FWidth; + end; + Break; end; - Break; + Inc(SplitPoint, FWidth); end; - Dec(SplitPoint, FWidth); - end; + end + else} + begin + SplitPoint := -Treeview.FEffectiveOffsetX + Integer(Treeview.FRangeX); + + for I := FColumns.Count - 1 downto 0 do + with FColumns, Items[FPositionToIndex[I]] do + if coVisible in FOptions then + begin + if (P.X < SplitPoint + 5) and (P.X > SplitPoint - 3) then + begin + if coResizable in FOptions then + begin + Result := True; + FTrackIndex := FPositionToIndex[I]; + + // Keep the left border of this column. This and the current mouse position + // directly determine the current column width. + FTrackPos := SplitPoint - FWidth; + end; + Break; + end; + Dec(SplitPoint, FWidth); + end; + end; end; end; @@ -9290,38 +9344,48 @@ end; //---------------------------------------------------------------------------------------------------------------------- -procedure TVTHeader.Invalidate(Column: TVirtualTreeColumn; ExpandToRight: Boolean = False); +procedure TVTHeader.Invalidate(Column: TVirtualTreeColumn; ExpandToBorder: Boolean = False); // Because the header is in the non-client area of the tree it needs some special handling in order to initiate its // repainting. -// If ExpandToRight is True then not only the given column but everything to its right will be invalidated (useful for -// resizing). This makes only sense when a column is given. +// If ExpandToBorder is True then not only the given column but everything to its right (or left, in RTL mode) will be +// invalidated (useful for resizing). This makes only sense when a column is given. var R, RW: TRect; begin if (hoVisible in FOptions) and Treeview.HandleAllocated then - begin - if Column = nil then - R := Treeview.FHeaderRect - else + with Treeview do begin - R := Column.GetRect; - OffsetRect(R, Treeview.FOffsetX, 0); - if ExpandToRight then - R.Right := Treeview.FHeaderRect.Right; - end; + if Column = nil then + R := FHeaderRect + else + begin + R := Column.GetRect; + if not (coFixed in Column.Options) then + OffsetRect(R, -FEffectiveOffsetX, 0); +// if UseRightToLeftAlignment then +// OffsetRect(R, ComputeRTLOffset, 0); + if ExpandToBorder then +{ if UseRightToLeftAlignment then + R.Left := FHeaderRect.Left + else} + R.Right := FHeaderRect.Right; + end; - // Current position of the owner in screen coordinates. - GetWindowRect(Treeview.Handle, RW); - // Consider the header within this rectangle. - OffsetRect(R, RW.Left, RW.Top); - // Expressed in client coordinates (because RedrawWindow wants them so, they will actually become negative). - MapWindowPoints(0, Treeview.Handle, R, 2); -//todo RedrawWindow(Treeview.Handle, @R, 0, RDW_FRAME or RDW_INVALIDATE or RDW_VALIDATE or RDW_NOINTERNALPAINT or -//todo RDW_NOERASE or RDW_NOCHILDREN); - end; + // Current position of the owner in screen coordinates. + GetWindowRect(Handle, RW); + + // Consider the header within this rectangle. + OffsetRect(R, RW.Left, RW.Top); + + // Expressed in client coordinates (because RedrawWindow wants them so, they will actually become negative). + MapWindowPoints(0, Handle, R, 2); +// RedrawWindow(Handle, @R, 0, RDW_FRAME or RDW_INVALIDATE or RDW_VALIDATE or RDW_NOINTERNALPAINT or +// RDW_NOERASE or RDW_NOCHILDREN); + Invalidate; + end; end; //---------------------------------------------------------------------------------------------------------------------- @@ -10515,7 +10579,7 @@ end; procedure TBaseVirtualTree.ClearNodeBackground(const PaintInfo: TVTPaintInfo; UseBackground, xFloating: Boolean; R: TRect); -// Erases a nodes background depending on what the application decides to do. +// Erases a node's background depending on what the application decides to do. // UseBackground determines whether or not to use the background picture, while Floating indicates // that R is given in coordinates of the small node bitmap or the superordinated target bitmap used in PaintTree. @@ -10529,38 +10593,40 @@ begin begin EraseAction := eaDefault; BackColor := Color; - DoBeforeItemErase(Canvas, Node, R, Backcolor, EraseAction); if xFloating then begin - Offset := Point(FOffsetX, R.Top); + Offset := Point(-FEffectiveOffsetX, R.Top); OffsetRect(R, 0, -Offset.Y); end else Offset := Point(0, 0); + DoBeforeItemErase(Canvas, Node, R, Backcolor, EraseAction); + with Canvas do begin case EraseAction of eaNone: - DoAfterItemErase(Canvas, Node, R); + ; eaColor: begin // User has given a new background color. Brush.Color := BackColor; FillRect(R); - DoAfterItemErase(Canvas, Node, R); end; else // eaDefault if UseBackground then - TileBackground(FBackground.Bitmap, Canvas, Offset, R) + begin + TileBackground(FBackground.Bitmap, Canvas, Offset, R); + end else begin if (poDrawSelection in PaintOptions) and (toFullRowSelect in FOptions.FSelectionOptions) and - (vsSelected in Node^.States) then + (vsSelected in Node^.States) and not (toUseBlendedSelection in FOptions.PaintOptions) then begin if toShowHorzGridLines in FOptions.PaintOptions then Dec(R.Bottom); - if Focused or (toPopupMode in FOptions.FPaintOptions)then + if Focused or (toPopupMode in FOptions.FPaintOptions) then begin Brush.Color := FColors.FocusedSelectionColor; Pen.Color := FColors.FocusedSelectionBorderColor; @@ -10570,6 +10636,7 @@ begin Brush.Color := FColors.UnfocusedSelectionColor; Pen.Color := FColors.UnfocusedSelectionBorderColor; end; + with R do RoundRect(Left, Top, Right, Bottom, FSelectionCurveRadius, FSelectionCurveRadius); end @@ -10579,8 +10646,8 @@ begin FillRect(R); end; end; - DoAfterItemErase(Canvas, Node, R); end; + DoAfterItemErase(Canvas, Node, R); end; end; end; @@ -11091,7 +11158,7 @@ begin begin // The mouse coordinates don't include any horizontal scrolling hence take this also // out from the returned column position. - NodeLeft := FHeader.FColumns[MainColumn].Left - FOffsetX; + NodeLeft := FHeader.FColumns[MainColumn].Left - FEffectiveOffsetX; NodeRight := NodeLeft + FHeader.FColumns[MainColumn].Width; end else @@ -14531,7 +14598,7 @@ DC := Canvas.Handle; if hoVisible in FHeader.FOptions then begin R := FHeaderRect; - FHeader.FColumns.PaintHeader(DC, R, FOffsetX); + FHeader.FColumns.PaintHeader(DC, R, -FEffectiveOffsetX); end; OriginalWMNCPaint(DC); ReleaseDC(Handle, DC); @@ -14581,7 +14648,7 @@ procedure TBaseVirtualTree.WMPrint(var Message: TWMPrint); begin // Draw only if the window is visible or visibility is not required. if ((Message.Flags and PRF_CHECKVISIBLE) = 0) or IsWindowVisible(Handle) then - Header.Columns.PaintHeader(Message.DC, FHeaderRect, FOffsetX); + Header.Columns.PaintHeader(Message.DC, FHeaderRect, FEffectiveOffsetX); inherited; end; @@ -14605,7 +14672,7 @@ begin // The Window rectangle is given in client coordinates. We have to convert it into // a sliding window of the tree image. - OffsetRect(Window, -FOffsetX, -FOffsetY); + OffsetRect(Window, -FEffectiveOffsetX, -FOffsetY); Canvas := TCanvas.Create; try @@ -15189,7 +15256,7 @@ var begin if tsDrawSelecting in FStates then FLastSelRect := FNewSelRect; - FNewSelRect.BottomRight := Point(X - FOffsetX, Y - FOffsetY); + FNewSelRect.BottomRight := Point(X - FEffectiveOffsetX, Y - FOffsetY); if FNewSelRect.Right < 0 then FNewSelRect.Right := 0; if FNewSelRect.Bottom < 0 then @@ -15883,9 +15950,9 @@ begin end else begin - if (X < Integer(FDefaultNodeHeight)) and (FOffsetX <> 0) then + if (X < Integer(FDefaultNodeHeight)) and (FEffectiveOffsetX <> 0) then Include(Result, sdLeft); - if (ClientWidth - FOffsetX < Integer(FRangeX)) and (X > ClientWidth - Integer(FDefaultNodeHeight)) then + if (ClientWidth - FEffectiveOffsetX < Integer(FRangeX)) and (X > ClientWidth - Integer(FDefaultNodeHeight)) then Include(Result, sdRight); if (Y < Integer(FDefaultNodeHeight)) and (FOffsetY <> 0) then @@ -16960,7 +17027,7 @@ begin DeltaX := FScrollBarOptions.FIncrementX else DeltaX := FScrollBarOptions.FIncrementX * Abs(R.Left - P.X); - if FOffsetX = 0 then + if FEffectiveOffsetX = 0 then Exclude(FScrollDirections, sdleft); end; @@ -16974,7 +17041,7 @@ begin else DeltaX := -FScrollBarOptions.FIncrementX * Abs(P.X - R.Right); - if (ClientWidth - FOffsetX) = Integer(FRangeX) then + if (ClientWidth - FEffectiveOffsetX) = Integer(FRangeX) then Exclude(FScrollDirections, sdRight); end; @@ -18056,7 +18123,7 @@ begin SetCapture(Handle); DoStateChange([tsDrawSelPending]); FDrawSelShiftState := ShiftState; - FNewSelRect := Rect(Message.XPos - FOffsetX, Message.YPos - FOffsetY, Message.XPos - FOffsetX, + FNewSelRect := Rect(Message.XPos - FEffectiveOffsetX, Message.YPos - FOffsetY, Message.XPos - FEffectiveOffsetX, Message.YPos - FOffsetY); FLastSelRect := Rect(0, 0, 0, 0); if not IsCellHit then @@ -18904,7 +18971,7 @@ begin else begin UnionRect(R, OrderRect(FNewSelRect), OrderRect(FLastSelRect)); - OffsetRect(R, FOffsetX, FOffsetY); + OffsetRect(R, FEffectiveOffsetX, FOffsetY); InvalidateRect(Handle, @R, False); end; UpdateWindow(Handle); @@ -19054,7 +19121,7 @@ begin end; // The clipping rectangle is given in client coordinates of the window. We have to convert it into // a sliding window of the tree image. - OffsetRect(Window, -FOffsetX, -FOffsetY); + OffsetRect(Window, -FEffectiveOffsetX, -FOffsetY); PaintTree(Canvas, Window, Target, [poBackground, poColumnColor, poDrawFocusRect, poDrawDropMark, poDrawSelection, poGridLines]); end; @@ -21013,7 +21080,7 @@ begin Inc(FUpdateCount); try InterruptValidation; - LastLeft := FOffsetX; + LastLeft := -FEffectiveOffsetX; LastTop := FOffsetY; // Make a local copy of the visibility state of this node to speed up @@ -21104,7 +21171,7 @@ begin StructureChange(LastParent, crChildDeleted); end; - LastLeft := FOffsetX; + LastLeft := -FEffectiveOffsetX; LastTop := FOffsetY; if vsSelected in Node^.States then @@ -21568,7 +21635,7 @@ begin OffsetRect(Result, 0, FOffsetY); end else - OffsetRect(Result, FOffsetX, FOffsetY); + OffsetRect(Result, -FEffectiveOffsetX, FOffsetY); // Limit left and right bounds further if only the text area is required. if TextOnly then @@ -21908,7 +21975,8 @@ begin // Convert position into absolute coordinate if necessary. if Relative then begin - Inc(X, -FOffsetX); + if X > Header.Columns.GetVisibleFixedWidth then + Inc(X, FEffectiveOffsetX); Inc(Y, -FOffsetY); end; if hoVisible in FHeader.FOptions then @@ -24363,8 +24431,7 @@ begin PaintSelectionRectangle(NodeBitmap.Canvas, 0, R, TargetRect); end; with Target, NodeBitmap do - TargetCanvas.Draw(X,Y,NodeBitmap); -// BitBlt(TargetCanvas.Handle, X, Y, Width, Height, Canvas.Handle, 0, 0, SRCCOPY); + BitBlt(TargetCanvas.Handle, X, Y, Width, Height, Canvas.Handle, 0, 0, SRCCOPY); end; finally NodeBitmap.Canvas.Unlock; @@ -24844,11 +24911,11 @@ function TBaseVirtualTree.ScrollIntoView(Node: PVirtualNode; Center: Boolean; Ho // Note: All collapsed parents of the node are expanded. var - MidPoint: Integer; R: TRect; Run: PVirtualNode; UseColumns, HScrollBarVisible: Boolean; + NewOffset: Integer; begin Result := False; @@ -24898,12 +24965,28 @@ begin if Horizontally then begin // 2) scroll horizontally - if (R.Right > ClientWidth) or (R.Left < 0) then + if Header.Columns.GetVisibleFixedWidth > 0 then begin - MidPoint := -FOffsetX + (R.Left + R.Right) div 2; - SetOffsetX((ClientWidth div 2) - MidPoint); - Result := True; - end; + if (Abs(R.Left - Header.Columns.GetVisibleFixedWidth) > 1) then + begin + NewOffset := FEffectiveOffsetX - (R.Left - Header.Columns.GetVisibleFixedWidth); +{ if UseRightToLeftAlignment then + SetOffsetX(-Integer(FRangeX) + ClientWidth + NewOffset) + else} + SetOffsetX(-NewOffset); + Result := True; + end; + end + else + if (R.Right > ClientWidth) or (R.Left < 0) then + begin + NewOffset := FEffectiveOffsetX + ((R.Left + R.Right) div 2) - (ClientWidth div 2); +{ if UseRightToLeftAlignment then + SetOffsetX(-Integer(FRangeX) + ClientWidth + NewOffset) + else} + SetOffsetX(-NewOffset); + Result := True; + end; end; end; end; @@ -25402,6 +25485,12 @@ begin else FRangeX := GetMaxRightExtend; + // Adjust effect scroll offset depending on bidi mode. +{ if UseRightToLeftAlignment then + FEffectiveOffsetX := Integer(FRangeX) - ClientWidth + FOffsetX + else} + FEffectiveOffsetX := -FOffsetX; + if FScrollBarOptions.ScrollBars in [ssHorizontal, ssBoth] then begin FillChar(ScrollInfo, SizeOf(ScrollInfo), 0); @@ -25415,15 +25504,11 @@ begin if (Integer(FRangeX) > ClientWidth) or FScrollBarOptions.AlwaysVisible then begin - {$ifdef UseFlatScrollbars} - FlatSB_ShowScrollBar(Handle, SB_HORZ, True); - {$else} - ShowScrollBar(Handle, SB_HORZ, True); - {$endif UseFlatScrollbars} - + ShowScrollBar(Handle,SB_HORZ, True); + ScrollInfo.nMin := 0; ScrollInfo.nMax := FRangeX; - ScrollInfo.nPos := -FOffsetX; + ScrollInfo.nPos := FEffectiveOffsetX; ScrollInfo.nPage := Max(0, ClientWidth + 1); ScrollInfo.fMask := SIF_ALL or ScrollMasks[FScrollBarOptions.AlwaysVisible]; @@ -25439,30 +25524,30 @@ begin ScrollInfo.nMax := 0; ScrollInfo.nPos := 0; ScrollInfo.nPage := 0; + ShowScrollBar(Handle,SB_HORZ, False); {$ifdef UseFlatScrollbars} - FlatSB_ShowScrollBar(Handle, SB_HORZ, False); FlatSB_SetScrollInfo(Handle, SB_HORZ, ScrollInfo, False); {$else} - ShowScrollBar(Handle, SB_HORZ, False); SetScrollInfo(Handle, SB_HORZ, ScrollInfo, False); {$endif UseFlatScrollbars} end; - + // Since the position is automatically changed if it doesn't meet the range // we better read the current position back to stay synchronized. {$ifdef UseFlatScrollbars} - SetOffsetX(-FlatSB_GetScrollPos(Handle, SB_HORZ)); + FScrollOffsetX := FlatSB_GetScrollPos(Handle, SB_HORZ); {$else} - SetOffsetX(-GetScrollPos(Handle, SB_HORZ)); + //todo: Use get scrollinfo instead of GetScrollPos?? + FEffectiveOffsetX := GetScrollPos(Handle, SB_HORZ); {$endif UseFlatScrollbars} +{ if UseRightToLeftAlignment then + SetOffsetX(-Integer(FRangeX) + ClientWidth + FEffectiveOffsetX) + else} + SetOffsetX(-FEffectiveOffsetX); end else begin - {$ifdef UseFlatScrollbars} - FlatSB_ShowScrollBar(Handle, SB_HORZ, False); - {$else} - ShowScrollBar(Handle, SB_HORZ, False); - {$endif UseFlatScrollbars} + ShowScrollBar(Handle,SB_HORZ, False); // Reset the current horizontal offset to account for window resize etc. SetOffsetX(FOffsetX); diff --git a/components/virtualtreeview/windows/virtualtreeslcl.lpk b/components/virtualtreeview/windows/virtualtreeslcl.lpk index fda4b6d7e..02deb31f8 100644 --- a/components/virtualtreeview/windows/virtualtreeslcl.lpk +++ b/components/virtualtreeview/windows/virtualtreeslcl.lpk @@ -39,7 +39,7 @@ Software distributed under the License is distributed on an "AS IS" ba WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. "/> - +