diff --git a/wmauda/AUTHORS b/wmauda/AUTHORS deleted file mode 100644 index 17a37e6..0000000 --- a/wmauda/AUTHORS +++ /dev/null @@ -1,18 +0,0 @@ -Michael Stewart - Current Maintainer - GTK2 Port - -Christian Birchinger - GTK2 Port - Audacious Port - Artwork - -George Averill - Artwork - -Peter Alm -Mikael Alm -Olle Hallnas -Thomas Nilsson -4Front Technologies - Original wmxmms source diff --git a/wmauda/COPYING b/wmauda/COPYING deleted file mode 100644 index d159169..0000000 --- a/wmauda/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/wmauda/Makefile b/wmauda/Makefile deleted file mode 100644 index 15d3eff..0000000 --- a/wmauda/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -CC ?= gcc -CFLAGS ?= -g -pipe - -PREFIX ?= /usr/local - -INSTALL_DIR := $(PREFIX)/bin -PIXMAP_DIR := $(PREFIX)/share/pixmaps -MANPAGE_DIR := $(PREFIX)/share/man/man1 - -CFLAGS += $(shell pkg-config audclient --cflags) $(shell pkg-config dbus-glib-1 --cflags) $(shell pkg-config gtk+-2.0 --cflags) -DPIXMAP_DIR="\"$(PIXMAP_DIR)\"" - -LIBS := $(shell pkg-config audclient --libs) $(shell pkg-config dbus-glib-1 --libs) $(shell pkg-config gtk+-2.0 --libs) -lX11 - -OBJS = wmauda.o -HEADERS = dock-master.xpm - -wmauda: $(OBJS) $(HEADERS) - $(CC) -o wmauda $(OBJS) $(CFLAGS) $(LIBS) - -all: wmauda - -clean: - rm -f *.o wmauda - -install: all - install -d $(DESTDIR)$(INSTALL_DIR) - install -d $(DESTDIR)$(PIXMAP_DIR) - install -d $(DESTDIR)$(MANPAGE_DIR) - install -m 0755 wmauda $(DESTDIR)$(INSTALL_DIR) - install -m 0644 wmauda.xpm $(DESTDIR)$(PIXMAP_DIR) - install -m 0644 wmauda.1 $(DESTDIR)$(MANPAGE_DIR) diff --git a/wmauda/README b/wmauda/README deleted file mode 100644 index b2e6a09..0000000 --- a/wmauda/README +++ /dev/null @@ -1,9 +0,0 @@ -This is a port of wmxmms to GTK 2.x and Audacious. - -Just type 'make' to compile and 'make install' to install to /usr/local - -Michael Stewart -Christian Birchinger - - -WARNING: wmauda 0.5 or later require the new dbus interface of Audacious diff --git a/wmauda/dock-master.xpm b/wmauda/dock-master.xpm deleted file mode 100644 index 50397a8..0000000 --- a/wmauda/dock-master.xpm +++ /dev/null @@ -1,229 +0,0 @@ -/* XPM */ -static char * dock_master_xpm[] = { -"160 82 144 2", -" c None", -". c #AEAAAE", -"+ c #86828E", -"@ c #000000", -"# c #FE0000", -"$ c #F80700", -"% c #F7F3FF", -"& c #F10D00", -"* c #EA1400", -"= c #E41A00", -"- c #DD2100", -"; c #D72700", -"> c #D02E00", -", c #CA3400", -"' c #C33B00", -") c #BD4100", -"! c #B64800", -"~ c #B04E00", -"{ c #A95500", -"] c #A35B00", -"^ c #9C6200", -"/ c #966800", -"( c #8F6F00", -"_ c #897500", -": c #827C00", -"< c #7C8200", -"[ c #758900", -"} c #6F8F00", -"| c #689600", -"1 c #629C00", -"2 c #5BA300", -"3 c #55A900", -"4 c #4EB000", -"5 c #48B600", -"6 c #41BD00", -"7 c #3BC300", -"8 c #34CA00", -"9 c #2ED000", -"0 c #27D700", -"a c #21DD00", -"b c #1AE400", -"c c #14EA00", -"d c #0DF100", -"e c #3C3C3C", -"f c #8D8D8D", -"g c #B1B1B1", -"h c #E4E4E4", -"i c #FFFFFF", -"j c #E0E0E0", -"k c #07F800", -"l c #191919", -"m c #929292", -"n c #E2E2E2", -"o c #FAFAFA", -"p c #151515", -"q c #040404", -"r c #707070", -"s c #D8D8D8", -"t c #F9F9F9", -"u c #D7D7D7", -"v c #6E6E6E", -"w c #EBEBEB", -"x c #838383", -"y c #050505", -"z c #00FE00", -"A c #282828", -"B c #E9E9E9", -"C c #F6F6F6", -"D c #DCDCDC", -"E c #F7F7F7", -"F c #222222", -"G c #020202", -"H c #ABABAB", -"I c #ADADAD", -"J c #EDEDED", -"K c #808080", -"L c #9A9A9A", -"M c #858585", -"N c #010101", -"O c #CACACA", -"P c #A8A8A8", -"Q c #0E0E0E", -"R c #C1C1C1", -"S c #5E5E5E", -"T c #383838", -"U c #656565", -"V c #777777", -"W c #353535", -"X c #828282", -"Y c #393939", -"Z c #101010", -"` c #AFAFAF", -" . c #2C2C2C", -".. c #F3F3F3", -"+. c #A7A7A7", -"@. c #424242", -"#. c #E8E8E8", -"$. c #0B0B0B", -"%. c #515151", -"&. c #7E7E7E", -"*. c #4A4A4A", -"=. c #232323", -"-. c #696969", -";. c #161616", -">. c #2B2B2B", -",. c #1D1D1D", -"'. c #2D2D2D", -"). c #0C0C0C", -"!. c #4C4C4C", -"~. c #F8F8F8", -"{. c #818181", -"]. c #414141", -"^. c #6A6A6A", -"/. c #444444", -"(. c #525252", -"_. c #545454", -":. c #585858", -"<. c #3D3D3D", -"[. c #242424", -"}. c #909090", -"|. c #080808", -"1. c #6D6D6D", -"2. c #C5C5C5", -"3. c #AEAEAE", -"4. c #070707", -"5. c #171717", -"6. c #B8B8B8", -"7. c #ACACAC", -"8. c #D0D0D0", -"9. c #272727", -"0. c #FDFDFD", -"a. c #AAAAAA", -"b. c #969696", -"c. c #FBFBFB", -"d. c #919191", -"e. c #747474", -"f. c #DADADA", -"g. c #727272", -"h. c #283C38", -"i. c #202020", -"j. c #034A40", -"k. c #22B2AE", -"l. c #027E72", -"m. c #203635", -" . . . . . . . . + @ . . . . . . . . + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ # # # # # # @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ $ $ $ $ $ $ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" . @ @ % @ @ @ @ @ @ . @ % % @ % % @ @ @ @ @ @ % @ @ @ @ . @ @ @ % % @ % % @ . @ @ @ & & & & & & @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" . @ @ % % @ @ @ @ @ . @ % % @ % % @ @ @ @ @ @ % % @ @ @ . @ @ @ % % @ % % @ . @ @ @ * * * * * * @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % % % @ @ @ @ . @ % % @ % % @ @ @ @ @ @ % % % @ @ . @ @ @ % % @ % % @ . @ @ @ = = = = = = @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % % @ @ @ @ @ . @ % % @ % % @ @ @ @ @ @ % % @ @ @ . @ @ @ % % @ % % @ . @ @ @ - - - - - - @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % @ @ @ @ @ @ . @ % % @ % % @ @ @ @ @ @ % @ @ @ @ . @ @ @ % % @ % % @ . @ @ @ ; ; ; ; ; ; @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ > > > > > > @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ , , , , , , @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + . . . . . . . . @ + . . . . . . . . @ @ @ ' ' ' ' ' ' @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . . . . . . . + @ . . . . . . . . + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + @ @ @ ) ) ) ) ) ) @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ ! ! ! ! ! ! @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ ~ ~ ~ ~ ~ ~ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ % @ @ @ @ @ . @ % % % % % @ @ @ @ @ @ @ % @ @ @ . @ @ @ % % % % % @ . @ @ @ { { { { { { @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % % % @ @ @ @ . @ % % % % % @ @ @ @ @ @ % % % @ @ . @ @ @ % % % % % @ . @ @ @ ] ] ] ] ] ] @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ % % % % % @ @ @ . @ % % % % % @ @ @ @ @ % % % % % @ . @ @ @ % % % % % @ . @ @ @ ^ ^ ^ ^ ^ ^ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ % % % % % @ @ @ @ @ @ @ @ @ @ @ . @ @ @ % % % % % @ . @ @ @ / / / / / / @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ % % % % % @ @ @ . @ % % % % % @ @ @ @ @ % % % % % @ . @ @ @ % % % % % @ . @ @ @ ( ( ( ( ( ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ _ _ _ _ _ _ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ : : : : : : @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + . . . . . . . . @ + . . . . . . . . @ @ @ < < < < < < @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . . . . . . . + @ . . . . . . . . + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + @ @ @ [ [ [ [ [ [ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ } } } } } } @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ | | | | | | @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % @ @ % @ @ @ . @ @ % @ @ % @ @ @ @ @ @ % @ @ % @ . @ @ @ @ % @ @ % @ . @ @ @ 1 1 1 1 1 1 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % @ % % @ @ @ . @ @ % % @ % @ @ @ @ @ @ % @ % % @ . @ @ @ @ % % @ % @ . @ @ @ 2 2 2 2 2 2 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % % % % @ @ @ . @ @ % % % % @ @ @ @ @ @ % % % % @ . @ @ @ @ % % % % @ . @ @ @ 3 3 3 3 3 3 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % @ % % @ @ @ . @ @ % % @ % @ @ @ @ @ @ % @ % % @ . @ @ @ @ % % @ % @ . @ @ @ 4 4 4 4 4 4 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ % @ @ % @ @ @ . @ @ % @ @ % @ @ @ @ @ @ % @ @ % @ . @ @ @ @ % @ @ % @ . @ @ @ 5 5 5 5 5 5 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ 6 6 6 6 6 6 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . @ @ @ @ @ @ @ @ @ . @ @ @ 7 7 7 7 7 7 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ + . . . . . . . . @ + . . . . . . . . @ @ @ 8 8 8 8 8 8 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 9 9 9 9 9 9 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 0 0 0 0 0 0 @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ a a a a a a @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ b b b b b b @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ c c c c c c @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ d d d d d d @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ e f g h i i j @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ k k k k k k @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ l m n o j f p @ @ q r s t u v e m i i i w x i i y l m n o j f p @ @ @ @ @ @ z z z z z z @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ A B i C D E i h F G H i i i i i I J i i i K @ L i M B i C D E i h F @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ N O i P N @ Q g i R S i T U i V W i i o X Y Z @ ` i i i P N @ Q g i R @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ .i i ..+.@.@ e i i #.i $. .i %.y i i &.@ m *.@ ` i i i ..+.@.@ e i i =.@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ *.i i -.@ ;.@ >.i i i i ,.=.i '.).i i !.@ ~.{.@ ` i i i -.@ ;.@ >.i i ].@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ .i i ;.@ ^.@ /.i i i i '.N (.q G i i _.@ :.<.@ ` i i i ;.@ ^.@ /.i i [.@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ N O i }.|.@.W 1.i R 2.i 3.4.5. .].i i 6.q @ @ @ 7.i 8.i }.|.@.W 1.i R @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 9.B i 0.i i i h F G 3.i i i i i a.3.i i i i i i D 9.B i 0.i i i h F @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ l b.h c.n d.;.@ @ q e.f.o f.g.q q e.f.o o f.g.Q @ l b.h c.n d.;.@ @ @ @ @ @ @ @ 6 6 6 6 6 6 6 6 6 @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 6 @ @ 6 @ @ 6 @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 6 @ 6 @ 6 @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ h.h.h.h.h.h.h.h.h.@ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 6 @ 6 @ 6 @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ i.i.i.i.i.i.i.i.@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 6 @ @ 6 @ @ 6 @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ @ @ @ @ 6 6 6 6 6 6 6 6 6 @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.+ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -" @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.j.k.k.k.j.i.l.k.k.k.i.i.l.k.k.k.l.i.l.k.k.k.i.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.i.i.i.l.i.i.i.l.i.i.i.i.i.i.i.l.i.l.i.i.i.l.i.l.i.i.i.i.i.k.i.i.i.k.i.l.k.k.k.i.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.i.i.i.l.i.l.i.i.i.l.i.l.i.i.i.l.i.l.i.i.i.l.i.l.i.i.i.l.i.l.k.k.k.l.i.i.i.i.", -"i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.i.i.k.i.i.i.i.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.k.i.k.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.i.i.k.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.i.", -"i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.i.i.k.i.i.i.i.i.i.i.k.i.k.i.i.k.j.i.k.i.i.i.i.i.k.i.k.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.i.i.k.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.j.k.i.k.j.i.k.i.i.i.k.i.i.i.i.k.j.i.i.i.i.", -"i.l.k.k.k.l.i.l.k.k.k.i.i.l.i.i.i.i.i.l.i.i.i.l.i.l.k.k.k.i.i.l.k.k.k.i.i.l.j.k.k.l.i.l.k.k.k.l.i.i.i.l.i.i.i.i.i.i.i.l.i.l.k.k.j.i.i.l.i.i.i.i.i.l.i.i.i.l.i.l.i.i.i.l.i.l.i.i.i.l.i.l.k.k.k.l.i.l.k.i.i.l.i.l.k.k.k.i.i.l.k.k.k.l.i.i.i.l.i.i.i.l.i.i.i.l.i.l.i.i.i.l.i.l.i.i.i.l.i.i.j.k.j.i.i.l.k.k.k.l.i.i.j.k.j.i.i.i.i.i.", -"i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.k.i.i.i.i.i.i.i.k.i.k.i.i.k.j.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.k.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.k.i.k.i.j.k.i.k.j.i.i.i.i.i.k.i.j.k.i.i.i.i.i.i.i.", -"i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.k.i.i.i.i.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.k.k.i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.i.i.k.i.i.i.k.i.k.i.j.k.i.i.k.k.i.k.k.i.k.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.i.i.i.i.i.", -"i.l.i.i.i.l.i.l.k.k.k.i.i.l.k.k.k.l.i.k.k.k.k.i.i.l.k.k.k.l.i.k.i.i.i.i.i.l.k.k.k.l.i.l.i.i.i.l.i.i.i.k.i.i.i.l.k.k.k.l.i.l.i.i.j.l.i.l.k.k.k.j.i.l.i.i.i.l.i.k.i.i.i.k.i.l.k.k.k.l.i.l.i.i.i.i.i.l.k.k.k.l.i.l.i.i.i.l.i.l.k.k.k.l.i.i.i.l.i.i.i.j.k.k.k.k.i.i.k.k.i.i.i.k.i.i.i.k.i.l.i.i.i.k.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i. ", -"i.i.k.k.k.i.i.i.i.i.i.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.i.i.i.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.m.k.k.i.i.i.i.i.i.k.i.i.i.i.k.i.i.i.i.i.k.i.i.i.k.k.i.@ k.i.k.@ @ @ k.i.@ k.@ @ k.i.@ k.@ k.@ i.l.k.k.k.l.i.i.i.k.k.i.i.i.l.k.k.l.i.i.i.i.i.i.i. ", -"i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.i.i.i.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.k.k.i.i.i.i.i.i.k.i.i.i.k.l.i.i.i.i.i.l.k.i.i.k.l.i.k.l.i.j.l.k.k.j.i.l.l.k.k.l.i.@ l.i.l.@ i.k.i.i.i.k.i.i.i.k.k.i.i.i.k.i.i.k.i.i.i.k.i.i.i. ", -"i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.i.i.k.i.i.i.i.i.i.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.k.l.i.i.i.i.i.l.k.i.i.i.k.i.i.i.i.i.i.i.k.i.i.i.i.l.k.i.i.k.k.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.k.k.i.i.i.k.i.i.k.i.i.i.k.i.i.i. ", -"i.l.i.i.i.l.i.i.i.i.i.l.i.l.k.k.k.l.i.i.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.i.l.i.j.k.k.k.j.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.k.l.i.i.i.k.i.i.i.i.i.i.i.k.i.i.i.i.k.@ i.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.i.k.l.i.i.i.k.l.i.i.i.i.k.k.i.i.i.i.l.i.i.i. ", -"i.k.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.i.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.k.i.i.i.i.k.i.i.i.i.i.i.i.k.i.i.i.l.k.i.i.i.l.k.k.k.l.i.l.i.i.i.l.i.l.i.i.i.l.i.i.i.k.i.i.i.i.i.k.i.i.i.i.l.k.i.k.i.i.i.k.i.i.i. ", -"i.k.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.i.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.k.i.i.i.k.i.i.i.i.i.k.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.l.l.i.i.m.k.k.i.i.i.i.i.i.i.i.i.i.k.l.i.i.i.i.k.l.i.i.i.i.i.l.k.i.i.l.k.@ l.k.i.k.i.i.i.k.i.k.i.i.i.k.i.k.i.i.i.k.i.i.i.l.i.i.i.i.i.l.i.i.i.i.k.i.k.i.i.i.i.k.i.i.i. ", -"i.i.k.k.k.i.i.i.i.i.i.k.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.i.l.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.i.l.i.l.k.k.k.l.i.l.k.k.k.l.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.k.k.i.i.i.k.k.i.i.i.i.i.i.i.i.i.i.k.i.i.i.i.i.i.k.i.i.i.i.i.k.i.i.i.k.i.i.k.k.i.l.i.i.i.l.i.l.k.k.k.l.i.j.k.k.k.k.i.i.i.k.i.i.i.i.i.k.i.i.i.i.l.k.i.k.i.i.i.i.i.i.i. ", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.k.l.i.i.i.i.i.i.i.i.i.i.k.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.@ i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i. "}; diff --git a/wmauda/wmauda.1 b/wmauda/wmauda.1 deleted file mode 100644 index b694c3e..0000000 --- a/wmauda/wmauda.1 +++ /dev/null @@ -1,35 +0,0 @@ -.TH WMAUDA 1 "12 Feb 2012" "Version 0.8" "WMAuda Manual Pages" -.SH NAME -WMAUDA \- a dockable Audacious control applet. -.SH SYNOPSIS -.B wmauda -[\-h] [\-\-help] [\-c \fI\fP] [\-\-command=\fI\fP] [\-i \fI\fP] -[\-\-icon=\fI\fP] [\-n] [\-\-single] [\-t] [\-\-title] [\-\-version] -.SH DESCRIPTION -\fIWMAUDA\fP is a dock applet for the Window Maker window manager. -From the applet you can start and control Audacious. - -.SH OPTIONS -wmauda accepts the following options: -.TP -.B \-h, \-\-help -Show summary of options. -.TP -.B \-c, \-\-command -Command to start Audacious (Default: audacious). -.TP -.B \-i, \-\-icon -Icon to show instead of the default one when Audacious is not running. The -icon must be in XPM format. -.TP -.B \-n, \-\-single -Start Audacious with only a single click (Default: Double click). -.TP -.B \-t, \-\-title -Show the song title when the mouse is in the wmauda window. -.TP -.B \-v, \-\-version -Print version number and exit. -.SH SEE ALSO -.BR audacious (1), -.BR wmaker (1), diff --git a/wmauda/wmauda.c b/wmauda/wmauda.c deleted file mode 100644 index 2d3e708..0000000 --- a/wmauda/wmauda.c +++ /dev/null @@ -1,872 +0,0 @@ -/* wmauda - Dockapp for controlling Audacious - * - * Copyright (C) 2006 Michael Stewart - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include "dock-master.xpm" - -#include - -#ifndef VERSION -# define VERSION 0.8 -#endif - -#ifndef PIXMAP_DIR -# define PIXMAP_DIR "/usr/local/share/pixmaps" -#endif - -typedef struct -{ - int x, y, width, height, pressed_x, pressed_y, normal_x, normal_y; - gboolean focus, pressed; - void (*callback) (void); -} -Button; - -void action_play(void); -void action_pause(void); -void action_eject(void); -void action_prev(void); -void action_next(void); -void action_stop(void); - -Button buttons[] = -{ - {21, 32, 9, 11, 84, 0, 64, 0, FALSE, FALSE, action_play}, /* PLAY */ - {34, 32, 9, 11, 94, 0, 74, 0, FALSE, FALSE, action_pause}, /* PAUSE */ - {47, 32, 9, 11, 84, 11, 64, 11, FALSE, FALSE, action_eject}, /* EJECT */ - {21, 46, 9, 11, 84, 22, 64, 22, FALSE, FALSE, action_prev}, /* PREV */ - {34, 46, 9, 11, 94, 22, 74, 22, FALSE, FALSE, action_next}, /* NEXT */ - {47, 46, 9, 11, 94, 11, 74, 11, FALSE, FALSE, action_stop}, /* STOP */ -}; - -#define NUM_BUTTONS 6 - -GList *button_list; - -typedef struct -{ - unsigned char ascii; gint x, y; -} Charentry; - -Charentry chartable[] = -{ - { '-', 60, 73}, /* put here coordinates of characters */ - { '.', 72, 73}, /* in xmms-dock-master.xpm */ - { ',', 78, 73}, - { '\\', 84, 73}, - { '/', 90, 73}, - { '(', 96, 73}, - { ')', 102, 73}, - { '%', 108, 73}, - { 'Ä', 114, 73}, - { 'ä', 114, 73}, /* toupper doesn't convert umlauts */ - { 'Ö', 120, 73}, - { 'ö', 120, 73}, - { 'Ü', 126, 73}, - { 'ü', 126, 73}, - { '?', 132, 73}, - { '!', 138, 73}, - { '&', 144, 73}, - { ':', 150, 73}, - { ' ', 66, 73}, -}; -#define NUM_CHARS 19 - -#define VOLSLIDER_X 8 -#define VOLSLIDER_Y 17 -#define VOLSLIDER_WIDTH 7 - - -#define VOLSLIDER_HEIGHT 40 - -#define SEEKSLIDER_X 21 -#define SEEKSLIDER_Y 20 -#define SEEKSLIDER_WIDTH 30 -#define SEEKSLIDER_HEIGHT 7 -#define SEEKSLIDER_KNOB_WIDTH 3 -#define SEEKSLIDER_MAX (SEEKSLIDER_WIDTH - SEEKSLIDER_KNOB_WIDTH) - -#define SCROLLTEXT_X 5 -#define SCROLLTEXT_Y 6 -#define SCROLLTEXT_WIDTH 40 -#define SCROLLTEXT_HEIGHT 9 -#define SCROLLTEXT_CHARS 9 - -gboolean volslider_dragging = FALSE; -int volslider_pos = 0; -gboolean seekslider_visible = FALSE, seekslider_dragging = FALSE; -int seekslider_pos = -1, seekslider_drag_offset = 0; -gint scrollpos = 0; -int timeout_tag = 0; - -void init(void); - -GtkWidget *icon_win; -GdkPixmap *pixmap, *launch_pixmap; -GdkBitmap *mask, *launch_mask; -GdkGC *dock_gc; -GtkTooltips *tooltips = NULL; - -char *xmms_cmd = "audacious"; -gboolean xmms_running = FALSE; - -gboolean has_geometry = FALSE, single_click = FALSE, song_title = FALSE; -char *icon_name = NULL; -int win_x, win_y; - -DBusGProxy *dbus_proxy = NULL; -static DBusGConnection *connection = NULL; - -GtkTargetEntry drop_types[] = -{ - {"text/plain", 0, 1} -}; - -void action_play(void) -{ - audacious_remote_play(dbus_proxy); -} - -void action_pause(void) -{ - audacious_remote_pause(dbus_proxy); -} - -void action_eject(void) -{ - audacious_remote_playlist_clear(dbus_proxy); - audacious_remote_stop(dbus_proxy); -} - -void action_prev(void) -{ - audacious_remote_playlist_prev(dbus_proxy); -} - -void action_next(void) -{ - audacious_remote_playlist_next(dbus_proxy); -} - -void action_stop(void) -{ - audacious_remote_stop(dbus_proxy); -} - -gboolean inside_region(int mx, int my, int x, int y, int w, int h) -{ - if ((mx >= x && mx < x + w) && (my >= y && my < y + h)) - return TRUE; - return FALSE; -} - -void real_draw_button(GdkWindow *w, Button *button) -{ - - if (button->pressed) - gdk_draw_pixmap(w, dock_gc, pixmap, - button->pressed_x, button->pressed_y, - button->x, button->y, - button->width, button->height); - else - gdk_draw_pixmap(w, dock_gc, pixmap, - button->normal_x, button->normal_y, - button->x, button->y, - button->width, button->height); -} - -void draw_button(Button *button) -{ - real_draw_button(icon_win->window, button); -} - -void draw_buttons(GList *list) -{ - for (; list; list = g_list_next(list)) - draw_button(list->data); -} - -void real_draw_volslider(GdkWindow *w) -{ - gdk_draw_pixmap(w, dock_gc, pixmap, 112, 1, VOLSLIDER_X, VOLSLIDER_Y, - VOLSLIDER_WIDTH, VOLSLIDER_HEIGHT); - gdk_draw_pixmap(w, dock_gc, pixmap, 106, - 1 + VOLSLIDER_HEIGHT - volslider_pos, - VOLSLIDER_X, - VOLSLIDER_Y + VOLSLIDER_HEIGHT - volslider_pos, - VOLSLIDER_WIDTH, volslider_pos); -} - -void draw_volslider(void) -{ - real_draw_volslider(icon_win->window); -} - -void real_draw_seekslider(GdkWindow *w) -{ - int slider_x; - - if (seekslider_visible) - { - gdk_draw_pixmap(w, dock_gc, pixmap, 66, 54, - SEEKSLIDER_X, SEEKSLIDER_Y, 35, 10); - if (seekslider_pos < SEEKSLIDER_MAX / 3) - slider_x = 108; - else if (seekslider_pos < (SEEKSLIDER_MAX * 2) / 3) - slider_x = 111; - else - slider_x = 114; - gdk_draw_pixmap(w, dock_gc, pixmap, slider_x, 48, - SEEKSLIDER_X + seekslider_pos, - SEEKSLIDER_Y, 3, SEEKSLIDER_HEIGHT); - } - else - gdk_draw_pixmap(w, dock_gc, pixmap, 66, 39, - SEEKSLIDER_X, SEEKSLIDER_Y, 35, 10); -} - -void draw_seekslider(void) -{ - real_draw_seekslider(icon_win->window); -} - -void real_draw_scrolltext(GdkWindow * w) -{ - /* get titlestring */ - gint pl_pos = audacious_remote_get_playlist_pos(dbus_proxy); - - if (pl_pos != -1) - { - char *title = audacious_remote_get_playlist_title(dbus_proxy, pl_pos); - if (title) - { - /* render text */ - gint i = 0, c = 0, pos = 0, dest = 0; - - for (i=0; i= 0) - c = toupper(title[pos]); - else - c = ' '; - - dest = SCROLLTEXT_X + (i * 6 - (scrollpos % 6)); - - if (c >= 'A' && c <= 'Z') - { - x = (c-'A')*6; - y = 64; - } - else if (c >= '0' && c <= '9') - x = (c-'0')*6; - else - { - int i = 0; - for (i=0; iwindow); -} - -void redraw_window(void) -{ - if (xmms_running) - { - gdk_draw_pixmap(icon_win->window, dock_gc, pixmap, - 0, 0, 0, 0, 64, 64); - draw_buttons(button_list); - draw_volslider(); - draw_seekslider(); - draw_scrolltext(); - } - else - { - gdk_draw_pixmap(icon_win->window, dock_gc, launch_pixmap, - 0, 0, 0, 0, 64, 64); - } -} - -void expose_cb(GtkWidget *w, GdkEventExpose *event, gpointer data) -{ - redraw_window(); -} - -void wheel_scroll_cb(GtkWidget *w, GdkEventScroll *event) -{ - if (xmms_running) - { - if (event->direction == GDK_SCROLL_UP || event->direction == GDK_SCROLL_DOWN) - { - if (event->direction == GDK_SCROLL_UP) - volslider_pos += 3; - else - volslider_pos -= 3; - if (volslider_pos < 0) - volslider_pos = 0; - if (volslider_pos > VOLSLIDER_HEIGHT) - volslider_pos = VOLSLIDER_HEIGHT; - audacious_remote_set_main_volume(dbus_proxy, (volslider_pos * 100) / VOLSLIDER_HEIGHT); - draw_volslider(); - } - } -} -void button_press_cb(GtkWidget *w, GdkEventButton *event, gpointer data) -{ - GList *node; - Button *btn; - int pos; - char *cmd; - - if (xmms_running) - { - if ((event->button == 2) || (event->button == 3)) - { - if(audacious_remote_is_main_win(dbus_proxy)) - audacious_remote_main_win_toggle(dbus_proxy, FALSE); - else - audacious_remote_main_win_toggle(dbus_proxy, TRUE); - } - } - - if (event->button != 1) - return; - if (xmms_running) - { - for (node = button_list; node; node = g_list_next(node)) - { - btn = node->data; - if (inside_region(event->x, event->y, btn->x, btn->y, btn->width, btn->height)) - { - btn->focus = TRUE; - btn->pressed = TRUE; - draw_button(btn); - } - } - if (inside_region(event->x, event->y, VOLSLIDER_X, VOLSLIDER_Y, VOLSLIDER_WIDTH, VOLSLIDER_HEIGHT)) - { - volslider_pos = VOLSLIDER_HEIGHT - (event->y - VOLSLIDER_Y); - audacious_remote_set_main_volume(dbus_proxy, (volslider_pos * 100) / VOLSLIDER_HEIGHT); - draw_volslider(); - volslider_dragging = TRUE; - } - if (inside_region(event->x, event->y, SEEKSLIDER_X, SEEKSLIDER_Y, SEEKSLIDER_WIDTH, SEEKSLIDER_HEIGHT) && seekslider_visible) - { - pos = event->x - SEEKSLIDER_X; - - if (pos >= seekslider_pos && - pos < seekslider_pos + SEEKSLIDER_KNOB_WIDTH) - seekslider_drag_offset = pos - seekslider_pos; - else - { - seekslider_drag_offset = 1; - seekslider_pos = pos - seekslider_drag_offset; - if (seekslider_pos < 0) - seekslider_pos = 0; - if (seekslider_pos > SEEKSLIDER_MAX) - seekslider_pos = SEEKSLIDER_MAX; - } - draw_seekslider(); - seekslider_dragging = TRUE; - } - } - else if ((!single_click && event->type == GDK_2BUTTON_PRESS) || - (single_click && event->type == GDK_BUTTON_PRESS)) - { - cmd = g_strconcat(xmms_cmd, " &", NULL); - system(cmd); - g_free(cmd); - } -} - -void button_release_cb(GtkWidget *w, GdkEventButton *event, gpointer data) -{ - GList *node; - Button *btn; - int len; - - if (event->button != 1) - return; - - for (node = button_list; node; node = g_list_next(node)) - { - btn = node->data; - if (btn->pressed) - { - btn->focus = FALSE; - btn->pressed = FALSE; - draw_button(btn); - if (btn->callback) - btn->callback(); - } - } - volslider_dragging = FALSE; - if (seekslider_dragging) - { - len = audacious_remote_get_playlist_time(dbus_proxy, audacious_remote_get_playlist_pos(dbus_proxy)); - audacious_remote_jump_to_time(dbus_proxy, (seekslider_pos * len) / SEEKSLIDER_MAX); - seekslider_dragging = FALSE; - } - -} - -void motion_notify_cb(GtkWidget *w, GdkEventMotion *event, gpointer data) -{ - GList *node; - Button *btn; - gboolean inside; - - for (node = button_list; node; node = g_list_next(node)) - { - btn = node->data; - if (btn->focus) - { - inside = inside_region(event->x, event->y, - btn->x, btn->y, - btn->width, btn->height); - if ((inside && !btn->pressed) || - (!inside && btn->pressed)) - { - btn->pressed = inside; - draw_button(btn); - } - } - } - if (volslider_dragging) - { - volslider_pos = VOLSLIDER_HEIGHT - (event->y - VOLSLIDER_Y); - if (volslider_pos < 0) - volslider_pos = 0; - if (volslider_pos > VOLSLIDER_HEIGHT) - volslider_pos = VOLSLIDER_HEIGHT; - audacious_remote_set_main_volume(dbus_proxy, (volslider_pos * 100) / VOLSLIDER_HEIGHT); - draw_volslider(); - } - if (seekslider_dragging) - { - seekslider_pos = - event->x - SEEKSLIDER_X - seekslider_drag_offset; - if (seekslider_pos < 0) - seekslider_pos = 0; - if (seekslider_pos > SEEKSLIDER_MAX) - seekslider_pos = SEEKSLIDER_MAX; - draw_seekslider(); - } - -} - -void destroy_cb(GtkWidget *w, gpointer data) -{ - gtk_exit(0); -} - -static void update_tooltip(void) -{ - static int pl_pos = -1; - static char *filename; - int new_pos; - - if (!tooltips) - return; - - new_pos = audacious_remote_get_playlist_pos(dbus_proxy); - - if (new_pos == 0) - { - /* - * Need to do some extra checking, as we get 0 also on - * a empty playlist - */ - char *current = audacious_remote_get_playlist_file(dbus_proxy, 0); - if (!filename && current) - { - filename = current; - new_pos = -1; - } - else if (filename && !current) - { - g_free(filename); - filename = NULL; - new_pos = -1; - } - else if (filename && current && strcmp(filename, current)) - { - g_free(filename); - filename = current; - new_pos = -1; - } - } - - if (pl_pos != new_pos) - { - char *tip = NULL; - char *title = - audacious_remote_get_playlist_title(dbus_proxy, new_pos); - if (title) - { - tip = g_strdup_printf("%d. %s", new_pos+1, title); - g_free(title); - } - gtk_tooltips_set_tip(tooltips, icon_win, tip, NULL); - g_free(tip); - pl_pos = new_pos; - } -} - -int timeout_func(gpointer data) -{ - int new_pos, pos; - gboolean playing, running; - - running = audacious_remote_is_running(dbus_proxy); - - if (running) - { - if (!xmms_running) - { - gtk_widget_shape_combine_mask(icon_win, mask, 0, 0); - xmms_running = running; - redraw_window(); - } - if (!volslider_dragging) - { - new_pos = (audacious_remote_get_main_volume(dbus_proxy) * 40) / 100; - - if (new_pos < 0) - new_pos = 0; - if (new_pos > VOLSLIDER_HEIGHT) - new_pos = VOLSLIDER_HEIGHT; - - if (volslider_pos != new_pos) - { - volslider_pos = new_pos; - draw_volslider(); - } - } - - update_tooltip(); - draw_scrolltext(); - - playing = audacious_remote_is_playing(dbus_proxy); - if (!playing && seekslider_visible) - { - seekslider_visible = FALSE; - seekslider_dragging = FALSE; - seekslider_pos = -1; - draw_seekslider(); - } - else if (playing) - { - int len, p = audacious_remote_get_playlist_pos(dbus_proxy); - len = audacious_remote_get_playlist_time(dbus_proxy, p); - if (len == -1) - { - seekslider_visible = FALSE; - seekslider_dragging = FALSE; - seekslider_pos = -1; - draw_seekslider(); - } - else if (!seekslider_dragging) - { - seekslider_visible = TRUE; - pos = audacious_remote_get_output_time(dbus_proxy); - if (len != 0) - new_pos = (pos * SEEKSLIDER_MAX) / len; - else - new_pos = 0; - if (new_pos < 0) - new_pos = 0; - if (new_pos > SEEKSLIDER_MAX) - new_pos = SEEKSLIDER_MAX; - if (seekslider_pos != new_pos) - { - seekslider_pos = new_pos; - draw_seekslider(); - } - } - } - } - else - { - if (xmms_running) - { - if (tooltips != NULL) - gtk_tooltips_set_tip(tooltips, icon_win, NULL, NULL); - gtk_widget_shape_combine_mask(icon_win, launch_mask, 0, 0); - xmms_running = FALSE; - redraw_window(); - } - } - - return TRUE; -} - -void drag_data_received(GtkWidget *widget, GdkDragContext *context, - int x, int y, GtkSelectionData *selection_data, - guint info, guint time) -{ - if (selection_data->data) - { - char *url = selection_data->data; - audacious_remote_playlist_clear(dbus_proxy); - audacious_remote_playlist_add_url_string(dbus_proxy, url); - audacious_remote_play(dbus_proxy); - } -} - -static gboolean dbus_init(void) -{ - GError *error = NULL; - - connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); - if (connection == NULL) - return FALSE; - - dbus_proxy = dbus_g_proxy_new_for_name(connection, AUDACIOUS_DBUS_SERVICE, - AUDACIOUS_DBUS_PATH, - AUDACIOUS_DBUS_INTERFACE); - if (dbus_proxy == NULL) - return FALSE; - - return TRUE; -} - -void init(void) -{ - GdkWindowAttr attr; - GdkColor bg_color; - GdkWindow *leader; - XWMHints hints; - int i, w, h; - GdkGC *mask_gc; - - for (i = 0; i < NUM_BUTTONS; i++) - button_list = g_list_append(button_list, &buttons[i]); - - if (song_title) - { - tooltips = gtk_tooltips_new(); - gtk_tooltips_set_delay(tooltips, 1000); - } - - icon_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_app_paintable(icon_win, TRUE); - gtk_widget_set_uposition(icon_win, 0, 0); - gtk_widget_set_usize(icon_win, 64, 64); - gtk_widget_set_events(icon_win, - GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK); - gtk_signal_connect(GTK_OBJECT(icon_win), "expose_event", - GTK_SIGNAL_FUNC(expose_cb), NULL); - gtk_signal_connect(GTK_OBJECT(icon_win), "button_press_event", - GTK_SIGNAL_FUNC(button_press_cb), NULL); - gtk_signal_connect(GTK_OBJECT(icon_win), "scroll_event", - GTK_SIGNAL_FUNC(wheel_scroll_cb), NULL); - gtk_signal_connect(GTK_OBJECT(icon_win), "button_release_event", - GTK_SIGNAL_FUNC(button_release_cb), NULL); - gtk_signal_connect(GTK_OBJECT(icon_win), "motion_notify_event", - GTK_SIGNAL_FUNC(motion_notify_cb), NULL); - gtk_signal_connect(GTK_OBJECT(icon_win), "destroy", - GTK_SIGNAL_FUNC(destroy_cb), NULL); - gtk_drag_dest_set(icon_win, GTK_DEST_DEFAULT_ALL, drop_types, 1, - GDK_ACTION_COPY); - gtk_signal_connect(GTK_OBJECT(icon_win), "drag_data_received", - GTK_SIGNAL_FUNC(drag_data_received), NULL); - gtk_widget_realize(icon_win); - bg_color.red = 0; - bg_color.green = 0; - bg_color.blue = 0; - gdk_colormap_alloc_color(gdk_colormap_get_system(), - &bg_color, FALSE, TRUE); - gdk_window_set_background(icon_win->window, &bg_color); - gdk_window_clear(icon_win->window); - dock_gc = gdk_gc_new(icon_win->window); - - launch_pixmap = gdk_pixmap_new(icon_win->window, 64, 64, -1); - - launch_mask = gdk_pixmap_new(icon_win->window, 64, 64, 1); - mask_gc = gdk_gc_new(launch_mask); - bg_color.pixel = 0; - gdk_gc_set_foreground(mask_gc, &bg_color); - gdk_draw_rectangle(launch_mask, mask_gc, TRUE, 0, 0, -1, -1); - - if (!icon_name) - icon_name = g_strdup_printf("%s/wmauda.xpm", PIXMAP_DIR); - pixmap = gdk_pixmap_create_from_xpm(icon_win->window, &mask, - NULL, icon_name); - if (!pixmap) - { - printf("ERROR: Couldn't find %s\n", icon_name); - g_free(icon_name); - gtk_exit(1); - } - g_free(icon_name); - gdk_window_get_size(pixmap, &w, &h); - if (w > 64) - w = 64; - if (h > 64) - h = 64; - gdk_draw_pixmap(launch_pixmap, dock_gc, pixmap, - 0, 0, 32 - (w / 2), 32 - (h / 2), w, h); - gdk_draw_pixmap(launch_mask, mask_gc, mask, - 0, 0, 32 - (w / 2), 32 - (h / 2), w, h); - gdk_gc_unref(mask_gc); - gdk_pixmap_unref(pixmap); - gdk_bitmap_unref(mask); - - gtk_widget_shape_combine_mask(icon_win, launch_mask, 0, 0); - - pixmap = gdk_pixmap_create_from_xpm_d(icon_win->window, - &mask, NULL, dock_master_xpm); - - attr.width = 64; - attr.height = 64; - attr.title = "wmauda"; - attr.event_mask = GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_HINT_MASK; - attr.wclass = GDK_INPUT_OUTPUT; - attr.visual = gdk_visual_get_system(); - attr.colormap = gdk_colormap_get_system(); - attr.wmclass_name = "wmauda"; - attr.wmclass_class = "wmauda"; - attr.window_type = GDK_WINDOW_TOPLEVEL; - - leader = gdk_window_new(NULL, &attr, GDK_WA_TITLE | GDK_WA_WMCLASS | GDK_WA_VISUAL | GDK_WA_COLORMAP); - - gdk_window_set_icon(leader, icon_win->window, NULL, NULL); - gdk_window_reparent(icon_win->window, leader, 0, 0); - gdk_window_show(leader); - - hints.initial_state = WithdrawnState; - hints.flags = StateHint | IconWindowHint | IconPositionHint | WindowGroupHint; - hints.icon_window = GDK_WINDOW_XWINDOW(icon_win->window); - hints.icon_x = 0; - hints.icon_y = 0; - hints.window_group = GDK_WINDOW_XWINDOW(leader); - - XSetWMHints(GDK_DISPLAY(), GDK_WINDOW_XWINDOW(leader), &hints); - - gtk_widget_show(icon_win); - timeout_tag = gtk_timeout_add(100, timeout_func, NULL); - -} - -void display_usage(char *cmd) -{ - printf( "Usage: %s [options]\n\n" - "Options:\n" - "--------\n\n" - "-h, --help Display this text and exit.\n" - "-g, --geometry Set the geometry (for example +20+20)\n" - "-c, --command Command to launch Audacious (Default: audacious)\n" - "-i, --icon Set the icon to use when Audacious is not running\n" - "-n, --single Only a single click is needed to start Audacious\n" - "-t, --title Display song title when mouse is in window\n" - "-v, --version Display version information and exit\n\n", - cmd); -} - -int main(int argc, char **argv) -{ - int c, dummy; - - static struct option lopt[] = - { - {"help", no_argument, 0, 'h'}, - {"geometry", required_argument, 0, 'g'}, - {"session", required_argument, 0, 's'}, - {"command", required_argument, 0, 'c'}, - {"icon", required_argument, 0, 'i'}, - {"single", no_argument, 0, 'n'}, - {"title", no_argument, 0, 't'}, - {"version", no_argument, 0, 'v'}, - {0, 0, 0, 0} - }; - - gtk_set_locale(); - - gtk_init(&argc, &argv); - - while ((c = getopt_long(argc, argv, "hg:s:c:i:ntv", lopt, NULL)) != -1) - { - switch (c) - { - case 'h': - display_usage(argv[0]); - gtk_exit(0); - break; - case 'g': - XParseGeometry(optarg, &win_x, &win_y, - &dummy, &dummy); - has_geometry = TRUE; - break; - case 'c': - xmms_cmd = g_strdup(optarg); - break; - case 'i': - icon_name = g_strdup(optarg); - break; - case 'n': - single_click = TRUE; - break; - case 't': - song_title = TRUE; - break; - case 'v': - printf("wmauda %s\n", VERSION); - gtk_exit(0); - break; - } - } - if (!dbus_init()) - return 1; - - init(); - gtk_main(); - return 0; -} diff --git a/wmauda/wmauda.xpm b/wmauda/wmauda.xpm deleted file mode 100644 index 9ef7769..0000000 --- a/wmauda/wmauda.xpm +++ /dev/null @@ -1,186 +0,0 @@ -/* XPM */ -static char * wmauda_xpm[] = { -"48 48 135 2", -" c #000000", -". c #444A4C", -"+ c #4C4A4C", -"@ c #44464C", -"# c #A4A2A4", -"$ c #801C1C", -"% c #B40204", -"& c #A4A6A4", -"* c #080808", -"= c #090909", -"- c #313131", -"; c #505050", -"> c #5A5A5A", -", c #4F4F4F", -"' c #0E0D0E", -") c #181818", -"! c #0D0D0D", -"~ c #5C5C5C", -"{ c #A8A8A8", -"] c #D6D6D6", -"^ c #D9D9D9", -"/ c #D5D5D5", -"( c #A5A5A5", -"_ c #595959", -": c #0B0B0B", -"< c #060606", -"[ c #6A6A6A", -"} c #CCCCCC", -"| c #CBCBCB", -"1 c #696969", -"2 c #2B2B2B", -"3 c #BABABA", -"4 c #B8B8B8", -"5 c #2A2A2A", -"6 c #484848", -"7 c #D4D4D4", -"8 c #D3D3D3", -"9 c #474747", -"0 c #494949", -"a c #D7D7D7", -"b c #171717", -"c c #2D2D2D", -"d c #2E2E2E", -"e c #BBBBBB", -"f c #C5C5C5", -"g c #A3A3A3", -"h c #949494", -"i c #6E6E6E", -"j c #4D4D4D", -"k c #858585", -"l c #C6C6C6", -"m c #BEBEBE", -"n c #050505", -"o c #020202", -"p c #6C6C6C", -"q c #777777", -"r c #030303", -"s c #515151", -"t c #6B6B6B", -"u c #CDCDCD", -"v c #A7A7A7", -"w c #141414", -"x c #0E0E0E", -"y c #5E5E5E", -"z c #9A9A9A", -"A c #393939", -"B c #626262", -"C c #ACACAC", -"D c #717171", -"E c #3E3E3E", -"F c #5F5F5F", -"G c #040404", -"H c #BCBCBC", -"I c #AFAFAF", -"J c #010101", -"K c #121212", -"L c #D8D8D8", -"M c #333333", -"N c #8C8C8C", -"O c #3D3D3D", -"P c #ABABAB", -"Q c #7B7B7B", -"R c #373737", -"S c #111111", -"T c #606060", -"U c #3B3B3B", -"V c #919191", -"W c #424242", -"X c #585858", -"Y c #656565", -"Z c #7C7C7C", -"` c #676767", -" . c #6D6D6D", -".. c #5D5D5D", -"+. c #353535", -"@. c #2C2C2C", -"#. c #1F1F1F", -"$. c #878787", -"%. c #5B5B5B", -"&. c #525252", -"*. c #272727", -"=. c #A2A2A2", -"-. c #404040", -";. c #1A1A1A", -">. c #303030", -",. c #343434", -"'. c #A9A9A9", -"). c #B9B9B9", -"!. c #666666", -"~. c #808080", -"{. c #7E7E7E", -"]. c #969696", -"^. c #212121", -"/. c #1B1B1B", -"(. c #C9C9C9", -"_. c #7F7F7F", -":. c #464646", -"<. c #070707", -"[. c #3F3F3F", -"}. c #959595", -"|. c #D0D0D0", -"1. c #CACACA", -"2. c #757575", -"3. c #444444", -"4. c #636363", -"5. c #C8C8C8", -"6. c #7D7D7D", -"7. c #C4C4C4", -"8. c #0F0F0F", -"9. c #868686", -"0. c #848484", -"a. c #1E1E1E", -"b. c #C2C2C2", -"c. c #BFBFBF", -"d. c #747474", -" ", -" ", -" ", -" ", -" . + @ + @ + @ + @ + @ + @ + # ", -" . $ $ $ $ $ $ $ $ $ $ $ $ $ # ", -" + $ % % % % % % % % % % % $ & ", -" . $ % % % % % % % % % % % $ & ", -" + $ $ $ $ $ $ $ $ $ $ $ $ $ # ", -" & & & & & & & & & & & & & & & ", -" ", -" * = - ; > > , - = ", -" * ' ) ! ~ { ] ^ ^ ^ ^ ^ ^ / ( _ : ", -" < [ } ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ | 1 < ", -" 2 3 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 4 5 ", -" 6 7 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 8 9 ", -" 0 a ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ a 9 b ", -" c 7 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 8 d ) ", -" * e ^ ^ ^ ^ ^ ^ ^ f g h i j 9 > k l ^ ^ ^ ^ ^ ^ ^ ^ m * n ", -" o p ^ ^ ^ ^ ^ ^ ^ q r r s f ^ ^ ^ ^ ^ ^ ^ t ", -" ! u ^ ^ ^ ^ ^ ^ v w 3 ^ ^ ^ ^ ^ ^ u x ", -" y ^ ^ ^ ^ ^ ^ ^ z A ^ ^ ^ ^ ^ ^ ^ B ", -" C ^ ^ ^ ^ ^ ^ ^ ^ D E > F F ; G H ^ ^ ^ ^ ^ ^ I J ", -" K L ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ L M N ^ ^ ^ ^ ^ ^ L K ", -" O ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] P Q R S T ^ ^ ^ ^ ^ ^ ^ U ", -" > ^ ^ ^ ^ ^ ^ ^ ^ ^ V K W ^ ^ ^ ^ ^ ^ ^ X ", -" Y ^ ^ ^ ^ ^ ^ ^ ^ Z O ^ ^ ^ ^ ^ ^ ^ ` ", -" ` ^ ^ ^ ^ ^ ^ ^ ( o .^ ^ ^ ^ ^ ^ ^ 1 ", -" ..^ ^ ^ ^ ^ ^ ^ +. @.3 3 #. $.^ ^ ^ ^ ^ ^ ^ %. ", -" W ^ ^ ^ ^ ^ ^ ^ 2 &.^ a *. =.^ ^ ^ ^ ^ ^ ^ -. ", -" ;.^ ^ ^ ^ ^ ^ ^ >. r A ,. '.^ ^ ^ ^ ^ ^ ^ ;. ", -" ).^ ^ ^ ^ ^ ^ !. ~.^ ^ ^ ^ ^ ^ H J ", -" J .^ ^ ^ ^ ^ ^ e < {.^ ^ ^ ^ ^ ^ D J ", -" ) 7 ^ ^ ^ ^ ^ ^ ].: r ^.= /.(.^ ^ ^ ^ ^ 7 ;. ", -" _.^ ^ ^ ^ ^ ^ ^ 3 :.<. [.}.|.^ 1.2.3.4.5.^ ^ ^ ^ ^ ^ 6. ", -" x l ^ ^ ^ ^ ^ ^ ^ ^ |.7.^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 5.8. ", -" E L ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ L E ", -" T ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ y ", -" B L ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ L F ", -" W (.^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 5.-. ", -" K 9.] ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ] 0.S ", -" a.q b.^ ^ ^ ^ ^ ^ ^ ^ c.d./. ", -" ^.0 Y d.d.Y 0 #. ", -" ", -" ", -" ", -" ", -" "};