Replace the XPM desktop icon with an SVG

This PR installs an SVG icon to use as the main icon for dolphin in Linux
desktop environments (through the .desktop file) and removes the currently used
XPM icon. I've also added a 48x48 PNG for any desktops which don't support SVG
icons.

This has been the recommended way to ship application icons since forever
according to the Icon Theme Spec:
https://www.freedesktop.org/wiki/Specifications/icon-theme-spec/

This is also a prerequisite for dolphin appearing in the GNOME Software Centre
which does not support XPM icons.
This commit is contained in:
James Cowgill 2016-02-18 17:02:54 +00:00
parent 1f2b1caf42
commit 8c19e80450
4 changed files with 13 additions and 216 deletions

View File

@ -946,8 +946,10 @@ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|Darwin")
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
# Install the application icon and menu item
install(FILES Installer/dolphin-emu.xpm
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps)
install(FILES Installer/dolphin-emu.svg
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps)
install(FILES Installer/dolphin-emu.png
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps)
install(FILES Installer/dolphin-emu.desktop
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
endif()

BIN
Installer/dolphin-emu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="2048" height="2048" viewBox="0 0 2048 2048">
<linearGradient id="g" gradientUnits="userSpaceOnUse" x1="0" y1="506" x2="0" y2="1588">
<stop offset="0" stop-color="#46D4FF"/>
<stop offset="1" stop-color="#1792FF"/>
</linearGradient>
<path fill="#0057ab" d="m2046.8,1538.65 c-6.813,-22.834 -49.283,-160.537 -120.831,-292.567 -94.261,-173.943 -175.33,-298.279 -310.402,-424.563 -43.445,-40.618 -84.6,-76.916 -127.448,-109.498 l0.047,0 c0,0 -0.329,-0.232 -0.926,-0.673 -0.801,-0.607 -1.602,-1.214 -2.403,-1.818 -15.987,-12.352 -83.345,-69.109 -59.382,-131.767 8.031,-21 27.421,-38.45 50.479,-52.569 l124.091,-1.011 v-46 l-0.03,10e-4 c10e-4,0 0.016,-0.003 0.016,-0.003 0,0 -72.661,-24.686 -199.807,-16.53 -119.328,7.655 -226.545,77.432 -246.588,87.241 -64.265,-18.396 -137.59,-34.619 -223.344,-49.168 -296.609,-50.323 -547.639,29.896 -673.604,117.325 -165.101,114.592 -160.533,221.368 -174.144,274.776 -8.431,33.085 -83.408,94.263 -82.51,137.183 v45.18 l15.489,15.96 58.397,-19.849 6.985,-24.359 c24.022,-8.59 50.325,-20.532 74.217,-30.359 59.615,-24.521 64.209,-37.858 227.133,-62.167 74.956,-11.184 153.843,-14.393 212.575,-14.886 22.855,48.26 79.68,147.46 178.133,195.042 64.027,30.944 135.739,46.795 192.883,54.915 l-7.493,37.679 113.668,16.846 v-45.969 l-0.087,-0.035 c0.022,0 0.035,0 0.035,0 0,0 -95.434,-39.648 -154.146,-98.356 -39.956,-39.953 -49.518,-100.64 -51.552,-135.342 l0.359,0.033 c96.193,18.278 180.215,31.468 381.156,108.425 37.166,14.233 71.829,29.835 103.407,45.589 l-5.935,3.35 90.575,73.044 108.183,89.527 v-45.969 l-0.358,-0.332 c-1.596,-1.983 -124.799,-154.603 -331.827,-256.712 -171.102,-84.392 -311.585,-126.087 -506.229,-135.527 -212.756,-10.319 -369.522,16.999 -369.522,16.999 0,0 4.385,-94.537 165.003,-169.88 139.666,-65.516 359.388,-76.481 611.558,-12.15 356.261,90.886 477.766,245.646 631.012,405.573 97.226,101.465 186.606,244.229 242.951,343.009 l-9.49,-4.259 29.19,75.387 41.753,89.096 v-46.264 l-1.237,-3.603 z"/>
<path fill="url(#g)" d="m1926,1292 c-94.261,-173.943 -175.33,-298.279 -310.402,-424.563 -43.446,-40.619 -84.601,-76.917 -127.45,-109.499 l0.049,0.01 c0,0 -0.34,-0.24 -0.962,-0.699 -0.773,-0.586 -1.547,-1.172 -2.321,-1.757 -15.904,-12.279 -83.413,-69.084 -59.428,-131.801 26.32,-68.822 174.556,-99.582 174.556,-99.582 0,0 -72.661,-24.686 -199.807,-16.53 -119.328,7.655 -226.545,77.432 -246.588,87.241 -64.265,-18.396 -137.59,-34.619 -223.344,-49.168 -296.609,-50.323 -547.639,29.896 -673.604,117.325 -165.101,114.592 -160.533,221.368 -174.144,274.776 -9.794,38.432 -109.389,114.772 -75.534,156.367 21.122,25.95 91.411,-9.289 148.113,-32.611 59.615,-24.521 64.209,-37.859 227.133,-62.168 74.956,-11.184 153.843,-14.393 212.575,-14.886 22.855,48.26 79.68,147.46 178.133,195.042 132.934,64.246 299.005,63.438 299.005,63.438 0,0 -95.434,-39.648 -154.146,-98.356 -39.956,-39.953 -49.518,-100.64 -51.552,-135.342 l0.359,0.033 c96.193,18.278 180.215,31.468 381.156,108.425 175.815,67.334 295.91,165.256 295.91,165.256 0,0 -123.479,-153.98 -331.865,-256.76 -171.102,-84.391 -311.585,-126.086 -506.229,-135.526 -212.756,-10.319 -369.522,16.999 -369.522,16.999 0,0 4.385,-94.537 165.003,-169.88 139.666,-65.516 359.388,-76.481 611.558,-12.15 356.261,90.886 477.766,245.646 631.012,405.573 163.107,170.22 304.146,456.685 304.146,456.685 0,0 -43.489,-151.357 -121.81,-295.887 z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,214 +0,0 @@
/* XPM */
static char *Dolphin[] = {
/* columns rows colors chars-per-pixel */
"128 128 80 1 ",
" c #0057AB",
". c #0159AD",
"X c #035EB1",
"o c #0662B5",
"O c #0866B5",
"+ c #0A68B7",
"@ c #0867BB",
"# c #0B6BBC",
"$ c #0E70BC",
"% c #0666C0",
"& c #0769C4",
"* c #0A6DC2",
"= c #0E72C4",
"- c #0E74CA",
"; c #1176C2",
": c #147BC4",
"> c #137CCC",
", c #0F7AD6",
"< c #0E79D8",
"1 c #127DD3",
"2 c #107FE2",
"3 c #1780C7",
"4 c #1681CD",
"5 c #1984CC",
"6 c #1C89CD",
"7 c #1683D5",
"8 c #1885D2",
"9 c #1A89D3",
"0 c #1484DD",
"q c #1788DF",
"w c #1B8CDC",
"e c #1E91DB",
"r c #2294D5",
"t c #2598D7",
"y c #2196DD",
"u c #269CDA",
"i c #289EDB",
"p c #2AA2DD",
"a c #1788E0",
"s c #198BE1",
"d c #1487E9",
"f c #1488EE",
"g c #1E93E2",
"h c #1C94EC",
"j c #1F98EB",
"k c #1F9AF3",
"l c #1994FA",
"z c #1D9BFF",
"x c #239BE5",
"c c #239CEB",
"v c #219DF6",
"b c #209EFE",
"n c #26A0E6",
"m c #2BA5E4",
"M c #2EA9E3",
"N c #26A1EC",
"B c #29A4EB",
"V c #2CAAED",
"C c #31AFE7",
"Z c #33B4EB",
"A c #36B9EE",
"S c #38BAEE",
"D c #27A5F6",
"F c #28A6F5",
"G c #2DADF2",
"H c #25A5FE",
"J c #27A8FF",
"K c #2AADFF",
"L c #2FB1F7",
"P c #2EB3FF",
"I c #32B4F3",
"U c #36BAF3",
"Y c #31B6FF",
"T c #34BBFF",
"R c #3EC6F7",
"E c #3AC4FF",
"W c #3ECAFF",
"Q c #41CDFF",
"! c #44D1FF",
"~ c None",
/* pixels */
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ..O...X ~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ . ~~~~~~~~~~~~ O6uCS!!!!!!!QSpt:o~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~ +$6666ppp66663$. ~~~~~ OrS!!!!!!!!!!!!!!!RC~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~ .#6iZQ!!!!!!!!!!!!!!!!!!AMt3+ :Z!!!!!!!!!!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~ .$rZ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Ct5+ :S!!!!!!!!!!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~ .:pQ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Q!!!!RM6+ ;S!!!!!!!!!!!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~ $iQQ!!!!!!Q!Q!!!!!!!Q!!!!!!!Q!!!!!!Q!!!!!!!!!Q!RMZ!!!!!!Q!!!!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~ :Z!!!Q!!!!Q!!!!!!!!!!!!!!!!Q!!!!!Q!!!!!!Q!Q!!!!!!QQ!Q!!Q!!!!!!!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~ $AQQQQ!!QQ!QQQ!!QQ!QQ!QQQ!!Q!QQ!!Q!Q!Q!!QQ!QQW!Q!QQ!QQQQQQQQ!!!!QQQQ!Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~ XmQQQQQQQQQQQQQQQQQQQQQ!QQQQQQQQQQQQQQQQQQQQQQQQQQ!!QQ!QQQQQQQQQQQQ!QQQA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~ .rWQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQWQQQQQQQQQQQQQQQQQU ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~ OAQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQWQQQQQQQQQQQQQQQQQQQQQX ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~ ;RWQQWQWQQQQQQWQWQQQQWQQQWQQQ~~~~~~~~~~~~~~~~QQQQQQWQQQWQWQQQWQWQQQWQQQQQQQW6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~ 9WWWWWWWWWWWWWWWWQWWWWWWW~~~~~~~~~~~~~~~~~~~~~~~~~~~WWWWWWWWWWWWWWWWWWWWQQRRWRo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~ 9WWWQWWWWWQWWWWQWWWWWQW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WWQWQWQWQQWWQWWWWQRWWV. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~ 5WWWWWWWWWWWWWWWWWWWW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WQEWWEWWWEWWWWWWWWQm. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~ $WWWEEWWWWEWWWEWEWEW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WWWWEWWWEWWWEWWWmX ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~ oTWWEWWWWEWWEWEWWEEW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~EWEEWWEEWWEWEWIo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~ mWWEWEWEEEWEEWEWEW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WEWEWEWWWEEWEU$ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~ ;EEEEEEEEEEEEEEEEW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~EEEEEEEEEEEWT: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~ GEEEEEEEEEEEEEEEE~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~EEEEEEETEEEW4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~#EEETEETEEEETEEEE~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~EEEEEEEEEEEy. ~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~ yEEEEEETEEETEEEE~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ETEEETEEEEm.. ~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~ IETETTEETETETETG. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ETEETTTETVo ~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~+EETETEETETEETEE4 . X##$##. . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ETEEETTETGX ~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~>TTETTTTTTETTETTo+;>yyxVVTETEETTTTETETTETVVny9>#. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~TTETETTEV. ~~~~~~~~~~~~~~~~~~~~~~",
"~~~~ eTTTTTETETTETTTTETTTETTTTTTETTTTETTTTETTTTTTTTTTTGx8;. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~TTTTEETTVX ~~~~~~~~~~~~~~~~~~~~~",
"~~~ BTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTmw# ~~~~~~~~~~~~~~~~~~~~~~~~~~~TTTTTTTTB. ~~~~~~~~~~~~~~~~~~~~",
"~~~ oTTTTTTTYTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTYTTTTTTTTTTTTTTTTTTLe= ~~~~~~~~~~~~~~~~~~~~~~~~~TTTTTTTTc. ~~~~~~~~~~~~~~~~~~~",
"~~ xTYTTTTTYTTTYTTTTYYTTTYTYTYTYTYTTYYTTTTTYTTTTTYTTYTTTTYTTTTTTLw+ ~~~~~~~~~~~~~~~~~~~~~~~~~TTYYTYTx ~~~~~~~~~~~~~~~~~~~",
"~ 8TYTTTPTTTPTYYYTYYTYTYTYTYTYTYTYTYTYTTTYYYYTYTTYTYTYTYTYTYYTYYTTYN:.. ~~~~~~~~~~~~~~~~~~~~~~~~YTYTTTTw ~~~~~~~~~~~~~~~~~~",
" =YYYYYPTYYPTPTYTYYYYYYYYY~~~~~~~~~~~YYYYYTYTYYYYYYYYYYYYYYYYYYYYYYYTK9X ~~~~~~~~~~~~~~~~~~~~~~~YYYPTPT> ~~~~~~~~~~~~~~~~~",
" XKYYYPYYYYYYYYYYYYY~~~~~~~~~~~~~~~~~~YYPYYYYYYPYYYYYYgYYYYYYYYYYYYYYYYYPwo ~~~~~~~~~~~~~~~~~~~~~~YYYYYYP# ~~~~~~~~~~~~~~~~",
" xYPPYPPPPPYPPP~~~~~~~~~~~~~~~~~~~~~~~~PPYPPPPPPPYPPPY#~~~~~PPPPPPPPPYPPPPPgo ~~~~~~~~~~~~~~~~~~~~~~PPYPPPGX ~~~~~~~~~~~~~~~~",
":PPPPPPPPPPP~~~~~~~~~~~~~~~~~~~~~~~~~~~PYPPPPPPPPPPPPP>~~~~~~~~~PPYPPPPPYPPPK9X ~~~~~~~~~~~~~~~~~~~~~PPPPPPx ~~~~~~~~~~~~~~~",
"cPPPPPPPPP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~PPPPPPPPPPPPPPw ~~~~~~~~~~~PPPPPPPPPYYK7. ~~~~~~~~~~~~~~~~~~~~~PPPPPP7 ~~~~~~~~~~~~~~",
"KPKPPPPP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~PPPPPKPKPKPPKD ~~~~~~~~~~~~~~~PKYYKKKYKD* . ~~~~~~~~~~~~~~~~~~~~PPPPPK@ ~~~~~~~~~~~~~~",
"FPPKK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~KKKKPKPKPPKPKP* ~~~~~~~~~~~~~~~~KKYKYPKPKw. ~~~~~~~~~~~~~~~~~~~~KKKPPc. ~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~KPPKKKPKKKKPKg ~~~~~~~~~~~~~~~~~~KKKKPKKD= ~~~~~~~~~~~~~~~~~~~~KKKKK1 ~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~KKKKKKKKKKKKK= ~~~~~~~~~~~~~~~~~~~~KKKKKK7. ~~~~~~~~~~~~~~~~~~~KKKKKKO ~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~KKKKJKKKKKKKD@ ~~~~~~~~~~~~~~~~~~~~KKKKKcX ~~~~~~~~~~~~~~~~~~KKKKKj ~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~JKJKJKKJKJJD@ ~~~~~~~~~~~~~~~~~~~~~JKJKD* ~~~~~~~~~~~~~~~~~~JKJKJ1 ~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~JJJKJKJJJJJH= ~~~~~~~~~~~~~~~~~~~~~JJJJ- ~~~~~~~~~~~~~~~~~~JJJJDo ~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~JJJJJJJJJJJqX ~~~~~~~~~~~~~~~~~~~~~JJJ7 ~~~~~~~~~~~~~~~~~~JJJJs ~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~JJJJJHJJJv- ~~~~~~~~~~~~~~~~~~~~~~JJ0 ~~~~~~~~~~~~~~~~~~JJJJ@ ~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~HJJHHHJJh# ~~~~~~~~~~~~~~~~~~~~~~~~Ja. ~~~~~~~~~~~~~~~~~~JJHh ~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~jhkvh#~~~~~~~~~~~~~~~~~~~~~~~~~ka ~~~~~~~~~~~~~~~~~HHHH- ~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~0. ~~~~~~~~~~~~~~~~~~HHHv. ~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- ~~~~~~~~~~~~~~~~~~~HHH1 ~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bzzX ~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Hbb0 ~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bHbo ~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bza ~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzo.~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz<.~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~bzX~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz< ~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zl ~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz* ~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zd ~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zX~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l< ~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~lX~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~f& ",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2 ",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
};