CONTENT
NEWS ABOUT ME PROJECTS
IMAGES
PHOTOS DRAWINGS MORROWIND OBLIVION WoW WoW: BC KotOR
CONTACT ME
GUESTBOOK LINKS FORUM E-MAIL
JPG2ASCII
This is an interesting little app I made once. It basically takes any valid JPG file, reads its data and then outputs it as ASCII character data. Works best with high resolution images. Pretty fun. Took me about an hour to make. Code available on request.

Keep in mind that you might have to change your font size for optimal results (ctrl + mousewheel). Anyway, a word on the algorithm to use (see combobox):
Fast: cheap and fast generation, and the lowest quality.
Basic: medium quality, and not terribly slow.
Best: second slowest, but provides the best quality for most images.
Color: the slowest, but the quality is far, far superior becaues of the added color.
Clean: mostly a novelty thing as it does not generate actual ASCII, just uses the same character over and over, but with color.

Enter a valid url to a JPG file...


Image URL: http://www.jennana.com/images/gallery/jenn467.jpg
Image dimensions (original): 480x640
Image dimensions (resized): 160x128

sssjCCCCC22aka22aCC2ka222CCC2aEEajjsC2kE2sCCsjjsEPkE2kkkP2sfjjYfjjssaE2Cjsj2asfYIjssssCaCsjjffssjffsCakaCsCjjj22aCssCaEEaC2aakka2akaaEPPPPaa2222aaa2kGWGMPkMMMMN#
ssjCCCCC2akaa22a2CCakaC2CsC2akPa2Yfs22EkCCCCCfjsEEkaakkkksjjjffYjjCskkCsCjsaCjYYYffCssCC2CjjffCsfffj22aCsjCffj2C2CjsCaEk2C2aakkaC2kaaEPPGPk2CC22222222kGWPaMMMNNN
ssCCCCC2akaa22aaCCCka22CsCC2aEE2sYjsaaE2C2CCCfj2EEkaEEkE2jjjfjYfjjC2E2sjCjC2sYYfYYjssssCCCfffsCsYfssC22CsssjfjCC2CjsCakaCC2a2kkaCaaaakPPGEE2CCC22222CCCaGE2EGMMM#
CC22CCakkka222a2CC2k2C2sssC2aEk2jfjCakE2C2sCsfjaEEkEEEkksCjsffYffsCak2jsCs2CjffffYjsCjjCC2fjss2ffjss22CCsssjfsCCCCjsCkkaCC2aaakaCaaaaaPPGPEaCCCCCC22CCCCakaakkkkO
222CCakkE2222a2CCC2aCCCsssC2kEa2YffCakE2CCsCffjaEEkEEEkCCssjsjfffsCaassCCCCCfsfjfIjsCjj22CjsssCYfjssCsCCssjjfCCCCsjCCkaaCs2a2aaaCaakaaPPPPEa2CC22C22222CssC2kEPP#
22CCakkEaCa2a2CssCa2CCCsss2aEkasYYjCkEaC2CCsYfsaEkEEEE2C2ssjjfjfs22aCsCCC22jssj2YYfsCjjC2fjCs2jYjCjCCsCssjjffCCs2jsCCkaassaa2aaaCaakaaPPPEEa2Caa222CCsssjsjjs22kN
22C2kkaaC2Ca2CCs222CCCsjss2akkajYfjCkkaC2CCCfjsaPEPPEa2222sjjjfj2a2CC222s22jssssfYfjCjjCjjsCs2IYssf2sCsssjfYfssCCjCCaka2Cs22Caa2CaakaaEPPEkaakaCsssCsssjjjjffffj#
2C2aaaaC222a2ssCa22sCCsjsC2aka2fYfs2ak22aCsCfjskEEPEk22aCasjsjfCkaCC2a22s2sssCsffIffsfjsjj2sCsIf2jsssssjjjfYjssCCjsCaaa2sC2222222aaka2EEPEkaCjjjjjjs2CjffjffYYYfN
CC2aaa22C222sss22CCCCsjssC2kkaCYjjjakk2aa22CfsCkEEPEaaa2a2sssjsCk2Cs2aaC2CsCCCsjYYjsjjffjC2ssYYsssCCjjjjffYfjjsCsssCaa2ajC222aaC2aaka2kkPEkasjfjjsC2sffffffYYYffN
sC2aaC22222sssCaC2sCjsjjsCakkasYfjjkkkCa2C2sfsCEEEEkkaaaaCCCsssakCsC2a2s2CC2assfIYjsfjffjCjsjIfsfCCfffjffYYfjjsssjs2a22CsC22C2aC2aakaaEEPkkasjj222jffffffffffjjjN
C2aa22a222Cjssa22Cssjsfjj2aakajfffskEaCka22sfs2EEkEEakaa2C22s22k2CCCaaCCC2CaCjfIoIfjjffYssjjYYfjjsfYYffYYYfffjssjsCs222CsC2CCC2C2aaa22EEEkkass2sjfffYfYfffjjffjjN
C222222C22jjs222CssjsjfjC2aakaffffsaPa2a2kCsfs2EkEPkak2aCC2as22k2C22a2CCCC22fYIo1IYfsjIYsjffIIYjfYIIIYIYIIfYffCjjCss22CCCCCCCCCC2kaa22PEEkk2sfYYYYYYYYYffjfffffjN
CC2C2a222Cjss2C2sssjsfjjC2aak2YfjYCkEa2aakCsjCakkPkaak2222a2C2aa2C2aajCss2sfIo111IYsCYYfjfYIIoYfIoooIoIIoIfYYfsjjsss2CsCssCCCCsCaaEaC2PEkkaCfYYYYYYfYfffffffffjjO
22C2aa2CCjjsCC2CjsjjjffjC2aaa2YjjY2EPC2aka2sjC2Eakkaaa2C2aka2aaaC22kCsCjsCfI1171oIjsfIYfYIoo1II17111o1ooooYIIfjYjjfssCsCssssCss2kkE2CaPEkk2jfYYYYYfffYYYfffffffjO
2CC2ka2CjjssC22sjsjjfffsCaaaaCYfff2EPCaakaEssC2kkkkaa22aaaa222k2CC22CsjjCfI17]]1oIYYooIoo111117]7]7177o11oIoIffYjYYjjjCsjjssssCakEk22kEEkaCjfYfYYYYfffYffffffffjN
C2aaaa2sjsCs22sssjfjfsjsCaaa2sfYYf2EkCaakkkjCC2aakaa22Ca22CsC22jCC2CCCsCjYo7]]]1ooo11oo77]]77]]v]]7]]7771o11IYIIYIYfjfsjjjssjC2kEEaa2aEka2sjYYYYYYYYfffffffffffjN
aka2k2CjssCs2CCssjjjfsjCCa222sfYYjakEC2kEk2jC2aaak222C2a2sjjjsfYjCsjsCsCjfYIo177717777]vvvvvvvvvvvvv]]]]717ooo1oooIYfYfffjssssaPkk2kCakaaCjfYYYYYYffYffffffffffjN
kaaaa2sjCCaC2sCjCjjfjfjCCa222CffIsakE2akEaCjC22aka2CCs22sYfYsYoIfjY11oIYYffYIooo17]vv!!!!!!!!!v!!!!vv]]]]711177711IIYYfYfjsssCkkka2kCkka2sfYYYYYYYYYYYfffffffjjjO
ka2a2CsjC222CsCjCjjfsfsCCa222sffIsakEaaka2ssCCCaa2CCssCjYIYffo7YfY17771771ooIYIoo7]]v!!!!;;;;;;;;;!!!vvv]7]]7]v]71oIffjjjjssCCkk2kkaaaa2CjfYYYYYYYYfYffffffjfjjjO
a2a22sssCa22sssjsjffsfCCCa2C2sjYIs2kk2aa22ssCCCaaCssjssYoooIo11YIo1777]]]]]]]]1117]7v!!!;;;;;;;;;!!!!!vvvv]]]]71oYfjsjjjffjjjskkEEEaaaaCsjYYYYYYYYYfYffffffjjjjjN
22k2CCssCa2CCsjjjjfjff2sC22C2sjYIC2ka2aa2CjjjC2aCsCjfjYoo1ooo1ooIY11ooo1o7]vv!!!vv]]]v!!;;;~~~;;;;;!!!vvv]771oIYYfYYYo11ooYYYskPPEkaaa2CCfYYYYYYYffffffffjjjjjjsO
222CCsCs222sCsfsfjfjfj2CCaCCCsjYICsaa222sjfjjC22sssYIYo111o1oYYYfsjYfjIIfo11]v!!!!;!!!;;;;~~~~;;;;;!!vvv]]1oooooo11177711oIYfaPPEEkaaaC2CfYYYYYYYffffffffjjjjjjsO
22CCCCsCC2sCCjjsfjfjfj2C22s2CjjfICsCaC2sjffjj2CCsjjYoo177oYffs2aaa2a2aCsCfY177v!!;;;;;;;~~~~~~~;;;!!vv]]7777111111o11111oIIIsPGPEEaaaC22CfYYYYffYYfffffffjjjjjjsN
22CC22s22CCCCfsjfffjYC2C22s2CsjfICsC2CCsfffjs2sjjYYo1771Ifj2kajY2fYsa2sCjYjY1]7v!!!!;;;~~===~~;~;;!v]]7711oYfjsCC22sfYYoooIfGWGPEkaaa2222fYYYYYYfYffffffjjjjjjjsN
2CC22ssC2sCsCjsffffjfCCC22sCCsjfYCC22CCsYfff2CjjYIo1]7]]7ofssY7!fI7IfYIY]!]IIo77]vvv!~~======~~~;!v]771oYfjs22aaCjCakkafo1IkWGGGEka2a2222ffYYYYffffffffffjjjjjjsO
CC2CCsC2CCCCsjsfffjjf2CC22sC2sjfYCC2CCCjffjCCfYYo777vv!!vvv7oI7]]YIYYYIv=~~v7YY17vv!;~==:::==~~~;!]777Ijs2C2aCCC7;!1f2EkssjEWWWPka22aa22CfYYYfffffffffffjjjjjjjsN
CCCCCCC2C2CCjjsffjsjf2C22CsCCCjfYCC22ssffjssjYoo7vvv!!;;;;;!vv]77]71o1]vvv]71oYYov!!~=:::=::===~;v]77IjfY2CCsjjo~=~7fssssffEWMGPka22aa2CCfYYYYfffffffffjjjjjjjjsN
CC2Css22C2sCjjjffjssf2C222CsCCfYYCC2CssjfjjfIo77]!!!;;;;;;;~~~~;;!]1ooIoooo177]]]!;;=::::::^:==;!v7]]oIo11oIffo]v]1IfsYoo1oEWWGPk22Caa22CfYYYffffffffffjjjjjjjjsN
2s2CCC22C2jCjjfffsssf2CC2CCsCCffYsC2CjssjfYI11]]v!;;~~~~~~~~~~~=~~~;!vvv]o1171]]v!;~::::::^^:=~;!]7]]77711117ooIIYYYYIooo1oEWWPEa222ka2CCjYYfffffffffffjjjjjjjjs#
CCCCsC2C22jCjjYYfssCj2CC22CsCCYfYsC2CjsjjYoo17]!!;;~~~~~==~=====~~~~;;!!!vvvvvvv!~=::::::^^:::~;!]7]7771717777771117171111okWGPk22C2ka2CCjfYYYfffffffffjjjjjjjssN
CCCCCC2C2CsCjjYYjsCCj22s22CsssYfYsaCCssjfIo177]!!;~~==============~~~;;;;!!!!!;;=::::::^^^:::==;!v77]]]77]]]]]]]v]]]777711oaGGPaCCC2aa2ssjffYYfffffffjjjjjjsssssN
CC2CC22C2sCsjffYfCC2j22C22CsssYfYsaCCsssfo117]v!;~~=================~~~~;~;;;~~=:::::::^:::::==;!v77]vv]vvvvvv!!!vvv]]7771oaGGP2CsCCaaCCjffffffffffffjjjjjjssssCN
C2C2C2222sssjYfff2CCj22s222ssjffYsaaCsssYo117vv!;~~=================~~~~~~=====::^:::::::^^^::=;!v717]vvvvv!!!!!!vvvv]]]711kGGE2CCCC2aCsjffffffffffjjjfjjjjssssC#
C2C222C22CssfYjYj22CsC2s22asCfYfYs2ksCssYo17]v!!;~~====:===========~~~~~======:::^:::::::^::::=;!v7177vv!!vv!!!!!vvvv]]]77oEGGkCssC222CsjffffffffffffjjjjjsssssCN
222C22CaCCCsYYjYs22CCCCC2aassjYfYs2ksCCjfIo7]v!!;~~==============~~~~~~====:==::::::::^^^:::::~;!v71177vv!vvvvv!vvvvvvv]]7YGGPassCC2CC2sjfffffffffffffjjjjsssssC#
222C2C2aCsCsYYjfC22C2aCC22asjjYYIs2as2CsfIo7]v!!;~~============~=~~~~~~~======::::::::::::::::=;!v]1177]vvvvvvvvvvvvvvv]]7CGPP2sC2C2CCCjffYfffffffffffjjjjsssssC#
222CC222CsCjYfjj222C2aC222asjjYYYsCajkCCfYo1]v!!;~~~========~~===~~~~=~~~======::::::::::::::=~~;!]71777]]vv]]v]vvvvvv]]]oGGPE2sCCCCCCsjfffffYfffffjjfjjjjsssssCO
22CC22a2sCCfYjfsaa2sCaC2222sjjffYs22CE2CjfI17]v!;~~~=============~~~~~~====~===::::::::::::::==~;!v71777]]vvvvvvvvvvvv]]7sWGPk2sCCCCCCsjfYfffYfffffjjfjfjjjssssCN
22C222aCsCCYfsfs2a2s222C222CjfffYsC22kaCjfI17]v!;;~~~===========~~~~~=~~=~~~===========::::::=~~;!v]11]]]]]]vvvvvvvvv]]]oGWGEaCCCCC22CsjfYYfYYfffffjjjjjjjssssCCO
CC222a2sCCjIfjfCaa2s222C222CjfffYsC2CkE2sfYo7]v!;;~~~~~==============~~~~~~~~~;;~===~~==:::::==;;!!v7177]]]]vvvvvvvvvv]7aMWPEasCC2CCCssffYYfYYffffjjjjjjjjsssCCCN
Cs222a2ssCYYjfs2aaCs222C2222jffffCs2CEEasYYo1]v!;;;~~~~===============~~~;;~~;!;~===~===:^^^^:=~~;!!v777]]]vvvvvvvvvvv]YWMWPE2sCC2CCCssffYfffYfjjjjjjjjjjjsssCCC#
Cs22aasCjCYYjfC2kaCC2CaCa222jfffj22C2kEaCYYo17v!!;;~~~~=============~~~~~;;;;!!~~===::::::^^^^:=~;;!!]77]]vvvvvv!!!vv]1PMWGPkCC2C2CCCsjYfYffffffjjjjjjjjjjsssCCCN
sC22a2sCCsIYfj2aa2CC2CaC2222jYffC2a2C2EaafYI17]!!!;;~~~=============~~~~;;;;!;~~~===::::::::^^::=~;;;]]7]]vvvvvv!vvv]72MMWGPas22C2CCCjffYffffYffjjjjjjjjjjssCC2CO
sC22aCssCfYffs2ak2C22CaCaa22jfjf22aaCCakajYI17]v!!;;;~~~~==========~~~;;;;;;;~=====:========::::=~~;v]v]]]]vvv!!!!vv]jMMWWGPaC22C2CssjfYYffffffjjjjjjjjjjssssC2s#
CCaa2ssCsYffjC2ak2C2CC2Ca222jfjf22aaCCCkaCfIo7]v!!!;;~~~~~~~=======~~~;;;;;~====~~~~;]YI1]!~=::=~;;v]]77]vvvv!vv!vv]YWMMWWGPC22as2CssjfYYffffffjjjjjjjjjjssssC2s#
s2aassC2jYfYs22ak2s2CC22aa2Cjfjjkaaa22C2k2fIo1]v!!!;;;~~~~~~~=====~~~~~~~~~==::===;;;;;~~==~=~~;!!v7177]]vvvvv!vvv]IGMMWWWGk2aCaCCCssjffYYfYffjjjjjjjjjjjssssC2s#
s2aCssCCYYffC2Cka2s2CC22aa2Cfffskaa2ak2CakjIo17]v!!;;;;~~~~~~===~~=~~~~~~====::::::=====::=~;;;!]71177]]vvvvvvvvv]oPMMWWWWPa2a2aCCCssjfYfYfffffjjjjjjjjjjsssCC2sN
CC2CsCCsYffssCaaa2sasC22ka2sjsjCk2aakkkC2kCYo17vvv!!;;;~;~~~~==~~~~~~~~===::::::::::::::::=;;~~!v77777]]]vvvvvv]]IPWMWWWWWPkaa2a2ssjsjfffYfffffjjjjjjjjjjssCC22jO
2CCss2CYfYfCCCaa2CsasC22kaCssjj2k22kEkkkC2afo17]v!!;;;;;;~~~~~~~~~~~~~===::::::::::::::::=~;;~~;!]7777]]v]vvvv]7oPMMMWWWWGEkka222ssjjffYYYYfffjjjjjjjjjjjssCC22j#
2CsjC2fYffsCCCaa2CC2sCCaE2CCsjskka2kPEEE22asI17]v!!;;;;~~~~~~~~~~~~~===:::::::::::::::::=~!!;~=~v]]7]7]]]]vvvv]oEMMMWWWWGGPkkka22sssjfYYYYYfffjjjjjjjjjjjssCC22fN
2CjsCsfffss2CCaC2CCCsCCkkCC2sCskaa2aPPEPa222fo7]v!!;;~~~~~~~~~~~~~~======:::::::::::::::=~!!;~=~!]77777]]]vv]]1EWWWWWWGGGPEEEka22sjsjYYYYYffffjjjjjjjjjjsssC22sf#
2sjCsjffsCsCC2222C2ss22akC222CCkaaaaEPEPE22aCY17]v!;;~~~~~~~~~=~~~========::::::::::::===~;;;;;;!v]]]]]]]vvv]1aWWWWWWWGGGPEEEkaCCsjjjfffYYffffjjjjjjjjjjjssC22ff#
CjCCjfjjC2ss22222CCssCaa2s2CaCaaaEkaEPPPPaaa2so7]v!!;;~~~~===========~~~~=::::=~~~;;;;!!!!!!!!vv]71117]vv!!v7aWWWWWWWGGPGPEEEaasCsjjjsCCCCCsssjjjjjjjjjjsssC2CfYN
ss2jfjjs22ss22aCCCsCC2a2C2aC2CaaEEE2EGPGPEa2a2jo7v!!;;~~~===========;!!vv!!v]71II17]]]7]]]]]77oIYYY1]vvvv!v7CWWWWWWWGGPPPEkEEa2jCsfjjsCsCCCCCCCCssjjjjjjjssC2CYYO
sCjjjjssa2ss222CC2sC2aaC22a2a2akEEk2PPPGWEka2a2fo7v!!!;~~~========~~;;!v77]1IfjsssCCCCCC22aCssCjYI1]vvv!!v7aWWWWWWWGGPPPPEkEka2j2sjjsCCsCCCsssssssssjjjjjssC2CYYO
ssjjjss22sCs222sC2sCCa22k2a2C2aEEEkCGPGPWGkaaaaCY17v!!;;~~=======~~~~~==:==~~;!]71oYffjjjjfYYYYIo1]]vvvvvoEWWWWWWGGGPPPPEkkkkaCjCjsjsCCCCCCsssssssjjjjjjjssC2sYYN
sjjjssC22sCC222sCCC2222ak22a2akEPk22EEPPWGEka2kasf17v!!;;~~~~~~~~~~====::::=~~=~~;v7111177o771117]]vvvv]jGWWWWWWGGGPPPPPEkEkk2Cjsjjs2k22C2CCssssjjjjjjjjjjCC2fYY#
jfjssC2CCsCCC2CCCCCC22aEk22C2kEkEk2akkPPGGPPaaakasY17v!!;;;;~~~~~~=====:===:=~~=~~;;!;vv!!vvvv]17]v]]]1aWMMWWWWGGGGPPPEEkkEkaCsjjjjj2kkEEka2CCsssjjjjjjjjjjs2fYYN
fjssCC2CssCCsCsCCC2C2aaEka222EEkkkakakPPPGPGEkakk2sI17vv!!;;;;~~~~~~========~~~~~;;!!!!!!!!!vv7]]]]]7fGWWWWWWGGGGGPPPEEEkkkkaCsjsjjj22aaaEEka2CsssjjjfffffffjYYYO
jCssC22sCCCCCsCCC2ssaaakE22aCkkakkka2EEPGGPPPEkkEk2sI1]vv!!;;;;;~~~~~~~=~=~~~~~~~;!!!!!!!!vv]]]]]]]12WMWWWWWGGGGGPPPEkkkkkkkaCsjjjsC2a2222aaa222CssjjjffffffffYYN
CssCC2sC2CCCCsCsCCC2a2kkka2k2akakEk22kEPGGPPGEkaEEkasI17vv!!;;;;~~~~~~~~~~~~~~~;;!!!!vvvvvvvvvvv77oEWMWWWWWGGGGGGPPEkkEkkkkk2CsfjjsC2kaa2CCC2C2CCCjjfffffYYYYfffO
sss2CC2C2CCCCs2sC2C22Ckaaaak22a2aEaaCkEPGPGPPPkkEEPk2sYo7]vv!;;;~~~~~~~~~~===~~~;;;;;;!!!!!!!vv]7IGWMWWWWWWGGGGGPPEEkkkkkkaa2ssfjjsC2kkkkaa2CCssssjfffYYYYYYYYYY#
ssCCCC22CCCsCC2s2C2C2CaaakE22Ckaakk22akGPPPPPPPkkPPPa2CjI1]v!!;;;~~~~~=~==========~=~~;;;!!!!v]]YGWWWWWWWWGGGGGPPEEkkkkaaaaa2ssfjjsCC2CC2CCCC2CCssssjjffYYYYIYYYO
CsC22Ca2CCCss2CsCC2C2CaakEEaCCak2kEk22kGGPEGPEPkkEEGEk2CsfI7]v!;;~~~=====::=:======~~~;;;;;!!v]YGWWWWWWWGGGGGGPPEEkkkkkaaaa2CssjssC2CCCCCssjjjjjfffffYYYYIIIIIIY#
Cs222Ca2CssCCC2CC2asCCaakkEk2sak2aEk2skPPPEGPPPPkkPPGEk2ssjYo7]v!;~~~===:::::=:=====~~;;;;!!v]YGWWWWWGWWGGGGGGPPEkkkkkaakaa2Cssfss2EaaCCssjfffffffYYYIIIIIoooooIO
sCaC2C2CCCCCCCs22aCC22kakkEkk2saa2k2kskPPGPPPPPPEkPPPGPk2sjjfYo7]v!;~~====:========~~~~;;;!v]jGWWWWWGWWGGGPGPGPEkkkkkaaaka22CssfCsaEPPEk2sjffYYYffYYYIIIoooo1ooo#
s2k2222CsCCsCC22CkCCC2aakEkEEksCaaaaECaPGPPPPPPPGkkGPGGEk2sjffYYI1]v!;;~~=======~~~;;;;!!vv12WWWWWWWWWWGGPGGGPEEkkkEkaa2ka22CjajssaPEPWGGPEaCsffjffYYIIooo111111N
skk222CCsCCsCsa22aCss2k2aEkkPaCjsa2kEkCEGGGPPPEPGPkPPGGPEE2sfffYYYIo7v!;;~~~~~~~~;;!!!!vv7sPWWWWWWGWWWGPPGGGPPEkkkEka2aaa222sjajsskEEEPPPGGPPPEka2CsjfYIooo11111O
2aka2aCCsCCssCaCaaCssak2akkEPa2CsCCkkE2aPGGGPPEGPGEkPGGGPEkasffYYYYYYII17]v!!!!!!!!vvv7ICGWWWWWWWGWGWGGPPGGPPEkakEkkaaaaaC22jjkjjjakPPEPEEEEkaakEkaa2CjfIo111711O
2aaaaa2CsCsss222EaCssak2aakPPaaaCjs2kEa2EPPPPPEEPGPkEPWGPPPkaCffYYYIYYYYYYIIIoooooIIfjCaPWWWWWWWGGGWGGPEPPPPEEkkkEaa2aaa222sjjEjjsaCaPPPEEkka2akkaaa2CsjfIo11171#
C2akaa2ss2sss22kkaCjsakaa2EEkkkk2Csj2EE2EPGGPEEEPPGEEEGGPPEPEa2fffIIIYYYYYYYYYYYYYfffjCaPGGGWWWGGGGGGPPPPPPPEkkkEkaa2aaaaaCsjjajj2EPkkEkEEEkaaaC2kka2CssfIo11711#
s2akaaCCsCsjC22kEaCssakaaakEkkEkakCjsCkkaPWGGPPEPPGPEEGGGPPEPEaajYYYYIIYYYYYYYYYYYYYfjC2EPPGWGWGGGGGGPEEPPPPEkaEkka2akaa22CsjjCfsEWGkkEPka2aaa2C22C2a2sjjfIo1111#
s2akaaC2CCssCaCkEass2aE2kaaEaaEkaEa2ssCakkGGGPPPPPGGPEPGGGGPEEEk2sfYYYIIIYYYYYYYIIIIYfj2aEPGGWGGGGGGPPEPPPPPkaEkEk2aEkka22CsjjfYjCEGGEa2PEk2Css2C2CssC2sfYIo1177N
s2akaaC2sCssC22EEaCsCaP2aa2kaaEEaEkkaCjaaEEPWGPPEGGGGPPPGGGWGPEPk2sjjYYYYYYYYYYYYIIIYfjCakPGGWGGGGGGPPEEPPPEaEakPa2aEkak2CCCsCfYfffC2EGEsaEka2sfs2aCsjjCsYI17177#
2kakaaCCsCsCCC2kkasCC2Pa2aaaakEPkkEEkaCC2akEWWPPPGGGGGPPGGGWWGPPEa2CssfffffffffffYYfffjs2EGGGGPGGWGGPEEEPPPkkk2EEa2EEEkk2CsCC2jssfYfjYskE222aEaCfja22sjjssIo1777#
kka2C2CCCssC2CaEkaCCC2EkaaaakaPPkkEkEkE222aaWWPPEPWGGGGPPGGWWWGPGka22sCsfffffffffffffjjCaEGGPPGGWGGGPEkEPPPkk2aPkaaPEEEE2CCCC2sCsjYoYI11faa22Ca22s2CC2CjfsjI1777O
kkkCC2C2CCs2asaEkksC2aEE2akaaaPGPkEkEEEEaCakkGGPPPWWGWGGPGWGWWWWGEk222CssjfYfYYYfffffjsCkPGPEPGGGGGGPEEPPPPEaCkEakkPEPPEC22s22jEEjfYII1]]7Yaa2sC2aa2sjCCjssYo177#
2sa22aCCs2sa2skkkks22kEP2aaaakPGGkkkkEEPEEa2EPPPPPWWGGWGGGWWWWWWWGkaCCCCjjsfYYYYfffffjsCEPGEPGGGWGGGEEEPPPEkaCkEkkkPPWGE22a2aCCGGE2YYoo1]!!7fakCs2EasjffsjCfIo17O
js2kEasCs2C22skkkksCakEPa2akaaEWGkkEEEEEPGPk2kGGPPGWGGGGGGGWWWWWWGPkCsjjsfffffYYYYYYffj2kPPEPGGGWWGGEEEPPEka2CEEEkEEPGG22a2kksEWGGk2CfIo1]v!v1Ck2saECsfYYsCfIo11O
CakEP2C2CCC22CkEakssaEEPk2kkaaEGGEkkEEEEPWGPkakGPEPMWGGWPGGGWWWWGWGPaCjfffYIIfjIYIYYYfjCkPPEPGGGWGGGPEPEPEk22CPEPPEEEPEC2aCPksGMWGPEsfjY11v;;vvIaaakksjjYY2jYo17N
EPEEkaCC2Ca2aCakka2saEEPk2kkaaEGGPkkkEEkPGGGGPkaPPPWWWGGGPWGGGGGPGGPEkCjffYIoIYIoIIIYYjjaPPEGGGGWGGGPEPPEEEa2CPPGEPEEEaC2k2Pa2WMMWGEEaIfsI1v;~!v7CEaa2fffIsCfI11N
GGEEEaCs22a2aCaaka2CaEEEE2akkakWGPEEkkEEEGGGGWWPkkEGWGGGGPGGGGGGGPGGE22CCfYIooYooooooIffaPGPPPPGWGGGEEPPEEEa22PPPPPGGEaCCkaEakWMWMWG2jafIfsov!!!]7sEkksfffCjfI17O
PPPEEaCC2ak2aa2ak22saEEEEaakaakGGGEEEkEEEGGPWMMGGkkPWGGGGPPGGGPGGPGGE2sffjsfYIooooIIoIYfCPPEPPEGWGGPPEPPEEEa22EPPGPPPPkCaCaEkkMMMMWWPCIj2YIsY7v!!71aEa2fYfCYfoo7N
PEEEk2C2aakaaa2aka2saEEEEkakkakGGGPEEkkEEGGGWMMWGPEkPGGWGPPGPGPGGPPPPasYIIYfjYIIIIIIIYffsPGaPPkGWGPGPEEEEEPkaaPPPPPPGE22kCkPkEWWMWWWWPCoo2joYf1v]]ojakkjYCjYf117O
EEEEa22aaaaaakaaEa2s2EEPEEakkakEGGPEEkkEEPGPWMMMWPPEkPPWGGEGPPGGGGPPP2sfIIIIoofYjIYYYfjCCEGkEPkGGGGGPEEEEEEkaaEPPPPGGPCak2EEEkWMWWWWWGECY1j2YIfI]17f2kE2s2fIII77N
aakkkCaaaEaakkkkka2s2kkEEEkakkkEPGGPEkEEEPGGWMMMWPPPPkEGWGEEk2EGGGPPG2jfIIooo1IYIfIsjYssskPPEGkPGGGGPPEEEEEaaaEGPPGWGEskkkPEEaPGWMMWWGGPCIo1CsoIY7oI22EE2sf1oI1]#
aaaka2aaaEaakEEkaa2CakkEPkEakkkEEGGPEkEEEEGGWMMMWGPEPPakGPPEkkEGGGEPP2jfIII1111IoIo111ooYYCPEGEPGGGGPPEPEEEPkakPGGGGGk2EEPPPEaPEPWWMWWWGPajI1IsYojIfC2kPajf1oI]7N
2aaaaa2akkkkkEPkkkaCkEEkEkPakEkEEEPEEkEEEkGPWMMMWGGPPPEaEEEEEEEPPGPPGkjYIooo111111777711osCEPPEEGGGGPGPEPPEEkaakEGGGPa2EPPPPPkPPEPGWWWWWGGE2Yo1fjIfsa2kPksfoIY]vO
22aaaaa2kEEEkkPaEakCkGPaEEEkaEkEEEPEPkkEPkGPWMMMMGGPEEEEakkEPPkkEGPPPk2jIIIo11177777777oofI2PPEEGPGGGGPPPPEEEkka2aPGP2kkEPPPPkPPPEEPWWWWWGGGEjo71fjjaakPEsYoYo]vN
22akkaaakEPPkkEkakkCkGGkEEPE2kkEEPEEPEkEPkEGGMMWWGWEEkEEPakkkkEkEGGGEaaCfIIoo117777777711IYjaPPkPPGGGGGPPPEEEEkkCCsaP2EEEPPEPEPGPPPEEGWWWWGPWGaf17IsCkEGECfIf1]v#
CCakkk2akPGPEkkkkaaCkGWkaEPEaakEPEEPPEkEEEEGPMWMWWPEEkkEEEakaCC2PWGGa222CfIIo1117]]]]]]]771YYkPEPPPGGGGPPPEEPEEE2sfYfCEPPPPPPPEPGPGPEEGWWWWPGWPECI1ofaEPP2jYf7]v#
EEEPPEaaEPGGEEkakka2kGWEkEPGa2kkPEPEGEkEEEEGPMWWMWPEEkEkEkkaaC22kGGGaC22k2fIIo117]]]]]]]7771YsPkkPPPGGGGPPEEEPEPaCjYIYsEEGEEPPPPPPPPPEEPGWWWPPPEEksIIjEPPassYo7vN
aakEEEakEPWGPEEkkk2aEPWPkPPGE2kkPEPPPEkkEPkPGGMWWWPEkkkkkEkk22C2EPWP22sjjsaCIo1177]]]]]]7777ofkEaPEEGGGGPGPPEEPPEasYooIY2EEEPPPEPPPPPPEEPPGGGPPkEaEafY2PPE2CfI17N
jCC2kPakkEGGPPEEaa2kEEWPEPPGP2kkPEPGPEEkEPkPWPWMWWEkEakkakkkaC22PPWaCf]IYIYsajIo77777]]]]7771I2P2EEEPPGGPPPPEkEPPECfo1171faEEEPPPPPPPPEEkPPPGGGPPPaaECfkPPE2jfIo#
fssakEkakPGGGPEEkaCkEEGPEPPGPaaEEEEGPEEkEPEEWPWWMWEEkaaaa2kakaCCPGGsjfIsYIoIIj2f17777]]]]]777ofEkkEkPPPGPPPGEkEPPEkjI11771ICkEEPPEEEPPPEEkPPGGPPEEEEkEkCPPkkajYIN
ss2akPk2kEGGGGPPEa2kkEPPEPGGGaakEEEGGEEkEEEkGPWMWGEka2a2aaaaak2CPGafYYYYjYIIooIjCI7777]]]77771o2EaEkEPEPPPGGPEkEaEEafoo117oIfaEPPPEEEPPPEEkEPGPkaEkEkkaEkPEa2aCf#
EkEkEEkaaEPGGPGEEk2EkkPPPPPPGkaEkPEGPEEkEEPEGPGWWGE2222CC22aak2CEGjYIIIYI!vYooIoofs177777777711YkkEEEPEEkPGGPPEks2kE2Yo7771oof2kEPPEEPPPPEkEPPPE2CCkk2k2aEPk22k2N
aPGPPEEkaEPGGGGEEE2akEPPGPPGPEakEEEPGPEkkPPEPGEWWPkaaC2CCsCaakCakEYYIoIooIfjYIooooojso177777111ojEkPEPEkkkPPPPPEakCkECI17]777ojs2kPPPEEPEPEkEPEEaCsj2k22kaEEa2CaO
CaaEPGPkakPGWWGPkEakaEPPGPPWGEakkEEEPPEEkEEkPPEWWEa2CCCCsfs2akakPCYYIooooooI77IIoo11osjo177771ooIaaEkPEakaaPGGPGkasjakso1]7]71oIYf2EEEEEEEEkEEEEkjfIYsaCjkkEk2CsO
a22C2kkkakPPWMWPkkkEkaEPGPGGWPkaEEPEPPEkkPEkGGPWWkk2CCsjjjfCak2EPfYIoo11oo1ov]YIoo1111off11771ooojkaEEPaa22EPGPPP2CjYkkjo77vv71oIoIjCkEkkEEEEEEEkCIoooICCf2EkaCs#
CsC2aaakaaPPPWWGEaaEEaaEPGGGWGEaEEPPEEPEkPEkPGPGWksCCCsfffjs2k2PaYIIoo1111111ofI1ooo1111ojfo1ooooY2aEkPka2CaEPEkPPkCYYkkYo7]v]]7111oIf2kkkEEPEPPEkI17711sCjjkEas#
sCCCC2akkaEEPWWGEkaEEk2kPGGGWGPkkEPPEPEkkPEkPWPGGksfCsfYYYfsCkaGsYIIo1111111111;=oIoo11111IjfooooIfkkaPEa2sCkEPkaEEsfYYk2I17]]vv]]77oIYsaakEEPPPPECo7]]71sasfaEk#
CjffjC2EEakEPWWPkkaEEkk2PPGGWGPkaEEEEGPEkEEEGWGGGEC1oCffIIYjskkPjYIoo11111111171oYoo11111111YjYYIIYaakEE22CCaaEP22E2sYojkso1]vv!!vv]]7oIsaakEPGPEEkY7]v]]1jssfaEN
YYYYjs2PP2aEEPWPaakkEEEaaPPGWWPkkkPPEPPEEEEkGWWPGEC7vfjfYIYYCkkEYIYIo11777177777111v1o111111oofjYYfjkEaEaa2js2akECCEasIoskY11]v!!!!vvv]71j2kkEPPPEE2Y]!vv7IjYCjaO
IIYYfsaPPaakEEGGaakakkEkakPPWGGEEkEPPPGEkEPEGGGPPEC1v]IjYIIICkEaYIIIo1177777777777];oIo111111oIYjYffaEaEkaCff2CC2ECCECfIIC2o]7vv!!;!!!!v;7sakakPPEkk2I]vvv]IfY2s#
oIIfj2kEEakkkkGGaaEkkkEEkkkPWGGEEEkPPPPEEEEkGWWPPEso]v!YfYIYCkEsIIoooo177777]]777777oY11111111oofjYfskEEk22fYssjfCkjjkjIoY2j]7]v!;;;;!!::;1skssaEEkEaCovv!!]ooICO
oIYfsaEEa22akkGGk2kkaakkaEakGWGPEPkPPEPEEEEEGWGPGPsY1!~!YfYY2kkjIIoo111777]7]]]]77777]:~11111ooIIfjYjCEEk2CjIfjfooskfC2fIICaI]]v!;;;;;^^^:!I2CoI2kkkPaCIv!;!7IoIO
oIYj2aE2CC22EkPGk2kEkakkkkEkkWGPPPEEPPPPEEEEGGPPPP2fo!=~;YfjakkYoIo11777]]]]]]]]]777777ofo1111ooIYjjfjaEE2sjfYjY111jafCfYYf2s7]vv!!;=__,,^~7sCo7I2akEE2Co!;;v]I1N
oIYsCaaCssCCaEEGE2kEEaakkkEPkEGGPPPkPPPPkEEEGWGPPPkjo!~~=;fC2akIIoo117]]]]]]vvv]]]]777771]!7ooooIYfjjjCEk2sjYIfI]777j2oafIICaI]vv];,---__,=!ojYv7I2kkkk2f7!!!v1IN
IYfCCa2CjjsCCkEPPaaEEEaakkkPPEEGPGGEEPPPEEEPGGGGPPkCIv=:=~]2CEkYIoo177]]v]]]vv]]]]]]7]777v~1IoooIIYfjsCkkasjYYfo]]]7]YCC2Yof2j17]=_------^::v7s!v7I2k2CksYv;;!!oN
Ifsj22sjjjCCC2aEPkaEPPaaakkPGGEPGGGPEPPPEEkPGGGGPEksjv=::;1CYEkfYoo1777vvv]vv]vvvvv]]]]]771oYo1oIIIYfsCakksjffI17]]]77ICCCIY2Co!:,_-----,,,^~:Yf;v7ja2jCaso;;;;]O
fjsCssjfjjsCCC2kEakPGPkaakkEGGPEPPGGEPPGEEkGGGGGPEa2I7~:=~joIkajYIo17]]]vvvvvvvvvvvvv]]]77717::1IIIYfjCaakCfffIo7]vv]]7oCafIjj]:^,__--____,^^^~j1;vI2kYjj2j]~;;v#
jjsfjjffjjsCCCCkE22aEPka2aakPGGPGPGGPEPGEkkPGGGGPEaCo]!==1fvokCjfYo17]v]vvvvvvvvvvvvvv]]]777771YIIIYffs2ak2sYfIo7]v]]]]7Y2j17Y]:^^,__,____,^,,^7s!;7Caj1YY2o!~;!N
jjfYffffjsCCCCCakaC2kPkCC2akkPGGPGPGPPEGEkkPGGGPPEafo]!;!jv!7kfv1YI17]]vv!!!!!!!vvvvvvv]]]77771o1]1IffjsakasffIo17]]]77]]Ys1v17:^^,,,,________,=fI~vf2217oY2]~~;#
fYIIIYffjsCC2C22EaCCkPECCC2akEPGPGGPGPEGEkEPGGGPPEaY1v;;Y]!!v2Y~:;oI17]]v!!!!!!!!!!vvvvv]]]]7771]:!IYffjC2kCjjYIooooo7];:~1f!1v^,,,,,,___,___,,:]sv!oY2Yvv1fY;~~O
IooooIYfjs2CCCC2kaCCaEECCC22aEPWGGGGPGPPPkkPGGGPEE2Y]!!I7~~=~Co^_,:voo17]v!!!!!!!!!!!!vvv]]]]7711ooIYYfjssa2CsfffY7;^,,,:]1f71v,,,____,______,,^=fI]v12Cv!;os]=~#
oooooIYfjj22CCC2akCCaEPCCsC2akPGGGWGGGPPPkEPGGGPPk2I]!Io;~=:~27^___,^!o11]vv!!!!!!!!!!!!!vvv]]771ooI7=vfjsCasjY1;^,______:71Y7]^,_____________,,:]so;vj2o;~!of~~N
ooooIYYfjsCaCsss2aaC2kPasss22aEGGGWWGGPEPkEPGPGPPkCI7I]!===:~C!,_--___^!117]vv!!!!!!!!!!!vvvv]7711oIov7YjsssI!^,__------__^!oov^,____________,,,:=j1!~ICYv=~]f]~#
oIIIIIIffjC22CCsCaa22aPECjjC2kaPGGGGWPPEEkEGGGGPPasff];~=::^;j;^_--_---_,=v717]vvv!!!!!!vvvv]77111oIYYfYY1;:,__-------__--:~;I;,______________,,^^1Y~=]CYv~=;If;O
oooIIIYYYfCCsCCsC2k2CaPEsjss2akkGGGWWGPEEkEGPPGPPa2f];~=:^^:!j;:,_--------_,:!]11117]vvvvvv]7771oIIYo7;:,,:^,__-----_----_=;=!;,__----_--____,,,^^!f=:;fI;~==]jv#
ooIIIIYIIfsssjCsCCE2C2EPsjsCC2kkPPGWWGPPkkEGPPGPPkf]!~~:^^^^;j~:,__----------__^=!]7111771111117]!=^,__-_^~:,_-_---------_,==::^___--------___,_^,=I!:~I1~===;f7N
IooIIYIIYYjsjjjssskEs2aP2sCsjkaaEPPGWGPPEkEGGPPPE2Iv!;=:^^^^;f=:,____-------------_,,^^:==::^,,______--___^;^,___-------___,^,,__----------___,,^,^]7^:17=:~=~o7#
oooIIoIYYYfjjfffjfsECCaPa22IYkkaaPEGWGGPEkEGGEPPEj1v;=:^,,,,;Y=:,,,_____----_--------________-__-______--___,^,,___-----__,;^___-_--------____,,,,,;]:^77=::=~1fN
ooIooooIIYYfffYYfffkkskEk2I]oEkEakkGWGGPEkkPPPPPkf7!~:^^,,,,!1::,,________---------_________-____---______-_=;^,___--_-___,::,__----------______,,,;!=:!]:::=;ICO
ooo1ooooIIYYYYYYYfj2EkkEao]]1EEEkaaGGGGPEkaPPPPPaI7;::^^,,,^!]:^^,_____________--------_-___-_______________,==^,__________-_,,___-------______,,,,~;::~]::=vIs2#
Io11ooooIIYYYfjjs2aaEkCEC7vv7PkEPkaPGGPPEEaEPPPPC1v~::^^,,,:!]::,______________________________________________,^,_________^:____-__--_________,,,^~;:::!=vfCjsk#
oo1oooooII11oIIIIo77YkY221vv7EkEGEkPGPPPEEkkEPPEs1!~::^^,,,:]]=^,_____________________________________________^;:,_________:=,____-___________,,,^:===::=IC2kCCk#
ooooooooIov!;!!!!!;!v22j2ov!7akEPPEPPPPEEEkkEPPEj7!~:^^^,,,=vv:^,_____________________________________________,~~^,,,_______,^,,_____________,,,,^===::::YC2kCCaN
#OO#####OONN##NNNNN#ON#NNONNON#ONO#N##O#O#O#NNOO#NO#OONNNO#NN#N##NONONOONN#OOOO#NO##NOO#OOO#####OOOONNOOOOOOON####NO###OO#OO#####O#NNONNNNN##N#NOO#OONNNNNNOON##N