create program to create bitmap
-
- Posts: 538
- Joined: Jul 15, 2005 4:13
Re: create program to create bitmap
leopardpm, congratulations !!!
Re: create program to create bitmap
I have to agree on it being easier to just link to a hosted image. It's easier client side as well because the image can be looked at right then and there. The problem with image hosting is how they expire. That's where I see the advantage of plain text.leopardpm wrote:ok fine, ya'll are forcing me to actually code it up, huh? drats, I have been avoiding doing this just because I ultimately feel it is easier just to link to a hosted image than to first convert it then have others have to unconvert it... but it is an interesting exercise, right? lol
Congratulations! Wishing you the best!... getting married on Thursday so I don't expect much coding over the next few days though....
Re: create program to create bitmap
I tried a method using base 36 to condense the output size.
It creates a running file (colours.bas).
You can enlarge the bitmap with the mouse wheel, but the output file size remains the same.
Congratulations leopardpm.
Line 23 for your bitmap.
It creates a running file (colours.bas).
You can enlarge the bitmap with the mouse wheel, but the output file size remains the same.
Congratulations leopardpm.
Line 23 for your bitmap.
Code: Select all
'Data maker
#include "crt.bi"
function ULongToBase(N as ulong,_base as byte) as string
dim as zstring * 50 buffer
_itoa(n,@buffer,_base)
return ucase(buffer)
end function
Screen 20,32
' "colours.bas" wii be the output file
Type bitmap_size
As Long across,down
End Type
'======================== YOUR BITMAP ===============
Dim mybitmap As String ="azul.bmp" '<--- here
'==============================================
Redim shared As ULong pixel_colours(0,0) 'shared to increase potential size
Function size(bmp As String) As bitmap_size 'fetch bitmap width/height
Dim As Long w,h
Open bmp For Binary As #1
Get #1, 19, w
Get #1, 23, h
Close #1
Return Type<bitmap_size>(w,h)
End Function
Sub load(bmp As String,pixels() As Long) 'load bitmap into array of point colours
Bload bmp
dim count as Long
dim flag as long
dim as string comma=","
dim as string dash="_"
Dim temp As bitmap_size=size(bmp)
Redim pixels(temp.across,temp.down)
if temp.across*temp.down=0 then print bmp;" Not found":sleep:end
windowtitle str(temp.across) + ", " + str(temp.across)
dim max as Long=(1+temp.across)*(1+temp.down)
For x As Long=0 To temp.across
For y As Long=0 To temp.down
count+=1
Next y
Next x
dim as long c=count- count mod 8
count=0
For x As Long=0 To temp.across
For y As Long=0 To temp.down
count=count+1
if count>c-1 then flag=1:comma="":dash=""
dim as ulong clr=Point(x,y)
if clr=0 then clr=rgb(0,0,0)
pixels(x,y)=clr
if count=max then
comma=""
dash=""
end if
'THIS IS THE CONVERSION
if count mod 8=1 then print #2,"""";
dim as string g= right( "0000000" + ulongToBase(pixels(x,y),36),7)
print #2, g ;
if count mod 8=0 then print #2,"""" & comma + dash
if flag then exit sub
Next y
Next x
End Sub
'Use mouse or keys to move bitmap in this run
Sub drawbitmap(mx As long,my As Long,mybitmap As bitmap_size,scale as single=1)
#macro magnify(pivotx,pivoty,px,py,scale)
var rotx=scale*(px-pivotx)+pivotx
var roty=scale*(py-pivoty)+pivoty
#endmacro
For x As Long=mx To mx+mybitmap.across
For y As Long=my To my+mybitmap.down
magnify(mx,my,x,y,scale)
line(rotx-scale/2,roty-scale/2)-(rotx+scale/2,roty+scale/2),pixel_colours(x-mx,y-my),BF
Next y
Next x
End Sub
Dim As bitmap_size bitmap_info=size(mybitmap) 'get height/width of bitmap
'initial running code for external file
open "colours.bas" for output as #2
print #2,"dim shared as long w,h"
print #2,"w=";;str(bitmap_info.across)
print #2,"h=";str(bitmap_info.down)
print #2,"redim shared as ulong a((w+1)*(h+1))"
print #2 ,"DATA _"
draw string(bitmap_info.across,bitmap_info.down), "PLEASE WAIT"
load mybitmap,pixel_colours() 'set bitmap colours into an array
'variables for the mouse and arrow keys
Dim As Long mx,my,mw,mb,copymx,copymy
dim as string i
'Set magnification
Do
Getmouse(mx,my,mw,mb)
if mb=2 then exit do
if mw<0 then mw=10
if mw=0 then mw=1
If mb=1 Then
copymx=mx:copymy=my
End If
i=inkey
if i= chr(255) + "K" then copymx=copymx-5
if i= chr(255) + "M" then copymx=copymx+5
if i= chr(255) + "P" then copymy=copymy+5
if i= chr(255) + "H" then copymy=copymy-5
Screenlock
Cls
drawbitmap(copymx,copymy,bitmap_info,mw/10) 'SCALE
draw string(20,20),"TURN MOUSE WHEEL --- MAGNIFICATION = "&str(mw/10)
draw string(20,50),"USE ARROW KEYS OR"
draw string(20,80),"LEFT MOUSE TO DRAG IMAGE"
draw string(20,110),"ESC OR RIGHT CLICK TO END"
Screenunlock
Sleep 1,1
Loop Until i=Chr(27)
'More running code for external file:
print #2," #include ";chr(34);"crt.bi";chr(34)
print #2,"screen 20,32"
print #2,"dim shared as double magnification"
print #2,"dim shared as any pointer image"
print #2,"image=imagecreate(w,h)"
print #2,"magnification= "; mw/10
print #2,"function ULongFromBase(N as string,_base as byte) as ulong"
print #2," return strtoul(n,0,_base)"
print #2,"end function"
print #2,"function map(a as single,b as single,x as single,c as single,d as single) as single"
print #2," return ((d)-(c))*((x)-(a))/((b)-(a))+(c)"
print #2,"end function"
print #2,"function scaler(im as any ptr) as any ptr"
print #2," dim as integer w,h"
print #2," dim as long x,y,xpos,ypos"
print #2," imageinfo im,w,h"
print #2," dim as long nx=w*magnification,ny=h*magnification"
print #2," dim as any ptr im2=imagecreate(nx,ny)"
print #2," for x=0 to nx"
print #2," for y =0 to ny"
print #2," xpos=map(0,nx,x,0,w)"
print #2," ypos=map(0,ny,y,0,h)"
print #2," pset im2,(x,y),point(xpos,ypos,im)"
print #2," next y"
print #2," next x"
print #2," return im2"
print #2,"end function"
print #2,"sub read_data()"
print #2," dim as long ctr"
print #2," dim as single c=ubound(a)\8"
print #2,"redim as string s(1 to c)"
print #2,"for n as long=1 to c"
print #2," read s(n)"
print #2," for m as long=1 to len(s(n)) step 7"
print #2," ctr+=1"
print #2," dim as ulong x= ULongFromBase( mid(s(n),m,7) ,36)"
print #2," a(ctr)=x"
print #2," next m"
print #2," next n"
print #2,"end sub"
print #2,"Sub drawbitmap_to_image(scale as single=1,mx As long=0,my As long=0)"
print #2,"dim as long ctr"
print #2,"For x As long=0 To w"
print #2,"For y As long=0 To h"
print #2,"pset image,(x,y),a(ctr)"
print #2,"ctr+=1"
print #2,"Next y"
print #2,"Next x"
print #2,"End Sub"
print #2,"read_data()"
print #2,"drawbitmap_to_image(magnification)"
print #2,"var image2=scaler(image)"
'BITMAP image is now in image
'This just displays the image
print #2,"locate 2,2"
print #2,"windowtitle " ;chr(34)+ " magnification = " + str(mw/10);chr(34)
print #2,"put( 0, 0),image2,pset"
print #2,"Sleep"
print #2,"imagedestroy image"
print #2,"imagedestroy image2"
close #2
locate 10,10
print "SAVED -- colours.bas is your file"
print "Press a key to end"
sleep
-
- Posts: 3906
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: create program to create bitmap
@dodicat,
When there is a limited number of colors I think my program makes less lines of data statements. I modified my code in the first post to reduce the length of each line of DATA in the source code which meant more lines of DATA statements to the program to make a fair comparison with your version.
Each color assignment statement adds an extra line of source code and this becomes significant until eventually they take up more lines than the palette values in the DATA statements. This might be reduced by assigning them to their own DATA statements and then reading them into the color list.
However the bottom line is that the resulting source code to generate the image is too large for a single post for any image above a certain size.
.
When there is a limited number of colors I think my program makes less lines of data statements. I modified my code in the first post to reduce the length of each line of DATA in the source code which meant more lines of DATA statements to the program to make a fair comparison with your version.
Each color assignment statement adds an extra line of source code and this becomes significant until eventually they take up more lines than the palette values in the DATA statements. This might be reduced by assigning them to their own DATA statements and then reading them into the color list.
However the bottom line is that the resulting source code to generate the image is too large for a single post for any image above a certain size.
.
Re: create program to create bitmap
Yea Basiccoder2.
With a simple bitmap it is much easier to make shortcuts.
I was experimenting with base 36.
I suppose 100 by 100 or a little bigger could fit in a post.
(that's why I have the scale option)
Probably better to filter the enlarged image.
With a simple bitmap it is much easier to make shortcuts.
I was experimenting with base 36.
I suppose 100 by 100 or a little bigger could fit in a post.
(that's why I have the scale option)
Probably better to filter the enlarged image.
-
- Posts: 3906
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: create program to create bitmap
The whole purpose was to be able to post an image as text and as these images were sprites which often had a reduced color set made them perfect for coding as palette values. This array of palette values could be compressed as there is still redundancy in them such as pixel sequences of the same palette values. Also advantage could be taken of the fact that often most pixels in each frame do not change and thus each new frame only need show the changes as in a .gif file. This would make each frame's array of palette values even more compressible. The compressed file would then be converted to a string of characters.
.
.
Re: create program to create bitmap
Here's a parrot - 685 lines.
Your code is about 4669 lines for the same bird.
Am I doing something wrong?
Your code is about 4669 lines for the same bird.
Am I doing something wrong?
Code: Select all
dim shared as long w,h
w=80
h=60
redim shared as ulong a((w+1)*(h+1))
DATA _
"007K0HD007A3XI0078OKJ00779SY0075V1D006XF8G006W0V4006YUEA",_
"00732HZ0075WMK0074I2400733AJ0070ACR007BJW1007EDF7007ILIS",_
"007K0AD007SGHJ007SG38007TUUT007R1BN007JZHQ007LE9B007LE9B",_
"007JZHQ007IL4C007O8DR007WOZ700855DI008AS1J0089DH0008HTO5",_
"008UID5009H1MO009FM9P0094CQF008VWC4008C7ZL0080YGG007TXMG",_
"007MWSI007A8WD0077F660071RPL006UQ2P005G7LR006CI9D006Q99J",_
"005UB3L005K7RJ0037YJ5002Y3R0002SIO1002WYXE002X1VZ002LR5I",_
"002N3JP002BUSW002G3W6002G3W61YR4GLC007O96D007FQZU007EBMV",_
"007CWVA0078P5X00708RM006YUEA007095V00732HZ0078Q5Q0078QCV",_
"0078QCV0078QCV007FSDV007K0AD007LF1W007O86S007SGHH007SG38",_
"007PMK2007JZHQ007CXNT007IKQ5007MT0W007O7SH007LE9B007O7ZJ",_
"007V9F60082BG5008DL6F008EZY0008HU2H008QA9N00976GU009762J",_
"0092Y6300904U3009496H008LY0H0080UI7007JZHU0070CQL006W684",_
"006NQF7006DU2I0072ZCA0075WUR004LP7B003QPXW003ATGM00404V2",_
"002VFL6001S4HX002HFOB002BQMO002ADO50020MV6002MZYR002YA3F",_
"002YA3F1YR4GLC007MUT2007H5YK007EC89007CXGO0078PD200732AS",_
"007095V0071NXG0074H9K007A4XB007A54G007A54G007BK34007K0AD",_
"007LF1W007O86S007O86Q007R1BN007R1BN007O7SH007H5YK0078PD2",_
"007FR6Z007LE9B007O7SH007LE9B007MT7Y007R1IO007ZHPX008ARG7",_
"008ARG7008KNLO008QA2L00904FU0091JEI0092XZ00094D4W008JAM3",_
"007ZKAB007INHO00736GC006MC1H006JJI4006B3P9006KZ1U006W2A1",_
"005LZGJ003S5B5003FKKO0042XLV003DLST00310NB002D4F2001THUG",_
"001MF86002BRG70021WGT002D118002PPXH002PPXH1YR4GLC007R33T",_
"007JZHQ007H5RF007FQZU007CXNT0075VTY0074HGM00732P10075W15",_
"007A4XB007A54G007A54G007ED81007K0AB007MTF7007MTF5007MT0W",_
"007PMR4007R1BN007O7SH007FR6Z0077ALH007CXNT007IKQ5007LE9B",_
"007K0AB007MTF5007R1PU007WOZ90083QLX0083QLX008HU9P008KNLO",_
"008XBAZ0092XZ00094D4W0092YRN008GH2X007ZJHQ007PMXZ007H5YC",_
"007A3JJ0078OL1006YTF7005SPJT005LWOJ004D49E003UY900040KX5",_
"002PR410021PJQ004WMSN004CU3U001IA4D001JSMT002EN5G002INWN",_
"001QFL6002EDTN002EDTN1YR4GLC007VBEK007MTF5007LE9B007IKQ5",_
"007H5YK007A44P0077AZS0075W870077ASQ007A4XB007A54G007A54G",_
"007ED7Z007LENM007MTF5007MT0W007LE9B007O7LA007PMK2007O7SH",_
"007FR6Z0075VTW007BIW8007FR6Z007H5YK007MU7Q007MUES007R2PH",_
"007WPKN0080X9Y007ZIIB008ASFU008GF3V0091JLQ0095RWH00976O2",_
"0092YRN0091H8C008HQWI008527I007TSVI0075X18006RV5U006DRWF",_
"005ONEY00557MS004VC96004202E003CHXP0020H2W003T1TT006XYEO",_
"005C58G001E0TP0011FGW001Z63V002SNFQ001XIEW002INB9002INB9",_
"1YR4GLC0083S02007WP6K007WOSA007V9MG007R1BR007FR71007BJAJ",_
"007A4IY007A4BW0074HUY0074I970077BSD007O7LC007MT7X007PMR1",_
"007O7ZI007JZAJ007LDGU007O6SO007WNE9007R04Z007A3XQ0078Q5N",_
"0077CKO007A6P10075ZLH007MVEK0080WOS0089AWQ008C70N007LH8D",_
"008GG320086N3Z008128Q00880PC0092XLD009O0IB008M2L40070IAM",_
"005HUID004VI6V003JPWI002Q8RI00257MK002KGCO003860U0045XG6",_
"004K0Q1003QEMI005Q6CR009EGLH003P3TA001E465002G3OP001NWJQ",_
"0012OAB001WBLI001CKUW000YG7B000YG7B1YR4GLC0086LXH007ZJ3Z",_
"007Y3Y5007ZIBG007VA0P007JZHS007ECTP007BJAJ007CY240075WMJ",_
"0074I970077BSD007BK34007EDT8007K0OE007ILWT007H6JU007FRL8",_
"007BII40078QCV006UP9S006TBAN0077CDR007MRFU007ZDYG007MTF3",_
"0071SA50071UGK007EIK9007H7XP0083RSR008EWS4008F0YA0048G9U",_
"004FL2M005KJ9N0064BKT0041YUW003L4N4002X96Z002EXU8002NAAC",_
"002J0SR001ZA9L00101AX003YV0B005J53Q005EW0D003YQFO005HMXM",_
"004L9JV000ZT05001QLK8002BT8D001NX6C001UUMW001RZPZ001B5VE",_
"001GRQV001GRQV1YR4GLC008813B0080YV5007ZJPB0082CU7007ZIWS",_
"007PMK2007JZVZ007H6CT007FRLA0075WMJ0074I970075X0S00734OF",_
"007CZFZ007H7XR007K0VJ007FSDN007FS6K0077FJD0078RXE007FPSU",_
"007PILL007CWVO006YXKX006TDAI007H8J6007D0MR007O96D0086IYL",_
"0083P8D008C7M10069WHL004MS2W001THG0002PZ8R002Q0MJ0026BOJ",_
"00348980032S3V002U9XK002AJEO002BYRL002N73X002IW8D002DDX5",_
"003T3RJ00569U6005YFRH006B588006S1EP004ZGQE0029127001TIU9",_
"003XI8D003RVD2002AB1G000RHBI0020HOY002D576002D5761YR4GLC",_
"00881HL008575U0083SE900856YP00856DA007Y3CM007SGHF007MTF3",_
"007LENK0078Q5P0074I970075WTP0075XTE007LF1W007SGHF007SGA9",_
"007LEGC007LENI007O76Z007H5CY007JYOX007MRMP007CX2B007BII3",_
"007CXGY007O876007FTSB006NOUF00641AI005EZS9004607W002BZJG",_
"0015PR2001WJIB001XWHL001JR1I001S78T002DEBB00268Q00028ZA9",_
"0023F6V0014HBK001IKS70020UD6001QTGT0057SCN006KWMK007BMSF",_
"008GJZC007OCGF0069V7N003JGXZ002D864003NL3C0048N0L0033SZF",_
"000ZXJM001S0PJ001QL5B001QL5B1YR4GLC008F2X6008C96U008DNK4",_
"008JA84008HV9C008HU9R0089DVG0082C1L007WOS6007CYGG0077BLA",_
"0077BLA007EC1A007V81C007ZFXS007TT9P007H5RF007EE0L007MTET",_
"007JZHK007PMK4006KW3M005YIS3005NELH0053S150038IJ0002APQ9",_
"0026FNM003E1UJ001P9R5002D8KV002YENI002ZUEX001CM16002IW7V",_
"0038A0C002KCYT00220TI002LORQ0033XYC003147X002SRL60024T5W",_
"0012QA4000ONEI0054UMG0089F67008VW900089CLC007LCZT0089BT2",_
"005WYDL005ERSX00433WY005Q831006FK2T002MYQP001XPCK002LNKU",_
"002LNKU1YR4GLC008JATO008JA86008M3D1008T4SM008RQ0Z008OW3M",_
"008GFPB0089DVG0082BUI007FRZM0078QCV0078QCV007A4IW007PLRH",_
"007TU28007MT0W007BKOI007A8W3007LE910071SHJ006B8NV003W8N9",_
"003I85Y0036Y8N002BXDV002HL13002DAY7002N3CB0035CIW001THFE",_
"0029212001QPVH00267WP00386160048QDO003T6YG0039H83002VFYD",_
"002VH4V002SODW002PTUT00313SA0021X7M000LT8P000PY6K00640M4",_
"008Q97Q008NDAK007LC74008J6DD009CN49007LHQJ004WDN2005YJCP",_
"008GO5K007HI6J002OFIL001Z2QG002N0YP002N0YP1YR4GLC008M45P",_
"008NI4O008T4LK008XCP2008VXXH008T4ED008KO74008C7EM00855KR",_
"007H6R7007A54G0078QCX0074J1J007K0HB007O8S2007H8510077EK8",_
"007AB9O00582Q6004EI14003GPTZ001QSHL0026CHU002ETVI001MMQR",_
"001S6NA001WHPP001V2CG0018EIA004MV7R004K0HG005J4H2005NC6H",_
"005X3KJ0062O8X006ME6E006B6170053JAQ0048L7D003T4XV004JU49",_
"0062LOA005LQUY004QTKK002HBV8005PTZM00705CB007TPMW008HQ0W",_
"0099YBK008GDUN008DNUO00733SW0054TOW007K8J6007PWZZ0032D8X",_
"002K7ET002SNEQ002SNEQ1YR4GLC008M3R8008QBUS0091LE20098N0T",_
"009A1E5008KPSK008RPU1008ROMZ008HT9W007MU0H007FS6M007FRE0",_
"007IJYO007SDP800828H50078VIY004SI4F003WF000039TYE0024Y4K",_
"001CR71001XWHS001S9FG001IF8Y001JV01002HITH003P10R003HWT4",_
"0039GLZ006TH6L007SIRV008CBHE008DPUN008JAXJ008NJ13008M4GP",_
"00857V500736ZQ006NQJH006FAQC0069N9L0071Q13007FTOX007D0YC",_
"006GNQL006GKR1007FRIK007O5Q8008NCW0009E3GG00972M80098IYV",_
"008OTTX007PL37007V9Y1007FUAR006KW7X003VZP3003DPIT003DPIT",_
"1YR4GLC008QC9100930CQ009CVBK009IHZL009IHZL009O2O7009CTQE",_
"008UJK5008C96S007R3B3007MT88007IJJN007CZ0M005RK4R003MHUH",_
"001WQUD00256GA0011MMC001L60I00102P4001E7XR001XTHW001UXZB",_
"0023F6F001V0DB0036QGV004QYJH006B57Z007OBGO008YS5G008JBB8",_
"009CSN5009O2DI009XWY0009PFYB009E60W0095PFK008C54W007V9J4",_
"007LERN007IK1V0087TVK008GAV40089A80008EZNK007ZFGG00850XS",_
"008X72J008YKG2009Z8CU009Z7Y8009V0G0009CPHC008OPOG008Q4G0",_
"008EWI20083OCS008C2KG008LZ45008LZ451YR4GLC008UK5I009A26L",_
"009IIDU009MQHE009PJF6009TOXW009A0SK008QC91008DNYB0089COM",_
"00829GY007V78W008J13S003TK9Q002NFG900252P700252OX0017745",_
"001WJ4E001E65J001PFH30019XNA001E55S0023GKM002200N0047A0C",_
"006DZR100857V10094BGG0094BGG008UH34009TNNK009WGLC009ZAIO",_
"009ZAIR009WG74009E4G0008LY4G008GCG00089B7R007Y03Q0087RWG",_
"008VRI800972TC0094B28008HPTS008DGXS009007I008UCJK009Z8Y6",_
"009Z9JB009Z951009MKU800946WW008UBCW008LVR4008EVIA0086FI8",_
"00851QA00851QA1YR4GLC008XDVQ009EA31009MQHE009SCYA009SCYA",_
"009QWZR009A1E3008T5E0008NHJ2008J6GA0083OTP007O86S007FWKM",_
"002YQYJ0022CC6002HPLY002HOLX001PIHC001SE6V001QUFW002216F",_
"000NGD9000VXDL00222SU002IU10005DG0B008AUXN009S9VK009TO8W",_
"009MLMU009Z9C7009WG74009V1FK009ZAIQ009ZAIU009WGED009ICJK",_
"00901DS008Q70G008C45J007WKQT008DEKG0098GED009ML8P009E4U8",_
"008OR2A008KIRT008LXC9008LX4W009S7B7009Z8R0009S8AZ009L7NU",_
"009B9Q8008ZYF4008Q39C008LW5C008SX6R008NA4G008NA4G1YR4GLC",_
"00930CM009FP1O009LBPR009QY6P009TRIP009SCR2009FOUO0094E4S",_
"0091IT8008C6EK007A9VM006I7IU0040LPQ002HRE70011RKV001D1AZ",_
"001ZF7W001CW5C001A10S001QTMT00267VR001BB7Y001QT9E002U4R0",_
"003HXT2006W9BJ009MNEY009ZAWW009TO96009L635009Z7YI009QSJL",_
"009WG04009ZBBF009V2FB009L6V7009L6H2009L6H0008VU2O00852BK",_
"007WKXS008ZZ0O009IBRE009ICXY009E4G8008SZRC008NCP6008ANLS",_
"008NBI8009FH8G009JQPZ009JSI4009L8GH009JQPZ009B8QP0092SCG",_
"008X62O008RI84008Q3GJ008Q3GJ1YR4GLC0095U2U009E9VT009JWJV",_
"009O4GD009SCR2009PJLX009LAX7009L8Y4009IDFL007ADUP00583Q9",_
"003PFY70035MUZ000W4WK001Y1GK001XVXA0018JIC001QW0D002PWLS",_
"0024W350015OJ80057RRG00761BP006RXNN005ZUAS008VW9E009MN8B",_
"009TMA7009Z7RD009Z6DE009Z761009Z75W009S5J4009QT4W009V1MO",_
"009V18H009WFLV009Z7YF009JR4300973LV009730I009QQKG009S5Q8",_
"009E3NK009QRY8009IC5C008SYKG008SX6O0099SE8009B3EO009QQKG",_
"009Z9CB009ZBBJ009S6IO009XRSW009WCU8009MI9S009QP6X009PAFC",_
"009PAFC1YR4GLC0090ADE009ZB0E009ZBEV009FPU7009O5N5009ZDSK",_
"00931QJ009BGXY009A0ZR003GX64002GHKV003E5TR001BHLE001Y11X",_
"001EB4C0014GCP000VZ5P001QVFT000VV5I002HF120042VBS008ATQN",_
"007PNGG007WPA80083QIP009V01Z009Z8JY009XSLN009Z6KQ009UXHI",_
"009Z66J009Z8CH009Z85G009S6IX009Z9QT009Z9JI009S7PF009ML1N",_
"009FJES009FJES009ICXY00972TG0099WR1009JSBB009Z95X008VRB4",_
"008VRI80092T4W0092SJK0091DDS009ZABX009ZAQA009Z8Y4009Z7YJ",_
"009WEFB009L4HS009L4HS009GVEO009E1OG009E1OG1YR4GLC0098PE1",_
"009XWUG009SAYZ0098PLD009FR82009BJQ5009ZDDR009PH14007HK8Y",_
"002SZY10035PMK002LYWA0014FRJ001PJV1001BGSL00130ZM0015TIW",_
"001ZB1E001MKXF002Y8UK0057OKH008HS760087WN4008HS00008KKJM",_
"009PCZR009XT70009XSLN009TJWN009TJ44009WC91009S5QA009S5QA",_
"009MJ2A009PCZP009NYTE009S7IC009PE6F009NZLW009S7WN009XUYZ",_
"009FJ7Q009E4G8009MKUO0099V68009000100971MQ0099UYP0095MGW",_
"009IARU009V11I009ZABZ009WGLS009Z9XW009Z95B009TLAE009UZUS",_
"009FGN40099TKW0099TKW1YR4GLC009O5N6009O3O2009IHLB0094HVY",_
"009EDG2009H6Z6009ZFKQ007VHD2004YCXJ00251X20038FLG001SD7C",_
"001FPP6001PJGU001CURL001A1ML001H2GI0026B9U002910H0039FEE",_
"006CH7O008RJLS0090074009720Z0095MO4009FH1E009QQKO009XSLN",_
"009NWUB009UXVP009PATD009S4Y2009JOXT009JPQ8009GWLC009PDS1",_
"009Z9QJ009S7B7009S7B6009TMH0009XURP009FIM8009CP34009IBYD",_
"008VSAV0095NGP0098H6X0091ERM008RJ0G0095M9Z009JQIO009XURX",_
"009XWK5009WIL5009WHED009WFM5009Z85M009IA68009B8CG009B8CG",_
"1YR4GLC009ZFKK009O5N5009V5OM009ZD6S009ZES0007Q11G004OHRP",_
"0031JI7002Q6F3002DIOT0018N2Q001MMZA001O5I3001H1OI0014CKY",_
"001042V001CRYY001I9UP0020I0E003M1P0006M9ZD009FGU8009Z7K7",_
"0099TZ4009NXMY008VPJ40096ZUO009PBLY009I9S0009Z6DN009I96P",_
"00970G00098F7K0099V5S0098GSG009NZLT009TN9H009QSCM009QSQV",_
"009O0EF009FKZR008T14W008NDVK008ORUO007TU69007H3WG007JWN4",_
"007WK5C0084ZY8008HNGJ0092SJK009FJ7T009TOV0009QWIK009SAAE",_
"009ZAC1009Z9QJ009S64K009IARL009IARL1YR4GLC009ZFRR009QZRK",_
"009ZEDG009ZDL5009V7320044UM7003CP9S003WG73002ZZZV002M0H1",_
"0015SQI001TNM6001H3O0001JUTC0019Z9100175WS001PGGY001QQG5",_
"0028YEJ0041JX4006KUTE009TKHT009WEFB00971FK009IARR008ZXFK",_
"0098E80009I9S0009JOJK009PBEZ0095KHS008VR40009E39M008YL1I",_
"008SYKI0092UIT009CQO5008UD4W008UEIO008UG3O008M13A007R1FK",_
"007ECCG007A3GG007FTVW006W0ZK006YSQO007E9KW007V4ZM0084YDC",_
"008OP3400948AU009QTCP009TO2F009WHEB009ZBIQ009ZBBI009MJGH",_
"009E2V4009E2V41YR4GLC009ZFDT009R0K3009ZFYJ009ZF6E008W4AC",_
"002F18F0038H690041ZOX002VSAC002EYG7001JV0D001L96Q001MPXO",_
"001SB7O001IFUJ001E7QQ001V3QI001QQNE002K7CD0048KYG006KU0W",_
"009UYV7009MIGW009IAYT0099U6B009E139009GUTE009E1HC009L3B5",_
"009B7K5008ONI8008KHZ400948B7007H0CH007TPFV0087TVV008EWAQ",_
"0087TA800851J4007Y22O007FSHS006KTMO006CCU90066PKX006QJ2O",_
"006RV9M006UM86007308X007E8E8007SA2O008C0LC008Q3NL009GVTB",_
"009NY15009S7IG009ZAQ0009V37O009JQ4G009CO3K009CO3K1YR4GLC",_
"009ZELL009O7MH009TUVM009SFC20082NRC002X8T90038HKV002UDQ7",_
"002EWVE0027U8X001MPJK0018NNE001MPQF001SATD001FMBD0014CDP",_
"001FLPH0012SF3002OEGC0045Q8K006HZPC009S4CG009E134009XSEN",_
"0098EM8009QQ6K009NWUD009CMPS009L3B7008YIV5008BYF40087T34",_
"00897V0005PJB4006Q7LX007CSUJ0078LJ4008EVWJ008524K007LE6A",_
"006UOE80062JNQ0063Y1C0066RKL005HGCG006KUFK006T8GE006YSQT",_
"007A0HT0086CXV0086DC0008G83K0098DU0009FF9C009GW74009MLMO",_
"009FL6O009JQ4G009CO3K009CO3K1YR4GLC009ZIK0009ZHRI009SI3X",_
"008FAUS005GKPV0034AV3002T1BV002GCTT0029BL8001QYU1001H32M",_
"001JWEL001IFGL001CRZE001E5K3001NZC1001NXQK001S4EU0024RI0",_
"003VVA1006W0LF009Z5SF009B8CO008KFSW0099REQ0099TZ4009PATL",_
"009FEAF009JNRB007QUIO0078IRK006RQIQ004XGJK004MB6G004FBPY",_
"003PYQD003EOLR003X4B0003N9J8003SWZT003OPOX002WJKH003DH5N",_
"003NDB0003HPUT004UYH2005BTHH005K7WV005SMC00078NWN007MNSW",_
"008BZLS008VO5F0095LHC009720W0098GZK009CP34009GW760099U69",_
"0099U691YR4GLC009ZIRD009ZH6500937B5005XEXN0047LDK003035R",_
"002EXV8002AQ5T002C54E001MQQC001PJGX001H2H6001IFNM001IF1Y",_
"001E5D6001L5SX001TKLN001PB9O001QMUL0049YXZ0071NV4009CKCG",_
"0092QDC00945J80098CUD009QRCZ009I8SG0091AFC0094462007045C",_
"005O5XR003VIF80022N0G002FFH4001HMO500124G9001YJVM0037RXE",_
"0028JD2002CS95002PHQW00205JQ002O5R8002SEU8002ZGHA004FI8O",_
"004PBTF004PAFN004UVBL006F4LO007ZD3400897GG008KGE8009IDQP",_
"009O1E9009GYYU009JQWW0099UYO0092SXS0092SXS1YR4GLC009ZIK8",_
"009ZFS50085GAZ003UZG9003GWLB002EXVA00229KD002533H00253AH",_
"001O4WJ001PJ2O001MOQY001JUM4001XX38001ML6A001NYJG001Z79D",_
"001XQVA0028W0Z003ORV0006NK7C0098BGG009FE9S009FF2B0099R0G",_
"009MHAH009B7K0009NW1Z007PDZZ003OCG0001D62O000IAKG000JPCP",_
"000O07P000L7V30009XCG000IEBZ001UBK00029U6A003AIHM003ERKX",_
"001OS8X002FMDR0030T20001T5P7003C26T003RJ810045LP3004GTUD",_
"005Y9EA0080RUS0084Z5S008AM0W009E6ML009MMTQ009GY6D009IARK",_
"0098G740092SXS0092SXS1YR4GLC009ZIK0009ZG6H0076CBB002VV27",_
"0032UWV001Y1GU0026I2B00253HQ0020UZQ001SD03001IGNC001QWG9",_
"001L96G0029689001S7FV001S58S0024SBX00264VV0036LNB003G8HS",_
"005WRNK009MGIB0099S00008G64G0096Y9S008N6KG008X4HS007ZAWW",_
"0040WEF000XRLS000B955000483S000WF8T000007900073F3000ICKJ",_
"000493M001G6BL00245JH0029SSR001N9J4001LXJ9002CS2D0033M00",_
"002EAZZ003C204003G9I1003VRBV004464X005AAYZ007V5E20083KZN",_
"008EU4G009CQ2R009GYKK009IB5S009NW1S00971MO0092TC10092TC1",_
"1YR4GLC009ZKJ0007J2E0004RBP2003006S002DK380023PBR002543A",_
"0027XTH0023OQ3001MPJI001TPSA001TOZP001WIII001WEXZ001TJ0I",_
"00265B0002HC8Q0028QON002XWXT006ME7E006CEWA0045B7Q005EE4J",_
"008C46R007LA8K008LXYD006NI1Z002F9CA004I2JL008TB5W009611A",_
"0091TJ2008XK91006W80G002XRNO000E2HY0009U79000E5GI000IDR1",_
"000GZ6D0008IZ4000TSFC001J8S7001UL2Y001HWDW002A1IX0025T7R",_
"002O5CZ00327120046WWM005WV0O0077AJ500898UF0091DZ4009COOW",_
"009COOW0099UKG0091EYO008YL8G008YL8G1YR4GLC009WRZK0064HR7",_
"003MKU30038ELP002DL2R0020W6U001MSIY0020VZK0020V6X001IGND",_
"0023L5D001QVGJ0027S8W001PCIG001TI7N002FZO0002SKS00028OB3",_
"004IAEV005AGKM003X1ZV0046U69004CF8A0087YVU005A5TS008ROSZ",_
"002QL1C001X15L007K6FH008M7JH009PO7A008P4G2007YBAT007ZQ1Y",_
"0057KVN001KENO000000A000JPJM0008FES000UZV1001BXGA000ZCII",_
"001EXPF0017Y1L000TYR7002JXW3002LD8N00354CH003DJCI004FF3I",_
"005D89B0070BVG008C4D0009E2V4009S7IC009PERT009FJ7Q008YLFK",_
"008UCXS008UCXS1YR4GLC009ZJ5L004N4Z5003S44V003GUM7002KKIY",_
"0023QBJ001R1F3001IKF0001O6AG0023KYB001WIBN001QUNN001MMKJ",_
"00268OX0027M9M002PS2D003C4K8002PK3W0074NFE0050INC002WDH3",_
"003YFYR0046VRP005U35M002Z4ML0077FYR0017MRK004875Y0080ZOG",_
"0095YGZ008UPC3008RVZV008NO3G007EKDC006FB0Q003AGXY0001EKN",_
"000JQ58000BAJA0004AOD0005RF1000ZFOB001AQ00001DJJ40024D2O",_
"0024IT9001W0FL0025S170033K1D003HQ8Y004TI5Q006CEGB007Y2HI",_
"009CPA8009QS5C009UZGG009XS00008YL1C008Q48W008Q48W1YR4GLC",_
"009ZJR1004N5KL003XRSN003PBEN002Q7LA001WNAV001TTKB001QZTO",_
"001V6QE002ETW7002DDC60023HKJ001FKXM00291MX001XQWA002K4ZT",_
"0030T20004S954008JFLS0058ZFZ002NX9S00640I30062L530031ZCL",_
"003LPOF006CF3Z0017NK0005FY3T008JCTT008UNY0008P12X008T9YW",_
"008M8JC006Z1JM006KY310049Q3H000GWSV000IBDN000CPAV000BC41",_
"000E7MA0013N6J0017VOB0017VOB001M1II0024GU5001OWTO001J6E5",_
"0029XR6003EXWQ004UXWU0066SDK007MT5I0092UIR009BAX0009E41V",_
"009IBR6008X69S008NAPS008NAPS1YR4GLC009SJ3X004DBEG003QQYF",_
"003NXFJ002M0A4002533H002DK30002AQ5D001ZETX002G827002G62L",_
"0023FZA00223ZO002RC11002EO2N002FWA30021GY50078ZA3007R9GY",_
"007K7N30029U0A007VHKQ003IYQ0003REQ2008XK240046UZ4002NVW1",_
"007ZOOM008I0FS009ILS10091NSL008JDF1007VESF006P5DX007IS2K",_
"006KXAM001Q1IE000GXLP000JRBU000QTQX000ZBIZ001HO2M001DGD7",_
"001982G000WNJB000ZEOS000ZCPH001HNOF0029WKU00329TG003T169",_
"004S5YH0063XNI008AOLY008NCB1008YLTT009IBR4008ZZEU008NABK",_
"008NABK1YR4GLC009VBUI004HJAX003PBZP003IADB002NEUH0029BZE",_
"002EZ8P0027XZZ001TTQR002EV2R002J16O0026BHM001V1R5002EMQH",_
"002N4O1002HBMX002PG650086SVV0083Y67007PTX00057KVQ007EJSE",_
"003HJRD004TI07008QIMH004GQXL0034T31008AYTC008GLO7008W2B8",_
"008DPYH008JDTC007ODCT0074OLS007PUAO006P5LB0025K4V000FIU2",_
"000GXSO000L6HJ000WH07001AM8R001AMU3001AMU30010V8U0010QVQ",_
"0013J84001OPIC0029X66002TRTX0037XGY0049VE1005SO4E008991W",_
"008SXS7009CN40009Z6DC008UCCI008J20W008J20W1YR4GLC009ZIK6",_
"004U6F0003Z6K8003MI2N002UG9Z002HRS5002DKGW0023PP2001PLU6",_
"001ZE14001ZBUB001O0WS002UA3W001S2GS002BUQO002U0QD0041FLF",_
"007IU28007D4TR007MZSN007HCQC004WA5T0049QHQ00270H4008JGZT",_
"004Z2W60029R8K007IQ3R008W3B5008JFED008CDDG008KTYY007PTPI",_
"007K7MN007HE3F006CH3B002WC3I000E42H000E49I000ICR8000PF6A",_
"0014Z6H00150KC0016FQ60016HBL001KGF4001HMOP001SYEB001YNMO",_
"0030QVP003Q5UX004WCO5006DR14008EUQ1008SX6Q009B7Y8009XR0G",_
"008OPA8008ETQ8008ETQ81YR4GLC009ZGRX0056TJ2004ENST003TJ3Z",_
"002UG2Q002NC2I002GBMD0027W7L0027WLX002LXP0002J2KF002AKYV",_
"002LSWS002OIH3002N4HD002IRED003UFC0006S2OX007WV5T007K5VD",_
"0070EJT001G5QX004FCRO001LUE2007BR8T0062KQP001HJBG005Y9VE",_
"008YVGG008TCCM008JIDJ008B0E4007WWQA007LN6S006W9000065F9E",_
"003X00O000L5WE000MKV0000PEL5000V28M0014ZZ10013MZL001525F",_
"001DHYQ001X544001SXSV0021GRP002750C003U9ZM0054QOQ006HZBV",_
"007PKB4008J20W008OPA8008UCJK0092SQP008RJ0G008HNGG008HNGG",_
"1YR4GLC009ZFE00065VCA003TMGV0039X4L002HSKZ00299SE0032UAU",_
"002Q47V0024Z430031F3Q002N8NU002G4GC002EMA9003B2IX002K8RV",_
"002AA09003UIOS002W8QG003N9DZ005LQPM003EQF7006NPNC0045GEY",_
"00244YV003KBBE0089JG4003EN99003N3NK008KT6H008P4G2008P5MY",_
"008AZ08008I1TO006S1W40066W7D006JJPX005SOZP000CPAW000L6AK",_
"000WH7M0017RXG001GA3P001KIZR001Q695001J48R001SZ7K002IC6T",_
"003OLCX004UTQG006XFCW008505H00897UO008EUWW008RIMB008J285",_
"008EUIS008G9OL008C0SM008HO1X008HO1X1YR4GLC009O5G6006BHEP",_
"003WGE7003GZ5C002T241002T03N002Q5DZ002LWB0002J3RF002KHWO",_
"002OMMT002VLAJ003FAEM002AE040024P5D002K4DI003NGGL003ZRKW",_
"007AE1W005X0G2007D5T6004DX7I0049OPP003X07N002MGXE007ODCZ",_
"002XPV4003N3NK009SIJB008W62U008QK0A008GMV20082JSJ006Z3X6",_
"0074QLD006FATS004QMAW0009V6C000IBYX000PESD000XW68001DFZC",_
"001J417001OR3H0021GYV00271UW0034TUU004KWTC005WQOG0084XE6",_
"007JUGZ007ZD37008KI6A008DF5S007V2TC007IEBK007FKSG0083J7K",_
"008969T008969T1YR4GLC00978UC006MPCL003Z9X9003PF560039XWX",_
"003490T002OQ0G002NBGK002LXOQ002G9EO0032P3N0036TFL002OIFX",_
"0035DNQ003QGKI003CAI4003J7RL004KZNL004B7FE000V30H005PX1A",_
"0037MF50058Y2C004CIFX002XR22008DQYC0042M31003WYF9009A6KQ",_
"0098UDP008NPOL0083ZCQ008TDJG006I6Q6006QMJA0066U88004DX7G",_
"000FH1W000GWEU000MJVD000S7XA00197HO001J38Y001NC510029U0B",_
"001LVZ900271GN00369SZ003OK5T004RY8B006GDMO007H1Q8008HOUG",_
"0084YDC007MM0W007CQ9S0074A2O007Z9J4008232800823281YR4GLC",_
"008T5RW006WHJG003XV5I003NZKY003QT4L003478L00370SB002VR2H",_
"0026EV4002X5EQ003FCLL0036S16002VK9S002LLQC003CBB70032D5J",_
"003T2C5003ZVCQ0036A0W000O0SG0053CKW003G37P005ELIV0058Y2C",_
"00367GF008T8ZI003G18B004NRKQ0094JIE0094LOP0081510008JI6D",_
"008NQVD00642O5006CI2Y005YCUA004KYFZ000PBMF000NXG8000PCEZ",_
"000QSDC0016CRY001EUCZ001KHTJ001RH2T001HN3J002IC6U003N8L3",_
"0042Q77004S1EG006KMIO007PIBO008LXQG0084YKG007S936007MLMV",_
"007FJM00080N420080N400080N401YR4GLC00880OQ0071YGN003Z8Q1",_
"003E30T0043E20003PCQU003PBDB002SV5S002IZSM0031AX8002LP3Z",_
"0033XHX00263WB003CCAH003AUJW003UI3J003KJ62007R6IS003LQ31",_
"002NWAD001ZXNN006RYXM002XR92004MDSY001VNKQ006JGXX003ENNI",_
"008DRJX009OC0Q00937BD0098US3007VI5O0070GPI006B1QJ004JK9S",_
"0025ICN0022OFC000PBM7000S4YA000TJX4000TKIK00122HS001DD0M",_
"001KFMX001Q43A002S3S3004CG7U0069GK0007JWN40091C74008UDJD",_
"00900ED008YL1C0086CQO0084XKW0084XS30083JER007WFSY007TM2Q",_
"007TM2Q1YR4GLC007TXM6006XO6A0047PB7003GW5C0040JBO003FJ5H",_
"003E20M0032PIM0032OPZ0035HTW002VJVT002ZPSV0033VWJ003AX4I",_
"003AUJW0045S160041EZ500537FS005HEGV006P4M5006166J0065F2I",_
"00391DP004TFMT003N3UU004W9JY005U3Y7008AZ7J009FW0M008URIE",_
"007D6EC00762KY007BPGA0046UZ70026X48000NWNB0014T1Z000FGN9",_
"000NX8T000XSEX000Z7KU001DBMN001RFVN00244YW002S1ET0045DSZ",_
"005A9LK006P0D0007R1FY008OT1S008X5VK008X5HC008UBCW008G6X0",_
"00895ON008AL1G008C0E8007S8OW007MLMO007MLMO1YR4GLC007INHE",_
"006TEVL004DBKT003MJ7A003XP6S002RLP100347MM003GSYR0038AS6",_
"003MDU0003MC8X002SODI003HYDH003M79400357VV0033P5F0049UZC",_
"0049JK4003U5P1006870Y006NQFV006USV0003LQVC0046VDH004NRS0",_
"003DA2G008GLVO00960GM0091SY6007655P006S1AV0083W6E0069LRT",_
"001U7MF002192D0010KR80011ZBU0009U69000PC0C0013FH6001BW2P",_
"001Q04I0028CA0002NUWE004JHN3006M59C007MQS6008SYKS009JNYA",_
"009RZEO009B8CG0098EF40095KHS008N7YO0083I12007TNUO007SA9S",_
"007S9OG007L7NK007L7NK1YR4GLC007PKRE006MDFL0056TAJ003735V",_
"003P9KW0039UHQ003L3FS003B6HO002X18D003NR6R003CFOE002R97B",_
"003583G003RQ68003M1I10045Q810048EUA004I4AZ004DWEU003OJ0L",_
"004QMHW004GRQ6004CIMS003WZLT006YZ62003LOOY009INZ20090D78",_
"009K4PS0082H7S00883VR005EKXN0021AUJ000L3IO000PBF8000MHW0",_
"000JOJV0000002000TMW2000WEMW002S3RR001U97S002FDX00045KPL",_
"006DP2G009ID4W009XTDS009S74J009GYDL0096ZNK008J1TS008SXDS",_
"0091EKG008C0EN0084YS0007WIYR007IG3K007GZK0007E60W007E60W",_
"1YR4GLC006C6RJ00681G8005F15Q004VKXT003JMOS003JN38003MFMS",_
"003KZVE003JJWL003UQUB003QHJU003M7O5003GJ7D003573A003M2HJ",_
"004V4EY004NXH70051VFK005ZQTE004B3VB003EOG20034T2Y005K7ZL",_
"004DWSU0054OYN008I01V008W4W8008YZ0O0077IJF005EL4O001AHHT",_
"000GVT8000CNII00120IP000JO5U000L34F000NWUK000QPFM001IYV9",_
"00321VU003VPR20045O37003RMTD004WJM4007H8HF009XUZC009Z8K3",_
"009QSJW009GXS0009JLZC008X5HH008VQWW008X53400823NK0080OHT",_
"0087Q4H0086BR4007O1S0007GZY8007GZY81YR4GLC006801T0066JBH",_
"005C2VG004PXH4003MHEU003I65B003JKIJ003TFA00041UVE003XJDR",_
"003QFYM003HY6B003NL86003HVZ90039DSA003DJ40003VQ5T004QLI5",_
"004JKNY0065E2V002MH4D004NSRI004CI8I0058XGM0031YCT009ZLD6",_
"008GMNU007ISGU0086RAR0017OYG000B8QX000JP5H000GVF8000QQ6Z",_
"000I9E9000TJPX000UYOH000JQY6002B6LH002GXEQ0048FNL006P6AS",_
"007BQD7007K279008RPJQ009Z9JL009Z85F009QSXS009FJEO009I7LY",_
"00949A8008YMF4008VTHC0083M68007TR0G007V5S5007V5S7007L8U8",_
"007E6TC007E6TC1YR4GLC00611L4006HS2D005RIXB004SQ0Q0043F0F",_
"003RZQ6003I4R4003NR7R003US8T003XHSQ0041OI1003YTZ00041NHY",_
"003QBZ30042Z2Y0044BGX000L9FK007LJMV007OEY9007OEK0007SMGF",_
"004GQJ90045G0C006RWY60021A8L009R5K200960230078W44008852S",_
"0001EKK000IB6I000B8K20005MA6000TJX7000XRTO0013F30000UYOJ",_
"003LJPX004W4SU0028NE9001I3YH0050O5V007LIRK009Z8CO009CUF9",_
"009Z8QX009S7400098JK0008T2PS008UDJD00947WG00948AO009JQPW",_
"0092UX60086FI8007E8LC006UI2O007O26C007E6M9007E6M91YR4GLC",_
"005OE9Y006T1SS006GU4Y0053Z5J004D9RY003MC2A003CH34003KXVD",_
"003W6T100434NV0048PXJ003YTKF004EAET00477S1003XB80003HQF7",_
"003LU7S001Q1OY00320QK0049QAG006QJRM004TF17004FAZ6003RBYB",_
"002XPV4008I01O0086PBK007Y8IX007WTDC000B9XP0001EKW000S5JY",_
"000JOYE00120IO0010LJW000WD91000PBM7003IOEN005PP3P004Y0U3",_
"002LRYZ002K3AB002MTSJ006B199009H0XS009Z7R5009MJ9C0091GXS",_
"008NEH20095N28008ZZM6008LVRB008LVK9008DEYO007V2F4007FJLS",_
"00772F4007IDXF0074A9S0074A9S1YR4GLC004TC1L006J48X0054SP1",_
"00438MC003B3AD004R7VK0041V2B003RZOS003GORI003YWD2004H64M",_
"0041MW4004MN8U004FLZR003OSN5004BBQ2001C1L0007FYQQ007HEB4",_
"006JJ4J0065E9T0065CAI007VDT4003IVCV00760F3007PQJJ003N1VG",_
"0013DHD0031W700008GSR00000LI0005MA1000FGUM000QQKY000Z6ZA",_
"001EPEP0013F2Y003K08Q005PKQ1004L8IX0048XCV002G1OO002G5N5",_
"0045SIC001W8LK003KOL0003ASLV002O7YY002MR8Y004V1310027AKB",_
"001VYUJ002H15S0057ITK006114W006NH8M006XAMR007QT58007CPAD",_
"007CPAD1YR4GLC005MUYP005TUM7006F0P90066SM7004IJXC004K8U2",_
"0041V9K003Z0BL003DUTU003M9NW003HWZR004JWAL004CX8100478YT",_
"003YN83003RF9O006F7TS003DBNU003OLS8003LRNQ0054R5A005WWOS",_
"005LLKC0054NDJ008HWVE007IPWA00563JD001N66V000B8JK002Z3GD",_
"0017MZ20013EHE000I9DZ000S55D0017N6J001VLEV002B31P001ZUHS",_
"006SYFI005H9HP004K1PW002U2ZY002SOMA002PUP3002HFHC002HAPU",_
"002U26K0036N41003J59S001P7QJ003C9YX002QZWP002QWBW002R1AF",_
"0028PX20037U3R004WBVU007LAML007PIPX007PIPX1YR4GLC005EE65",_
"005ZHAA006GFGU0065CGP004IHJQ004HDHY004FWXP004IP2G003QHQR",_
"0043524003VZGB004H1YM004ZFI800356H4003RMRX0042RDE003SS9N",_
"005PX1A005RBEK006QKCY006QJYM005VHIQ005OEWA008HX2O007TXNI",_
"001X256001N6E2003K9CH00242EM001HHQZ002FCC10022NFQ001RDB4",_
"002MEYH00218VC001OJRV001PXQV002JH1X005SITU005V9ZG005D8JO",_
"0031DXW002YENU00389MO002RET0002YCGV002HI8N002OHHQ003RRF0",_
"002SL8D002D27E002WRQW002MVSE001F5FA0023394002FQD000277ZA",_
"003VN6K004Z41A004Z41A1YR4GLC00534FW005Y2IT006HTFX0066PUB",_
"0050PJN004LJ6Z004TYLQ004VBZH0041PP0004H747004EA0F004IFQC",_
"0044C2V003XD07003T2J0003Q4UF003BXFV004CITR004UU7300615DK",_
"006B0C6007PR4J006W48Z0080ZOO004B0PC0005M9S0008FET000QQ6T",_
"0010KK90010JYN00190R5002NSBX00190Y2002B4FE002XOHJ002Z2UP",_
"001SRGT003HAU1005D36D006C5010067WPI003FLD7002Q57D003GPTX",_
"002HI950039M09002OLNQ002LTIC003DWH30035BPU002PTHK0024Q6P",_
"001S2AG001MA8N001DR93001DR9B001KUOO000TWRT001KP4J001KP4J",_
"1YR4GLC004P16I005R0HV0069D1M006HWSZ006CEHL005GGGZ004R336",_
"003YW67003UNO80048OQB004H4C0004II3Z003X7OE003LZ4C0033NR4",_
"003991K003BZ1000880WT007TXNK007K2HE006NMUM0077DDQ0061304",_
"001HIC7000XS0Q001EQZU001BWVA000S5CJ000FG91002TFLG0038XTM",_
"0049LJI003R9Z80017MRT0033BQU004USF20054N6H0050E2F006NGWX",_
"0062C7I0069DFK005AEFM0047AGQ002MX6W002IS9I002Y3K90032A9Z",_
"002VBM3002HDAR0036T2F002G2B0002ZP9A0039GUK0021UNX001S0AH",_
"001TC2S001W1U4001W2TR001UOGB001UOGB1YR4GLC004HZXZ005R1AE",_
"0069DG0006JB6F006CBPV005UGS4004WODI003T8WJ003XGSY003YRLI",_
"004E9TI00478RY00473FK003VRIS004721V002PFYG003DC8000906NM",_
"007MV12006YW74006UNHY007K1W4001SSGN0008FET001YHC3001X2K3",_
"001OLKB001697E000UYVH001EOSZ0028AP1003PUTC004I2QI001LR8C",_
"002DYJY0046TLF005D4KN005LG72006KS4O005TW7D00654XU0060VHD",_
"005K3G8003AR9200263KA002AAA30025TV3002E73E002O60T002PNYD",_
"001P8D5002D28000354Z3002IRGQ001W96U001W5M00028PQL001409L",_
"0019NBX0019NBX1YR4GLC004HZXX005PMX400656C2006NJA5006JBKM",_
"005YKXQ005GCIZ004FRRG004CXMW003YOMW004BEIE003QASD003NEA9",_
"0042QL8003DBTJ0034VFL006JIBL00731J7006CBXU007SHOZ007WPLH",_
"004F8LU000L347000QRS0000Z96D001RF3I001HJQE001AHB3001ST2H",_
"000I9S8001EP0E001SRV7002I624001IXPE001N6EE0033CJN003ZSK1",_
"006AT7E006JDK20063SJZ005SI8G0067XAI005MRES004P7QD0041I1E",_
"002D9JZ001P2T4001RPT2001QC87001110B0000HGA0019KS000234OK",_
"001URNA002N0K0002U1E70027FJP0016X6E001431W001431W1YR4GLC",_
"004M8FQ005ILAC0060YFK006T6QS006ULB3005X30D005X7QM0053PL5",_
"004SEGW0041FSQ004FKMS003C5XM002SEF4003AHOR002MH3E005OH2J",_
"007LJTV005FSYK0082D94009071V007ZIXO0011YBR000MHW0000XU0C",_
"0008HEV001690F001YGC3002GSAO00219V9001OKS000120IO001SRV9",_
"001X0RK001REI6000WE1M0028CHJ003HGSS006W1H6006XBVB006JC66",_
"005IQUB005Y79F004QI3W005V70W0054L150024VQ80020JV9002BN2I",_
"001MAGS000SR5800185TD000PV92000RB0H001CFAG000R9ZM000KAQR",_
"000ZVD60015HTH000X0TS000X0TS1YR4GLC004T9O9005POAT006ATLB",_
"006OXNE006XEUA00731PO0071PIK006KXUS005Q2XG003XBFN003LYXD",_
"003OPVW002XX4W001BYTC00539ET008JB25007H6S70094DYT007POCU",_
"006GKU30045F860026YWY0021BUM001ERE30010NBY002JMM7002WAWY",_
"002QO1N002MFXY002DYR5002B580001ZUWG000Z5ZD0030I7M004MCTF",_
"003VK9A002B3TK0074H2L006F32W006F32U006AUKY0062DSI006AU71",_
"0058RB8005ED6N004YYXE004TGFE0042UEY0030YH0001WBYT0028RCZ",_
"001I2YO000KDBS0015GU60016SMP000ISEW0000G91000WX9O001KWOQ",_
"001KWOQ1YR4GLC0050BI6005TWLK006DN4H006RR6K006YTLV0074GH9",_
"007IICT007EBMT006KW2G004II3Y0042X3I003VRB4003OOI5001SUMI",_
"0066POM009072J00855EY008AS2N005HDNZ0046US5002NVWE002L366",_
"001ZX33001BXUX001KDNU001ZVAJ0026XBH0029R1P002I78Y002QN96",_
"002L06W002XPO9002Z3G3002CISF0042LOY003N328002QLUD006VYHG",_
"006UKII006GHUH006DOWV006F2HQ005TVM2005R1HG005IONB005MS04",_
"005R03Y005A72W0049RA90033URH001CM16001NS06001KU48000G221",_
"000BVXP000WZN8001QIYL0019PJ2001B5A8001B5A81YR4GLC0057DC3",_
"005Y4WB006GGNN006T5Y500708DG0078ODK007H3SA007FP0O006XGM7",_
"005U91I0053H2D004FGN9002XT7H005BQ7X008KQFU008CA1B008T8LR",_
"005LNQP005AF0K003EQMX002UZ4F0028E2V001OMK4001U9F9001VNSI",_
"002NUPJ002FE3Z002FDPQ002L0S4002DYCZ001U7MV001Q0IG003K9C1",_
"002S0TT003OHU9002B4TF003SOC2006RQZC006RRZ7006F4OC0065AB4",_
"004DRUI004NLF7006HU1J005R51S005FTC7005H7IG005A62W0051PVS",_
"005368I0054MEP004MJYE003F5AR000X0FJ000G0GV000K8YV000ZT6I",_
"00145130019SVW0019SVW1YR4GLC005FTXL0063RYN006JA6T006UKPQ",_
"0071N51007CW2R0075W15006W222006UMAU007A4IO006F7EY005AER5",_
"002XQG0008NL5K008AWNW00885B70078Z4H004BC0K0042RUO002ICLY",_
"0021EFB00245DS0026YBI002L1L0002DZR3002UWJC002QNUC002QNUC",_
"002NTWZ002JKTX00218VE0017OCW00416C4002DXDE002I6NY002L06W",_
"004XKRH005ZM8X0057FX4005BPM200416XF00289HV005D07I006HV1B",_
"005O8Y40058SWB0058TAL005BM18005H6BS006272F005ZFWS005Y15A",_
"005H7IU003XEHC002RB14001P8Y100189KR001MF0J001I744001I744",_
"1YR4GLC005R4290069F0Z006M3PZ006VZHB0071N5100779LY00731WM",_
"00708KL00731PK007BGQ500779F20071N590077B6R007ECFO007R2IV",_
"007D1FZ00688LW0030PZ80029YSV002TOC3002XU920028DA2001Q0IU",_
"001RFOO002I8U5002JM0H0031XRU003AEDC002WA44002TGDZ002I69D",_
"001U88B001SSGW001ST9H001ERE30014VU1000GVM9000JQJ6001RFHO",_
"001690500190Y2005ZL9F0066M3F006JAZI006AS7T0063P74005Y24S",_
"005MT6Y0058RWO004QK3U004KZ7W0058UOF005O9CB005BKG40054ITI",_
"005CXU3005Y15I0037XBN003C77K003C77K1YR4GLC005TXLF006ATSK",_
"006NIHK006XE8W0071N5100731WT007BFQF007MNVO007FOTH006KU3Q",_
"006W1GO007FOFG00730C2007PJZI007FPLN007MTLW007K2NQ005U4QT",_
"002TPJ5001UEZI0022T76002NVB5002NV3W002PA9P00245690026X48",_
"002NU41003AEDC003G11C003EM2Q002QMNM00219NZ002QMUV0029R1N",_
"001N8DP000FJ8A000V09W0022R0K000XTSU000Z5ZE003U1Q6006VZ3E",_
"005SHMS0067ZNU005PPHN005H8W6005EEYT005EEKM005ILVS005V8ZX",_
"006DGF50067W4G005R2HK005H9AG005D0E70057C510058QB80058OJ8",_
"004YVJT004YVJT1YR4GLC005VCYE006DNBT006OX99006XDUP00730WZ",_
"0071MXZ0071MXZ007086E006W09W006T74Z006W0O5006YU7B0075VMZ",_
"007EC8H007FR02007IKJ8007MSTZ007JZAT006137L004MDF10030MSB",_
"0028HGD002TKYQ002TIDU002B4MW001ZWA6002L1KQ0037L1G003BSJJ",_
"0030HTA0038Y7M00365H0003662L0025J5L0029RNO0022PTS001X1YU",_
"000I9DS0029OGR004TAVF006HX0Q0069FMF005ZKGH00657IU005ZJ9Q",_
"005LFT3005LFT5005IMOB005H7WS005IMVJ005O9QQ005POIB005POIA",_
"005MUZ2005MUZ2005IMOB005CZT10055XKP005331W005331W1YR4GLC",_
"005TY6T006C8K8006M3J1006UKBJ00707DT006XEN8006XEN8006VZVN",_
"006RRZ5006QDLT006ULWK006XFFQ007323T007CXGW007EC8H007FR02",_
"007JZAT007FR02007K0P2006QFST005HDV600393DL002WDOY002L2DI",_
"00244DX001BXGM001LSFE001ZW36002B5F70028BOT002FDBJ001ZV3C",_
"0025ICX001KDGS001RFHR001EQE8000XSEK003VHHC005A89O006F4A6",_
"006NJOO006F2OR0063SR9005MVKB005WQ4T005K11I005H83S005IMOB",_
"005FTJG005LGEP005R3H1005TX7A005WQQG005WQQE005Y5HZ005VBYR",_
"005POWF005H7PD005ED6K005ED6K1YR4GLC005SITW0066LAU006F1P4",_
"006KOYI006M44A006KPR1006KPR1006KPR1006JBDP006M540006QDER",_
"006ULPI0071NJF007A44X007BIWI007BIWI007BIWI0071NJF007BHB3",_
"00730IE00706KX006OXG6006GI1R005VEQS005AA8W003K8QT0030I0N",_
"002S1TE002S27Q002S2LZ002UW550033BJT0037K1N00414JO0055ZRO",_
"005ZL25006DO4C006KPY8006F32Y006HW7T006NJA5006DO4C0062E6X",_
"005Y5P6005SHU2005CZSZ005EEKM005FTJE005H8B1005MVKJ005OAXF",_
"005VCRC0062ESB0066N300069GM60069GM60066N30005VBYJ005PO3O",_
"005PO3O1YR4GLC005R3O40063RRO006ATEE006F23D006DNX4006F2OP",_
"006GHGA006HW7V006HWM4006M540006RS6C006W0H300732B0007CXO3",_
"007CXO3007BIWI007A44X006XF8O0070967006QCF1006QAFJ0072XJG",_
"0075S2F00706E8006OXGH006HXEZ00610M9005R5NF005MXQY005MYJJ",_
"005R6UA005OCB70063UCD006OXUT006T4RK006QAU0006T3KK006T5Y4",_
"006NJH6006QD0C006ULI9006C9R0005Y5W6005SITW005POP6005CZSZ",_
"005BL8L005D008005EEZ0005MVKJ005R4NN005ZL950066N300069GM6",_
"006AVDP006AVDP0069GM40060Z0V005WPXL005WPXL1YR4GLC005OA4Y",_
"0062CLW0067ZV8006C8K70069G0M0069FMD006AUDY006DNX4006F32Y",_
"006M540006T6XX006XF8O0074H2L007FR79007ECFO007CXO30078PDC",_
"006T6XX00610M900657Q3006M2QG006YP1O006UGQX006Q9N2006M1QN",_
"006QC7R006M447006GHN9006GHN9006OYU6006ULWI006YU70006T6C5",_
"006YRMF007FNTU007LAHW007A066006M4PL00708RO006YU79006GIN0",_
"006HXEP0069G7U005PP3H005SI8C005BLFN005A6H0005A6VB005BLFU",_
"005H93L005VCCY00657Q1006DOBJ006GI1R006HWTB006HWTB006GI1Q",_
"006818Z00656XA00656XA1YR4GLC005MUZ40060XUB0066KWL00680UU",_
"00681910063SK30066M390069FMF006AUL5006KQCH006RS6E006XF8Q",_
"0071O4V007CY9J007BJHY0078PYS00732WG006KQXV006M4WV006HVMH",_
"006J9LH006F03W006HU8G006YRTP007A2CL006KP5H006M3X2006M3X2",_
"006QC7T00707Z30071MQO006XF19006YT7G0075TUL006YRTM0071LCS",_
"0075UN6006KQCF006UMAW006RT5Z0068317006JCKH006GI1O005Y5VY",_
"005VC5R005D0780058S3O0058S3Q0055YYW005D0SU005TXE600657IU",_
"006F2VX006HWF2006JB6N006KQ5A006KQ5A006DOBB006DNIS006DNIS",_
"1YR4GLC005LGLO005VBYR005Y5W40060ZFA005ZL91005ZKUQ0060Z82",_
"0062DSG0069F0Z006KQ58006T74Z006XFU0006UMWG0078QKA0077BSP",_
"006YV77006RTDA006CAXV006AUL8006809H0066KI9006HTG4006KMZA",_
"006M2C7006OW9M006QD7K006RRZ5006QD7K006QDER00708RW0071NJH",_
"00732HZ0075W1500732AU006YU03006YU030075VFR0078PKE00732WC",_
"006T8IW006NLNR006HYLH0069H0C005WS4300656QB005BL1E005BL1E",_
"005BL1G0055Y69005EERT005MVDB005TX760066MAH006F2VW006AUS7",_
"006AUS5006F32U006M447006JAL1006JAL11YR4GLC005LGLO005TX76",_
"005ZKNP0063SYG0062ES7005ZKUQ0060Z820060Z0V0066LHT006KPQZ",_
"006RSDE006UMAU006W1O10078QKA0075X1400709YS006T84V006F4H1",_
"006AUL6006809H0066KI9006C6DS006DLCF006GF9V006KNYV006QD7I",_
"006T6QO006T6QQ006T6QQ0071NJF0071NJF0071NQE0074H9K00732AU",_
"00708RO0071N500077A7C007ECMQ0078PYO0071OJ0006T8Q3006P015",_
"006F42O0063TQV00656C2005H743005H7IC005H7IE005BL1G005IMOB",_
"005O9XP005SI8G0060YTW0066M390063SK10066M35006AUDW006C8R5",_
"006ATZK006ATZK1YR4GLC005MVD9005TX76005ZKNP0066MHM00658BD",_
"005Y6OJ005ZKUQ0060Z0V00656Q8006HW7T006QD7K006ULWK00709KG",_
"007A4XJ0078Q5Y0074HV700709KG006NKO7006DO4B006ATSM0067Z9T",_
"00654QX00654QX0067YVF006F0WH006T5Y4006W02P006W02P006XF1H",_
"00732B000732B000732HZ0075W150075VU000731WL00731WL0077A7C",_
"007EC8F007BJ3K0071OJ0006UNAH006RT5Z006KQCH0069FTK0067YVL",_
"005MTS3005O8JQ005MU6F005K0NB005O9CB005R2H8005SH8R005VARX",_
"005Y4I4005WPXL0060Y8C0066LAM0062D7200656Q800656Q81YR4GLC",_
"005R3O0005TX760060ZFA0066MHM00658BD0062EZA0062EDW0062E6P",_
"0066LHT006HW7T006OYFZ006T74Z006YUSV0078Q5Y0077BED0075WMS",_
"007333M006T7QJ006KPY8006GGUW006AT010062B7P0060WG400655C7",_
"006C7KD006QC7T006XE1Q00707S100708DG0077AEK0075W18007A44P",_
"007A44P007A3QG0075VFP0074GO40078OKL0077AEI0074H9L006XG12",_
"006RSRO006NJVL006HW7V0069F0Z0069DG0005SG91005SGG6005TV7T",_
"005PNBB005R1VU005SGG8005SGG8005V9ZC005WOY0005TVEU005VA6D",_
"005ZIH4005Y4WD0063RYP0063RYP1YR4GLC005Y5HX005ZK9I0060ZFA",_
"0062E6V0062ES700659AZ0066NH6006C9JS006DNX4006NIVV006QCTB",_
"006T6CH006UMAY0075WFM0078PYS007CY9J007CY9J0071O4V006XF1H",_
"006RR6M006M34L006HTU5006DLJE006ASLK006ASSP006M2Q6006T4YC",_
"006XDNC00707KU0075VU00075VU0007CXNV007CX9M007A3QG0078OKL",_
"0074G9U0071MCF0071MJM006YTLU006T6XR006NJOC006KOYG006HUFN",_
"006C7660069DFY0062BM3005ZIH60062BT9005ZIOC005SGUH005V9S7",_
"005TV0M005WOJS005Y3BC005TV0L005R1HF005R1HF005TWLM0062D74",_
"0062D741YR4GLC005VBYR0062DSO0060ZFA0062E6V0063TJS00659AZ",_
"006828R006C9QX006GHGA006OXNG006QCF1006OY1Q006ULPI0077ALR",_
"007CXO3007H5YU007JZI00075VU600708KL006T5Y5006OWNR006T3YT",_
"006NGWF006F0WB0069E14006QAML006T4K1006VYHI006UKIG006YU01",_
"006YU010075VMR0075VMR00779SY0075V1D0074FVJ006YST7006XE8V",_
"006ULB3006QD0C006KPY1006J9LH006GFGX006DKY40066KB10063QRX",_
"0063QZ20067Z9U0066L3N005Y4B3005ZIH6005VA6F005TVEU005TV7R",_
"005R1OL005R1OL005SGG6005ZJNW006809E006809E1YR4GLC005R3O0",_
"0063SK90060ZFA0062E6V0066N2Y0062G62006828R006DOII006HW7V",_
"006OX97006OXNG006OXNG006RS6C0075VU6007CXO3007IKQF007LE9L",_
"0075VU600708KL006T5Y4006QBMF006YR13006T3YR006GFNU0067ZGL",_
"006T3RI006VXOX006T4YA006RQZA006ULB1006T6XP006XF19006YTSU",_
"00731I700731I70071MCD006XE1M006RRDL006RR6J006M4PL006HVTG",_
"006F13J006DLCD006C5S90063R6400655XP00656C1006ATED006F1P5",_
"00656QB0062C7H005VADK005PNB8005PNB9005PNB9005R22U005VADL",_
"0066LOV006F2AD006F2AD1YR4GLC005R2O70062DLH006574N0066MAF",_
"00681G8006DO4B006C9CQ006C9JS006GHGA006KPCP006NIVV006QCF1",_
"006OY8S0077A7D007CXGU007H5RL007H65U0074H9L00732AU006W02O",_
"006RRRX006M3X0006M3BM006J9L90069E86006OVV0006VXOW006UJIP",_
"006QBM7006QC7R006UKIK006QD0C006RRRX006RRDL006T656006XE1M",_
"006UKIG006UJBQ006OW9E006M2J6006M2J7006C7660066JWS0065557",_
"0062C0C005ZJNY0069FMF006C9CQ006C9CQ00656QA0067Z2M0063QDM",_
"0060WG6005WNR8005TUF8005SG91005V9ZC0066M35006HW7T006HW7T",_
"1YR4GLC005BK8S005Y5AQ0063SD20066MAF00681G8006C9CQ0069FTK",_
"0068191006C95J006GH1Y006JAL4006M44A006RRRY0077A7D007A3XO",_
"007EC8F007H65U007CXV30077ALL00708DF006XEU9006T5QX006UJX4",_
"006T4YC006KOCU006QAML006VXOW006UJIP006QBM7006QC7R006UKIK",_
"006RRRY006ULB3006VZHA006VZOC006VZA3006QC7P006M2XD006HUMM",_
"006F13I006GFV4006ASLQ0066KB100655JG006ASLU0069F11006HWF2",_
"006KPY8006KPR3006DNBS006DM4W0066K3U0060WG6005V8ZN005TUF7",_
"005V9S60060X1O006HW7T006T6CH006T6CH1YR4GLC0055X6G005Y5AQ",_
"0066LW800681200069G7T006AUL5006811Z0066MHG0069FMD006DNIS",_
"006GH1Y006KPCP006ULB40077A7D007A3XO007CXGU007H65U007H65U",_
"0078PD600708DF006XEU9006UKII006XDGA006XD93006OWNL006QAML",_
"006VXOW006T4R4006OWUM006QC7R006VZA5006T6JJ006W02P006YT0G",_
"006XE8V006VZA3006OXG6006KO5S006GFV1006F13I006HUMP006C7DB",_
"0069DU70067Z2M006C7KK006AUE0006KPY8006M4PT006M4IO006HV8A",_
"006F0WH0067YVF0060WG4005TU80005TUF7005Y3BC0063QRX006M4IK",_
"006VZVN006VZVN1YR4GLC0055X6G005Y5AQ0066LW800681200069G7T",_
"006AUL5006811Z0066MHG0069FMD006DNIS006GH1Y006KPCP006ULB4",_
"0077A7D007A3XO007CXGU007H65U007H65U0078PD600708DF006XEU9",_
"006UKII006XDGA006XD93006OWNL006QAML006VXOW006T4R4006OWUM",_
"006QC7R006VZA5006T6JJ006W02P006YT0G006XE8V006VZA3006OXG6",_
"006KO5S006GFV1006F13I006HUMP006C7DB0069DU70067Z2M006C7KK",_
"006AUE0006KPY8006M4PT006M4IO006HV8A006F0WH0067YVF0060WG4",_
"005TU80005TUF7005Y3BC0063QRX006M4IK006VZVN006VZVN1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC",_
"1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC1YR4GLC"
#include "crt.bi"
screen 20,32
dim shared as double magnification
dim shared as any pointer image
image=imagecreate(w,h)
magnification= 1
function ULongFromBase(N as string,_base as byte) as ulong
return strtoul(n,0,_base)
end function
function map(a as single,b as single,x as single,c as single,d as single) as single
return ((d)-(c))*((x)-(a))/((b)-(a))+(c)
end function
function scaler(im as any ptr) as any ptr
dim as integer w,h
dim as long x,y,xpos,ypos
imageinfo im,w,h
dim as long nx=w*magnification,ny=h*magnification
dim as any ptr im2=imagecreate(nx,ny)
for x=0 to nx
for y =0 to ny
xpos=map(0,nx,x,0,w)
ypos=map(0,ny,y,0,h)
pset im2,(x,y),point(xpos,ypos,im)
next y
next x
return im2
end function
sub read_data()
dim as long ctr
dim as single c=ubound(a)\8
redim as string s(1 to c)
for n as long=1 to c
read s(n)
for m as long=1 to len(s(n)) step 7
ctr+=1
dim as ulong x= ULongFromBase( mid(s(n),m,7) ,36)
a(ctr)=x
next m
next n
end sub
Sub drawbitmap_to_image(scale as single=1,mx As long=0,my As long=0)
dim as long ctr
For x As long=0 To w
For y As long=0 To h
pset image,(x,y),a(ctr)
ctr+=1
Next y
Next x
End Sub
read_data()
drawbitmap_to_image(magnification)
var image2=scaler(image)
locate 2,2
windowtitle " magnification = 1"
put( 100, 100),image2,PSet
Locate 17,11
Print "press a key, birdnew.bmp will be created"
Sleep
ScreenRes 80,60,32
Put(0,0),image,PSet
BSave "birdnew.bmp",0
imagedestroy image
imagedestroy image2
-
- Posts: 3906
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: create program to create bitmap
@dodicate,
When there is a limited number of colors I think my program makes less lines of data statements for the image itself. It does however require extra lines to code the palette values.
Of course as the number of colors increases then so does the largest palette number until there is no advantage in using palette numbers at all. This example has 4268 colors and although that is less than the largest rgb value it does require storage of those colors in the color list which take up extra space.
So in short, as the number of colors increases my method increases the program file size very quickly while your method remains constant in size for a given image size.
However if the number of colors is limited, as it often the case in a clean set of sprite images, a larger sprite sheet can be coded in less than the 60000 character limit of the forum's posts then would be possible by your method.
I suspect if I pass the parrot image through a color reduction process to end up with a set of 256 colors the image itself will still look ok.
.
When there is a limited number of colors I think my program makes less lines of data statements for the image itself. It does however require extra lines to code the palette values.
Of course as the number of colors increases then so does the largest palette number until there is no advantage in using palette numbers at all. This example has 4268 colors and although that is less than the largest rgb value it does require storage of those colors in the color list which take up extra space.
So in short, as the number of colors increases my method increases the program file size very quickly while your method remains constant in size for a given image size.
However if the number of colors is limited, as it often the case in a clean set of sprite images, a larger sprite sheet can be coded in less than the 60000 character limit of the forum's posts then would be possible by your method.
I suspect if I pass the parrot image through a color reduction process to end up with a set of 256 colors the image itself will still look ok.
.
Re: create program to create bitmap
when you say 'base 36', are you saying each ascii character in the data statements you make will hold a value from 0-35? Basically using A-Z & 0 - 9 for the 36 different values?dodicat wrote:I tried a method using base 36 to condense the output size.
That is only about 5 bits (32 values) of info per byte in a data statement string, you can increase that pretty easily by 40% (7 bits) by using 128 values (A-Z, a-z, 0-9, !@#$%^&*(), etc). This would cut your parrot size down by another estimated 40% I think. I didn't check your code, but you can also RLE the image first to obtain some compression - best if has multiple consecutive pixels of the same color, parrot may not compress well, haven't seen it yet.
BasicCoder: Instead of one palette per frame, I was thinking one palette (256 colors max) for all frames in the animation.... but you might actually be already doing this probably, I just probably misread something you typed...
Since the whole purpose of this encrypting method is to copy/paste to/from the FB forum, I was thinking to make the conversion program communicate with the clipboard so that:
(1) run the conversion program
(2) run browser and get to FB forum post
(3) copied the raw ascii data (NOT data statements)
(4) switch to conv. program and hit the convert clipboard key
(5) program inports the clipboard, converts to bitmap, then makes a BMP file (and shows the result on screen).
and same thing only opposite for converting BMP to ASCII data for forum post...
that seems to be the easiest method, instead of incorporating DATA statements into program and 'bloating' program with the conversion routine - just write program to use regular BMP (like everyone does) and focus the image conversion in separate process... what do you think?
Thanks! Today is the day... and I, of course, have a million things to do...Congratulations leopardpm.
-
- Posts: 538
- Joined: Jul 15, 2005 4:13
Re: create program to create bitmap
how would you get the bitmap data into forum? certain characters wont display, will they?
-
- Posts: 2958
- Joined: Jun 02, 2015 16:24
Re: create program to create bitmap
It seems that finally we will treat all those issues we feel the need to get better handled in order to exchange things and other. I did a 2 cents contribution to this some age ago:
http://www.freebasic.net/forum/viewtopi ... on#p212709
Here is how the parrot is compressed. But I've some bug in my decompressor so I cant display it (twisted leg), but it should work...
You can understand easily what it does. For instance the parrot first line is 80 ocurrences of zeros. So it's written 0.80, where the color is the integer part, and the occurence count equals the decimal part in reverse order. Easy.
Good job leopardpm, dont forget to teach freebasic to your promise ;)
http://www.freebasic.net/forum/viewtopi ... on#p212709
Here is how the parrot is compressed. But I've some bug in my decompressor so I cant display it (twisted leg), but it should work...
You can understand easily what it does. For instance the parrot first line is 80 ocurrences of zeros. So it's written 0.80, where the color is the integer part, and the occurence count equals the decimal part in reverse order. Easy.
Code: Select all
DATA 0.08
DATA 25.52,26.51,25.6,21.2,12.51,13.8,12.3,13.4,12.2
DATA 22.5,25.22,26.5,17.8,26.5,25.2,12.2,22.2,12.21,22.4,13.31
DATA 22.6,25.12,26.4,17.61,16.3,12.2,21.4,13.3,22.01,13.11
DATA 22.6,25.02,26.2,17.2,8.2,17.91,13.4,22.51,13.01
DATA 22.7,25.81,26.2,17.3,8.11,17.6,17.4,16.4,22.51,13.01
DATA 22.8,25.51,17.2,8.81,17.2,16.2,16.4,17.2,16.6,22.11,13.8,22.2
DATA 22.9,25.41,17.4,8.51,17.3,17.3,16.11,22.11,13.8,22.2
DATA 22.9,25.31,8.2,17.2,8.91,16.21,15.2,22.21,12.3,22.5,13.1
DATA 22.9,25.21,17.2,8.22,7.2,16.01,15.2,25.2,22.11,13.3,22.5
DATA 22.11,25.8,17.2,8.22,16.11,15.3,12.3,15.2,22.81
DATA 22.41,25.5,8.2,17.2,8.61,7.3,7.3,16.3,15.01,12.4,22.81
DATA 22.71,25.2,17.2,8.61,8.2,7.2,16.2,7.4,15.01,12.6,22.71
DATA 22.4,25.7,22.2,22.2,22.2,17.3,8.81,7.2,7.3,6.2,12.2,15.7,12.4,3.2,3.2,22.81
DATA 25.41,17.3,8.51,7.3,7.2,7.2,7.2,6.2,15.4,12.2,15.4,15.2,12.4,0.1,13.2,22.81
DATA 25.41,17.2,8.51,7.9,16.2,12.7,12.6,12.3,13.3,26.2,22.71
DATA 25.51,8.41,7.4,3.4,3.4,3.2,15.2,12.2,12.9,12.2,26.5,25.2,22.21,22.3
DATA 25.11,25.3,8.9,8.4,7.4,3.2,3.2,3.2,12.21,12.2,22.2,12.4,26.2,26.4,25.4,22.9,25.4
DATA 25.7,25.7,8.5,8.3,7.4,7.2,6.3,3.3,25.2,26.3,13.4,13.2,12.2,13.2,0.1,26.2,13.2,25.2,22.2,26.2,13.3,13.2,22.51
DATA 25.7,22.2,25.4,17.2,8.4,7.4,6.5,3.2,3.2,25.2,26.5,26.2,12.3,13.5,3.2,12.2,13.2,25.2,25.3,13.3,4.2,25.2,22.2,22.11
DATA 25.8,25.2,25.3,8.4,7.4,12.4,12.6,13.4,26.4,16.2,0.1,0.1,25.2,12.2,13.2,13.2,12.2,13.2,22.2,26.2,13.3,4.2,13.2,22.3,22.2,13.2,22.7
DATA 25.4,22.3,25.2,22.2,25.2,8.3,7.4,12.2,24.2,21.6,22.2,0.1,0.1,0.1,13.2,26.2,26.2,13.2,13.2,13.2,0.1,26.2,13.3,22.4,25.2,0.1,0.1,0.1,4.2,4.2,22.2,22.3,13.3,22.6
DATA 25.3,22.5,22.3,17.2,8.2,7.4,24.9,21.2,9.2,13.2,26.3,0.1,25.2,12.3,16.2,13.2,13.7,25.3,0.1,0.1,0.1,0.1,0.1,0.1,0.1,1.2,22.2,21.3,22.2,12.2,22.5
DATA 25.4,22.4,22.3,17.2,8.2,8.4,24.9,21.3,12.2,13.2,12.2,13.6,12.3,13.3,13.2,13.3,13.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,4.2,22.3,22.3,12.3,21.2,22.3
DATA 25.6,25.2,25.2,17.3,8.2,8.3,24.9,21.2,21.2,25.2,0.1,12.2,0.1,0.1,0.1,13.7,12.2,25.2,12.2,26.3,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,1.2,13.2,21.2,22.3,12.2,21.4,22.1
DATA 25.6,25.2,25.2,17.2,8.3,7.3,15.2,24.7,21.5,0.1,12.2,26.4,0.1,0.1,9.2,12.2,25.2,0.1,0.1,0.1,25.2,25.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,13.2,21.2,22.4,21.3,21.3
DATA 25.11,8.3,16.3,24.6,21.2,24.5,24.2,25.2,13.5,26.4,13.2,12.2,26.4,25.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.2,22.7,21.5
DATA 25.11,8.3,16.2,24.41,21.2,0.1,0.1,0.1,9.2,0.1,12.2,12.2,12.2,26.7,13.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,13.2,22.11
DATA 25.11,8.3,24.31,21.2,21.2,0.1,12.2,26.4,12.4,26.6,25.2,0.1,0.1,10.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.4,0.1,13.2,22.11
DATA 25.01,17.3,13.2,24.31,21.2,13.2,26.51,26.4,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.3,0.1,13.2,22.9,21.2
DATA 25.01,5.2,16.2,24.21,21.3,0.1,26.51,26.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.2,0.1,0.1,13.2,22.11
DATA 25.01,8.2,16.2,24.11,21.3,0.1,0.1,26.51,26.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.2,0.1,13.2,22.11
DATA 25.9,8.3,16.2,24.21,21.2,0.1,0.1,26.41,26.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.2,0.1,13.2,22.11
DATA 25.9,7.2,7.2,24.31,12.2,0.1,0.1,26.5,25.2,26.6,25.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.2,0.1,0.1,0.1,0.1,9.2,0.1,0.1,9.2,9.2,22.21
DATA 25.8,4.2,4.2,16.2,24.11,12.3,0.1,0.1,25.2,26.2,25.4,25.4,25.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,22.21
DATA 25.8,8.3,16.2,24.21,21.2,0.1,0.1,0.1,0.1,13.2,25.3,25.3,26.2,25.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,13.4,0.1,0.1,0.1,0.1,13.2,22.21
DATA 25.8,8.3,16.2,24.21,21.2,0.1,0.1,0.1,0.1,0.1,12.2,25.4,25.3,13.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,13.3,0.1,12.3,0.1,0.1,0.1,0.1,0.1,13.2,22.21
DATA 25.8,8.4,24.41,12.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,13.6,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,13.4,0.1,0.1,9.2,0.1,0.1,0.1,0.1,22.41
DATA 25.8,8.4,16.2,24.11,24.2,12.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,9.4,0.1,9.2,12.2,22.5,0.1,0.1,0.1,9.2,22.31
DATA 25.8,8.4,16.2,24.11,24.2,3.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,12.2,13.3,22.7,0.1,0.1,0.1,13.2,22.21,21.1
DATA 25.7,8.5,15.2,24.31,3.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,3.2,4.2,16.2,12.2,12.4,22.4,0.1,0.1,12.2,22.31,21.1
DATA 25.5,22.2,8.4,7.2,24.2,21.4,24.7,12.2,12.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.3,8.2,17.2,13.2,12.2,13.2,22.2,13.2,9.2,22.5,22.01
DATA 25.5,22.2,8.5,15.2,21.4,24.7,12.2,3.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,13.2,7.2,8.2,13.3,12.2,22.2,0.1,13.2,22.31,21.3
DATA 25.5,22.2,8.5,15.2,24.01,21.2,12.2,3.4,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,24.2,7.2,8.3,13.2,12.2,12.4,12.2,13.4,22.8,12.3
DATA 25.5,22.2,8.4,3.2,24.11,12.4,3.4,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,24.4,8.2,17.2,13.4,12.2,22.3,13.2,13.3,12.2,13.2,22.2,21.3,12.2
DATA 25.3,25.2,16.2,7.2,8.2,3.2,24.31,12.2,3.7,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,24.5,8.4,4.2,13.2,12.2,12.2,12.8,13.3,21.2,12.3,22.1
DATA 16.3,22.2,17.2,16.2,15.2,15.2,21.2,24.8,21.4,12.4,4.2,3.2,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,12.2,24.6,4.2,17.2,4.2,8.2,12.4,12.61,22.1
DATA 25.3,17.4,16.2,24.4,24.2,21.2,24.6,21.4,12.4,3.4,0.1,0.1,0.1,3.2,0.1,3.2,12.2,24.6,7.3,4.4,13.2,12.71,22.3
DATA 22.3,17.5,15.2,24.3,21.2,24.3,21.2,24.3,21.4,12.4,12.2,0.1,0.1,0.1,0.1,0.1,12.5,21.2,24.6,13.2,8.2,4.4,13.2,12.51,22.4
DATA 17.7,13.2,24.3,24.11,21.4,12.4,12.2,3.2,3.2,3.2,12.4,24.8,13.2,17.2,4.5,12.61,22.4
DATA 12.3,14.2,4.2,16.2,24.2,24.8,24.4,21.6,12.6,3.3,21.3,12.2,24.2,24.2,24.4,4.3,17.2,4.3,7.2,12.5,13.4,12.7,13.2,22.1
DATA 13.5,13.2,16.3,24.41,21.7,12.8,21.4,24.3,24.5,16.2,7.2,4.6,12.3,13.6,12.9,22.1
DATA 4.3,4.2,25.2,4.2,16.2,24.41,21.7,21.2,12.4,21.5,24.7,3.3,4.2,4.6,12.3,13.9,12.7
DATA 4.3,4.2,16.2,5.2,7.2,12.2,24.41,21.5,24.3,12.2,21.3,24.4,24.6,3.3,4.2,13.2,4.4,13.2,13.6,22.2,13.2,12.7
DATA 8.3,7.2,5.2,8.2,16.4,21.2,24.12,21.31,21.2,3.3,4.8,12.4,13.2,22.4,12.8
DATA 8.3,4.2,7.3,16.4,24.4,24.12,21.41,3.4,4.2,4.5,12.4,22.6,12.8
DATA 8.7,4.4,24.5,21.2,24.12,21.31,3.3,4.2,4.6,12.3,22.6,12.8
DATA 8.4,4.2,8.2,4.4,4.2,24.2,21.2,24.12,21.31,3.2,3.3,4.2,4.4,12.4,22.6,12.7
DATA 8.3,4.01,16.2,21.4,24.81,24.2,21.41,0.1,3.2,4.7,12.6,22.4,12.5,22.2
DATA 8.3,4.8,8.2,16.2,24.2,21.2,24.51,21.91,3.3,4.7,12.7,22.3,13.4,22.3
Re: create program to create bitmap
I tried to base 128. (using the gmp library)thesanman112 wrote:how would you get the bitmap data into forum? certain characters wont display, will they?
5 character length as opposed to 7 characters in base 36.
The small hiccup was the " ,chr(34).
This character cannot be included in the data string.
There weren't many in the parrot, I suppose you could just skip over a base 128 number with chr(34), or try another colour close to it.
-
- Posts: 3906
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: create program to create bitmap
This program reduces the number of colors in birdnew.bmp
and saves the result as reducedBird.bmp
It does a simple masking of lower bit values. The more you mask out the less colors in the image.
This program creates a program to generate the reducedBird.bmp from data statements,
and saves the result as reducedBird.bmp
It does a simple masking of lower bit values. The more you mask out the less colors in the image.
Code: Select all
Const NULL As Any Ptr = 0
screenres 640,480,32
dim shared as string fileName
fileName = "birdnew.bmp" ' <----- change to desired bitmap to load
dim shared as any ptr image
dim shared as any ptr image1 'destination image
dim shared as integer iWidth,iHeight
sub loadImage(file as string)
dim as integer fileHnd = FreeFile()
open file for binary as #fileHnd
get #fileHnd, 19, iWidth
get #fileHnd, 23, iHeight
close #fileHnd
image = imagecreate(iWidth,iHeight,rgb(255,255,255))
bload file,image 'bload bitmap pic.i
If image = NULL Then
Print "image creation failed!"
Sleep
End
end if
end sub
loadImage(fileName)
image1 = imagecreate(iWidth,iHeight)
put (0,0),image,trans
locate 10,2
print "tap key to see reduction ..."
sleep
dim as ulong v
dim as ubyte r,g,b,mask
mask = &HF0 '1000 0000 or 1100 0000 or 1110 0000 80,C0,E0,F0
for j as integer = 0 to iHeight-1
for i as integer = 0 to iWidth-1
v = point(i,j,image)
r = (v shr 16 and 255) and mask
g = (v shr 8 and 255) and mask
b = (v and 255) and mask
pset image1,(i,j),rgb(r,g,b)
next i
next j
cls
put (0,0),image1
bsave "reducedBird.bmp",image1
locate 10,2
print "color reduced image"
sleep
imagedestroy(image)
imagedestroy(image1)
Code: Select all
Const NULL As Any Ptr = 0
screenres 640,480,32
dim as integer c 'palette number
dim as integer charCount
dim as string sn 'to remove leading space
dim shared as string fileName,fileName2,progName
fileName = "reducedBird.bmp" ' <----- change to desired bitmap to load
fileName2 = "reducedBird2.bmp" ' <----- change to desired name of save
progName = "createReducedBird.bas" ' <----- change to desired name of program created
dim shared as any ptr image
dim shared as integer iWidth,iHeight
sub loadImage(file as string)
dim as integer fileHnd = FreeFile()
'get width and height of bitmap
open file for binary as #fileHnd
get #fileHnd, 19, iWidth
get #fileHnd, 23, iHeight
close #fileHnd
'initialize pointers to pic.i bitmaps
image = imagecreate(iWidth,iHeight,rgb(255,255,255))
bload file,image 'bload bitmap pic.i
If image = NULL Then
Print "image creation failed!"
Sleep
End
end if
end sub
loadImage(fileName)
'=========== NOW EXTRACT COLOR PALETTE INTO colors LIST =======
dim shared as ulong colors(100000)
dim shared as ulong v
dim shared as integer totalColors,found
for j as integer = 0 to iHeight-1
for i as integer = 0 to iWidth - 1
v = point(i,j,image) 'get a color
found = 0
if totalColors > 0 then 'search for color
for i as integer = 0 to totalColors-1
if colors(i)= v then 'color found
found = 1
end if
next i
end if
if found=0 then 'not found so add to list
colors(totalColors) = v
totalColors = totalColors + 1
end if
next i
next j
'=====================================================
Open progName For Output As #1
print #1,"screenres 640,480,32"
print #1,"dim as any ptr image"
print #1,"image = imagecreate(";iWidth;",";iHeight;")"
print #1,"dim as integer totalColors = ";totalColors
print #1,"dim as ulong colors(totalColors)"
print #1,
print #1,"for i as integer = 0 to totalColors-1"
print #1," read colors(i)"
print #1,"next i"
print #1,
print #1, " dim as integer n"
print #1, " for j as integer = 0 to ";iHeight-1
print #1, " for i as integer = 0 to ";iWidth-1
print #1, " read n"
print #1, " pset image,(i,j),colors(n)"
print #1, " next i"
print #1, " next j"
print #1,
print #1, "bsave ";chr(34);filename2;chr(34);",image"
print #1,
'============== now make color data statements =======================
charCount = 0
print #1, " 'color data statements"
print #1, "DATA ";
for i as integer = 0 to totalColors-1
c = colors(i)
sn = str(c)
print #1,sn;
charCount = charCount + len(sn)
if charCount > 50 then
charCount = 0
print #1,"_"
end if
if i<>totalColors-1 then
print #1,",";
end if
next i
print #1,
'============== now make sprite data statements =======================
print #1, " ' palette numbers for each pixel"
charCount = 0
print #1, "DATA ";
for j as integer = 0 to iHeight-1
for i as integer = 0 to iWidth-1
v = point(i,j,image)
'find color in list and get palette number c
for n as integer = 0 to totalColors-1
if v = colors(n) then
c=n
end if
next n
sn = str(c)
print #1,sn;
charCount = charCount + len(sn)
if charCount > 50 then
charCount = 0
print #1,"_"
print #1,",";
else
print #1,",";
end if
next i
'print #1,
next j
print #1,"0"
Close #1
print
print "A program called createBitMap.bas has been created"
print "If you load and run this program it will create"
print "and save the image as a file called"; fileName2
sleep
-
- Posts: 3906
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: create program to create bitmap
This is the program created by the second program in the previous post which in turn creates the reducedBird.bmp, which was reduced in total colors using mask = &HF0 from birdnew.bmp
Code: Select all
screenres 640,480,32
dim as any ptr image
image = imagecreate( 80, 60)
dim as integer totalColors = 815
dim as ulong colors(totalColors)
for i as integer = 0 to totalColors-1
read colors(i)
next i
dim as integer n
for j as integer = 0 to 59
for i as integer = 0 to 79
read n
pset image,(i,j),colors(n)
next i
next j
bsave "reducedBird2.bmp",image
put (0,0),image,trans
sleep
'color data statements
DATA -16777216,-4153232,-4149136,-4149120,-3100544,-3096448,-2047872_
,-2043776,-995184,-991088,-991072,-995168,-986960,-986976,-2047888_
,-3100560,-4149152,-4153248,-4157360,-6262736,-7311296,-7307200_
,-9412560,-7315392,-8363984,-8368080,-9416656,-8363968,-7311280_
,-7315376,-5205920,-995200,-999312,-999296,-4132656,-7278368_
,-9375504,-10424080,-8326928,-6229792,-6233904,-5185344,-5193552_
,-5197664,-6246256,-6246272,-6266800,-6262704,-6266816,-7315408_
,-2043760,-991104,-2035520,-3088192,-5185328,-11472656,-10428192_
,-10428176,-11476752,-10424096,-10424112,-8326976,-8335216_
,-8343424,-7294848,-6242160,-8355776,-6262720,-6258608,-3088208_
,-7282480,-12521232,-12525328,-11480864,-11472672,-11476800_
,-11476816,-9375552,-9375568,-8326992,-10432416,-7303088,-7307184_
,-6258592,-5210032,-5210016,-2039632,-4136768,-8326944,-13573904_
,-12525344,-10428208,-10428224,-11480896,-11480944,-11476832_
,-10424144,-11485088,-9392032,-9396144,-8347568,-6254512,-3096432_
,-2039664,-13569808,-12525360,-13578016,-13578000,-13573920_
,-12529456,-13578048,-12525376,-12525408,-11472720,-12525424_
,-11476848,-11480928,-10432368,-11485040,-9379680,-9379664_
,-9379696,-9383840,-8335264,-7286672,-7290768,-7294864,-995216_
,-14626592,-14622496,-13573936,-12529472,-12529488,-11485056_
,-10432384,-9383824,-9387936,-8339360,-7290784,-4157344,-5201824_
,-2051984,-4140896,-14626608,-12533568,-12529504,-11485072_
,-10436512,-10440624,-9392064,-8339392,-6250400,-4161440,-3096464_
,-1003392,-13578032,-14626624,-13582144,-12533584,-12533600_
,-12533648,-10436496,-11485104,-11489200,-10440640,-7294896_
,-6250416,-5205936,-6254496,-5201808,-3104672,-3100576,-5193568_
,-11476768,-14630704,-14630720,-13582128,-12525392,-13578080_
,-12529536,-11480960,-10436528,-11489184,-9387968,-10440656_
,-10444752,-10448848,-10452944,-10448864,-9392096,-7299008_
,-5205904,-5197696,-8331040,-15679280,-15679312,-14630736_
,-13582160,-12533616,-12537776,-12537760,-11489216,-11493312_
,-9396192,-9392080,-9396176,-9400272,-11501552,-10448896,-8351712_
,-6254528,-4157328,-14634800,-14634816,-14634832,-13586256_
,-13586272,-13582176,-14634864,-13586304,-12537728,-11489152_
,-12541872,-12541856,-10444768,-11497456,-11501568,-11505664_
,-10457088,-9404416,-8355792,-4157296,-5201856,-3108784,-15679296_
,-14634848,-13590448,-13594576,-12541888,-11497424,-11493328_
,-10452976,-12554240,-12558336,-12562416,-12566496,-5210000_
,-6254480,-7290720,-15671088,-14638960,-12537696,-13590384_
,-14643088,-13590432,-11489232,-10444736,-11497440,-11493360_
,-9396208,-11497472,-10444784,-10457072,-11513856,-14671872_
,-8359824,-3092272,-11476784,-15683408,-14638976,-14638992_
,-13590416,-13586352,-13586336,-12537744,-13594544,-10448880_
,-10452992,-10452960,-11509744,-12566528,-8359840,-7307136_
,-3096368,-4153216,-5197680,-13569824,-14622512,-15683424_
,-12545968,-12545984,-13594592,-12541904,-12546000,-12546016_
,-11493344,-12546032,-12550128,-10461184,-12562432,-11513824_
,-7303072,-3096400,-2047808,-3096384,-3092256,-5201792,-9387856_
,-15683392,-14630752,-12554224,-13615104,-12558320,-9404368_
,-10457040,-16769024,-11509712,-14667776,-10461168,-11509760_
,-11509728,-6250368,-4149088,-5201776,-3100512,-2043712,-5193520_
,-7298928,-14630784,-13582192,-14639008,-15691696,-14639024_
,-14639040,-13590464,-13590480,-13602800,-13606912,-9396160_
,-5193584,-3092304,-4144976,-6242144,-12570576,-10465184,-9408384_
,-10461072,-4144960,-8363936,-10469312,-9412544,-9408432,-14671856_
,-11513792,-7303056,-10461120,-3100528,-2047824,-5205888,-8363952_
,-8351632,-10448752,-12558208,-7303040,-5197728,-8331072,-15687568_
,-14634896,-13590496,-12541920,-14643168,-3092288,-4140880_
,-11505600,-10457008,-8355728,-10465200,-9412528,-12562384_
,-11509696,-4153200,-6258576,-4149104,-8355744,-8355712,-10456960_
,-13610912,-7311264,-9383744,-15687520,-14634880,-13586320_
,-6246304,-8351648,-4144992,-7298944,-15720448,-15724544,-12566480_
,-6250352,-7303024,-10461104,-11509680,-12562352,-12558224_
,-14663600,-9408416,-6250384,-11484992,-6250464,-6250496,-6254592_
,-5206016,-5206000,-6258688,-7311360,-13615072,-13619168,-12566464_
,-13615040,-12562336,-13615024,-10432320,-13586288,-15683440_
,-8347584,-3100672,-2056192,-1007616,-1003520,-2060288,-1007600_
,-10469376,-9408400,-11517904,-7307152,-9416624,-15728640_
,-13619136,-13619152,-11513776,-5214144,-7294832,-11480880_
,-5197776,-4153344,-3104768,-1011712,-8364032,-10465264,-11513808_
,-7307168,-15728624,-14671824,-14671840,-12566448,-13578064_
,-3108864,-3112960,-3104720,-3100592,-9404320,-10465216,-8359856_
,-14675952,-15728608,-15724512,-12570560,-8335200,-13586240_
,-12541824,-11493280,-7299040,-4149248,-4161520,-2039616,-13623280_
,-3096416,-13623232,-15724496,-16777184,-15724528,-13623248_
,-11472704,-11493264,-10440608,-8343488,-5197792,-2052080_
,-3104736,-2052016,-2043728,-986912,-13623264,-14675936,-11517888_
,-13573952,-9392048,-6246352,-3096560,-999424,-999408,-6258656_
,-12574720,-14675968,-986928,-5197712,-11493296,-6246368,-1011696_
,-4161536,-13627392,-2035504,-2039600,-4145008,-11517872,-3104656_
,-11489120,-15691664,-11497392,-2052096,-2060272,-4165616_
,-10477568,-9412512,-4145024,-6258624,-14643040,-9387904,-6242256_
,-2048000,-1003504,-5214208,-11522048,-3092320,-991040,-12570592_
,-10436464,-13590368,-9387920,-3096576,-7319552,-14680064_
,-2035536,-3084096,-16777200,-14680048,-6238032,-3096544,-10465280_
,-9391968,-13590400,-2056176,-9416704,-13623296,-10452896_
,-14643056,-14643072,-5210112,-9412592,-13619184,-9400224_
,-12537712,-10440576,-6266880,-16773120,-2051952,-8339328_
,-11485024,-10444688,-6246336,-11513840,-16773104,-16773088_
,-13627360,-999280,-7286640,-3100656,-12570608,-10469328,-10428240_
,-8347536,-5201888,-15728576,-11522032,-11526144,-11526096_
,-12578800,-12541840,-10444720,-6250480,-13611008,-13619200_
,-7319520,-6262688,-8335184,-13606800,-9391952,-9396128,-9375536_
,-12541808,-4157440,-5201920,-11505648,-15720432,-15720416_
,-12566512,-10452928,-14647168,-12533552,-10432304,-8351616_
,-15675216,-7299024,-7303168,-13610992,-14663680,-15716320_
,-15716336,-14667760,-14667744,-8351664,-12549984,-12541792_
,-8355696,-7315360,-6254464,-12521264,-14626640,-8347600,-5201904_
,-7303152,-12554208,-14659536,-14663648,-14667728,-5193680_
,-4149184,-12550064,-10440528,-7319488,-9412576,-13569840_
,-15691648,-16744384,-7307264,-14655440,-15712240,-4153312_
,-10444656,-12545920,-11501456,-7319472,-6246288,-15687536_
,-15695760,-15699904,-999392,-8351744,-11501536,-12550112_
,-14655472,-13602784,-15708112,-13610960,-14659552,-15716304_
,-9412608,-5201872,-2047984,-13594496,-8363920,-8359872,-8343376_
,-8335136,-11489168,-10440592,-10448832,-7299056,-7307248_
,-6254576,-9404400,-11505632,-13606864,-12554160,-13602768_
,-14663616,-10465248,-11497360,-12550016,-5205872,-8339264_
,-10440560,-8339312,-8351680,-3100640,-8355840,-13606880,-12554176_
,-8359920,-4157424,-13606816,-14651280,-9387872,-11501504_
,-13610976,-14663664,-6258672,-11497344,-14659488,-13598592_
,-10452880,-7294800,-11493248,-10448816,-3092448,-9408496_
,-11501520,-12558288,-9408512,-7311344,-10457056,-12554128_
,-10444672,-13594480,-14655392,-10456992,-8368064,-11497312_
,-10448736,-13594512,-8343472,-2064384,-8359936,-9408480,-12550096_
,-14643104,-12545936,-11493232,-15708080,-15699872,-11501424_
,-11497328,-13602672,-10448768,-987008,-9396080,-6242240,-9404384_
,-8355824,-6262784,-13598624,-16756656,-15699856,-13602688_
,-9408448,-6270880,-12550032,-5181328,-15699824,-6254560,-7303136_
,-9400288,-15703952,-9400192,-14638912,-10444704,-14638944_
,-9400320,-3104752,-4153328,-12558304,-12550048,-11501472_
,-13602704,-15699840,-16744336,-12537648,-14638928,-13590352_
,-995312,-3108848,-12550080,-14651312,-14647184,-14651296_
,-16752544,-15695776,-7286688,-3088320,-4145104,-15703984_
,-16748448,-16752560,-12537680,-13594528,-6238112,-5189568_
,-4140992,-4165632,-14647200,-14647152,-15691680,-15691632_
,-12545952,-12545904,-5218304,-5214192,-13602752,-13598608_
,-15695744,-16756672,-15712224,-15699888,-14651328
' palette numbers for each pixel
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0_
,0,0,0,0,0,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,1,1,1,2,3,4,4,5,5,5,5,5,5,6,6,6,7,7,7,8,9_
,9,10,11,12,12,12,12,13,12,12,12,12,12,12,10,10,8,7,14,15,16,17,18,19,20,21,21_
,22,23,24,25,26,26,26,26,26,25,27,27,28,28,28,28,28,28,29,29,27,27,23,28,28,28_
,28,23,24,25,25,30,30,30,17,1,1,2,3,4,5,5,5,5,6,7,31,31,31,32,33,8,8,9,9,9,10,10,10,10_
,34,35,36,36,37,36,36,38,35,39,40,41,42,43,44,45,28,23,46,47,48,49,23,23,23,23_
,23,27,23,23,20,20,47,47,47,47,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,30_
,30,30,30,17,1,1,2,3,5,5,6,6,50,8,8,31,31,33,33,31,31,31,51,9,13,52,53,54,36,55,56_
,57,58,58,57,36,37,37,37,37,59,59,60,61,62,63,64,65,66,67,67,67,67,47,28,28,67_
,47,47,68,68,68,68,68,47,47,28,28,28,28,28,28,28,28,28,28,28,28,28,30,30,30,30_
,17,1,1,2,4,5,6,6,6,8,8,8,8,31,31,50,7,31,31,9,10,69,70,37,71,72,73,58,58,58,58,58,57_
,55,55,74,74,75,75,76,75,77,78,78,79,80,81,81,82,68,68,68,83,68,68,68,68,84,85_
,85,68,68,47,47,28,28,28,28,28,28,28,28,28,28,28,28,30,30,30,30,30,1,1,2,15,5,6_
,6,6,8,8,8,8,31,8,9,9,8,8,86,87,88,57,58,72,89,89,90,90,90,90,90,90,89,71,55,55,56_
,91,92,93,94,95,96,96,97,98,99,100,101,68,68,68,85,30,30,30,30,30,85,85,68,68_
,47,28,28,28,28,28,28,28,82,28,28,68,68,30,30,30,30,30,30,1,1,1,15,5,6,102,33,33_
,31,31,31,8,103,9,87,37,104,105,71,71,89,106,89,89,89,107,108,108,108,109_
,110,111,112,112,75,113,114,115,116,94,117,118,119,120,121,122,123,124_
,125,126,30,30,30,30,30,30,30,85,68,68,47,28,28,28,28,28,82,82,82,68,68,47,47_
,30,30,30,30,30,30,30,17,1,15,15,4,6,6,6,6,8,31,7,127,9,36,58,58,58,72,89,106,89_
,89,128,129,128,108,108,108,130,90,131,132,76,75,76,114,95,116,94,118,133_
,134,134,135,122,136,136,137,138,30,139,30,30,30,85,30,85,68,68,47,28,28_
,28,28,28,82,82,82,68,47,28,28,30,30,30,30,30,30,30,140,17,2,15,15,141,6,5,6,6_
,33,7,32,142,71,37,57,72,89,89,108,108,89,89,143,143,108,130,130,130,109_
,131,131,131,144,145,116,94,94,117,133,146,80,147,122,122,148,148,149_
,150,151,30,30,30,30,152,30,85,68,68,68,47,28,20,20,28,68,68,68,68,28,28,28_
,30,30,30,30,30,30,30,140,1,1,2,15,15,5,5,153,141,154,6,41,36,72,72,72,106,108_
,108,108,106,108,106,143,143,155,143,156,130,157,131,131,110,158,159_
,118,160,133,134,161,161,162,162,163,148,148,148,164,149,165,166,167_
,168,30,30,85,83,68,68,68,47,47,28,28,28,68,68,68,68,47,47,47,30,30,30,30,30_
,30,30,30,30,169,169,169,1,2,15,170,171,172,173,72,107,130,90,108,106,143_
,143,174,143,175,175,176,155,157,155,110,109,177,145,178,145,179,133_
,180,97,147,181,148,148,148,182,181,183,184,185,186,187,188,189,190,30_
,30,168,83,83,83,83,83,83,68,68,68,68,68,68,68,68,68,47,47,30,30,191,191,191_
,30,30,30,30,30,30,191,140,1,1,17,192,193,104,55,58,194,195,196,174,175,174_
,174,175,175,176,157,157,197,144,197,132,198,198,198,180,199,200,133_
,163,163,201,164,164,149,202,185,203,204,205,185,206,207,208,209,210_
,30,30,30,168,83,83,83,83,83,83,83,68,68,68,68,68,68,68,68,30,30,191,191,191_
,30,30,30,30,30,30,191,30,211,211,1,44,55,55,90,143,212,213,175,195,175,175_
,175,175,175,175,214,215,216,217,218,217,219,220,221,182,222,222,223_
,222,163,202,185,224,224,205,203,203,189,224,225,226,227,228,229,230_
,30,30,30,30,83,30,30,30,30,168,168,83,83,68,68,68,68,68,68,30,30,169,169,140_
,1,169,140,169,30,30,140,231,232,233,43,59,58,174,234,143,143,174,175,175_
,213,175,196,196,197,157,213,214,197,235,145,198,236,97,199,200,237,238_
,202,239,240,240,184,204,203,184,149,188,241,188,207,242,243,227,244_
,245,30,246,30,30,30,30,30,30,247,191,191,30,168,83,83,68,68,83,83,169,169_
,1,1,1,17,140,140,1,1,17,17,18,248,91,71,108,249,155,156,175,175,175,175,175_
,235,214,157,157,216,250,219,219,251,252,253,220,133,254,182,238,240_
,240,255,256,257,257,258,224,259,224,260,261,226,241,262,263,264,264_
,265,266,191,139,191,191,191,191,191,191,191,191,191,191,191,30,30,30_
,30,30,30,169,1,1,1,1,17,17,140,1,1,1,1,139,267,72,89,249,106,156,175,175,268_
,214,196,214,235,235,214,235,269,270,271,254,272,200,273,274,223,275_
,182,202,257,257,257,225,225,260,261,276,226,241,277,208,242,278,279_
,280,281,282,283,283,284,167,191,191,191,191,191,191,191,191,191,191_
,191,191,191,30,30,30,30,1,1,1,1,1,17,17,17,1,17,1,169,285,286,106,106,287,176_
,234,234,196,288,288,214,288,235,235,250,269,236,236,289,290,291,291_
,292,293,291,294,295,296,276,224,297,208,259,226,276,226,276,298,262_
,227,227,299,300,301,302,303,304,305,306,17,211,191,191,191,191,191,191_
,191,191,191,191,191,1,191,30,30,30,1,1,1,1,17,17,140,140,17,30,169,169,307_
,286,106,155,110,308,195,195,196,218,309,309,235,269,269,219,254,237_
,293,207,310,311,312,187,278,276,225,225,276,226,241,241,278,313,314_
,315,316,317,168,318,319,279,320,321,322,323,324,325,326,327,2,1,1,191_
,191,191,191,168,168,191,191,191,1,1,169,169,169,169,1,1,1,1,17,139,140,140_
,17,169,192,192,37,234,234,174,175,328,309,217,329,330,330,330,331,332_
,333,334,335,336,337,242,338,339,340,341,342,343,344,345,346,347,348_
,349,350,281,351,322,352,172,353,354,355,356,357,358,359,357,356,360_
,361,362,363,1,191,30,30,83,83,83,83,83,168,30,30,30,30,30,169,169,1,1,1,1,1_
,139,30,364,17,17,17,365,173,214,157,143,309,199,366,367,254,291,368,369_
,369,335,370,291,225,243,313,285,371,341,372,172,347,373,172,374,353_
,353,375,376,377,363,351,341,378,42,379,354,351,322,380,381,382,284,383_
,384,385,386,362,282,284,167,30,387,68,47,47,68,83,30,30,30,30,30,30,30,1_
,1,1,1,1,1,30,140,30,17,169,388,157,389,235,218,390,391,236,238,239,225,276_
,261,276,276,188,226,227,392,393,383,383,394,341,341,341,360,395,396_
,397,398,399,400,353,401,363,341,374,399,379,399,354,382,358,380,357_
,247,401,402,403,404,405,406,247,84,68,28,68,28,28,47,47,68,68,68,85,30,30_
,30,1,17,30,30,30,1,407,167,139,1,65,408,235,309,218,391,254,366,241,209_
,409,410,411,411,411,412,413,414,415,168,401,398,398,416,375,42,43,379_
,172,354,375,417,363,399,406,353,245,394,399,363,383,321,247,168,247_
,382,382,401,398,418,419,420,421,403,375,84,67,47,47,28,28,28,47,47,68,68_
,68,85,85,85,17,30,30,30,30,30,151,139,139,321,422,214,157,423,218,424,269_
,425,426,426,427,428,429,429,428,429,430,430,431,432,355,401,395,372_
,172,433,352,399,377,353,353,399,395,44,351,434,351,377,351,354,354,435_
,382,169,380,436,437,438,418,438,438,439,418,421,440,68,441,441,67,47_
,47,23,23,67,47,84,68,68,68,68,17,17,30,30,30,30,140,191,30,442,443,157,214_
,269,235,268,235,444,445,446,427,429,429,429,428,427,430,447,430,448_
,449,401,363,379,379,374,406,401,401,375,375,398,450,353,401,375,401_
,355,377,322,383,451,306,435,352,0,452,439,439,453,439,454,343,420,455_
,68,84,67,47,47,67,23,23,67,67,47,68,68,84,84,17,1,17,17,30,140,139,306,30,248_
,443,456,214,423,216,216,220,409,445,426,427,427,427,429,429,457,430_
,428,458,459,460,354,398,355,461,416,352,417,401,401,375,406,406,401_
,462,350,383,321,462,450,463,302,322,464,0,465,466,454,454,453,467,454_
,398,455,418,451,85,67,84,47,47,20,20,67,67,67,67,68,84,84,17,1,1,17,30,140_
,139,321,191,468,469,235,196,218,252,470,471,472,473,446,427,429,429_
,427,427,430,430,430,430,474,448,245,450,475,53,53,172,353,398,398,434_
,476,353,406,306,463,245,476,398,323,477,382,376,452,478,479,480,481_
,454,482,439,343,439,482,439,281,83,67,30,47,47,47,67,67,67,20,67,67,68,68_
,17,17,17,1,1,169,17,169,284,483,197,235,219,484,485,486,487,488,429,429_
,428,430,430,428,429,427,429,428,458,489,490,285,247,401,351,406,363_
,340,394,340,491,321,351,450,353,371,492,492,340,382,382,476,0,454,482_
,454,481,343,493,343,398,343,493,493,494,495,83,68,68,83,68,68,68,67,67_
,67,67,67,67,67,17,17,17,1,1,1,140,169,306,496,216,217,182,497,498,499,500_
,501,429,429,429,427,427,428,428,428,428,427,430,502,503,397,397,398_
,434,417,504,450,398,355,434,450,354,371,505,475,340,475,302,434,281_
,352,0,494,454,494,482,418,417,417,343,398,343,343,454,343,387,68,68,83_
,83,85,84,68,68,84,84,84,84,84,1,1,1,1,1,1,506,1,321,110,251,235,507,508,426_
,500,500,429,429,429,429,429,428,428,427,509,430,428,510,511,476,462_
,281,341,371,322,435,353,353,462,377,340,340,512,513,475,514,285,394_
,437,352,515,452,452,481,464,438,343,417,417,343,495,495,495,482,343_
,28,68,68,83,83,85,85,84,84,68,68,68,68,68,15,1,1,1,2,516,506,516,395,267,517_
,518,519,473,520,500,500,429,429,429,428,428,428,428,428,428,521,522_
,523,524,525,322,302,340,340,475,325,340,505,475,475,505,505,52,492,339_
,340,340,341,343,0,493,452,0,437,454,482,343,343,343,343,343,495,434,439_
,343,28,68,68,83,83,30,30,84,68,68,526,526,526,526,15,15,15,2,2,4,140,1,468_
,527,253,528,529,530,520,500,531,429,428,428,429,429,428,427,430,510_
,532,533,437,475,534,475,491,535,491,340,475,53,475,52,475,52,475,339_
,394,375,481,0,0,0,343,464,437,343,464,0,453,439,343,439,343,343,495,536_
,493,343,28,68,84,30,30,30,30,30,30,68,68,68,68,68,15,15,15,2,1,2,2,4,537,538_
,219,539,473,540,520,500,429,429,429,428,428,428,427,457,458,532,541_
,542,0,543,535,475,340,491,477,340,53,544,53,53,372,512,172,44,477,464_
,0,545,545,0,397,482,546,434,493,464,466,439,343,454,493,343,343,434,417_
,398,451,168,30,30,30,30,30,30,30,68,68,68,84,84,15,15,15,15,15,171,516,547_
,217,159,270,137,548,530,500,500,429,429,429,429,429,427,427,446,457_
,414,549,0,0,543,53,86,491,534,340,340,340,340,340,372,53,142,285,394,375_
,0,545,545,452,0,452,493,536,462,495,464,464,482,398,352,481,454,493,434_
,493,398,28,167,167,30,30,30,30,30,30,167,68,68,68,68,14,15,15,15,15,153,356_
,550,424,158,551,138,499,500,500,500,500,429,429,429,428,427,429,552_
,457,553,554,545,466,475,372,69,340,514,514,394,372,69,372,52,53,285,285_
,247,493,0,545,0,545,0,0,494,542,349,377,536,493,437,343,495,376,454,343_
,434,482,434,82,68,84,30,30,30,30,30,30,167,68,68,85,85,33,14,141,141,14,514_
,555,556,157,557,221,165,499,500,500,500,500,429,429,429,429,427,427_
,558,541,559,560,481,0,285,142,172,285,321,285,514,394,44,339,45,395,321_
,401,352,545,466,452,452,466,452,452,343,493,397,464,494,454,343,476_
,343,482,454,417,439,454,462,83,84,84,30,30,30,30,30,30,167,68,84,85,85,32_
,14,14,14,6,356,561,159,197,562,563,190,499,500,500,500,500,500,501,429_
,429,520,427,510,564,559,264,565,0,418,375,321,321,514,394,339,285,395_
,172,44,321,406,493,493,452,545,545,452,452,452,481,493,343,398,417,454_
,452,524,376,440,343,454,454,438,454,359,83,85,84,30,30,30,30,30,30,167_
,68,84,84,84,14,14,14,6,6,566,567,159,235,568,569,570,499,429,500,500,429_
,500,500,429,429,429,520,457,558,571,396,572,573,480,453,353,374,321_
,321,321,395,44,399,395,363,493,437,452,452,0,452,481,452,494,574,464_
,343,377,376,418,439,462,353,493,343,466,545,438,494,28,47,152,84,30,30_
,30,30,30,167,84,84,84,84,84,141,14,6,6,6,575,576,217,235,159,484,570,577_
,520,429,429,429,500,429,429,500,500,520,446,558,263,417,565,545,480_
,0,0,0,454,417,398,401,363,406,377,377,493,452,452,0,437,452,452,437,481_
,493,464,504,463,281,376,353,476,578,579,377,545,466,482,437,68,47,84_
,30,30,30,30,30,84,84,84,68,68,68,68,15,141,153,153,141,356,580,111,197,216_
,470,581,582,446,446,520,429,429,429,429,429,429,427,457,446,228,320_
,317,264,573,545,545,545,545,545,545,572,545,545,545,452,437,0,0,0,583_
,480,584,585,586,493,587,584,24,24,47,191,30,84,68,451,545,438,0,349,83_
,68,68,68,30,191,30,30,85,84,68,68,47,47,47,2,516,2,16,516,339,75,131,216,251_
,588,589,590,445,446,446,520,429,429,429,429,429,427,457,446,227,591_
,311,592,572,0,545,545,572,545,545,481,572,545,545,452,452,437,437,466_
,264,417,350,28,593,48,28,463,594,168,168,84,68,68,83,463,454,481,476,359_
,68,68,30,168,30,191,191,30,30,68,68,47,67,67,67,2,17,17,17,170,595,111,144_
,538,251,588,256,590,445,446,446,446,520,429,500,500,500,520,445,445_
,228,591,571,592,572,397,0,572,481,572,572,481,466,481,452,452,452,452_
,481,481,299,416,596,597,598,27,23,46,20,23,20,68,68,68,83,281,481,437,350_
,83,68,68,30,168,168,30,30,30,68,68,68,47,67,67,67,3,1,140,30,139,599,130,157_
,216,600,223,205,410,601,601,601,601,520,429,500,500,500,426,602,411_
,603,312,320,317,572,464,565,572,604,481,481,481,605,605,481,466,452_
,481,494,606,262,607,608,609,610,307,611,29,67,23,28,281,47,68,435,376_
,542,579,83,83,68,83,68,82,168,168,168,168,68,68,68,47,47,47,47,192,169,407_
,30,191,173,109,157,612,251,223,613,602,457,457,457,427,429,520,429,429_
,520,445,411,614,312,615,616,317,617,604,618,618,619,619,604,618,620_
,620,454,605,466,464,454,454,187,508,621,622,551,623,109,74,624,625,23_
,20,28,68,26,476,387,85,47,68,68,68,83,83,83,168,168,83,68,47,67,67,67,67,67_
,306,306,407,191,626,627,144,158,628,538,254,629,630,446,427,427,429_
,429,520,429,520,446,412,411,631,603,632,337,615,633,634,634,618,619_
,619,618,617,620,620,635,635,454,454,417,439,607,636,637,638,329,623_
,158,109,639,265,640,641,47,23,26,27,28,23,28,28,28,28,68,68,68,83,83,68,47_
,47,67,20,20,67,67,306,321,407,246,247,642,215,251,456,643,644,206,630_
,446,520,429,429,429,531,531,429,446,412,645,631,207,632,310,632,646_
,647,634,618,619,619,618,617,634,634,635,635,454,417,536,262,338,648_
,429,590,649,623,408,408,650,651,406,652,27,23,47,47,68,20,28,23,28,28,20_
,20,28,28,47,47,67,67,48,23,20,20,20,321,247,653,81,64,131,654,197,235,655_
,656,275,409,426,520,429,429,429,657,552,427,445,602,590,658,659,660_
,661,662,633,663,664,665,617,617,666,635,635,416,416,635,635,536,667_
,502,668,669,530,500,670,538,158,216,600,670,361,671,25,672,28,23,47,20_
,20,20,23,23,20,20,28,28,28,47,67,20,20,23,47,47,47,581,85,358,673,674,675_
,676,677,486,658,678,679,411,445,446,446,427,429,427,427,427,412,412_
,411,680,229,681,603,682,683,684,685,685,618,604,620,417,686,416,620_
,620,245,687,502,429,501,501,500,429,688,670,562,517,689,670,423,216_
,377,640,27,27,29,27,27,27,27,27,27,27,27,27,23,23,23,20,20,20,47,47,47,407_
,690,691,610,388,692,693,694,409,426,695,558,602,457,457,446,446,427_
,427,427,520,601,558,411,411,696,681,262,603,697,698,683,665,604,604_
,352,619,378,300,416,378,318,699,700,429,531,429,429,429,519,470,423_
,159,689,701,702,252,406,640,27,27,23,27,27,27,27,27,27,27,27,27,23,23,23_
,20,28,47,68,83,83,594,599,56,56,60,703,63,190,630,520,446,510,601,427,427_
,446,457,430,427,427,427,601,558,558,558,696,681,241,262,632,704,705_
,706,619,620,620,416,320,641,300,316,707,680,427,531,429,429,520,520_
,638,708,220,159,689,386,709,710,711,359,27,27,23,27,27,27,27,27,27,27,27_
,27,23,23,23,28,47,68,83,83,83,712,267,74,56,408,713,714,498,715,426,601_
,446,446,427,427,446,446,427,427,427,427,457,601,558,558,679,716,716_
,262,310,717,718,705,416,705,416,615,719,720,571,721,601,445,428,429_
,429,429,520,426,722,651,723,568,724,722,725,702,650,726,727,727,27,27_
,27,27,27,27,27,27,27,27,27,23,23,28,47,68,68,83,83,66,728,729,650,730,248_
,731,508,473,601,446,520,429,429,500,429,428,732,427,429,427,457,458_
,510,458,412,414,679,733,262,734,659,659,735,632,312,262,412,458,667_
,716,430,577,447,427,447,428,427,427,206,736,737,738,517,689,739,740_
,252,588,359,640,350,23,27,359,29,29,359,27,27,27,23,23,23,23,28,28,47,47_
,47,741,361,742,743,744,745,746,539,747,446,427,577,520,429,500,500,429_
,429,500,500,429,427,457,457,457,510,601,601,601,645,658,748,748,187_
,717,659,749,457,510,564,750,427,427,427,457,427,520,427,427,685,484_
,751,470,216,556,752,753,754,557,671,23,755,756,29,29,28,28,28,20,23,23_
,23,23,23,23,20,20,47,47,47,757,623,650,98,758,133,759,252,221,614,473,540_
,520,429,500,500,500,500,501,500,500,429,427,457,457,457,457,457,601_
,413,630,760,761,762,278,748,680,457,601,558,601,427,427,427,427,427_
,427,427,457,697,698,737,724,600,710,702,763,608,608,764,640,672,625_
,29,28,28,28,28,28,28,28,23,23,23,23,23,23,20,20,20,689,765,724,766,567,250_
,527,767,252,425,768,412,426,520,429,500,501,500,500,501,501,501,501_
,428,427,430,457,457,457,457,769,770,770,631,679,680,700,457,446,446_
,446,427,430,427,427,427,427,429,457,697,771,772,556,713,773,774,775_
,776,702,738,359,23,29,29,28,28,82,68,68,28,28,23,23,23,23,23,23,23,23,23,777_
,252,250,778,527,216,779,563,713,692,126,621,601,446,427,427,429,429_
,429,501,501,780,501,429,428,427,531,500,520,427,428,520,520,769,781_
,457,457,430,457,458,457,458,458,781,457,510,601,520,457,696,782,646_
,783,730,650,784,785,655,786,787,649,27,27,23,28,82,68,68,68,68,28,20,23_
,23,23,23,23,23,23,23,144,724,556,214,654,269,778,563,723,788,789,790,770_
,446,430,427,427,429,429,500,501,501,501,429,429,427,501,500,429,520_
,429,429,520,446,427,430,457,457,510,510,510,458,458,510,781,510,601_
,457,510,645,685,685,646,253,670,600,791,753,792,793,562,727,24,23,28_
,68,68,68,68,68,28,20,23,23,23,23,23,23,23,23,794,779,779,779,538,655,556_
,795,737,796,797,798,582,446,457,457,427,429,429,429,500,501,501,500_
,500,520,429,429,429,520,500,429,429,427,427,427,427,457,510,532,799_
,458,457,510,510,458,601,558,532,750,682,685,646,800,751,470,792,793_
,753,786,557,727,25,27,28,68,68,68,68,68,28,20,23,23,23,23,23,23,23,23,794_
,469,724,689,623,779,801,802,803,804,470,805,590,445,457,457,427,428_
,429,429,429,500,500,500,500,520,429,429,428,427,429,429,429,429,429_
,429,427,457,532,532,532,510,457,510,510,458,601,750,806,807,748,697_
,783,808,808,809,810,811,784,753,655,652,25,27,23,82,68,68,68,68,47,20,23_
,23,23,23,23,23,20,20,215,600,809,785,774,556,253,724,556,724,724,470,569_
,446,457,430,430,428,428,428,428,429,429,429,429,429,427,427,427,427_
,427,427,427,427,427,457,427,457,510,510,799,799,510,510,532,510,510_
,510,799,799,601,318,812,808,813,655,655,740,784,518,557,651,25,25,27_
,20,20,28,68,68,47,20,20,23,20,20,28,68,68,68,215,600,650,774,689,810,253_
,724,608,600,623,470,484,446,446,457,457,428,428,427,427,429,428,427_
,427,427,427,427,427,427,427,446,457,457,457,457,457,457,457,510,799_
,799,799,510,532,558,558,558,532,532,601,748,633,814,783,655,655,784_
,557,253,557,708,26,25,25,23,20,20,47,68,47,28,28,28,28,47,68,83,85,85,0
Re: create program to create bitmap
exactly - only about 160- 192 of the 255 codes will print and copy/paste into the forum, which is why I figure the best way is to use 7 bits of the 8 bits so we only need 128 printable codes which we have...thesanman112 wrote:how would you get the bitmap data into forum? certain characters wont display, will they?
Tourist - that is a novel way to handle the RLE, but falls short overall because of all the extra characters (still using a whole byte to hold only a value from 0-9, all the extra commas between data items, etc...
Best to RLE the raw data first, then convert the info to 7-bit printable ASCII and have 1 string per data statement - or no data statement at all...
my way:
DATA "A13^&*056a#$F2akwu1DE" <--21 ascii characters + 2 quotes holding 147 bits of data
your way:
DATA 25.52,26.51,25.6,21.2,12.51,13.8,12.3,13.4,12.2 <--- 47 ascii characters (including commas) holding 9 color values plus the RLE... roughly 144 bits of data... not a good way to compare the two methods since you have RLE included already